/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.8.0
*/
/* ボーダーの削除*/
h2, h3, h3:where(:not(.wp-block-post-title)):after {
  border: none;
}
h3.ltg-slide-text-title {
  font-size: 5.6rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .4);
}
@media screen and (max-width: 767px) {
  h3.ltg-slide-text-title {
    font-size: 3.6rem;
  }
}
img {
  display: inline !important;
}
.site-footer-copyright p:nth-child(2) {
  display: none;
}
th {
  background-color: #ddd;
}
.btna a {
  text-decoration: none !important;
}
.iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.global-nav-list > li > ul.sub-menu {
  background-color: var(--vk-color-primary);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, .2);
  left: 50%;
  margin-left: -180px;
  width: 360px;
}
/* =========================
  .entry-body 見出し装飾（h1〜h4）
  MIROIR COAT：黒×ゴールド×明朝でサイト全体になじませる
  ※ ビジュアルエディタにも editor-style.css で同じデザインを反映
  ========================= */
/* 共通 */
.entry-body h1, .entry-body h2, .entry-body h3, .entry-body h4 {
  font-family: 'Noto Serif JP', 'Yu Mincho', 'YuMincho', serif;
  line-height: 1.5;
  letter-spacing: .04em;
  margin: 1.8em 0 .7em;
  font-weight: 500;
  color: #1a1a1a;
}
/* h1：記事タイトル級（ゴールドの下線） */
.entry-body h1 {
  font-size: clamp(24px, 2.4vw, 34px);
  padding: 0 0 .4em;
  border: none;
  border-bottom: 1px solid #c9a96e;
}
/* h2：大見出し（ゴールドの左ライン） */
.entry-body h2 {
  font-size: clamp(20px, 2.0vw, 27px);
  padding: .15em 0 .15em .75em;
  background: none;
  border: none;
  border-left: 4px solid #c9a96e;
  border-radius: 0;
}
.entry-body h2::after,
.entry-body h2::before { display: none; }
/* h3：中見出し（下線＋ゴールドの短いアクセント） */
.entry-body h3 {
  font-size: clamp(18px, 1.6vw, 22px);
  padding: 0 0 .35em;
  position: relative;
  border: none;
  border-bottom: 1px solid #e6e2d8;
}
.entry-body h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 56px;
  height: 1px;
  background: #c9a96e;
}
/* h4：小見出し（ゴールドの小さな四角） */
.entry-body h4 {
  font-size: clamp(16px, 1.3vw, 19px);
  padding-left: .95em;
  position: relative;
}
.entry-body h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: .52em;
  width: .5em;
  height: .5em;
  border-radius: 0;
  background: #c9a96e;
}
/* 直後の要素が詰まりすぎないように */
.entry-body h1 + p, .entry-body h2 + p, .entry-body h3 + p, .entry-body h4 + p {
  margin-top: 0;
}

/* =========================
  .entry-body 本文の余白復元
  ※ Tailwind の reset で p / img / figure / ul 等の margin が 0 に
    なるため、読みやすい余白を .entry-body 内で復元する
  ========================= */
.entry-body p {
  margin: 0 0 1.6em;
  line-height: 1.95;
}
.entry-body p:last-child { margin-bottom: 0; }
.entry-body img { height: auto; }
/* 画像（段落内・単体）はブロック化して前後に余白 */
.entry-body p img,
.entry-body img.alignnone,
.entry-body img.aligncenter,
.entry-body img.alignright,
.entry-body img.alignleft,
.entry-body figure img {
  display: block;
}
.entry-body img.aligncenter,
.entry-body figure.aligncenter { margin-left: auto; margin-right: auto; }
/* 画像だけの段落・figure に上下余白 */
.entry-body figure,
.entry-body .wp-block-image {
  margin: 2em 0;
}
.entry-body figure img,
.entry-body .wp-block-image img { margin: 0; }
/* リスト */
.entry-body ul,
.entry-body ol {
  margin: 1em 0 1.8em;
  padding-left: 1.6em;
}
.entry-body li { margin-bottom: .4em; line-height: 1.9; }
/* 引用 */
.entry-body blockquote {
  margin: 1.8em 0;
  padding: 1em 1.4em;
  border-left: 3px solid #c9a96e;
  background: #faf9f6;
  color: #555;
}
.entry-body blockquote p:last-child { margin-bottom: 0; }
/* テーブル */
.entry-body table { margin: 1.5em 0; }
/********** footer-sns *****************/
.footer-sns__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-sns__item a {
  display: block;
}
.footer-sns__item img {
  width: 36px;
  height: 36px;
  display: block;
  border-radius: 50%;
  transition: 0.3s;
}
/* ホバーでちょい浮かせる */
.footer-sns__item a:hover img {
  transform: translateY(-3px);
  opacity: 0.8;
} 
/********** footer-sns *****************/

/********** sp-fixed-contact *****************/
.sp-fixed-contact {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  z-index: 9999;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.12);
}

.sp-fixed-contact__btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-height: 58px;
  padding: 8px 6px;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  box-sizing: border-box;
}

.sp-fixed-contact__btn i {
  font-size: 20px;
  line-height: 1;
}

.sp-fixed-contact__btn span {
  display: block;
  font-size: 11px;
  line-height: 1.2;
}

.sp-fixed-contact__btn--web {
  background: var(--key);
}
.sp-fixed-contact__btn--web i {
  transform: translateX(4px);
}

.sp-fixed-contact__btn--tel {
  background: #28a745;
}
.sp-fixed-contact__btn--tel i {
  transform: translateX(4px);
}
	
.sp-fixed-contact__btn--line {
  background: #06c755;
}
.sp-fixed-contact__btn--line i {
  transform: translateX(4px);
}

.sp-fixed-contact__btn:hover,
.sp-fixed-contact__btn:focus {
  opacity: 0.9;
}

/* PCでは非表示 */
@media screen and (min-width: 769px) {
  .sp-fixed-contact {
    display: none;
  }
}

/* スマホで下に隠れないよう本文側に余白をつける場合 */
@media screen and (max-width: 768px) {
  body {
    padding-bottom: 58px;
  }
}
/********** sp-fixed-contact *****************/




/********** vk-mobile-nav-menu-btn *****************/
@media (max-width:782px) {
  .admin-bar .vk-mobile-nav-menu-btn {
    top: calc(46px + 5px)
  }
  .admin-bar .vk-mobile-nav {
    top:0px
  }
}
@media screen and (max-width:782px) {
  .admin-bar .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-drop-in, .admin-bar .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-left-in, .admin-bar .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
    top: 0px
  }
/********** vk-mobile-nav-menu-btn *****************/
}

/* =========================================================================
   MIROIR COAT 千葉店 / front-page.php 専用スタイル
   黒 + ゴールド（#c9a96e）を基調とした高級感デザイン
   ========================================================================= */
.fp-root {
	--fp-black: #1a1a1a;
	--fp-bg-dark: #111111;
	--fp-bg-gray: #f6f5f2;
	--fp-border: #e6e2d8;
	--fp-text: #222222;
	--fp-text-muted: #666666;
	--fp-gold: #c9a96e;
	--fp-gold-dark: #b08d4f;
	--fp-serif: 'Noto Serif JP', 'Yu Mincho', 'YuMincho', serif;
	--fp-sans: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
	--fp-en: 'Cormorant Garamond', 'Times New Roman', serif;
	font-family: var(--fp-sans);
	color: var(--fp-text);
	letter-spacing: 0.04em;
	line-height: 1.75;
}
.fp-root * {
	box-sizing: border-box;
}
.fp-root img {
	max-width: 100%;
	height: auto;
	display: block !important;
}

/* リンクの下線・強制太字を除去（common.css の a:link { underline; bold } を打ち消す）
   ※ :link / :hover 付きで詳細度を上げ、後読み込みの common.css に勝たせる */
.fp-root a,
.fp-root a:link,
.fp-root a:visited,
.fp-root a:hover,
.fp-root a:active {
	text-decoration: none;
	font-weight: inherit;
}

/* Container */
.fp-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}
.fp-container--narrow {
	max-width: 880px;
}

/* Section basics */
.fp-section {
	padding: 100px 0;
	position: relative;
}
@media (max-width: 768px) {
	.fp-section {
		padding: 60px 0;
	}
}
.fp-section--dark {
	background: var(--fp-bg-dark);
	color: #eeeae0;
}
.fp-section--gray {
	background: var(--fp-bg-gray);
}

/* Section header */
.fp-section__header {
	text-align: center;
	margin-bottom: 56px;
}
@media (max-width: 768px) {
	.fp-section__header { margin-bottom: 36px; }
}
.fp-section__en {
	font-family: var(--fp-en);
	font-size: 0.9rem;
	letter-spacing: 0.3em;
	color: var(--fp-gold);
	margin: 0 0 12px;
	font-weight: 500;
}
.fp-section__en--light { color: var(--fp-gold); }
.fp-section__title {
	font-family: var(--fp-serif);
	font-size: clamp(22px, 2.2vw, 32px);
	letter-spacing: 0.18em;
	color: var(--fp-black);
	font-weight: 500;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}
.fp-section__title::after { display: none; }
.fp-section--dark .fp-section__title { color: #fff; }
.fp-section__title--light { color: #fff !important; }
.fp-section__line {
	display: block;
	width: 40px;
	height: 1px;
	background: var(--fp-gold);
	margin: 22px auto 0;
}

/* Fade-in */
.fp-fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.9s ease, transform 0.9s ease;
	will-change: opacity, transform;
}
.fp-fade.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Hero staggered */
.fp-anim {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 1s ease, transform 1s ease;
	transition-delay: var(--fp-delay, 0s);
}
.fp-anim.is-shown {
	opacity: 1;
	transform: translateY(0);
}

/* =========================
   HERO
   ========================= */
.fp-hero {
	position: relative;
	height: 100vh;
	min-height: 560px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: #fff;
	text-align: center;
}
.fp-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
	transform: scale(1.02);
}
.fp-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
/* セクション下の「もっと見る」ボタン共通余白
   ※ .fp-about__text p 等の p ルールに負けないよう詳細度を確保 */
.fp-more,
.fp-about__text .fp-more { text-align: center; margin: 46px 0 0; }
@media (max-width: 768px) {
	.fp-more,
	.fp-about__text .fp-more { margin-top: 34px; }
}
.fp-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.45) 50%, rgba(0,0,0,0.65) 100%);
	z-index: 1;
}
.fp-hero__content {
	position: relative;
	z-index: 2;
	padding: 0 20px;
	max-width: 960px;
}
.fp-hero__subtitle {
	font-family: var(--fp-en);
	font-size: clamp(0.8rem, 1.2vw, 1rem);
	letter-spacing: 0.3em;
	color: var(--fp-gold);
	margin: 0 0 20px;
}
.fp-hero__title {
	font-family: var(--fp-serif);
	font-size: clamp(22px, 3.2vw, 44px);
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.6;
	margin: 0 0 24px;
	text-shadow: 0 2px 18px rgba(0,0,0,0.35);
}
.fp-hero__location {
	font-family: var(--fp-en);
	font-size: clamp(0.75rem, 1vw, 0.9rem);
	letter-spacing: 0.35em;
	color: #e9e4d4;
	margin: 0 0 36px;
}
.fp-hero__cta-wrap { margin-top: 8px; }
.fp-hero__cta {
	display: inline-block;
	padding: 16px 44px;
	border: 1px solid var(--fp-gold);
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.2em;
	font-size: 0.95rem;
	transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
	background: transparent;
}
.fp-hero__cta span {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	background: var(--fp-gold);
	color: #fff;
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	border-radius: 2px;
	vertical-align: middle;
}
.fp-hero__cta:hover {
	background: var(--fp-gold);
	color: #fff;
	transform: translateY(-2px);
}
.fp-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	z-index: 2;
	color: #e9e4d4;
	font-family: var(--fp-en);
	letter-spacing: 0.3em;
	font-size: 0.72rem;
	text-align: center;
}
.fp-hero__scroll-line {
	width: 1px;
	height: 50px;
	margin: 10px auto 0;
	background: rgba(201,169,110,0.3);
	position: relative;
	overflow: hidden;
}
.fp-hero__scroll-line::after {
	content: "";
	position: absolute;
	top: -50px;
	left: 0;
	width: 100%;
	height: 50px;
	background: var(--fp-gold);
	animation: fpScrollLine 2.2s ease-in-out infinite;
}
@keyframes fpScrollLine {
	0%   { top: -50px; }
	100% { top: 50px; }
}

/* =========================
   ABOUT
   ========================= */
.fp-about__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}
@media (max-width: 768px) {
	.fp-about__content {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}
.fp-about__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.fp-about__catch {
	font-family: var(--fp-serif);
	font-size: clamp(20px, 2vw, 28px);
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin: 0 0 24px;
	font-weight: 500;
	color: var(--fp-black);
}
.fp-about__text p {
	color: #444;
	margin: 0 0 16px;
	font-size: 0.95rem;
}
.fp-about__features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid var(--fp-border);
}
@media (max-width: 480px) {
	.fp-about__features {
		grid-template-columns: 1fr;
	}
}
.fp-about__feature { text-align: center; }
.fp-about__feature-num {
	display: block;
	font-family: var(--fp-en);
	font-size: 1.8rem;
	color: var(--fp-gold);
	margin-bottom: 8px;
	font-weight: 500;
}
.fp-about__feature p {
	font-size: 0.85rem;
	line-height: 1.6;
	margin: 0;
	color: #444;
}

/* =========================
   SERVICE
   ========================= */
.fp-service__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
@media (max-width: 1024px) {
	.fp-service__grid {
		grid-template-columns: 1fr;
	}
}
.fp-service__card {
	background: #191919;
	border: 1px solid rgba(201,169,110,0.15);
	overflow: hidden;
	transition: border-color 0.3s ease, transform 0.3s ease;
}
.fp-service__card:hover {
	border-color: rgba(201,169,110,0.55);
	transform: translateY(-4px);
}
.fp-service__card-image {
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
/* 画像未設定時のブランク（後から画像を追加する想定） */
.fp-service__card-image--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #202020;
	border-bottom: 1px solid rgba(201,169,110,0.15);
}
.fp-service__card-image--empty span {
	font-family: var(--fp-en);
	letter-spacing: 0.3em;
	font-size: 0.85rem;
	color: rgba(201,169,110,0.55);
}
.fp-service__card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.fp-service__card:hover .fp-service__card-image img {
	transform: scale(1.06);
}
.fp-service__card-body {
	padding: 30px 28px 36px;
	color: #d8d3c4;
}
.fp-service__card-num {
	display: inline-block;
	font-family: var(--fp-en);
	color: var(--fp-gold);
	font-size: 1.1rem;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
}
.fp-service__card-title {
	font-family: var(--fp-serif);
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	color: #fff;
	margin: 0 0 6px;
	font-weight: 500;
	padding: 0;
	border: none;
	background: transparent;
}
.fp-service__card-title::after { display: none; }
.fp-service__card-en {
	font-family: var(--fp-en);
	color: var(--fp-gold);
	font-size: 0.8rem;
	letter-spacing: 0.25em;
	margin: 0 0 16px;
}
.fp-service__card-text {
	font-size: 0.9rem;
	line-height: 1.8;
	margin: 0 0 16px;
	color: #c6c0b0;
}
.fp-service__card-list {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid rgba(201,169,110,0.2);
	padding-top: 14px;
}
.fp-service__card-list li {
	font-size: 0.85rem;
	padding: 4px 0 4px 18px;
	position: relative;
	color: #c6c0b0;
}
.fp-service__card-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.85em;
	width: 8px;
	height: 1px;
	background: var(--fp-gold);
}

/* =========================
   FLOW
   ========================= */
.fp-flow__lead {
	text-align: center;
	color: var(--fp-text-muted);
	margin: 0 0 48px;
}
.fp-flow__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 1024px) {
	.fp-flow__steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.fp-flow__steps { grid-template-columns: 1fr; }
}
.fp-flow__step {
	border: 1px solid var(--fp-border);
	padding: 30px 26px;
	background: #fff;
	transition: border-color 0.3s ease, transform 0.3s ease;
}
.fp-flow__step:hover {
	border-color: var(--fp-gold);
	transform: translateY(-3px);
}
.fp-flow__step-num {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 14px;
	color: var(--fp-gold);
	font-family: var(--fp-en);
}
.fp-flow__step-num span {
	font-size: 0.75rem;
	letter-spacing: 0.25em;
}
.fp-flow__step-num strong {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	font-weight: 500;
}
.fp-flow__step-title {
	font-family: var(--fp-serif);
	font-size: 1.05rem;
	letter-spacing: 0.08em;
	margin: 0 0 10px;
	color: var(--fp-black);
	font-weight: 500;
	padding: 0;
	border: none;
	background: transparent;
}
.fp-flow__step-title::after { display: none; }
.fp-flow__step-text {
	font-size: 0.88rem;
	line-height: 1.8;
	color: #555;
	margin: 0;
}

/* =========================
   WORKS
   ========================= */
.fp-works__lead {
	text-align: center;
	color: var(--fp-text-muted);
	margin: 0 0 48px;
}
.fp-works__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 768px) {
	.fp-works__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.fp-works__grid { grid-template-columns: 1fr; }
}
.fp-works__item {
	display: block;
	text-decoration: none;
	color: inherit;
}
.fp-works__item-image {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #eee;
}
.fp-works__item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.fp-works__item:hover .fp-works__item-image img {
	transform: scale(1.06);
}
.fp-works__item-label {
	margin: 14px 0 0;
	font-size: 0.9rem;
	letter-spacing: 0.08em;
	color: var(--fp-black);
}
.fp-works__more {
	text-align: center;
	margin-top: 48px;
}

/* =========================
   REVIEWS
   ========================= */
.fp-reviews__body {
	max-width: 1100px;
	margin: 0 auto;
}

/* =========================
   CAMPAIGN
   ========================= */
.fp-campaign { text-align: center; }
.fp-campaign__lead {
	font-family: var(--fp-serif);
	font-size: clamp(16px, 1.6vw, 20px);
	color: #fff;
	line-height: 1.9;
	margin: 0 0 24px;
}
.fp-campaign__period {
	font-family: var(--fp-serif);
	font-size: clamp(18px, 1.8vw, 22px);
	color: var(--fp-gold);
	letter-spacing: 0.12em;
	margin: 0 0 36px;
}
.fp-campaign__cta { margin: 0; }

/* =========================
   NEWS
   ========================= */
.fp-news__list {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--fp-border);
}
.fp-news__item { border-bottom: 1px solid var(--fp-border); }
.fp-news__item a {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 18px 4px;
	color: var(--fp-text);
	text-decoration: none;
	transition: color 0.2s ease, background 0.2s ease;
}
.fp-news__item a:hover {
	color: var(--fp-gold-dark);
	background: rgba(201,169,110,0.05);
}
.fp-news__date {
	font-family: var(--fp-en);
	color: var(--fp-gold);
	font-size: 0.85rem;
	letter-spacing: 0.15em;
	flex-shrink: 0;
	min-width: 90px;
}
.fp-news__title {
	font-size: 0.92rem;
	line-height: 1.6;
}
.fp-news__more {
	text-align: center;
	margin-top: 36px;
}

/* =========================
   ACCESS
   ========================= */
.fp-access__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}
@media (max-width: 900px) {
	.fp-access__content {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}
.fp-access__map-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	background: #eee;
	overflow: hidden;
}
.fp-access__map-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.fp-access__table {
	width: 100%;
	border-collapse: collapse;
}
.fp-access__table th,
.fp-access__table td {
	padding: 14px 6px;
	border-bottom: 1px solid var(--fp-border);
	text-align: left;
	vertical-align: top;
	font-size: 0.9rem;
	line-height: 1.7;
}
.fp-access__table th {
	width: 120px;
	font-weight: 500;
	font-family: var(--fp-serif);
	color: var(--fp-black);
	letter-spacing: 0.12em;
	background: transparent;
}
.fp-access__table td a {
	color: var(--fp-gold-dark);
	text-decoration: none;
}
.fp-note {
	display: inline-block;
	font-size: 0.78rem;
	color: #888;
	margin-top: 4px;
}

/* =========================
   CONTACT
   ========================= */
.fp-contact__lead {
	text-align: center;
	color: #c6c0b0;
	margin: 0 0 40px;
}
.fp-contact__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 960px;
	margin: 0 auto;
}
@media (max-width: 900px) {
	.fp-contact__grid { grid-template-columns: 1fr; }
}
.fp-contact__card {
	display: block;
	padding: 36px 24px;
	background: #191919;
	border: 1px solid rgba(201,169,110,0.2);
	color: #fff;
	text-decoration: none;
	text-align: center;
	transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.fp-contact__card:hover {
	background: #1f1f1f;
	border-color: var(--fp-gold);
	transform: translateY(-3px);
}
.fp-contact__card-icon {
	display: inline-flex;
	width: 54px;
	height: 54px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--fp-gold);
	color: var(--fp-gold);
	margin-bottom: 16px;
}
.fp-contact__card-icon svg {
	width: 24px;
	height: 24px;
}
.fp-contact__card h3 {
	font-family: var(--fp-serif);
	font-size: 1.1rem;
	letter-spacing: 0.15em;
	margin: 0 0 8px;
	color: #fff;
	font-weight: 500;
	padding: 0;
	border: none;
	background: transparent;
}
.fp-contact__card h3::after { display: none; }
.fp-contact__card-id {
	font-family: var(--fp-en);
	color: var(--fp-gold);
	font-size: 0.95rem;
	letter-spacing: 0.15em;
	margin: 0 0 6px;
}
.fp-contact__card-desc {
	font-size: 0.82rem;
	color: #b8b2a2;
	margin: 0;
	letter-spacing: 0.06em;
}

/* =========================
   Buttons
   ========================= */
.fp-btn {
	display: inline-block;
	padding: 14px 40px;
	font-size: 0.9rem;
	letter-spacing: 0.18em;
	text-decoration: none;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.fp-btn--outline {
	border: 1px solid var(--fp-gold);
	color: var(--fp-gold-dark);
	background: transparent;
}
.fp-btn--outline:hover {
	background: var(--fp-gold);
	color: #fff;
	transform: translateY(-2px);
}
.fp-section--dark .fp-btn--outline {
	color: var(--fp-gold);
}
.fp-section--dark .fp-btn--outline:hover {
	background: var(--fp-gold);
	color: #fff;
}
.fp-btn--gold {
	background: var(--fp-gold);
	color: #fff;
	border: 1px solid var(--fp-gold);
}
.fp-btn--gold:hover {
	background: var(--fp-gold-dark);
	border-color: var(--fp-gold-dark);
	transform: translateY(-2px);
}
/* =========================================================================
   / front-page.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / page-about.php（会社概要）専用スタイル
   ※ .ab-root は .fp-root と併用するため fp-* 変数を継承
   ========================================================================= */
.ab-root { overflow-x: hidden; }

/* ---- MAIN VISUAL ---- */
.ab-mv {
	position: relative;
	min-height: 52vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	overflow: hidden;
}
@media (max-width: 768px) { .ab-mv { min-height: 42vh; } }
.ab-mv__bg {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	transform: scale(1.03); z-index: 0;
}
.ab-mv__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.68) 100%);
}
.ab-mv__inner { position: relative; z-index: 2; padding: 0 20px; }
.ab-mv__en {
	font-family: var(--fp-en);
	letter-spacing: .3em; color: var(--fp-gold);
	font-size: clamp(.85rem, 1.2vw, 1rem); margin: 0 0 14px;
}
.ab-mv__title {
	font-family: var(--fp-serif);
	font-size: clamp(26px, 3vw, 42px); font-weight: 500;
	letter-spacing: .2em; margin: 0; color: #fff;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.ab-mv__line { display: block; width: 40px; height: 1px; background: var(--fp-gold); margin: 22px auto 0; }

/* ---- ブランド紹介 ---- */
.ab-brand__body { max-width: 820px; margin: 0 auto; }
.ab-brand__body p {
	color: #444; font-size: 1rem; line-height: 2.1; letter-spacing: .03em; margin: 0 0 1.6em;
}
.ab-brand__body p:last-child { margin-bottom: 0; }
.ab-brand__body em { font-style: normal; color: var(--fp-gold-dark); font-weight: 500; }
.ab-brand__catch {
	max-width: 820px; margin: 48px auto 0; text-align: center;
	font-family: var(--fp-serif); font-size: clamp(17px, 1.9vw, 22px);
	line-height: 2; letter-spacing: .12em; color: var(--fp-black);
	padding-top: 40px; border-top: 1px solid var(--fp-border);
}

/* ---- 経営理念 ---- */
.ab-philosophy__lead { max-width: 820px; margin: 0 auto 48px; text-align: center; }
.ab-philosophy__lead p { color: #444; margin: 0; font-size: 1rem; line-height: 2; }
.ab-vmp {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 8px;
}
@media (max-width: 900px) { .ab-vmp { grid-template-columns: 1fr; gap: 20px; } }
.ab-vmp__card {
	border: 1px solid var(--fp-border); background: #fff;
	padding: 32px 28px; text-align: center;
}
.ab-vmp__en {
	font-family: var(--fp-en); color: var(--fp-gold);
	letter-spacing: .25em; font-size: .85rem; margin: 0 0 8px;
}
.ab-vmp__title {
	font-family: var(--fp-serif); font-size: 1.15rem; letter-spacing: .12em;
	color: var(--fp-black); font-weight: 500; margin: 0 0 14px;
	padding: 0; border: none; background: transparent;
}
.ab-vmp__title::after { display: none; }
.ab-vmp__text { font-size: .92rem; line-height: 1.9; color: #555; margin: 0; }

/* ---- 品質方針・品質目標 ---- */
.ab-quality { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
@media (max-width: 768px) { .ab-quality { grid-template-columns: 1fr; } }
.ab-quality__box {
	border-top: 2px solid var(--fp-gold); background: rgba(201,169,110,.04);
	padding: 28px 26px;
}
.ab-quality__label {
	font-family: var(--fp-serif); font-size: 1.05rem; letter-spacing: .12em;
	color: var(--fp-black); margin: 0 0 12px; font-weight: 500;
}
.ab-quality__body { font-size: .92rem; line-height: 1.9; color: #555; margin: 0; }

/* ---- サービス紹介（wysiwyg） ---- */
.ab-service__body {
	max-width: 880px; margin: 0 auto; line-height: 2; color: #444;
}
.ab-service__body p { margin: 0 0 1em; }
.ab-service__body img { margin: 1em auto; }

/* ---- 会社概要テーブル ---- */
.ab-table-wrap { max-width: 920px; margin: 0 auto; }
/* テーマの「table { border:1px } / th { background:#ddd }」等を打ち消し、横の区切り線だけにする */
.ab-table { width: 100% !important; border-collapse: collapse; border: 0 !important; }
.ab-table th, .ab-table td {
	padding: 18px 8px;
	border: 0 !important; border-bottom: 1px solid var(--fp-border) !important;
	text-align: left; vertical-align: top;
	font-size: .95rem; line-height: 1.8;
	background: transparent !important;
}
.ab-table th {
	width: 180px; min-width: 180px; font-family: var(--fp-serif); font-weight: 500;
	letter-spacing: .1em; color: var(--fp-black);
	white-space: nowrap; /* 見出しが1文字ずつ折り返されるのを防ぐ */
}
/* 値側は長文でも折り返す（見出し幅を圧迫させない） */
.ab-table td { word-break: break-word; }
/* スマホ：ラベルをゴールドのタグ風にし、値を主役にした縦並び（A案：リスト型） */
@media (max-width: 767px) {
	.ab-table, .ab-table tbody { display: block; width: 100%; }
	.ab-table tr {
		display: block;
		padding: 16px 4px 18px;
		border-bottom: 1px solid var(--fp-border);
	}
	.ab-table tr:first-child {
		border-top: 1px solid var(--fp-border);
	}
	.ab-table th, .ab-table td {
		display: block; width: 100%; min-width: 0; border: 0 !important; padding: 0;
	}
	.ab-table th {
		margin-bottom: 7px;
		font-family: var(--fp-sans);
		font-weight: 700;
		font-size: .72rem;
		letter-spacing: .16em;
		color: var(--fp-gold-dark);
		white-space: normal;
	}
	.ab-table td {
		font-size: 1rem;
		line-height: 1.7;
		color: var(--fp-text);
	}
}
.ab-table td a { color: var(--fp-gold-dark); text-decoration: none; }
.ab-table td a:hover { text-decoration: underline; }

/* ---- SNS（Font Awesome アイコン） ---- */
.ab-sns { margin-top: 44px; }
.ab-sns__list {
	display: flex; justify-content: center; align-items: center; flex-wrap: wrap;
	gap: 16px; list-style: none;
	/* アイコン群そのものを中央寄せ（親の余白・padding の影響を受けない） */
	width: fit-content; max-width: 100%;
	margin: 0 auto; padding: 0;
}
.ab-sns__item a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 50%;
	border: 1px solid var(--fp-gold);
	color: var(--fp-gold); text-decoration: none;
	transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
/* テーマの「i { margin-right: .4em }」を打ち消してアイコンを円の中央に */
.ab-sns__item a i { font-size: 20px; line-height: 1; margin: 0 !important; }
.ab-sns__item a:hover {
	background: var(--fp-gold); color: #fff;
	border-color: var(--fp-gold); transform: translateY(-3px);
}
/* 各 SNS のブランドカラーでホバー */
.ab-sns__item--instagram a:hover { background: #e1306c; border-color: #e1306c; }
.ab-sns__item--line a:hover      { background: #06c755; border-color: #06c755; }
.ab-sns__item--youtube a:hover   { background: #ff0000; border-color: #ff0000; }
.ab-sns__item--x a:hover         { background: #000;    border-color: #000;    }
.ab-sns__item--tiktok a:hover    { background: #010101; border-color: #010101; }
.ab-sns__item--facebook a:hover  { background: #1877f2; border-color: #1877f2; }
/* =========================================================================
   / page-about.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / page-concept.php（コンセプト）専用スタイル
   ※ .cp-root は .fp-root と併用。全体を明朝（--fp-serif）で統一しトップと合わせる
   ========================================================================= */

/* ---- MAIN VISUAL（動画背景） ---- */
.cp-mv {
	position: relative; min-height: 76vh;
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: #fff; overflow: hidden;
}
@media (max-width: 768px) { .cp-mv { min-height: 62vh; } }
.cp-mv__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover; background-position: center; transform: scale(1.03);
}
.cp-mv__video {
	position: absolute; inset: 0; z-index: 0;
	width: 100%; height: 100%; object-fit: cover;
}
.cp-mv__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.72) 100%);
}
.cp-mv__inner { position: relative; z-index: 2; padding: 0 20px; max-width: 900px; }
.cp-mv__en {
	font-family: var(--fp-en); letter-spacing: .3em; color: var(--fp-gold);
	font-size: clamp(.85rem, 1.2vw, 1rem); margin: 0 0 16px;
}
.cp-mv__title {
	font-family: var(--fp-serif); font-size: clamp(28px, 3.4vw, 46px);
	font-weight: 500; letter-spacing: .2em; line-height: 1.5;
	margin: 0 0 22px; color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.4);
}
.cp-mv__lead {
	font-family: var(--fp-serif); font-size: clamp(15px, 1.6vw, 20px);
	line-height: 2; letter-spacing: .1em; margin: 0 0 26px; color: #f0ece2;
}
.cp-mv__line { display: block; width: 40px; height: 1px; background: var(--fp-gold); margin: 0 auto; }

/* ---- MESSAGE ---- */
.cp-message__head { text-align: center; margin-bottom: 40px; }
.cp-message__svg { margin: 0 auto 18px !important; opacity: .85; }
.cp-message__title {
	font-family: var(--fp-serif); font-size: clamp(22px, 2.4vw, 32px);
	font-weight: 500; letter-spacing: .14em; line-height: 1.7;
	color: var(--fp-black); margin: 0; padding: 0; border: none; background: transparent;
}
.cp-message__title::after { display: none; }
.cp-message__body { text-align: center; max-width: 820px; margin: 0 auto; }
.cp-message__body p { color: #444; margin: 0 0 1.6em; font-size: 1rem; line-height: 2.1; }
.cp-message__body em { font-style: normal; color: var(--fp-gold-dark); font-weight: 500; }

/* ---- INSIGHT（お悩み） ---- */
.cp-insight__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 768px) { .cp-insight__grid { grid-template-columns: 1fr; } }
.cp-insight__card { background: #fff; border: 1px solid var(--fp-border); padding: 32px 28px; }
.cp-insight__num {
	font-family: var(--fp-en); font-size: 1.6rem; color: var(--fp-gold);
	letter-spacing: .1em; display: block; margin-bottom: 10px;
}
.cp-insight__title {
	font-family: var(--fp-serif); font-size: 1.15rem; line-height: 1.6; letter-spacing: .06em;
	color: var(--fp-black); font-weight: 500; margin: 0 0 12px;
	padding: 0; border: none; background: transparent;
}
.cp-insight__title::after { display: none; }
.cp-insight__card p { font-size: .92rem; line-height: 1.9; color: #555; margin: 0; }
.cp-insight__close { text-align: center; margin: 44px 0 0; font-size: 1.05rem; line-height: 2; color: #333; }
.cp-insight__close strong { color: var(--fp-gold-dark); font-weight: 500; }

/* ---- CRAFTSMANSHIP（施工可能なもの） ---- */
.cp-craft__head { text-align: center; margin-bottom: 40px; }
.cp-craft__svg { max-width: 280px; opacity: .9; margin: 0 auto !important; }
.cp-craft__body { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
@media (max-width: 900px) { .cp-craft__body { grid-template-columns: 1fr; gap: 32px; } }
.cp-craft__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cp-craft__title {
	font-family: var(--fp-serif); font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 500; letter-spacing: .08em; line-height: 1.6;
	color: var(--fp-black); margin: 0 0 22px; padding: 0; border: none; background: transparent;
}
.cp-craft__title::after { display: none; }
.cp-craft__text p { color: #444; font-size: .95rem; line-height: 2; margin: 0 0 1.2em; }
.cp-craft__text em { font-style: normal; color: var(--fp-gold-dark); font-weight: 500; }
.cp-craft__items {
	display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
	list-style: none; padding: 0; margin: 44px 0 0;
}
.cp-craft__items li span {
	display: inline-block; border: 1px solid var(--fp-gold); color: var(--fp-gold-dark);
	padding: 8px 20px; font-size: .85rem; letter-spacing: .08em; border-radius: 999px;
}
@media (max-width: 767px) { .cp-br-pc { display: none; } }

/* ---- OUR WORK（施工の様子・写真／動画ギャラリー） ---- */
.cp-work__lead { text-align: center; color: #555; margin: 0 0 40px; line-height: 1.95; }
.cp-work__video { max-width: 960px; margin: 0 auto 48px; }
.cp-work__video video {
	width: 100%; display: block; background: #000;
	aspect-ratio: 16 / 9; object-fit: cover;
}
.cp-work__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 768px) { .cp-work__gallery { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.cp-work__item { margin: 0; overflow: hidden; }
.cp-work__item img {
	width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .6s ease;
}
.cp-work__item:hover img { transform: scale(1.05); }

/* ---- KNOWLEDGE（背景画像＋濃いオーバーレイ） ---- */
.cp-knowledge { position: relative; overflow: hidden; }
.cp-knowledge__bg { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; }
.cp-knowledge__overlay { position: absolute; inset: 0; z-index: 1; background: rgba(10,10,10,.74); }
.cp-knowledge__inner { position: relative; z-index: 2; }
.cp-knowledge__body { max-width: 820px; margin: 0 auto; text-align: center; }
.cp-knowledge__body p { color: #ddd; font-size: 1rem; line-height: 2.1; margin: 0 0 1.4em; }
.cp-knowledge__body em { font-style: normal; color: var(--fp-gold); font-weight: 500; }

/* ---- PROMISE（3つの約束） ---- */
.cp-promise__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 900px) { .cp-promise__grid { grid-template-columns: 1fr; } }
.cp-promise__card { text-align: center; border: 1px solid var(--fp-border); padding: 36px 26px; background: #fff; }
.cp-promise__num { font-family: var(--fp-en); font-size: 1.6rem; color: var(--fp-gold); display: block; margin-bottom: 14px; }
.cp-promise__title {
	font-family: var(--fp-serif); font-size: 1.2rem; letter-spacing: .08em; line-height: 1.5;
	color: var(--fp-black); font-weight: 500; margin: 0 0 16px;
	padding: 0; border: none; background: transparent;
}
.cp-promise__title::after { display: none; }
.cp-promise__card p { font-size: .9rem; line-height: 1.95; color: #555; margin: 0; }
.cp-promise__card em { font-style: normal; color: var(--fp-gold-dark); font-weight: 500; }

/* ---- REPRESENTATIVE MESSAGE（代表メッセージ） ---- */
/* 本文は左揃え（長文を中央揃えにすると読みにくいため）／背景・枠は付けない */
.cp-rep__quote {
	border: none; margin: 0; padding: 0; text-align: left;
	background: transparent !important;
}
.cp-rep__quote p {
	font-family: var(--fp-serif); font-size: clamp(15px, 1.7vw, 18px);
	line-height: 2.1; letter-spacing: .05em; color: #333; margin: 0 0 1.5em;
}
.cp-rep__quote p:last-child { margin-bottom: 0; }
/* 冒頭のリード文（タイトル）のみ中央 */
.cp-rep__quote p:first-child em {
	display: block; text-align: center; line-height: 1.9; margin-bottom: .6em;
}
.cp-rep__quote em { font-style: normal; color: var(--fp-gold-dark); }
.cp-rep__sign { text-align: center; margin-top: 30px; }
.cp-rep__sign p { margin: 2px 0; letter-spacing: .1em; color: #555; }
.cp-rep__sign strong { font-family: var(--fp-serif); font-size: 1.2rem; color: var(--fp-black); font-weight: 500; }
/* =========================================================================
   / page-concept.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / page-faq.php（よくいただくご質問）専用スタイル
   ※ .faq-root は .fp-root と併用
   ========================================================================= */
/* ---- MAIN VISUAL ---- */
.faq-mv {
	position: relative; min-height: 46vh;
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: #fff; overflow: hidden;
}
@media (max-width: 768px) { .faq-mv { min-height: 38vh; } }
.faq-mv__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover; background-position: center; transform: scale(1.03);
}
.faq-mv__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.68) 100%);
}
.faq-mv__inner { position: relative; z-index: 2; padding: 0 20px; }
.faq-mv__en {
	font-family: var(--fp-en); letter-spacing: .3em; color: var(--fp-gold);
	font-size: clamp(.85rem, 1.2vw, 1rem); margin: 0 0 14px;
}
.faq-mv__title {
	font-family: var(--fp-serif); font-size: clamp(26px, 3vw, 42px);
	font-weight: 500; letter-spacing: .2em; margin: 0; color: #fff;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.faq-mv__line { display: block; width: 40px; height: 1px; background: var(--fp-gold); margin: 22px auto 0; }

/* ---- INTRO ---- */
.faq-intro { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.faq-intro p { color: #444; line-height: 2; font-size: 1rem; margin: 0; }

/* ---- FAQ アコーディオン ---- */
.faq-list { max-width: 880px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--fp-border); }
.faq-item:first-child { border-top: 1px solid var(--fp-border); }
.faq-q {
	list-style: none; cursor: pointer; position: relative;
	display: flex; gap: 16px; align-items: flex-start;
	padding: 24px 48px 24px 4px;
	font-family: var(--fp-serif); font-size: 1.05rem; font-weight: 500;
	color: var(--fp-black); letter-spacing: .04em; line-height: 1.6;
	transition: color .2s ease;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q:hover { color: var(--fp-gold-dark); }
.faq-q__mark, .faq-a__mark {
	font-family: var(--fp-en); font-size: 1.3rem; font-weight: 500;
	line-height: 1.3; flex-shrink: 0;
}
.faq-q__mark { color: var(--fp-gold); }
.faq-a__mark { color: var(--fp-gold-dark); }
.faq-q__text { flex: 1; }
.faq-q__toggle {
	position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
	width: 14px; height: 14px; flex-shrink: 0;
}
.faq-q__toggle::before, .faq-q__toggle::after {
	content: ""; position: absolute; top: 50%; left: 0;
	width: 14px; height: 1.5px; background: var(--fp-gold);
}
.faq-q__toggle::after { transform: rotate(90deg); transition: transform .3s ease, opacity .3s ease; }
.faq-item[open] .faq-q__toggle::after { transform: rotate(0); opacity: 0; }
.faq-a {
	display: flex; gap: 16px; align-items: flex-start;
	padding: 0 4px 28px;
}
.faq-a__text {
	flex: 1; margin: 0; color: #555; font-size: .95rem; line-height: 2; letter-spacing: .03em;
}
/* =========================================================================
   / page-faq.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / page-service.php（対応メニュー・料金）専用スタイル
   ※ .sv-root は .fp-root と併用
   ========================================================================= */
/* ---- MAIN VISUAL ---- */
.sv-mv {
	position: relative; min-height: 46vh;
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: #fff; overflow: hidden;
}
@media (max-width: 768px) { .sv-mv { min-height: 38vh; } }
.sv-mv__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover; background-position: center; transform: scale(1.03);
}
.sv-mv__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.68) 100%);
}
.sv-mv__inner { position: relative; z-index: 2; padding: 0 20px; }
.sv-mv__en {
	font-family: var(--fp-en); letter-spacing: .3em; color: var(--fp-gold);
	font-size: clamp(.85rem, 1.2vw, 1rem); margin: 0 0 14px;
}
.sv-mv__title {
	font-family: var(--fp-serif); font-size: clamp(26px, 3vw, 42px);
	font-weight: 500; letter-spacing: .2em; margin: 0; color: #fff;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.sv-mv__line { display: block; width: 40px; height: 1px; background: var(--fp-gold); margin: 22px auto 0; }

/* ---- INTRO ---- */
.sv-intro { max-width: 780px; margin: 0 auto 56px; text-align: center; }
.sv-intro p { color: #444; line-height: 2; font-size: 1rem; margin: 0; }

/* ---- 料金カード ---- */
.sv-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
@media (max-width: 768px) { .sv-grid { grid-template-columns: 1fr; gap: 20px; } }
.sv-card { border: 1px solid var(--fp-border); background: #fff; padding: 32px 30px; }
.sv-card__en {
	font-family: var(--fp-en); color: var(--fp-gold);
	letter-spacing: .25em; font-size: .8rem; margin: 0 0 6px;
}
.sv-card__title {
	font-family: var(--fp-serif); font-size: 1.3rem; letter-spacing: .08em;
	color: var(--fp-black); font-weight: 500; margin: 0 0 18px;
	padding: 0 0 14px; border: none; background: transparent;
	border-bottom: 1px solid var(--fp-gold);
}
.sv-card__title::after { display: none; }
.sv-card__list { list-style: none; margin: 0; padding: 0; }
.sv-card__row {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline;
	gap: 2px 16px; padding: 11px 0; border-bottom: 1px dashed var(--fp-border);
}
.sv-card__row:last-child { border-bottom: none; padding-bottom: 0; }
.sv-card__label { color: #444; font-size: .92rem; letter-spacing: .03em; }
.sv-card__price {
	color: var(--fp-gold-dark); font-weight: 500; font-size: .92rem;
	letter-spacing: .02em; text-align: right; margin-left: auto;
}

/* ---- 注意書き ---- */
.sv-note { max-width: 880px; margin: 48px auto 0; }
.sv-note p {
	font-size: .85rem; color: #777; line-height: 1.9; margin: 0; padding-left: 1.2em;
	text-indent: -1.2em;
}
/* =========================================================================
   / page-service.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / archive-column.php（コラム一覧・カテゴリー）専用スタイル
   ※ .cl-root は .fp-root と併用
   ========================================================================= */
/* ---- MAIN VISUAL ---- */
.cl-mv {
	position: relative; min-height: 42vh;
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: #fff; overflow: hidden;
}
@media (max-width: 768px) { .cl-mv { min-height: 34vh; } }
.cl-mv__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover; background-position: center; transform: scale(1.03);
}
.cl-mv__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.68) 100%);
}
.cl-mv__inner { position: relative; z-index: 2; padding: 0 20px; }
.cl-mv__en {
	font-family: var(--fp-en); letter-spacing: .3em; color: var(--fp-gold);
	font-size: clamp(.85rem, 1.2vw, 1rem); margin: 0 0 14px;
}
.cl-mv__title {
	font-family: var(--fp-serif); font-size: clamp(24px, 2.8vw, 38px);
	font-weight: 500; letter-spacing: .18em; margin: 0; color: #fff;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.cl-mv__line { display: block; width: 40px; height: 1px; background: var(--fp-gold); margin: 20px auto 0; }

/* ---- 一覧グリッド ---- */
.cl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 900px) { .cl-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media (max-width: 560px) { .cl-grid { grid-template-columns: 1fr; } }
.cl-card {
	display: block; text-decoration: none; color: inherit;
	background: #fff; border: 1px solid var(--fp-border);
	transition: border-color .3s ease, transform .3s ease;
}
.cl-card:hover { border-color: var(--fp-gold); transform: translateY(-4px); }
.cl-card__thumb { overflow: hidden; aspect-ratio: 4 / 3; background: #f0ece2; }
.cl-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.cl-card:hover .cl-card__thumb img { transform: scale(1.06); }
.cl-card__thumb--empty {
	display: flex; align-items: center; justify-content: center;
	font-family: var(--fp-en); letter-spacing: .25em; color: var(--fp-gold);
	background: var(--fp-bg-dark);
}
.cl-card__body { padding: 22px 22px 26px; }
.cl-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; }
.cl-card__date {
	font-family: var(--fp-en); color: var(--fp-gold); font-size: .82rem; letter-spacing: .1em;
}
.cl-card__cat {
	font-size: .72rem; letter-spacing: .06em; color: var(--fp-gold-dark);
	border: 1px solid var(--fp-border); padding: 2px 10px; border-radius: 999px;
}
.cl-card__title {
	font-family: var(--fp-serif); font-size: 1.08rem; line-height: 1.6; letter-spacing: .04em;
	color: var(--fp-black); font-weight: 500; margin: 0 0 10px;
	padding: 0; border: none; background: transparent;
}
.cl-card__title::after { display: none; }
.cl-card__excerpt { font-size: .88rem; line-height: 1.8; color: #666; margin: 0; }

/* ---- 記事なし ---- */
.cl-empty { text-align: center; color: var(--fp-text-muted); padding: 40px 0; }

/* ---- ページネーション ---- */
.cl-pager { margin-top: 56px; }
.cl-pager .nav-links,
.cl-pager .pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.cl-pager .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid var(--fp-border); color: var(--fp-text);
	font-family: var(--fp-en); letter-spacing: .05em; text-decoration: none;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.cl-pager .page-numbers:hover { border-color: var(--fp-gold); color: var(--fp-gold-dark); }
.cl-pager .page-numbers.current {
	background: var(--fp-gold); border-color: var(--fp-gold); color: #fff;

}
.cl-pager .page-numbers.dots { border-color: transparent; }
/* =========================================================================
   / archive-column.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / page-contact.php（お問い合わせ・Instagram DM）専用
   ※ .ct-root は .fp-root と併用
   ========================================================================= */
/* ---- MAIN VISUAL ---- */
.ct-mv {
	position: relative; min-height: 44vh;
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: #fff; overflow: hidden;
}
@media (max-width: 768px) { .ct-mv { min-height: 36vh; } }
.ct-mv__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover; background-position: center; transform: scale(1.03);
}
.ct-mv__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.68) 100%);
}
.ct-mv__inner { position: relative; z-index: 2; padding: 0 20px; }
.ct-mv__en {
	font-family: var(--fp-en); letter-spacing: .3em; color: var(--fp-gold);
	font-size: clamp(.85rem, 1.2vw, 1rem); margin: 0 0 14px;
}
.ct-mv__title {
	font-family: var(--fp-serif); font-size: clamp(26px, 3vw, 42px);
	font-weight: 500; letter-spacing: .2em; margin: 0; color: #fff;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.ct-mv__line { display: block; width: 40px; height: 1px; background: var(--fp-gold); margin: 22px auto 0; }

/* ---- リード ---- */
.ct-lead { max-width: 720px; margin: 0 auto 8px; text-align: center; }
.ct-lead p { color: #444; line-height: 2.05; font-size: 1rem; margin: 0 0 1.2em; }
.ct-lead p:last-child { margin-bottom: 0; }
.ct-lead em { font-style: normal; color: var(--fp-gold-dark); font-weight: 500; }

/* ---- 3ステップ ---- */
.ct-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 48px; }
@media (max-width: 768px) { .ct-steps { grid-template-columns: 1fr; gap: 16px; } }
.ct-step {
	text-align: center; border: 1px solid var(--fp-border);
	background: #fff; padding: 32px 24px;
}
.ct-step__num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid var(--fp-gold); color: var(--fp-gold);
	font-family: var(--fp-en); font-size: 1.05rem; letter-spacing: .05em;
	margin: 0 auto 16px;
}
.ct-step__title {
	font-family: var(--fp-serif); font-size: 1.08rem; letter-spacing: .06em;
	color: var(--fp-black); font-weight: 500; margin: 0 0 10px;
}
.ct-step__text { font-size: .9rem; line-height: 1.85; color: #555; margin: 0; }

/* ---- Instagram CTA（濃い背景で目立たせる） ---- */
.ct-cta { text-align: center; }
.ct-cta__lead {
	font-family: var(--fp-serif); color: #f0ece2; font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.9; letter-spacing: .06em; margin: 0 0 32px;
	text-align: center;
}
.ct-insta {
	display: inline-flex; align-items: center; justify-content: center; gap: 14px;
	padding: 20px 48px; border-radius: 999px;
	background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
	color: #fff; text-decoration: none; letter-spacing: .08em;
	font-size: clamp(1rem, 1.4vw, 1.15rem); font-weight: 500;
	box-shadow: 0 10px 30px rgba(220,39,67,0.35);
	transition: transform .3s ease, box-shadow .3s ease, opacity .3s ease;
}
.ct-insta i { font-size: 1.5rem; line-height: 1; }
.ct-insta:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(220,39,67,0.45); opacity: .96; }
.ct-cta__note { margin: 28px 0 0; font-size: .85rem; color: #b8b2a2; line-height: 1.9; }
.ct-cta__sub {
	margin: 26px 0 0; font-size: .9rem; color: #c6c0b0; letter-spacing: .04em;
}
.ct-cta__sub a { color: var(--fp-gold); }
/* =========================================================================
   / page-contact.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / page-features.php（当店の特徴）専用スタイル
   ※ .ft-root は .fp-root と併用
   ========================================================================= */
/* ---- MAIN VISUAL ---- */
.ft-mv {
	position: relative; min-height: 62vh;
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: #fff; overflow: hidden;
}
@media (max-width: 768px) { .ft-mv { min-height: 54vh; } }
.ft-mv__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover; background-position: center; transform: scale(1.03);
}
.ft-mv__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.55) 50%, rgba(0,0,0,.74) 100%);
}
.ft-mv__inner { position: relative; z-index: 2; padding: 0 20px; max-width: 960px; }
.ft-mv__en {
	font-family: var(--fp-en); letter-spacing: .3em; color: var(--fp-gold);
	font-size: clamp(.85rem, 1.2vw, 1rem); margin: 0 0 14px;
}
.ft-mv__title {
	font-family: var(--fp-serif); font-size: clamp(26px, 3vw, 42px);
	font-weight: 500; letter-spacing: .2em; margin: 0 0 24px; color: #fff;
	text-shadow: 0 2px 18px rgba(0,0,0,.4);
}
.ft-mv__catch {
	font-family: var(--fp-serif); font-size: clamp(15px, 1.7vw, 20px);
	line-height: 2; letter-spacing: .08em; color: #f0ece2; margin: 0;
}
.ft-mv__catch em { font-style: normal; color: var(--fp-gold); font-weight: 500; }

/* ---- 3つの特徴 ---- */
.ft-feature__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 900px) { .ft-feature__grid { grid-template-columns: 1fr; gap: 20px; } }
.ft-feature__card {
	border: 1px solid var(--fp-border); background: #fff;
	padding: 40px 30px; text-align: center;
}
.ft-feature__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 64px; height: 64px; border-radius: 50%;
	border: 1px solid var(--fp-gold); color: var(--fp-gold);
	font-size: 1.5rem; margin: 0 0 20px;
}
.ft-feature__icon i { margin: 0 !important; }
.ft-feature__title {
	font-family: var(--fp-serif); font-size: 1.2rem; letter-spacing: .06em; line-height: 1.6;
	color: var(--fp-black); font-weight: 500; margin: 0 0 14px;
}
.ft-feature__text { font-size: .92rem; line-height: 1.95; color: #555; margin: 0; text-align: left; }

/* ---- 仕上がりギャラリー ---- */
.ft-works__lead { text-align: center; color: #555; margin: 0 0 40px; line-height: 1.9; }
.ft-works__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 768px) { .ft-works__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.ft-works__item { margin: 0; overflow: hidden; }
.ft-works__item img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .6s ease; }
.ft-works__item:hover img { transform: scale(1.05); }

/* ---- 4つの強み ---- */
.ft-strength__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 768px) { .ft-strength__grid { grid-template-columns: 1fr; } }
.ft-strength__card {
	position: relative; border: 1px solid rgba(201,169,110,0.25);
	background: #191919; padding: 34px 32px; overflow: hidden;
}
.ft-strength__num {
	font-family: var(--fp-en); font-size: 2.4rem; color: rgba(201,169,110,0.35);
	line-height: 1; margin: 0 0 14px; display: block;
}
.ft-strength__head { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 14px; }
.ft-strength__icon { color: var(--fp-gold); font-size: 1.4rem; flex-shrink: 0; margin-top: 2px; }
.ft-strength__icon i { margin: 0 !important; }
.ft-strength__title {
	font-family: var(--fp-serif); font-size: 1.2rem; letter-spacing: .05em; line-height: 1.55;
	color: #fff; font-weight: 500; margin: 0;
}
.ft-strength__text { font-size: .92rem; line-height: 1.95; color: #c6c0b0; margin: 0; }

/* ---- 選ばれる理由 ---- */
.ft-reason__list { max-width: 900px; margin: 0 auto; list-style: none; padding: 0; }
.ft-reason__item {
	display: flex; align-items: flex-start; gap: 18px;
	padding: 26px 8px; border-bottom: 1px solid var(--fp-border);
}
.ft-reason__item:first-child { border-top: 1px solid var(--fp-border); }
.ft-reason__mark {
	flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%;
	background: var(--fp-gold); color: #fff;
	display: inline-flex; align-items: center; justify-content: center; font-size: 1rem;
}
.ft-reason__mark i { margin: 0 !important; }
.ft-reason__body { flex: 1; }
.ft-reason__title {
	font-family: var(--fp-serif); font-size: 1.12rem; letter-spacing: .04em; line-height: 1.5;
	color: var(--fp-black); font-weight: 500; margin: 0 0 6px;
}
.ft-reason__text { font-size: .92rem; line-height: 1.9; color: #555; margin: 0; }
/* =========================================================================
   / page-features.php 専用スタイル ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / フッター（mc-footer）デザイン一新
   ※ .fp-root の外側なので色は直接指定
   ========================================================================= */
.mc-footer {
	background: #141414;
	color: #cfcabb;
	font-family: 'Noto Sans JP', 'Hiragino Sans', sans-serif;
	margin: 0;
}
/* common.css の a:link 下線・太字を打ち消す */
.mc-footer a,
.mc-footer a:link,
.mc-footer a:visited,
.mc-footer a:hover { text-decoration: none; font-weight: inherit; }

.mc-footer__container { max-width: 1120px; margin: 0 auto; padding: 66px 24px 44px; }
.mc-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 56px; }
@media (max-width: 768px) { .mc-footer__grid { grid-template-columns: 1fr; gap: 40px; } }

/* ブランド */
.mc-footer__logo {
	font-family: 'Cormorant Garamond', 'Times New Roman', serif;
	font-size: 1.85rem; letter-spacing: .16em; color: #fff; font-weight: 500; margin: 0 0 8px;
}
.mc-footer__tagline {
	font-family: 'Cormorant Garamond', serif; font-size: .82rem; letter-spacing: .12em;
	color: #c9a96e; margin: 0 0 28px;
}
.mc-footer__shop {
	font-family: 'Noto Serif JP', serif; font-size: 1.05rem; letter-spacing: .06em;
	color: #fff; margin: 0 0 8px;
}
.mc-footer__addr { font-size: .86rem; line-height: 1.85; color: #b0aa9c; margin: 0 0 12px; }
/* テーマの table 枠線・th 背景（#ddd）を打ち消す */
.mc-footer__meta { border-collapse: collapse; font-size: .85rem; border: 0 !important; }
.mc-footer__meta th,
.mc-footer__meta td { background: transparent !important; border: 0 !important; }
.mc-footer__meta th {
	text-align: left; color: #c9a96e; font-weight: 500; letter-spacing: .04em;
	padding: 3px 16px 3px 0; white-space: nowrap; vertical-align: top;
}
.mc-footer__meta td { padding: 3px 0; color: #cfcabb; }

/* SNS（Font Awesome） */
.mc-footer__sns { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 26px 0 0; }
.mc-footer__sns a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	border: 1px solid rgba(201,169,110,.5); color: #c9a96e;
	transition: background .3s ease, color .3s ease, transform .3s ease;
}
.mc-footer__sns a i { margin: 0 !important; font-size: 18px; line-height: 1; }
.mc-footer__sns a:hover { background: #c9a96e; color: #141414; transform: translateY(-3px); }

/* ナビ */
.mc-footer__nav-title {
	font-family: 'Cormorant Garamond', serif; letter-spacing: .28em;
	color: #c9a96e; font-size: .9rem; margin: 0 0 16px;
}
.mc-footer__nav-list {
	list-style: none; padding: 0; margin: 0;
	display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px;
}
@media (max-width: 480px) { .mc-footer__nav-list { grid-template-columns: 1fr; } }
.mc-footer__nav-list li { border-bottom: 1px solid rgba(255,255,255,.08); }
.mc-footer__nav-list a {
	display: block; position: relative; padding: 12px 0 12px 18px;
	color: #cfcabb; font-size: .9rem; letter-spacing: .04em; transition: color .2s ease;
}
.mc-footer__nav-list a::before {
	content: ""; position: absolute; left: 0; top: 50%;
	width: 5px; height: 5px; margin-top: -3px;
	border-top: 1px solid #c9a96e; border-right: 1px solid #c9a96e; transform: rotate(45deg);
}
.mc-footer__nav-list a:hover { color: #c9a96e; }

/* コピーライト */
.mc-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 22px 24px; text-align: center; }
.mc-footer__legal {
	list-style: none; margin: 0 0 10px; padding: 0;
	display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 22px;
}
.mc-footer__legal a { color: #b0aa9c; font-size: .8rem; letter-spacing: .06em; transition: color .2s ease; }
.mc-footer__legal a:hover { color: #c9a96e; }
.mc-footer__copy {
	font-family: 'Cormorant Garamond', serif; font-size: .78rem; letter-spacing: .15em; color: #8a8578;
}

/* モバイル固定バー：Instagram バリアント */
.sp-fixed-contact__btn--insta {
	background: linear-gradient(45deg, #f09433 0%, #dc2743 55%, #bc1888 100%);
}
.sp-fixed-contact__btn--insta i { transform: translateX(4px); }
/* =========================================================================
   / フッター（mc-footer）ここまで
   ========================================================================= */


/* =========================================================================
   MIROIR COAT 千葉店 / page-privacy.php（プライバシーポリシー）専用スタイル
   ※ .pv-root は .fp-root と併用
   ========================================================================= */
.pv-mv {
	position: relative; min-height: 40vh;
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: #fff; overflow: hidden;
}
@media (max-width: 768px) { .pv-mv { min-height: 32vh; } }
.pv-mv__bg { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; transform: scale(1.03); }
.pv-mv__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.68)); }
.pv-mv__inner { position: relative; z-index: 2; padding: 0 20px; }
.pv-mv__en { font-family: var(--fp-en); letter-spacing: .3em; color: var(--fp-gold); font-size: clamp(.8rem, 1.2vw, .95rem); margin: 0 0 12px; }
.pv-mv__title { font-family: var(--fp-serif); font-size: clamp(22px, 2.6vw, 34px); font-weight: 500; letter-spacing: .16em; margin: 0; color: #fff; }
.pv-mv__line { display: block; width: 40px; height: 1px; background: var(--fp-gold); margin: 18px auto 0; }

.pv-body { max-width: 860px; margin: 0 auto; }
.pv-lead { margin: 0 0 48px; }
.pv-lead p { color: #444; line-height: 2.05; font-size: 1rem; margin: 0; }
.pv-sec { margin: 0 0 40px; }
.pv-sec__title {
	font-family: var(--fp-serif); font-size: 1.18rem; letter-spacing: .05em; line-height: 1.5;
	color: var(--fp-black); font-weight: 500; margin: 0 0 16px;
	padding: 2px 0 2px 14px; border-left: 4px solid var(--fp-gold);
	text-align: left; /* common.css の section h2 { text-align:center } を打ち消す */
}
.pv-sec p { color: #444; line-height: 2; font-size: .95rem; margin: 0 0 1em; }
.pv-sec p:last-child { margin-bottom: 0; }
.pv-sec ul, .pv-sec ol { margin: .4em 0 1em; padding-left: 1.4em; }
.pv-sec li { color: #444; line-height: 1.95; font-size: .95rem; margin-bottom: .4em; }
.pv-meta { border-top: 1px solid var(--fp-border); margin-top: 8px; padding-top: 28px; }
.pv-meta dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 22px; margin: 0; font-size: .93rem; }
.pv-meta dt { color: var(--fp-gold-dark); font-weight: 500; white-space: nowrap; }
.pv-meta dd { margin: 0; color: #444; line-height: 1.8; }
.pv-meta__note { font-size: .85rem; color: #777; line-height: 1.85; margin: 16px 0 0; }
.pv-date { text-align: right; color: #888; font-size: .85rem; margin: 40px 0 0; letter-spacing: .04em; }
/* =========================================================================
   / page-privacy.php 専用スタイル ここまで
   ========================================================================= */
