/* ======================================================
   会社概要ページ専用スタイル (company.css)
   ====================================================== */

/* --- 0. 表示切り替え設定 --- */
.u-show-pc { display: block !important; }
.u-show-sp { display: none !important; }

.c-section-title {
  font-family: 'fot-tsukuardgothic-std', sans-serif !important;
  font-size: 26px !important; 
  font-weight: bold !important;
  color: #373232 !important;
  letter-spacing: 0.1em !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* ------------------------------------------------------
   1. 会社概要セクション (l-company)
   ------------------------------------------------------ */
.l-company { padding: 0px 50px 80px !important; }
.l-company__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: flex-start !important;
}
.l-company__title { width: 26px !important; flex-shrink: 0 !important; margin-right: 80px !important; }
.l-company__title img { width: 100% !important; height: auto !important; display: block !important; }
.l-company__content { flex-grow: 1 !important; }

.c-data-list__item { 
  display: flex !important; 
  align-items: flex-start !important; 
  padding: 22px 0 !important; 
  border-bottom: 1px solid #d7d6d2 !important; 
}
.c-data-list__item:last-child { border-bottom: none !important; }
.c-data-list dt { 
  font-weight: 600 !important; 
  width: 10em !important; 
  text-align: right !important; 
  margin-right: 40px !important; 
  line-height: 1.6 !important; 
  flex-shrink: 0 !important;
}
.c-data-list dd { line-height: 1.6 !important; margin: 0 !important; flex-grow: 1 !important; }

/* ------------------------------------------------------
   2. 店舗営業についてセクション (l-shop)
   ------------------------------------------------------ */
.l-shop { background-color: #98d5c0 !important; padding: 80px 50px 80px !important; color: #373232 !important; }
.l-shop__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
}
.l-shop__photo-column { order: 1 !important; width: 55% !important; max-width: 640px !important; margin-right: 40px !important; }
.l-shop__text-block { order: 2 !important; flex: 1 1 320px !important; margin-right: 40px !important; min-width: 280px !important; }
.l-shop__title-container { order: 3 !important; width: 26px !important; margin-top: 5px !important; }

.l-shop__photo img { width: 100% !important; height: auto !important; display: block !important; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.c-route-guide { font-size: 14px !important; line-height: 1.8 !important; margin: 10px 0 0 !important; }
.c-shop-headline { font-weight: 600 !important; font-size: 18px !important; border-bottom: 1px solid #373232 !important; padding-bottom: 5px !important; margin: 0 0 10px 0 !important; }

.c-shop-description, .c-shop-parking-note { text-align: left !important; }
.c-shop-description { font-size: 14px !important; line-height: 1.8 !important; margin: 0 0 10px 0 !important; }
.c-shop-parking-note { font-size: 13px !important; line-height: 1.6 !important; margin: 0 0 15px 0 !important; padding-left: 1.1em !important; text-indent: -1.1em !important; }

.c-shop-contact { display: flex !important; flex-direction: column !important; align-items: flex-start !important; text-align: left !important; margin-bottom: 0 !important; }
.contact-label { font-weight: 600 !important; }
.contact-number { font-family: futura-pt, sans-serif !important; font-size: 28px !important; font-weight: bold !important; line-height: 1 !important; }
.contact-time { font-weight: 500 !important; }

/* ------------------------------------------------------
   3. アクセスセクション (l-access)
   ------------------------------------------------------ */
.l-access { padding: 80px 50px !important; background-color: #fff !important; }
.l-access__inner { 
  max-width: 1200px !important; 
  margin: 0 auto !important; 
  display: flex !important; 
  position: relative !important; 
}
.l-access__title-container { 
  width: 26px !important; 
  flex-shrink: 0 !important;
  margin-top: 5px !important;
  position: absolute !important;
  left: 0 !important;
}
.l-access__content { width: 100% !important; }
.l-access__map { position: relative; padding-top: 500px; width: 100%; max-width: 900px !important; margin: 0 auto !important; }
.l-access__map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 4px; border: 1px solid #d7d6d2; }

.l-access__btn-wrap { max-width: 900px !important; margin: 25px auto 0 !important; text-align: center !important; }
.c-btn-map { 
  display: inline-block !important; 
  padding: 12px 40px !important; 
  background-color: #D09E25 !important; 
  color: #fffffa !important; 
  text-decoration: none !important; 
  font-weight: 600 !important; 
  font-size: 14px !important; 
  transition: opacity 0.3s !important;
}
.c-btn-map:hover { opacity: 0.5 !important; color: #fff !important; }

/* ------------------------------------------------------
   4. 由来・歴史セクション (l-history) - ★新規追加
   ------------------------------------------------------ */
.l-history { 
  background-color: #98d5c0 !important; 
  font-size: 20px !important; 
  font-weight: 600 !important;
  padding: 100px 50px !important; 
  color: #fffffa !important; 
}
.l-history__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
}
/* PC版：縦書き画像を右から並べる */
.l-history__images {
  display: flex !important;
  flex-direction: row-reverse !important; /* 右から左へ */
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 40px !important; /* 画像間の隙間 */
}
.l-history__images img {
  height: auto !important;
  max-height: 400px !important; /* 画像の高さ上限 */
  width: auto !important;
}

/* ------------------------------------------------------
   5. タブレット・スマホ対応（920px以下）
   ------------------------------------------------------ */
@media screen and (max-width: 920px) {
  .u-show-pc { display: none !important; } 
  .u-show-sp { display: block !important; }
  .l-company__title img, .l-shop__title-container img, .l-access__title-container img { display: none !important; width: 0 !important; height: 0 !important; }

  .l-company, .l-access { padding: 30px 30px 35px !important; }
  .l-shop { padding: 30px 30px 40px !important; }
  .l-history { padding: 40px 40px !important; } /* 由来セクションのスマホ余白 */

  .l-company__inner, .l-shop__inner, .l-access__inner, .l-history__inner { 
    display: block !important; 
    width: 100% !important;
    margin: 0 !important;
    position: static !important;
  }

  .l-company__title, .l-shop__title-container, .l-access__title-container { 
    width: 100% !important; 
    margin-bottom: 25px !important; 
    text-align: center !important; 
    position: static !important;
  }

  /* 由来セクション：スマホ版テキスト設定 */
  .l-history__text {
    max-width: 600px !important;
    margin: 0 auto !important;
    font-size: 15px !important;
    line-height: 2.2 !important;
    text-align: left !important;
    letter-spacing: 0.05em !important;
  }

  .c-data-list__item { display: block !important; padding: 12px 0 !important; }
  .c-data-list dt, .c-data-list dd { display: block !important; width: 100% !important; text-align: left !important; margin: 0 !important; }
  .c-data-list dt { padding-bottom: 4px !important; }

  .l-shop__text-block { width: 100% !important; margin: 0 !important; text-align: center !important; }
  .c-shop-description, .c-shop-parking-note { text-align: left !important; }

  .c-shop-contact { align-items: center !important; margin-bottom: 30px !important; }
  .l-shop__photo-column { width: 100% !important; max-width: none !important; padding-top: 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
  .l-shop__photo { padding-bottom: 15px !important; width: 100% !important; }
  .l-shop__photo img { width: 100% !important; height: auto !important; margin: 0 auto !important; }

  .l-access__map { max-width: 100% !important; padding-top: 56.25% !important; }
  .l-access__btn-wrap { text-align: center !important; margin: 20px 0 0 0 !important; }
}

@media screen and (max-width: 550px) {
  .l-company, .l-shop, .l-access, .l-history { padding-left: 20px !important; padding-right: 20px !important; }
  .c-section-title { font-size: 24px !important; }
}