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

/*.sidebar {
	min-height: 100vh;
	flex-direction: column;
	justify-content: center;
}
.sidebar-inner {
    justify-content: center;
}
*/
body {
	background-color: #f3f4f3;
	background-image:linear-gradient(  rgba(255, 255, 255, 0.80),  rgba(255, 255, 255, 0.90)  ),  var(--body-bg-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
	font-size: 1.5em;
	color:#303638;
	-webkit-text-size-adjust: 100%;
}
.wrapper {
	margin: 0 0 0 300px;
}
.wrapper-inner {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}
.slidebox {
	z-index:100;
	position:relative;
}
.sidebar {
	background-color:rgba(255, 255, 255, 0.7);
	z-index:200;
    height: 100%;
    overflow: auto;
    padding: 20px 20px 0 20px;
}
.credits {
    color: rgba(0, 0, 0, 0.5);
}
.main-menu a {
    color: rgba(0, 0, 0, 0.75);
    display: block;
    font-size: 0.7em;
    font-weight: 400;
}
.main-menu a:hover, .main-menu .current_menu_item > a, .main-menu .current_page_item > a {
    color: rgba(0, 0, 0, 0.75);
}
.post, .posts .page, .single-attachment .attachment {
	background: none;
}
.post-inner {
	padding: 3%;
}
.post-content {
	font-size: 1.25em;
	color: #303638;
}
.post-header {
	position: relative;
	padding: 60px 40px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #477b7a;
}
h1 {
	color: #303638;
}
.post-header.has-featured-image {
	min-height: 420px;
	display: flex;
	align-items: flex-end;
	color: #fff;
}

.sidebar-bottom p.link {
	font-size: 0.6em;
	text-align: right;
	margin: 0px;
}
.sidebar-bottom p.link a {
	color:#477b7a;
	border-bottom: 1px solid #477b7a;
}
.sidebar-bottom p.link a:hover {
  color: #2d5554;
  border-color: #2d5554;
}


/* 下層の固定ページタイトル */
body.page:not(.home) .post-header .post-title {
  color: #303638;
  text-shadow: none;
}

/* 写真の上でもタイトルを読みやすくする */
.post-header.has-featured-image::before {
 content: "";
 position: absolute;
 inset: 0;
 background:
 linear-gradient( to bottom, rgba(0, 0, 0, 0.05) 25%, rgba(0, 0, 0, 0.8) 100% );
}
.post-header-inner {
	position: relative;
	z-index: 1;
	width: 100%;
}
.post-header.has-featured-image .post-title, .post-header.has-featured-image .post-date, .post-header.has-featured-image .post-date a {
	color: #fff;
}
/* ========================================
   Footer
======================================== */
.footer-navi {
	background-color:rgba(200, 200, 200, 0.7);
	text-align: right;
	padding-right: 30px;
	padding-top: 10px;
	padding-bottom: 10px;
}
.footer-navi ul {
	list-style-type: none;
}
.footer-navi a {
	font-size:0.5em;
	text-decoration: none;
	color: #303638;
}


/* ========================================
   R+t select 共通の本文スタイル
======================================== */

.rt-page {
  --rt-text: #303638;
  --rt-muted: #626d6e;
  --rt-accent: #477b7a;
  --rt-line: #d5dedb;
  --rt-soft: #e7eeeb;

  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px clamp(20px, 3vw, 48px) 64px;
  color: var(--rt-text);
  font-family: -apple-system, BlinkMacSystemFont,
    "Noto Sans JP", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 2;
  overflow-wrap: anywhere;
}

.rt-page,
.rt-page * {
  box-sizing: border-box;
}

.rt-page p {
  margin: 0 0 22px;
  color: var(--rt-text);
  font-size: inherit;
  line-height: inherit;
}

.rt-page h2,
.rt-page h3 {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rt-text);
  font-family: inherit;
  font-weight: 600;
  text-shadow: none;
}

.rt-page h2 {
  margin: 0 0 24px;
  font-size: clamp(25px, 2.5vw, 34px);
  line-height: 1.65;
  letter-spacing: .04em;
}

.rt-page h3 {
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.7;
}

.rt-page .rt-eyebrow {
  margin: 0 0 14px;
  color: var(--rt-accent);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .14em;
}

/* セクション */
.rt-page .rt-section {
  margin: 64px 0 0;
  padding: 48px 0 0;
  border-top: 1px solid var(--rt-line);
}

.rt-heading {
  margin-bottom: 30px;
}

.rt-heading > :last-child,
.rt-text > :last-child {
  margin-bottom: 0;
}

/* 写真 */
.rt-page .rt-photo {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.rt-page .rt-photo img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 4px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.rt-page .rt-photo--wide img {
  aspect-ratio: 16 / 9;
}

/* 写真と文章 */
.rt-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 3vw, 48px);
}

.rt-text {
  min-width: 0;
}

/* リンク */
.rt-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  margin-top: 24px;
}

.rt-page a.rt-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  max-width: 100%;
  margin-top: 14px;
  padding: 8px 0;
  border-bottom: 1px solid var(--rt-accent);
  color: var(--rt-accent);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
  text-decoration: none;
  box-shadow: none;
}

.rt-links a.rt-link {
  margin-top: 0;
}

.rt-page a.rt-link:hover {
  color: #2d5554;
  border-color: #2d5554;
}

.rt-page a.rt-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  max-width: 100%;
  padding: 16px 26px;
  border: 1px solid var(--rt-accent);
  border-radius: 4px;
  background: var(--rt-accent);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
  text-decoration: none;
  box-shadow: none;
  transition: background .2s ease;
}

.rt-page a.rt-button:hover {
  border-color: #365e5d;
  background: #365e5d;
  color: #fff;
}

.rt-link > span,
.rt-button > span {
  flex-shrink: 0;
}

.rt-page a:focus-visible {
  outline: 2px solid var(--rt-accent);
  outline-offset: 5px;
}

/* 相談案内 */
.rt-consult {
  margin-top: 64px;
  padding: 40px 28px;
  border-radius: 4px;
  background: var(--rt-soft);
  text-align: center;
}

.rt-consult .rt-button {
  margin-top: 8px;
}


/* ========================================
   R+t selectについて
======================================== */

.rt-concept__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-concept__lead {
  margin-bottom: 32px;
}

/* 身近な悩み */
.rt-page .rt-concept__needs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-page .rt-concept__needs li {
  position: relative;
  margin: 0;
  padding: 18px 0 18px 24px;
  border-bottom: 1px solid var(--rt-line);
  color: var(--rt-text);
  font-size: 15px;
  line-height: 1.9;
  list-style: none;
}

.rt-concept__needs li::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--rt-accent);
}

/* メニューへの案内 */
.rt-concept__menus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.rt-page .rt-concept__menu {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px 0 18px;
  border-top: 2px solid var(--rt-line);
  border-bottom: 1px solid var(--rt-line);
  color: var(--rt-text);
  text-decoration: none;
  box-shadow: none;
  transition: border-color .2s ease;
}

.rt-concept__menu-label {
  display: block;
  margin-bottom: 14px;
  color: var(--rt-accent);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .1em;
}

.rt-concept__menu p {
  margin-bottom: 22px;
  font-size: 14px;
}

.rt-concept__menu-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: auto;
  color: var(--rt-accent);
  font-size: 13px;
  font-weight: 600;
}

.rt-page .rt-concept__menu:hover {
  border-color: var(--rt-accent);
}

.rt-concept__price-link {
  margin-top: 24px;
  text-align: right;
}

/* 運営会社との関係 */
.rt-concept__company {
  max-width: 800px;
}
.rt-page a.rt-concept__menu-more {
  color: var(--rt-accent);
  text-decoration: none;
  border: 0;
  box-shadow: none;
}

/* ========================================
   レスポンシブ
======================================== */

/* 左固定ナビによる本文幅を考慮 */
@media (max-width: 1100px) {
  .rt-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .rt-concept__menus {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .rt-concept__menu h3 br {
    display: none;
  }
}

@media (max-width: 600px) {
  .rt-page {
    padding: 28px 0 48px;
    font-size: 15px;
    line-height: 1.95;
  }

  .rt-page h2 {
    font-size: 25px;
    letter-spacing: .02em;
  }

  .rt-concept__intro > h2 {
    font-size: 31px;
  }

  .rt-page h3 {
    font-size: 19px;
  }

  .rt-page .rt-section {
    margin-top: 44px;
    padding-top: 32px;
  }

  .rt-page .rt-concept__needs {
    grid-template-columns: minmax(0, 1fr);
  }

  .rt-concept__lead br,
  .rt-heading p br,
  .rt-consult > p br {
    display: none;
  }

  .rt-concept__price-link {
    text-align: left;
  }

  .rt-consult {
    margin-top: 44px;
    padding: 30px 18px;
  }

  .rt-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-page a {
    transition: none;
  }
}



/* ========================================
   R+t ライトセラミックコーティング
   rt-pageなどの共通CSSと併用
======================================== */

.rt-coating__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-coating__lead {
  max-width: 800px;
  margin-bottom: 32px;
}

/* 3つの特徴 */
.rt-coating__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.rt-coating__feature {
  min-width: 0;
  padding-top: 22px;
  border-top: 1px solid var(--rt-line);
}

.rt-coating__number {
  display: block;
  margin-bottom: 16px;
  color: var(--rt-accent);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.rt-coating__feature p {
  margin-bottom: 0;
  font-size: 15px;
}

.rt-coating .rt-coating__note {
  color: var(--rt-muted);
  font-size: 13px;
  line-height: 1.9;
}

/* 希望に合わせた案内 */
.rt-coating__choices {
  border-top: 1px solid var(--rt-line);
}

.rt-coating__choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  align-items: start;
  gap: 28px;
  padding: 25px 0;
  border-bottom: 1px solid var(--rt-line);
}

.rt-coating__choice h3 {
  margin: 0;
  font-size: 18px;
}

.rt-coating__choice p {
  margin: 0;
  font-size: 15px;
}

/* 料金への導線 */
.rt-coating__price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 28px;
  margin-top: 26px;
}

.rt-coating__price p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
}

.rt-coating__price a.rt-link {
  margin-top: 0;
}

/* 施工の流れ */
.rt-page .rt-coating__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-page .rt-coating__steps > li {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 24px;
  margin: 0;
  padding: 26px 0;
  border-top: 1px solid var(--rt-line);
  list-style: none;
}

.rt-coating__steps > li:last-child {
  border-bottom: 1px solid var(--rt-line);
}

.rt-coating__step-number {
  padding-top: 2px;
  color: var(--rt-accent);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06em;
}

.rt-coating__steps h3 {
  margin-bottom: 10px;
  font-size: 19px;
}

.rt-coating__steps p {
  margin: 0;
  font-size: 15px;
}

/* 施工後のお手入れ */
.rt-coating__aftercare {
  max-width: 800px;
}

.rt-coating__aftercare > :last-child {
  margin-bottom: 0;
}

/* TrueHandsへの案内 */
.rt-coating__truehands {
  margin-top: 44px;
  padding: 26px 30px;
  border-left: 3px solid var(--rt-line);
  background: rgba(255, 255, 255, .45);
}

.rt-coating__truehands h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.rt-coating__truehands p {
  margin-bottom: 8px;
  color: var(--rt-muted);
  font-size: 14px;
}

.rt-coating__truehands a.rt-link {
  font-size: 13px;
}

/* 左固定メニューによる本文幅を考慮 */
@media (max-width: 1100px) {
  .rt-coating__features {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .rt-coating__choice {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

@media (max-width: 600px) {
  .rt-coating__intro > h2 {
    font-size: 31px;
  }

  .rt-coating__lead {
    margin-bottom: 26px;
  }

  .rt-page .rt-coating__steps > li {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 16px;
    padding: 22px 0;
  }

  .rt-coating__step-number {
    font-size: 20px;
  }

  .rt-coating__price {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .rt-coating__truehands {
    margin-top: 32px;
    padding: 22px 18px;
  }
}


/* ========================================
   R+t select 洗車メニュー
   rt-pageなどの共通CSSと併用
======================================== */

.rt-wash__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-wash__lead {
  max-width: 800px;
  margin-bottom: 32px;
}

/* メニュー */
.rt-wash__menus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.rt-wash__menu {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px 0 20px;
  border-top: 1px solid var(--rt-line);
  border-bottom: 1px solid var(--rt-line);
}

.rt-wash__label {
  display: block;
  margin-bottom: 16px;
  color: var(--rt-accent);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .1em;
}

.rt-wash__menu p {
  margin-bottom: 18px;
  font-size: 15px;
}

.rt-wash__menu > p:last-child {
  margin-bottom: 0;
}

.rt-wash__menu a.rt-link {
  align-self: flex-start;
  margin-top: auto;
  font-size: 13px;
}

.rt-wash__price-link {
  margin-top: 24px;
  text-align: right;
}

/* 追加ケア */
.rt-wash__care-list {
  border-top: 1px solid var(--rt-line);
}

.rt-wash__care-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 28px;
  padding: 25px 0;
  border-bottom: 1px solid var(--rt-line);
}

.rt-wash__care-item h3 {
  margin: 0;
  font-size: 18px;
}

.rt-wash__care-item p {
  margin: 0;
  font-size: 15px;
}

.rt-wash .rt-wash__note {
  margin: 20px 0 0;
  color: var(--rt-muted);
  font-size: 13px;
  line-height: 1.9;
}

/* 樹脂パーツ再生のアンカー */
.rt-wash #resin {
  scroll-margin-top: 60px;
}

/* 工程：番号・見出し・本文を縦並び */
.rt-page .rt-wash__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-page .rt-wash__steps > li {
  display: block;
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid var(--rt-line);
  list-style: none;
}

.rt-wash__steps > li:last-child {
  border-bottom: 1px solid var(--rt-line);
}

.rt-wash__step-number {
  display: block;
  margin-bottom: 7px;
  color: var(--rt-accent);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
}

.rt-wash__steps h3 {
  margin: 0 0 10px;
  font-size: 19px;
}

.rt-wash__steps p {
  margin: 0;
  font-size: 15px;
}

/* ルームクリーニングへの案内 */
.rt-wash__interior {
  margin-top: 44px;
  padding: 26px 30px;
  border-left: 3px solid var(--rt-line);
  background: rgba(255, 255, 255, .45);
}

.rt-wash__interior h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.rt-wash__interior p {
  margin-bottom: 8px;
  color: var(--rt-muted);
  font-size: 14px;
}

.rt-wash__interior a.rt-link {
  font-size: 13px;
}

@media (max-width: 1100px) {
  .rt-wash__menus {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .rt-wash__menu h3 br {
    display: none;
  }

  .rt-wash__care-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

@media (max-width: 600px) {
  .rt-wash__intro > h2 {
    font-size: 31px;
  }

  .rt-wash__lead {
    margin-bottom: 26px;
  }

  .rt-wash__price-link {
    text-align: left;
  }

  .rt-page .rt-wash__steps > li {
    padding: 22px 0;
  }

  .rt-wash__interior {
    margin-top: 32px;
    padding: 22px 18px;
  }
}


/* ========================================
   R+t select ルームクリーニング
   rt-pageなどの共通CSSと併用
======================================== */

.rt-cleaning__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-cleaning__lead {
  max-width: 800px;
  margin-bottom: 32px;
}

/* 気になる汚れ */
.rt-page .rt-cleaning__concerns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-page .rt-cleaning__concerns > li {
  position: relative;
  margin: 0;
  padding: 18px 0 18px 24px;
  border-bottom: 1px solid var(--rt-line);
  color: var(--rt-text);
  font-size: 15px;
  line-height: 1.9;
  list-style: none;
}

.rt-cleaning__concerns > li::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--rt-accent);
}

.rt-cleaning .rt-cleaning__note {
  color: var(--rt-muted);
  font-size: 13px;
  line-height: 1.9;
}

/* 施工内容 */
.rt-cleaning__menus {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}

.rt-cleaning__menu {
  min-width: 0;
  padding: 24px 0;
  border-top: 1px solid var(--rt-line);
  border-bottom: 1px solid var(--rt-line);
}

.rt-cleaning__label {
  display: block;
  margin-bottom: 16px;
  color: var(--rt-accent);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .1em;
}

.rt-cleaning__menu p {
  font-size: 15px;
}

.rt-cleaning__menu > :last-child {
  margin-bottom: 0;
}

/* 料金へのリンク */
.rt-cleaning__price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 28px;
  margin-top: 26px;
}

.rt-cleaning__price p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
}

.rt-cleaning__price a.rt-link {
  margin-top: 0;
}

/* 流れ：番号→見出し→本文の縦並び */
.rt-page .rt-cleaning__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-page .rt-cleaning__steps > li {
  display: block;
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid var(--rt-line);
  list-style: none;
}

.rt-cleaning__steps > li:last-child {
  border-bottom: 1px solid var(--rt-line);
}

.rt-cleaning__step-number {
  display: block;
  margin-bottom: 7px;
  color: var(--rt-accent);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
}

.rt-cleaning__steps h3 {
  margin: 0 0 10px;
  font-size: 19px;
}

.rt-cleaning__steps p {
  margin: 0;
  font-size: 15px;
}

/* 来店前の案内 */
.rt-cleaning__before {
  margin-top: 32px;
  padding: 24px 28px;
  border-left: 3px solid var(--rt-line);
  background: rgba(255, 255, 255, .45);
}

.rt-cleaning__before h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.rt-cleaning__before p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
}

/* 洗車への案内 */
.rt-cleaning__wash-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 40px;
  padding: 24px 0;
  border-top: 1px solid var(--rt-line);
  border-bottom: 1px solid var(--rt-line);
}

.rt-cleaning__wash-link h3 {
  margin-bottom: 8px;
  font-size: 18px;
}

.rt-cleaning__wash-link p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
}

.rt-cleaning__wash-link a.rt-link {
  flex-shrink: 0;
  margin-top: 0;
}

@media (max-width: 1100px) {
  .rt-cleaning__menus {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .rt-cleaning__wash-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}

@media (max-width: 600px) {
  .rt-cleaning__intro > h2 {
    font-size: 31px;
  }

  .rt-cleaning__lead {
    margin-bottom: 26px;
  }

  .rt-page .rt-cleaning__concerns {
    grid-template-columns: minmax(0, 1fr);
  }

  .rt-cleaning__price {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .rt-page .rt-cleaning__steps > li {
    padding: 22px 0;
  }

  .rt-cleaning__before {
    padding: 22px 18px;
  }

  .rt-cleaning__wash-link {
    margin-top: 32px;
  }
}


/* ========================================
   R+t select 料金表
   rt-pageなどの共通CSSと併用
======================================== */

.rt-price__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-price .rt-price__note {
  margin: 20px 0 0;
  color: var(--rt-muted);
  font-size: 13px;
  line-height: 1.9;
}

/* ページ内リンク */
.rt-price__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 28px;
}

.rt-price__nav a {
  padding: 5px 0;
  border-bottom: 1px solid var(--rt-line);
  color: var(--rt-accent);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.rt-price__nav a:hover {
  border-color: var(--rt-accent);
}

.rt-price section[id] {
  scroll-margin-top: 60px;
}

/* テーブル */
.rt-price .rt-price__scroll-hint {
  margin: 0 0 10px;
  color: var(--rt-muted);
  font-size: 12px;
}

.rt-price__scroll {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--rt-line);
  border-radius: 4px;
  -webkit-overflow-scrolling: touch;
}

.rt-price__scroll:focus-visible {
  outline: 2px solid var(--rt-accent);
  outline-offset: 4px;
}

.rt-price .rt-price__table {
  width: 100%;
  min-width: 610px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
  background: transparent;
  font-size: 15px;
  line-height: 1.7;
}

.rt-price .rt-price__table th,
.rt-price .rt-price__table td {
  padding: 17px 14px;
  border: 0;
  border-bottom: 1px solid var(--rt-line);
  color: var(--rt-text);
  text-align: center;
  vertical-align: middle;
}

.rt-price .rt-price__table thead th {
  background: var(--rt-soft);
  font-size: 14px;
  font-weight: 600;
}

.rt-price .rt-price__table th:first-child {
  width: 76px;
}

.rt-price .rt-price__table tbody th {
  background: rgba(255, 255, 255, .5);
  color: var(--rt-accent);
  font-weight: 600;
}

.rt-price .rt-price__table td {
  background: rgba(255, 255, 255, .28);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.rt-price .rt-price__table tbody tr:last-child > * {
  border-bottom: 0;
}

.rt-price .rt-price__table--three {
  min-width: 460px;
}

.rt-price__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* 加算の案内 */
.rt-price__addition {
  margin-bottom: 24px;
  padding: 20px 24px;
  border-left: 3px solid var(--rt-accent);
  background: var(--rt-soft);
}

.rt-price__addition strong {
  display: block;
  margin-bottom: 8px;
  color: var(--rt-text);
  font-size: 15px;
}

.rt-price__addition p {
  margin: 0;
  font-size: 14px;
}

/* 組み合わせ例 */
.rt-price__example {
  margin-top: 24px;
  padding: 22px 24px;
  background: rgba(255, 255, 255, .55);
}

.rt-price__example p {
  margin-bottom: 10px;
  font-size: 14px;
}

.rt-price .rt-price__example-label {
  color: var(--rt-accent);
  font-size: 12px;
  font-weight: 600;
}

.rt-price .rt-price__example-total {
  margin-bottom: 0;
  font-size: 23px;
  font-weight: 600;
}

.rt-price__example-total small {
  margin-left: 6px;
  font-size: 12px;
  font-weight: 400;
}

/* 個別見積り */
.rt-price .rt-price__estimates {
  margin: 0;
  border-top: 1px solid var(--rt-line);
}

.rt-price__estimates > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px;
  padding: 24px 0;
  border-bottom: 1px solid var(--rt-line);
}

.rt-price__estimates dt {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}

.rt-price__estimates dd {
  margin: 0;
}

.rt-price__estimates dd strong {
  color: var(--rt-accent);
  font-size: 16px;
}

.rt-price__estimates dd p {
  margin: 8px 0 0;
  color: var(--rt-muted);
  font-size: 14px;
}

/* サイズの目安 */
.rt-price .rt-price__sizes {
  margin: 0;
  border-top: 1px solid var(--rt-line);
}

.rt-price__sizes > div {
  display: flex;
  align-items: baseline;
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--rt-line);
}

.rt-price__sizes dt {
  flex: 0 0 52px;
  margin: 0;
  color: var(--rt-accent);
  font-size: 16px;
  font-weight: 600;
}

.rt-price__sizes dd {
  margin: 0;
  font-size: 15px;
}

@media (max-width: 1100px) {
  .rt-price__estimates > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

@media (max-width: 600px) {
  .rt-price__intro > h2 {
    font-size: 31px;
  }

  .rt-price__nav {
    gap: 10px 18px;
  }

  .rt-price .rt-price__table th,
  .rt-price .rt-price__table td {
    padding: 14px 12px;
  }

  .rt-price__addition,
  .rt-price__example {
    padding: 18px;
  }

  .rt-price .rt-price__example-total {
    font-size: 21px;
  }
}



/* ========================================
   R+t select 店舗紹介・アクセス
   rt-pageなどの共通CSSと併用
======================================== */

.rt-access__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-access__lead {
  max-width: 800px;
}

.rt-access__lead > :last-child {
  margin-bottom: 0;
}

/* 店舗情報 */
.rt-page .rt-access__info {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rt-line);
}

.rt-access__info > div {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 21px 0;
  border-bottom: 1px solid var(--rt-line);
}

.rt-access__info dt {
  flex: 0 0 110px;
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.9;
}

.rt-access__info dd {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: var(--rt-text);
  font-size: 15px;
  line-height: 1.9;
}

.rt-access__info dd a {
  color: var(--rt-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.rt-access__info-note {
  display: block;
  margin-top: 5px;
  color: var(--rt-muted);
  font-size: 12px;
  line-height: 1.8;
}

/* 地図 */
.rt-access #rt-access-map {
  scroll-margin-top: 60px;
}

.rt-access__map {
  overflow: hidden;
  border: 1px solid var(--rt-line);
  border-radius: 4px;
  background: var(--rt-soft);
}

.rt-access__map iframe {
  display: block;
  width: 100%;
  height: 400px;
  margin: 0;
  border: 0;
}

.rt-access__map-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  padding: 24px;
  color: var(--rt-muted);
  font-size: 14px;
  text-align: center;
}

/* 来店案内 */
.rt-access__visit {
  margin-top: 32px;
  padding: 24px 28px;
  border-left: 3px solid var(--rt-line);
  background: rgba(255, 255, 255, .45);
}

.rt-access__visit h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.rt-access__visit p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
}

/* TrueHands案内 */
.rt-access__truehands {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 40px;
  padding: 26px 0;
  border-top: 1px solid var(--rt-line);
  border-bottom: 1px solid var(--rt-line);
}

.rt-access__truehands > div {
  min-width: 0;
  max-width: 650px;
}

.rt-access__truehands h3 {
  margin-bottom: 10px;
  font-size: 18px;
}

.rt-access__truehands p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
}

.rt-access__truehands a.rt-link {
  flex-shrink: 0;
  margin-top: 0;
}

/* 電話 */
.rt-page a.rt-access__phone {
  display: inline-block;
  margin: 0;
  border: 0;
  color: var(--rt-text);
  font-size: clamp(27px, 3vw, 35px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  text-decoration: none;
  box-shadow: none;
}

.rt-page a.rt-access__phone:hover {
  color: var(--rt-accent);
}

.rt-access .rt-access__hours {
  margin: 8px 0 24px;
  color: var(--rt-muted);
  font-size: 12px;
}

@media (max-width: 1100px) {
  .rt-access__truehands {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .rt-access__intro > h2 {
    font-size: 31px;
  }

  .rt-access__info > div {
    display: block;
    padding: 18px 0;
  }

  .rt-access__info dt {
    margin-bottom: 7px;
    font-size: 12px;
  }

  .rt-access__map iframe {
    height: 300px;
  }

  .rt-access__map-placeholder {
    min-height: 300px;
  }

  .rt-access__visit {
    padding: 22px 18px;
  }

  .rt-access__truehands {
    margin-top: 32px;
  }
}


/* ========================================
   TrueHands 施工事例一覧
======================================== */

.th-works {
  --th-works-gold: #c5ad78;
  --th-works-text: #eee;
  --th-works-line: rgba(197, 173, 120, .3);

  max-width: 1240px;
  margin: 0 auto;
  padding: 48px clamp(24px, 4vw, 56px) 80px;
  color: var(--th-works-text);
}

.th-works,
.th-works * {
  box-sizing: border-box;
}

/* 一覧 */
.th-works__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 44px 28px;
}

.th-works .th-works__item {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.th-works a.th-works__card {
  display: block;
  height: 100%;
  border: 0;
  color: var(--th-works-text);
  text-decoration: none;
  box-shadow: none;
}

/* 写真 */
.th-works__image {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: rgba(0, 0, 0, .4);
}

.th-works .th-works__image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  object-fit: cover;
  transition: transform .4s ease;
}

/* タイトル */
.th-works__caption {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 0 15px;
  border-bottom: 1px solid var(--th-works-line);
  transition: border-color .2s ease;
}

.th-works h2.th-works__title {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--th-works-text);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .03em;
  overflow-wrap: anywhere;
  transition: color .2s ease;
}

.th-works__arrow {
  flex-shrink: 0;
  color: var(--th-works-gold);
  font-size: 18px;
  line-height: 1.7;
}

/* 画像なし */
.th-works__noimage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 100%;
  padding: 20px;
  color: #aaa;
}

.th-works__noimage span:first-child {
  color: var(--th-works-gold);
  font-size: 17px;
  letter-spacing: .12em;
}

.th-works__noimage span:last-child {
  font-size: 12px;
  letter-spacing: .08em;
}

/* ホバー */
@media (hover: hover) {
  .th-works__card:hover .th-works__image img {
    transform: scale(1.035);
  }

  .th-works__card:hover .th-works__title {
    color: var(--th-works-gold);
  }

  .th-works__card:hover .th-works__caption {
    border-color: var(--th-works-gold);
  }
}

.th-works a:focus-visible {
  outline: 2px solid var(--th-works-gold);
  outline-offset: 5px;
}

/* ページ送り */
.th-works__pagination {
  margin-top: 56px;
}

.th-works__pagination,
.th-works__pagination .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.th-works__pagination .wp-pagenavi {
  width: 100%;
  margin: 0;
}

.th-works__pagination a,
.th-works__pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  margin: 0;
  padding: 8px 13px;
  border: 1px solid var(--th-works-line);
  background: rgba(0, 0, 0, .3);
  color: var(--th-works-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: none;
}

.th-works__pagination a:hover,
.th-works__pagination span.current {
  border-color: var(--th-works-gold);
  background: var(--th-works-gold);
  color: #151515;
}

.th-works__pagination span.pages {
  flex-basis: 100%;
  min-height: auto;
  margin-bottom: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #bbb;
  font-size: 12px;
}

.th-works__pagination span.extend,
.th-works__pagination span.dots {
  min-width: 20px;
  padding-right: 2px;
  padding-left: 2px;
  border: 0;
  background: transparent;
}

.th-works__empty {
  margin: 0;
  padding: 40px 0;
  color: #bbb;
  text-align: center;
}

/* 左固定メニューを考慮して2列へ */
@media (max-width: 1200px) {
  .th-works__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 24px;
  }
}

/* スマホ */
@media (max-width: 600px) {
  .th-works {
    padding: 32px 20px 56px;
  }

  .th-works__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .th-works h2.th-works__title {
    font-size: 16px;
  }

  .th-works__caption {
    padding-top: 14px;
  }

  .th-works__pagination {
    margin-top: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .th-works *,
  .th-works *::before,
  .th-works *::after {
    transition: none !important;
  }
}




/* ========================================
   TrueHands 施工事例詳細
======================================== */

.th-work-detail {
  --th-detail-gold: #c5ad78;
  --th-detail-text: #eee;
  --th-detail-muted: #bbb;
  --th-detail-line: rgba(197, 173, 120, .3);

  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px 0 56px;
  color: var(--th-detail-text);
}

.th-work-detail,
.th-work-detail * {
  box-sizing: border-box;
}

/* 写真 */
.th-work-detail .th-work-detail__main,
.th-work-detail .th-work-detail__photo {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.th-work-detail a.th-work-detail__photo-link {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 0;
  text-decoration: none;
  box-shadow: none;
  cursor: zoom-in;
}

.th-work-detail__photo-link img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
}

/* 2枚目以降 */
.th-work-detail__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
  margin-top: 24px;
}

/* 残りが奇数枚なら最後を大きく */
.th-work-detail__gallery--odd
.th-work-detail__photo:last-child {
  grid-column: 1 / -1;
}

.th-work-detail .th-work-detail__photo-note {
  margin: 16px 0 0;
  color: var(--th-detail-muted);
  font-size: 12px;
  line-height: 1.8;
  text-align: right;
}

/* 本文 */
.th-work-detail__body {
  margin-top: 44px;
  padding-top: 36px;
  border-top: 1px solid var(--th-detail-line);
  color: var(--th-detail-text);
  font-size: 16px;
  line-height: 2;
  overflow-wrap: anywhere;
}

/* 写真がなく本文だけの場合 */
.th-work-detail__body:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.th-work-detail__body p {
  margin: 0 0 24px;
}

.th-work-detail__body > :last-child {
  margin-bottom: 0;
}

.th-work-detail__body h2,
.th-work-detail__body h3,
.th-work-detail__body h4 {
  color: var(--th-detail-text);
  font-weight: 600;
  line-height: 1.7;
}

.th-work-detail__body h2 {
  margin: 40px 0 22px;
  font-size: clamp(22px, 2.4vw, 28px);
}

.th-work-detail__body h3 {
  margin: 32px 0 18px;
  font-size: 21px;
}

.th-work-detail__body h4 {
  margin: 28px 0 16px;
  font-size: 18px;
}

.th-work-detail__body > :first-child {
  margin-top: 0;
}

.th-work-detail__body a {
  color: var(--th-detail-gold);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.th-work-detail__body ul,
.th-work-detail__body ol {
  margin: 0 0 24px;
  padding-left: 1.5em;
}

.th-work-detail__body li {
  margin-bottom: 8px;
}

.th-work-detail__body img {
  max-width: 100%;
  height: auto;
}

.th-work-detail a:focus-visible {
  outline: 2px solid var(--th-detail-gold);
  outline-offset: 5px;
}
.th-work-detail .th-work__link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 100%;
	margin-top: 20px;
	padding: 0 0 9px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.8;
	text-decoration: none;
	box-shadow: none;
	transition: color 0.2s ease;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #c5ad78;
}
/* スマホ */
@media (max-width: 600px) {
  .th-work-detail {
    padding-top: 16px;
    padding-bottom: 40px;
  }

  .th-work-detail__gallery {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin-top: 18px;
  }

  .th-work-detail .th-work-detail__photo-note {
    font-size: 11px;
    text-align: left;
  }

  .th-work-detail__body {
    margin-top: 32px;
    padding-top: 28px;
    font-size: 15px;
    line-height: 1.95;
  }
}


/* ========================================
   TrueHands お問い合わせ
======================================== */

.th-contact-form {
  --th-contact-gold: #c5ad78;
  --th-contact-text: #eee;
  --th-contact-muted: #bbb;
  --th-contact-line: rgba(197, 173, 120, .35);

  max-width: 860px;
  margin: 0 auto;
  padding: 48px clamp(20px, 4vw, 48px) 64px;
  color: var(--th-contact-text);
  font-size: 16px;
  line-height: 1.9;
}

.th-contact-form,
.th-contact-form * {
  box-sizing: border-box;
}

.th-contact p {
  margin: 0 0 20px;
}

.th-contact__intro {
  margin-bottom: 40px;
}

.th-contact .th-contact__eyebrow {
  margin-bottom: 14px;
  color: var(--th-contact-gold);
  font-size: 12px;
  letter-spacing: .18em;
}

.th-contact h2 {
  margin: 0 0 24px;
  color: var(--th-contact-text);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .04em;
}

.th-contact .th-contact__note {
  color: var(--th-contact-muted);
  font-size: 13px;
  line-height: 1.9;
}

/* 各項目 */
.th-contact__field {
  margin-bottom: 28px;
}

.th-contact__field > p {
  margin: 0;
}

.th-contact__field label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  color: var(--th-contact-text);
  font-size: 15px;
  font-weight: 500;
}

.th-contact__required,
.th-contact__optional {
  display: inline-block;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.6;
}

.th-contact__required {
  padding: 1px 7px;
  border: 1px solid var(--th-contact-line);
  color: var(--th-contact-gold);
}

.th-contact__optional {
  color: var(--th-contact-muted);
}

.th-contact .wpcf7-form-control-wrap {
  display: block;
}

/* 入力欄 */
.th-contact input[type="text"],
.th-contact input[type="email"],
.th-contact textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--th-contact-line);
  border-radius: 0;
  background: rgba(0, 0, 0, .55);
  color: var(--th-contact-text);
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  box-shadow: none;
  appearance: none;
}

.th-contact textarea {
  min-height: 200px;
  resize: vertical;
}

.th-contact input::placeholder,
.th-contact textarea::placeholder {
  color: #999;
  opacity: 1;
}

.th-contact input:focus,
.th-contact textarea:focus {
  border-color: var(--th-contact-gold);
  outline: 2px solid var(--th-contact-gold);
  outline-offset: 3px;
}

.th-contact .th-contact__hint {
  margin: 8px 0 0;
  color: var(--th-contact-muted);
  font-size: 12px;
  line-height: 1.8;
}

/* 送信 */
.th-contact__submit {
  margin-top: 36px;
  text-align: center;
}

.th-contact__submit > p {
  margin-bottom: 16px;
}

.th-contact input.th-contact__button {
  display: block;
  width: 100%;
  max-width: 360px;
  min-height: 56px;
  margin: 0 auto;
  padding: 16px 24px;
  border: 1px solid var(--th-contact-gold);
  border-radius: 0;
  background: var(--th-contact-gold);
  color: #151515;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .05em;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition: background .2s ease, color .2s ease;
}

.th-contact input.th-contact__button:hover {
  background: #d7c395;
}

.th-contact input.th-contact__button:disabled,
.th-contact-form.submitting .th-contact__button {
  opacity: .6;
  cursor: wait;
}

.th-contact .wpcf7-spinner {
  display: block;
  margin: 12px auto 0;
}

/* 入力エラー */
.th-contact .wpcf7-not-valid {
  border-color: #efaaaa;
}

.th-contact .wpcf7-not-valid-tip {
  display: block;
  margin-top: 8px;
  color: #ffb7b7;
  font-size: 13px;
  line-height: 1.7;
}

/* CF7の送信結果 */
.wpcf7 form.th-contact-form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 16px 20px;
  border: 1px solid var(--th-contact-gold);
  background: rgba(0, 0, 0, .55);
  color: var(--th-contact-text);
  font-size: 14px;
  line-height: 1.9;
}

.wpcf7 form.th-contact-form.sent .wpcf7-response-output {
  border-color: #9ab99b;
}

.wpcf7 form.th-contact-form.invalid .wpcf7-response-output,
.wpcf7 form.th-contact-form.failed .wpcf7-response-output,
.wpcf7 form.th-contact-form.aborted .wpcf7-response-output,
.wpcf7 form.th-contact-form.spam .wpcf7-response-output {
  border-color: #efaaaa;
}

/* 電話案内 */
.th-contact__telephone {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--th-contact-line);
  text-align: center;
}

.th-contact__telephone p {
  margin-bottom: 10px;
  font-size: 14px;
}

.th-contact__telephone a {
  display: inline-block;
  color: var(--th-contact-text);
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.5;
  letter-spacing: .05em;
  text-decoration: none;
}

.th-contact__telephone a:hover {
  color: var(--th-contact-gold);
}

.th-contact .th-contact__hours {
  margin: 8px 0 0;
  color: var(--th-contact-muted);
  font-size: 12px;
}

.th-contact a:focus-visible,
.th-contact input[type="submit"]:focus-visible {
  outline: 2px solid var(--th-contact-gold);
  outline-offset: 5px;
}

@media (max-width: 600px) {
  .th-contact-form {
    padding: 32px 20px 48px;
    font-size: 15px;
  }

  .th-contact__intro {
    margin-bottom: 30px;
  }

  .th-contact__field {
    margin-bottom: 24px;
  }

  .th-contact textarea {
    min-height: 220px;
  }

  .th-contact__telephone {
    margin-top: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .th-contact input.th-contact__button {
    transition: none;
  }
}

/* ========================================
   R+t select 配色調整
   THの施工事例・お問い合わせCSSより後に追加
======================================== */

/* ----------------------------------------
   施工事例一覧
---------------------------------------- */

.th-works {
  --th-works-gold: #477b7a;
  --th-works-text: #303638;
  --th-works-line: #d5dedb;

  color: var(--th-works-text);
}

.th-works__image {
  background: #e7eeeb;
}

.th-works__noimage {
  color: #626d6e;
}

.th-works__noimage span:first-child {
  color: #477b7a;
}

.th-works__empty {
  color: #626d6e;
}

/* ページ送り */
.th-works__pagination a,
.th-works__pagination span {
  border-color: #d5dedb;
  background: rgba(255, 255, 255, .65);
  color: #303638;
}

.th-works__pagination a:hover,
.th-works__pagination span.current {
  border-color: #477b7a;
  background: #477b7a;
  color: #fff;
}

.th-works__pagination span.pages {
  border: 0;
  background: transparent;
  color: #626d6e;
}

.th-works__pagination span.extend,
.th-works__pagination span.dots {
  border: 0;
  background: transparent;
  color: #626d6e;
}


/* ----------------------------------------
   施工事例詳細
---------------------------------------- */

.th-work-detail {
  --th-detail-gold: #477b7a;
  --th-detail-text: #303638;
  --th-detail-muted: #626d6e;
  --th-detail-line: #d5dedb;

  color: var(--th-detail-text);
}

.th-work-detail__body {
  color: #303638;
}

.th-work-detail__body p,
.th-work-detail__body li,
.th-work-detail__body strong,
.th-work-detail__body h2,
.th-work-detail__body h3,
.th-work-detail__body h4 {
  color: #303638;
}

.th-work-detail__body a {
  color: #477b7a;
}

.th-work-detail__body a:hover {
  color: #2d5554;
}


/* ----------------------------------------
   お問い合わせ
   CF7：html_class="th-contact-form" を使用
---------------------------------------- */

.th-contact-form {
  --th-contact-gold: #477b7a;
  --th-contact-text: #303638;
  --th-contact-muted: #626d6e;
  --th-contact-line: #cbd7d3;

  color: var(--th-contact-text);
}

.th-contact h2,
.th-contact__field label {
  color: #303638;
}

/* 必須・任意 */
.th-contact__required {
  border-color: #cbd7d3;
  background: #e7eeeb;
  color: #365e5d;
}

.th-contact__optional {
  color: #626d6e;
}

/* 入力欄 */
.th-contact input[type="text"],
.th-contact input[type="email"],
.th-contact input[type="tel"],
.th-contact textarea,
.th-contact select {
  border-color: #cbd7d3;
  background: #fff;
  color: #303638;
  color-scheme: light;
}

.th-contact input::placeholder,
.th-contact textarea::placeholder {
  color: #707a7b;
  opacity: 1;
}

.th-contact input:focus,
.th-contact textarea:focus,
.th-contact select:focus {
  border-color: #477b7a;
  outline-color: #477b7a;
}

/* 送信ボタン */
.th-contact input.th-contact__button {
  border-color: #477b7a;
  background: #477b7a;
  color: #fff;
}

.th-contact input.th-contact__button:hover {
  border-color: #365e5d;
  background: #365e5d;
  color: #fff;
}

/* 入力エラー */
.th-contact .wpcf7-not-valid {
  border-color: #b34d4d;
}

.th-contact .wpcf7-not-valid-tip {
  color: #a33636;
}

/* 送信結果 */
.wpcf7 form.th-contact-form .wpcf7-response-output {
  border-color: #477b7a;
  background: #fff;
  color: #303638;
}

.wpcf7 form.th-contact-form.sent .wpcf7-response-output {
  border-color: #477b7a;
  background: #e7eeeb;
  color: #303638;
}

.wpcf7 form.th-contact-form.invalid .wpcf7-response-output,
.wpcf7 form.th-contact-form.failed .wpcf7-response-output,
.wpcf7 form.th-contact-form.aborted .wpcf7-response-output,
.wpcf7 form.th-contact-form.spam .wpcf7-response-output,
.wpcf7 form.th-contact-form.unaccepted .wpcf7-response-output {
  border-color: #b34d4d;
  background: #fff5f3;
  color: #843333;
}

/* 電話 */
.th-contact__telephone {
  border-color: #d5dedb;
}

.th-contact__telephone a {
  color: #303638;
}

.th-contact__telephone a:hover {
  color: #477b7a;
}

/* フォーカス */
.th-works a:focus-visible,
.th-work-detail a:focus-visible,
.th-contact a:focus-visible,
.th-contact input[type="submit"]:focus-visible {
  outline-color: #477b7a;
}



/* ========================================
   スマホ対応用
   元々のCSS
======================================== */

@media (max-width: 600px) {
  .th-feynlab {
    padding: 36px 20px 56px;
    font-size: 15px;
    line-height: 1.95;
  }

  .th-feynlab h2 {
    font-size: 25px;
    letter-spacing: .03em;
  }

  .th-feynlab h3 {
    font-size: 19px;
  }

  .th-feynlab__logo {
    margin-bottom: 28px;
  }

  .th-feynlab__lead {
    text-align: left;
  }

  .th-feynlab__lead br,
  .th-feynlab__heading p br,
  .th-feynlab__consult > p br {
    display: none;
  }

  .th-feynlab__section {
    margin-top: 48px;
    padding-top: 36px;
  }

  .th-feynlab__heading {
    margin-bottom: 28px;
  }

  .th-feynlab__consult {
    margin-top: 48px;
    padding: 32px 18px;
  }

  .th-feynlab__links {
    flex-direction: column;
    align-items: stretch;
  }

  .th-feynlab__official {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .th-feynlab a.th-feynlab__button {
    transition: none;
  }
}


a.bnr_feynlab img {
	width:300px;
	height:auto;
}



/*------------------------------------*/

 @media (max-width: 1100px) {
 .th-award {
 grid-template-columns: minmax(0, 1fr);
 gap: 32px;
}
 .th-award__photo {
 width: 100%;
 max-width: 640px;
}
}
 @media (max-width: 930px) {
.wrapper {
 margin: 0 0 6% 0;
}
.post-inner {
 padding: 0%;
}
}
 @media (max-width: 600px) {
 .th-award {
 padding: 56px 24px;
}
 .th-award .th-award__label {
 font-size: 12px;
 margin-bottom: 16px;
}
 .th-award .th-award__title {
 font-size: 24px;
 margin-bottom: 24px;
}
 .th-award__text {
 font-size: 15px;
}
}



/* ========================================
   R+t select セラミックコーティング
   rt-page / rt-section / rt-split等と併用
======================================== */

.rt-ceramic__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-ceramic__lead {
  max-width: 800px;
}

/* プランへのページ内リンク */
.rt-ceramic__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 28px;
}

.rt-ceramic__nav a {
  padding: 6px 0;
  border-bottom: 1px solid var(--rt-line);
  color: var(--rt-accent);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
}

.rt-ceramic__nav a:hover {
  border-color: var(--rt-accent);
}

.rt-ceramic__plan {
  scroll-margin-top: 70px;
}

/* プラン名と価格 */
.rt-ceramic__plan-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px 32px;
  margin-bottom: 30px;
}

.rt-ceramic__plan-head h2 {
  margin-bottom: 0;
}

.rt-ceramic .rt-ceramic__price {
  margin: 0;
  color: var(--rt-accent);
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
  letter-spacing: .02em;
  white-space: nowrap;
}

.rt-ceramic__price > span {
  margin-left: 6px;
  font-size: 17px;
  font-weight: 500;
}

/* 写真と説明 */
.rt-ceramic__split {
  align-items: start;
}

.rt-ceramic__media {
  min-width: 0;
}

.rt-ceramic h3.rt-ceramic__catch {
  margin-bottom: 22px;
  font-size: clamp(23px, 2.2vw, 28px);
  line-height: 1.7;
}

/* 写真を入れるまでの仮枠 */
.rt-ceramic__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 24px;
  border: 1px dashed #b5c7c1;
  border-radius: 4px;
  background: var(--rt-soft);
  text-align: center;
}

.rt-ceramic__placeholder > span {
  color: var(--rt-accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
}

.rt-ceramic__placeholder p {
  margin: 10px 0 0;
  color: var(--rt-muted);
  font-size: 14px;
}

/* Instagram動画リンク */
.rt-page a.rt-ceramic__video {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 16px;
  padding: 16px 18px;
  border: 1px solid var(--rt-line);
  border-radius: 4px;
  background: rgba(255, 255, 255, .55);
  color: var(--rt-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  text-decoration: none;
  box-shadow: none;
  transition: border-color .2s ease, background .2s ease;
}

.rt-page a.rt-ceramic__video:hover {
  border-color: var(--rt-accent);
  background: var(--rt-soft);
}

.rt-ceramic__play {
  flex-shrink: 0;
  color: var(--rt-accent);
  font-size: 16px;
}

.rt-ceramic__video small {
  display: block;
  margin-top: 3px;
  color: var(--rt-muted);
  font-size: 11px;
  font-weight: 400;
}

.rt-ceramic__external {
  flex-shrink: 0;
  margin-left: auto;
  color: var(--rt-accent);
  font-size: 18px;
}

/* 特徴 */
.rt-page .rt-ceramic__points {
  margin: 24px 0 0;
  padding: 0;
  border-top: 1px solid var(--rt-line);
  list-style: none;
}

.rt-page .rt-ceramic__points > li {
  position: relative;
  margin: 0;
  padding: 12px 0 12px 20px;
  border-bottom: 1px solid var(--rt-line);
  color: var(--rt-text);
  font-size: 14px;
  line-height: 1.9;
  list-style: none;
}

.rt-ceramic__points > li::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rt-accent);
}

/* 料金・施工の案内 */
.rt-ceramic__notice {
  margin-top: 40px;
  padding: 24px 28px;
  border-left: 3px solid var(--rt-line);
  background: rgba(255, 255, 255, .45);
}

.rt-ceramic__notice h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.rt-ceramic__notice p {
  margin-bottom: 12px;
  color: var(--rt-muted);
  font-size: 13px;
  line-height: 1.9;
}

.rt-ceramic__notice > :last-child {
  margin-bottom: 0;
}

/* ライトセラミックへの案内 */
.rt-ceramic__light-link {
  margin-top: 40px;
  padding: 26px 0;
  border-top: 1px solid var(--rt-line);
  border-bottom: 1px solid var(--rt-line);
}

.rt-ceramic__light-link h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.rt-ceramic__light-link p {
  max-width: 800px;
  margin-bottom: 8px;
  color: var(--rt-muted);
  font-size: 14px;
}

/* スマホ */
@media (max-width: 600px) {
  .rt-ceramic__intro > h2 {
    font-size: 31px;
  }

  .rt-ceramic__plan-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 24px;
  }

  .rt-ceramic .rt-ceramic__price {
    font-size: 32px;
  }

  .rt-ceramic h3.rt-ceramic__catch {
    font-size: 24px;
  }

  .rt-page a.rt-ceramic__video {
    padding: 14px;
    gap: 12px;
  }

  .rt-ceramic__notice {
    margin-top: 32px;
    padding: 22px 18px;
  }

  .rt-ceramic__light-link {
    margin-top: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-page a.rt-ceramic__video {
    transition: none;
  }
}
/*
single
*/
.single-body {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 24px 0 56px;
    /*color: #eee;*/
	font-size:0.8em;
}

/* ========================================
   R+t select TOP
   既存のrt-pageなどの共通CSSと併用
======================================== */

/* 3つのブロックをつなぐ */
.rt-page.rt-top {
  padding-top: 0;
  padding-bottom: 0;
}

.rt-top__intro {
  padding-top: 64px;
}

.rt-top__intro > h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.rt-page.rt-top--closing {
  padding-bottom: 64px;
}

/* 洗車はPCで写真を右に */
.rt-top__reverse .rt-photo {
  grid-column: 2;
  grid-row: 1;
}

.rt-top__reverse .rt-text {
  grid-column: 1;
  grid-row: 1;
}

/* ライトセラミックへの案内 */
.rt-top .rt-top__sub-link {
  margin-top: 22px;
  color: var(--rt-muted);
  font-size: 13px;
}

.rt-top__sub-link a {
  color: var(--rt-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* 料金案内 */
.rt-top__price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 48px;
  padding: 26px 28px;
  border-radius: 4px;
  background: var(--rt-soft);
}

.rt-top__price h3 {
  margin-bottom: 8px;
  font-size: 19px;
}

.rt-top__price p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 14px;
}

.rt-top__price a.rt-link {
  flex-shrink: 0;
  margin-top: 0;
}

/* 見出し＋一覧リンク */
.rt-top__section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.rt-top__section-head h2 {
  margin-bottom: 0;
}

.rt-top__section-head a.rt-link {
  flex-shrink: 0;
  margin-top: 0;
}

/* 施工事例 */
.rt-top__works {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 24px;
}

.rt-top .rt-top__work {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.rt-top__work > a {
  display: block;
  border: 0;
  color: var(--rt-text);
  text-decoration: none;
  box-shadow: none;
}

.rt-top__work-image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 4px;
  background: var(--rt-soft);
}

.rt-top__work-image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform .3s ease;
}

.rt-top__work-image > span {
  color: var(--rt-muted);
  font-size: 13px;
}

.rt-top__work-caption {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--rt-line);
}

.rt-top__work-caption h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}

.rt-top__work-caption > span {
  flex-shrink: 0;
  color: var(--rt-accent);
}

@media (hover: hover) {
  .rt-top__work > a:hover img {
    transform: scale(1.035);
  }

  .rt-top__work > a:hover h3 {
    color: var(--rt-accent);
  }
}

/* お知らせ */
.rt-page .rt-top__news {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rt-line);
  list-style: none;
}

.rt-page .rt-top__news > li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--rt-line);
  list-style: none;
}

.rt-top__news li > a {
  display: flex;
  align-items: baseline;
  gap: 24px;
  padding: 20px 0;
  border: 0;
  color: var(--rt-text);
  text-decoration: none;
  box-shadow: none;
}

.rt-top__news time {
  flex: 0 0 96px;
  color: var(--rt-muted);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.rt-top__news-title {
  flex: 1;
  min-width: 0;
  font-size: 15px;
  line-height: 1.8;
}

.rt-top__news-arrow {
  flex-shrink: 0;
  color: var(--rt-accent);
}

.rt-top__news a:hover .rt-top__news-title {
  color: var(--rt-accent);
}

/* 店舗・電話 */
.rt-top__address {
  margin: 0 0 12px;
  color: var(--rt-muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.9;
}

.rt-page a.rt-top__phone {
  display: inline-block;
  border: 0;
  color: var(--rt-text);
  font-size: clamp(27px, 3vw, 35px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  text-decoration: none;
}

.rt-page a.rt-top__phone:hover {
  color: var(--rt-accent);
}

.rt-top .rt-top__hours {
  margin: 8px 0 24px;
  color: var(--rt-muted);
  font-size: 12px;
}

/* 左固定メニューを考慮 */
@media (max-width: 1200px) {
  .rt-top__works {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  .rt-top__reverse .rt-photo,
  .rt-top__reverse .rt-text {
    grid-column: auto;
    grid-row: auto;
  }

  .rt-top__price {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}

@media (max-width: 600px) {
  .rt-top__intro {
    padding-top: 40px;
  }

  .rt-top__intro > h2 {
    font-size: 31px;
  }

  .rt-top__intro p br {
    display: none;
  }

  .rt-top__price {
    margin-top: 32px;
    padding: 22px 18px;
  }

  .rt-top__section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .rt-top__works {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .rt-top__news li > a {
    position: relative;
    display: block;
    padding: 17px 28px 17px 0;
  }

  .rt-top__news time {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
  }

  .rt-top__news-title {
    display: block;
    font-size: 14px;
  }

  .rt-top__news-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  .rt-page.rt-top--closing {
    padding-bottom: 48px;
  }
  .content {
	  padding-left:20px;
	  padding-right:20px;
	  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-top__work-image img {
    transition: none;
  }
}

/* 相互リンク：PCでは非表示 */
.mobile-only-link {
  display: none;
}

/* スマホ用メニューでは表示 */
@media (max-width: 980px) {
  .mobile-only-link {
    display: block;
  }
}

/* ========================================
   スマホ下部の固定ボタン
======================================== */

.mobile-actions {
	display: none;
}

/* 左ナビがスマホメニューに切り替わる幅に合わせる */
@media (max-width: 980px) {

	/* 固定ボタンでフッターが隠れないようにする */
	body {
		padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
	}

	.mobile-actions {
		--actions-bg: #202020;
		--actions-text: #ffffff;
		--actions-border: rgba(255, 255, 255, 0.16);
		--contact-bg: #a78a51;
		--contact-text: #ffffff;
		--switch-bg: #477b7a;
		--switch-text: #ffffff;

		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1000;

		display: grid;
		grid-template-columns: 0.8fr 1fr 1.5fr;

		width: 100%;
		margin: 0;
		padding: 0;

		background: var(--actions-bg);
		box-shadow: 0 -3px 16px rgba(0, 0, 0, 0.12);
		font-family: inherit;
	}

	/* RT側 */
	.mobile-actions--rt {
		--actions-bg: #ffffff;
		--actions-text: #333333;
		--actions-border: rgba(0, 0, 0, 0.1);
		--contact-bg: #477b7a;
		--contact-text: #ffffff;
		--switch-bg: #242424;
		--switch-text: #ffffff;
	}

	.mobile-actions .mobile-actions__link {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;

		min-width: 0;
		min-height: calc(64px + env(safe-area-inset-bottom, 0px));
		margin: 0;
		padding: 10px 4px
			calc(10px + env(safe-area-inset-bottom, 0px));

		background: var(--actions-bg);
		color: var(--actions-text);
		border: 0;
		border-radius: 0;
		box-shadow: none;

		text-align: center;
		text-decoration: none;
		line-height: 1.35;
		letter-spacing: 0;
		-webkit-tap-highlight-color: transparent;
	}

	.mobile-actions .mobile-actions__link + .mobile-actions__link {
		border-left: 1px solid var(--actions-border);
	}

	.mobile-actions .mobile-actions__contact {
		background: var(--contact-bg);
		color: var(--contact-text);
	}

	.mobile-actions .mobile-actions__switch {
		background: var(--switch-bg);
		color: var(--switch-text);
	}

	.mobile-actions__main {
		display: block;
		font-size: 13px;
		font-weight: 700;
	}

	.mobile-actions__sub {
		display: block;
		font-size: 10px;
		font-weight: 400;
	}

	.mobile-actions .mobile-actions__link:active {
		filter: brightness(0.9);
	}

	.mobile-actions .mobile-actions__link:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: -5px;
	}
}