/* =========================================================
   かずあき鍼灸整骨院
   全面リニューアルCSS 2026-08
   対象：グーペ Simple2 / 新HTML版
========================================================= */

:root {
  --kazuaki-navy: #17365f;
  --kazuaki-navy-dark: #102847;
  --kazuaki-navy-soft: #edf3f9;
  --kazuaki-blue: #315b86;
  --kazuaki-gold: #b98a38;
  --kazuaki-gold-soft: #fbf5e8;
  --kazuaki-green: #06c755;
  --kazuaki-green-dark: #00a947;
  --kazuaki-text: #2f3439;
  --kazuaki-text-soft: #626a72;
  --kazuaki-border: #dfe6ed;
  --kazuaki-bg: #ffffff;
  --kazuaki-bg-soft: #f6f8fa;
  --kazuaki-shadow: 0 10px 30px rgba(20, 44, 70, 0.08);
  --kazuaki-shadow-small: 0 5px 18px rgba(20, 44, 70, 0.07);
  --kazuaki-radius: 18px;
  --kazuaki-radius-small: 12px;
  --kazuaki-header-height: 84px;
  --kazuaki-footer-cta-height: 78px;
  --kazuaki-content: 980px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: calc(var(--kazuaki-header-height) + 18px) 0
    calc(var(--kazuaki-footer-cta-height) + 28px);
  background: #ffffff;
  color: var(--kazuaki-text);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Yu Gothic",
    YuGothic,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.025em;
  overflow-wrap: anywhere;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: middle;
}

iframe,
video {
  max-width: 100%;
}

table {
  max-width: 100%;
  border-collapse: collapse;
}

a {
  color: var(--kazuaki-navy);
  text-decoration: none;
}

a:hover {
  color: var(--kazuaki-blue);
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  border: 0;
}

br.clear {
  display: block;
  clear: both;
  height: 0;
  line-height: 0;
  font-size: 0;
}

.sp-only {
  display: none;
}

/* =========================
   基本レイアウト
========================= */

#wrapper {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  background: #fff;
}

#wrapper_inner {
  margin: 0;
  padding: 0 28px;
}

#header,
#contents,
#footer {
  width: 100%;
}

#main {
  float: none;
  width: 100%;
  max-width: var(--kazuaki-content);
  margin: 0 auto 50px;
}

#main_inner {
  margin: 0;
  padding: 0;
}

#navi,
#sidebar {
  display: none;
}

/* =========================
   上部固定ナビ
========================= */

.kazuaki-fixed-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  min-height: var(--kazuaki-header-height);
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 7px 10px;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--kazuaki-border);
  box-shadow: 0 5px 22px rgba(20, 44, 70, 0.10);
  backdrop-filter: blur(12px);
}

.kazuaki-fixed-header > a,
.header-menu-btn {
  width: min(150px, 16.66vw);
  min-width: 94px;
  min-height: 68px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 7px 10px;
  color: var(--kazuaki-navy) !important;
  background: transparent;
  border-radius: 12px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
  transition: .18s ease;
}

.kazuaki-fixed-header > a:hover,
.header-menu-btn:hover,
.header-menu-btn.active {
  background: var(--kazuaki-navy-soft);
}

.kazuaki-fixed-header i,
.header-menu-btn i {
  font-size: 23px;
}

.header-dropdown-menu {
  position: fixed;
  top: var(--kazuaki-header-height);
  left: 50%;
  z-index: 9999;
  width: min(720px, calc(100% - 24px));
  max-height: 0;
  overflow: hidden;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 16px 36px rgba(20, 44, 70, 0.15);
  opacity: 0;
  visibility: hidden;
  transition: .25s ease;
}

.header-dropdown-menu.active {
  max-height: 560px;
  opacity: 1;
  visibility: visible;
}

.header-dropdown-menu a {
  display: block;
  padding: 15px 22px;
  color: var(--kazuaki-text) !important;
  background: #fff;
  border-bottom: 1px solid #edf0f3;
  font-size: 15px;
  font-weight: 700;
}

.header-dropdown-menu a:hover {
  background: var(--kazuaki-navy-soft);
}

/* =========================
   ロゴ
========================= */

#header_inner {
  text-align: center;
}

.shop_title {
  margin: 0;
  height: 0;
  overflow: hidden;
}

.shop_name,
.shop_tel,
.shop_rss,
.header_social_wrap {
  display: none;
}

.site_title {
  padding: 10px 0 26px;
  text-align: center;
}

.site_logo {
  text-align: center;
}

.site_logo img,
.shop_sitename img {
  display: inline-block;
  width: auto;
  max-width: 440px;
  max-height: 115px;
}

/* =========================
   ファーストビュー
========================= */

.kazuaki-hero {
  margin: 0 0 54px;
  padding: 46px 46px 38px;
  background:
    radial-gradient(circle at 85% 12%, rgba(185, 138, 56, 0.12), transparent 26%),
    linear-gradient(180deg, #f8fbfe 0%, #ffffff 72%);
  border: 1px solid var(--kazuaki-border);
  border-radius: 28px;
  box-shadow: var(--kazuaki-shadow);
  text-align: center;
}

.kazuaki-hero-eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  padding: 7px 14px;
  background: #fff;
  border: 1px solid #cdd9e5;
  border-radius: 999px;
  color: var(--kazuaki-navy);
  font-size: 14px;
  font-weight: 800;
}

.kazuaki-hero h1 {
  margin: 0 auto 18px;
  color: var(--kazuaki-navy-dark);
  font-size: clamp(32px, 4vw, 47px);
  line-height: 1.42;
  font-weight: 800;
}

.kazuaki-hero-lead {
  max-width: 760px;
  margin: 0 auto 28px;
  color: #4c5660;
  font-size: 17px;
  line-height: 2;
}

.kazuaki-hero-photo {
  max-width: 820px;
  margin: 0 auto 24px;
  overflow: hidden;
  border-radius: 20px;
  background: #edf2f6;
  box-shadow: 0 8px 24px rgba(20, 44, 70, .10);
}

.rslides {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
  list-style: none;
}

.rslides li {
  width: 100% !important;
}

.rslides li img {
  display: block;
  width: 100%;
}

.caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  background: rgba(16, 40, 71, .72);
  color: #fff;
  text-align: center;
}

.caption_txt {
  display: block;
  padding: 8px 14px;
  font-size: 13px;
}

/* =========================
   信頼要素
========================= */

.kazuaki-proof-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 800px;
  margin: 0 auto 24px;
}

.kazuaki-proof-card {
  min-height: 106px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 14px 10px;
  background: #fff;
  border: 1px solid var(--kazuaki-border);
  border-radius: 15px;
  box-shadow: var(--kazuaki-shadow-small);
}

.kazuaki-proof-icon {
  color: var(--kazuaki-gold);
  font-size: 20px;
}

.kazuaki-proof-card strong {
  color: var(--kazuaki-navy-dark);
  font-size: 16px;
}

.kazuaki-proof-card small {
  color: var(--kazuaki-text-soft);
  font-size: 12px;
}

/* =========================
   CTA
========================= */

.kazuaki-hero-cta {
  max-width: 800px;
  margin: 0 auto;
  padding: 22px 20px 6px;
  text-align: center;
}

.kazuaki-hero-cta-title {
  margin: 0 0 12px;
  color: var(--kazuaki-navy-dark);
  font-size: 18px;
  font-weight: 800;
}

.kazuaki-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.kazuaki-btn {
  min-width: 280px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 16px 22px;
  border-radius: 14px;
  color: #fff !important;
  font-size: 17px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(20, 44, 70, .14);
  transition: .16s ease;
}

.kazuaki-btn:hover {
  color: #fff !important;
  transform: translateY(-2px);
}

.kazuaki-btn-line {
  background: linear-gradient(180deg, #1fd868 0%, #00a947 100%);
}

.kazuaki-btn-tel {
  background: linear-gradient(180deg, #244b76 0%, #102847 100%);
}

.kazuaki-cta-note {
  margin: 11px 0 0;
  color: var(--kazuaki-text-soft);
  font-size: 13px;
}

.kazuaki-outline-btn,
.kazuaki-primary-outline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid #b8c7d6;
  border-radius: 12px;
  background: #fff;
  color: var(--kazuaki-navy) !important;
  font-size: 15px;
  font-weight: 800;
}

.kazuaki-primary-outline-btn {
  min-width: 240px;
  border: 2px solid var(--kazuaki-navy);
}

.kazuaki-center-cta {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.kazuaki-text-link-wrap {
  margin-top: 22px;
  text-align: center;
}

.kazuaki-text-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--kazuaki-navy) !important;
  font-size: 15px;
  font-weight: 800;
  text-decoration: underline;
}

/* =========================
   共通セクション
========================= */

.kazuaki-section {
  margin: 58px 0;
}

.kazuaki-section-soft {
  padding: 42px 40px;
  background: #f6f8fa;
  border: 1px solid #e9edf1;
  border-radius: 24px;
}

.kazuaki-section-heading {
  margin: 0 0 28px;
  text-align: center;
}

.kazuaki-section-heading > span {
  display: block;
  margin-bottom: 7px;
  color: var(--kazuaki-gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .11em;
}

.kazuaki-section-heading h2 {
  margin: 0;
  color: var(--kazuaki-navy-dark);
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.5;
  font-weight: 800;
}

.kazuaki-section-lead {
  max-width: 760px;
  margin: 26px auto 0;
  color: #4f5962;
  font-size: 16px;
  line-height: 2;
  text-align: center;
}

/* =========================
   お悩み
========================= */

.kazuaki-worry-list {
  max-width: 790px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--kazuaki-border);
  border-radius: 18px;
  padding: 18px 28px;
  box-shadow: var(--kazuaki-shadow-small);
}

.kazuaki-worry-item {
  display: flex;
  gap: 12px;
  padding: 13px 4px;
  border-bottom: 1px solid #edf0f3;
  font-size: 16px;
}

.kazuaki-worry-item:last-child {
  border-bottom: 0;
}

.kazuaki-worry-item i {
  margin-top: 5px;
  color: var(--kazuaki-gold);
}

/* =========================
   症状カード
========================= */

.kazuaki-symptom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.kazuaki-symptom-card {
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 20px 16px;
  background: #fff;
  border: 1px solid var(--kazuaki-border);
  border-radius: 16px;
  color: var(--kazuaki-text) !important;
  text-align: center;
  box-shadow: var(--kazuaki-shadow-small);
  transition: .18s ease;
}

.kazuaki-symptom-card:hover {
  transform: translateY(-3px);
  border-color: #b8c8d8;
}

.kazuaki-symptom-card strong {
  color: var(--kazuaki-navy);
  font-size: 20px;
}

.kazuaki-symptom-card span {
  color: var(--kazuaki-text-soft);
  font-size: 13px;
}

/* =========================
   3つの特徴
========================= */

.kazuaki-section-navy {
  padding: 48px 40px;
  background: linear-gradient(150deg, #102847 0%, #17365f 100%);
  border-radius: 26px;
  box-shadow: var(--kazuaki-shadow);
}

.kazuaki-section-heading-light > span {
  color: #e7c982;
}

.kazuaki-section-heading-light h2 {
  color: #fff;
}

.kazuaki-reason-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.kazuaki-reason-card {
  min-height: 250px;
  padding: 26px 22px;
  background: #fff;
  border-radius: 18px;
}

.kazuaki-reason-number {
  margin-bottom: 13px;
  color: var(--kazuaki-gold);
  font-size: 31px;
  font-weight: 800;
}

.kazuaki-reason-card h3 {
  margin: 0 0 12px;
  color: var(--kazuaki-navy-dark);
  font-size: 20px;
}

.kazuaki-reason-card p {
  margin: 0;
  color: #515a63;
  font-size: 15px;
}

/* =========================
   比較
========================= */

.kazuaki-compare-wrap {
  max-width: 800px;
  margin: 0 auto;
}

.kazuaki-compare-card {
  padding: 26px;
  border: 1px solid var(--kazuaki-border);
  border-radius: 18px;
  box-shadow: var(--kazuaki-shadow-small);
}

.kazuaki-compare-other {
  background: #f8f9fa;
}

.kazuaki-compare-us {
  background: var(--kazuaki-navy-soft);
  border: 2px solid #b7cadc;
}

.kazuaki-compare-label {
  display: inline-block;
  margin-bottom: 9px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
  font-weight: 800;
}

.kazuaki-compare-card h3 {
  margin: 0 0 9px;
  color: var(--kazuaki-navy-dark);
  font-size: 21px;
}

.compare-divider {
  position: relative;
  margin: 18px 0;
  text-align: center;
}

.compare-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  border-top: 1px solid #d7dfe6;
}

.compare-divider span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 4px 16px;
  background: #fff;
  color: var(--kazuaki-gold);
  font-weight: 800;
}

/* =========================
   院長
========================= */

.kazuaki-director {
  padding: 42px 40px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  border: 1px solid var(--kazuaki-border);
  border-radius: 24px;
}

.kazuaki-director-body {
  max-width: 760px;
  margin: 0 auto;
}

.kazuaki-director-copy > p {
  margin: 0 0 22px;
  font-size: 16px;
  line-height: 2;
}

.kazuaki-check-list {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.kazuaki-check-list li {
  position: relative;
  padding: 11px 0 11px 32px;
  border-bottom: 1px solid #edf0f3;
  font-weight: 700;
}

.kazuaki-check-list li::before {
  content: "✓";
  position: absolute;
  left: 3px;
  color: var(--kazuaki-gold);
  font-size: 20px;
  font-weight: 900;
}

/* =========================
   中間CTA
========================= */

.kazuaki-mid-cta {
  margin: 62px 0;
  padding: 38px 32px;
  background: #fbf5e8;
  border: 1px solid #ead9b5;
  border-radius: 24px;
  text-align: center;
}

.kazuaki-mid-cta-sub {
  color: var(--kazuaki-gold);
  font-size: 13px;
  font-weight: 800;
}

.kazuaki-mid-cta h2 {
  margin: 0 0 14px;
  color: var(--kazuaki-navy-dark);
  font-size: 30px;
}

/* =========================
   口コミ
========================= */

.kazuaki-review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.kazuaki-review-card {
  padding: 24px 22px;
  background: #fff;
  border: 1px solid var(--kazuaki-border);
  border-radius: 18px;
  box-shadow: var(--kazuaki-shadow-small);
}

.kazuaki-review-stars {
  margin-bottom: 12px;
  color: var(--kazuaki-gold);
  font-size: 18px;
}

.kazuaki-review-card p {
  color: #4c5660;
  font-size: 15px;
}

.kazuaki-review-name {
  color: var(--kazuaki-text-soft);
  font-size: 13px;
}

/* =========================
   施術の流れ
========================= */

.kazuaki-flow-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.kazuaki-flow-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--kazuaki-border);
  border-radius: 18px;
  box-shadow: var(--kazuaki-shadow-small);
}

.kazuaki-flow-photo {
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.kazuaki-flow-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kazuaki-flow-body {
  padding: 20px;
}

.kazuaki-flow-body > span {
  color: var(--kazuaki-gold);
  font-size: 12px;
  font-weight: 800;
}

.kazuaki-flow-body h3 {
  color: var(--kazuaki-navy-dark);
  font-size: 20px;
}

/* =========================
   FAQ
========================= */

.kazuaki-faq-wrap {
  max-width: 820px;
  margin: 0 auto;
}

.kazuaki-faq-item {
  margin-bottom: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--kazuaki-border);
  border-radius: 14px;
}

.kazuaki-faq-item summary {
  position: relative;
  padding: 18px 50px 18px 20px;
  color: var(--kazuaki-navy-dark);
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.kazuaki-faq-item summary::-webkit-details-marker {
  display: none;
}

.kazuaki-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 19px;
  font-size: 24px;
}

.kazuaki-faq-item[open] summary::after {
  content: "−";
}

.kazuaki-faq-item p {
  padding: 0 20px 19px;
}

/* =========================
   アクセス
========================= */

.kazuaki-access-section {
  padding: 42px 40px;
  background: var(--kazuaki-navy-soft);
  border-radius: 24px;
}

.kazuaki-access-box {
  padding: 26px;
  background: #fff;
  border-radius: 18px;
}

.kazuaki-access-list > div {
  display: grid;
  grid-template-columns: 120px 1fr;
  border-bottom: 1px solid #edf0f3;
}

.kazuaki-access-list dt,
.kazuaki-access-list dd {
  margin: 0;
  padding: 13px 8px;
}

.kazuaki-access-list dt {
  color: var(--kazuaki-navy);
  font-weight: 800;
}

/* =========================
   最終CTA
========================= */

.kazuaki-final-cta {
  margin: 64px 0 54px;
  padding: 48px 38px;
  background: linear-gradient(150deg, #102847 0%, #17365f 100%);
  border-radius: 26px;
  color: #fff;
  text-align: center;
}

.kazuaki-final-cta-eyebrow {
  color: #e6c77f;
  font-size: 13px;
  font-weight: 800;
}

.kazuaki-final-cta h2 {
  color: #fff;
  font-size: 32px;
}

/* =========================
   グーペ標準ページ
========================= */

.page_title,
.page_title_info,
.page_title_top,
#main h2.page_title {
  margin: 0 0 24px;
  padding: 0 0 12px;
  border-bottom: 2px solid #dbe4ec;
  color: var(--kazuaki-navy-dark);
  font-size: 28px;
  font-weight: 800;
}

.information_area {
  margin: 50px 0 0;
}

.information_area ul {
  padding: 0;
  list-style: none;
}

.information_area li {
  display: flex;
  gap: 14px;
  padding: 14px 4px;
  border-bottom: 1px solid #e8edf1;
}

.top_info_date {
  color: var(--kazuaki-text-soft);
  font-size: 13px;
}

.info,
.photo,
.menu {
  margin-bottom: 25px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--kazuaki-border);
  border-radius: 16px;
}

.wysiwyg {
  line-height: 1.95;
}

.wysiwyg h2 {
  margin: 40px 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #dbe4ec;
  color: var(--kazuaki-navy-dark);
  font-size: 26px;
}

.wysiwyg h3 {
  margin: 32px 0 14px;
  color: var(--kazuaki-navy);
  font-size: 21px;
}

.wysiwyg img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

/* =========================
   フォーム
========================= */

.contact_area input,
.contact_area textarea,
.reservation_form input,
.reservation_form textarea {
  width: 100%;
  max-width: 640px;
  padding: 12px 13px;
  border: 1px solid #bfcbd6;
  border-radius: 10px;
}

.contact_area .button,
.reservation_area .button {
  min-width: 240px;
  margin-top: 16px;
  padding: 14px 24px;
  border: 0;
  border-radius: 12px;
  background: var(--kazuaki-navy);
  color: #fff;
  font-weight: 800;
}

/* =========================
   フッター
========================= */

#footer_inner {
  display: none !important;
}

.shop_title_footer {
  display: none;
}

.copy_powered {
  display: none !important;
}

/* =========================
   下部固定CTA
========================= */

.fixed-footer-contact {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 8px 10px;
  background: rgba(255,255,255,.97);
  border-top: 1px solid var(--kazuaki-border);
  box-shadow: 0 -5px 22px rgba(20,44,70,.11);
}

.fixed-footer-inner {
  max-width: 720px;
  display: flex;
  gap: 10px;
  margin: 0 auto;
}

.fixed-footer-inner > a {
  flex: 1;
}

.fixed-line-btn,
.fixed-tel-btn {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px;
  border-radius: 13px;
  color: #fff !important;
  font-size: 15px;
  font-weight: 800;
}

.fixed-line-btn {
  background: linear-gradient(180deg, #1fd868 0%, #00a947 100%);
}

.fixed-tel-btn {
  background: linear-gradient(180deg, #244b76 0%, #102847 100%);
}

/* =========================
   スマホ
========================= */

@media screen and (max-width: 768px) {

  :root {
    --kazuaki-header-height: 74px;
    --kazuaki-footer-cta-height: 72px;
  }

  body {
    padding-top: 84px;
    padding-bottom: 97px;
    font-size: 15px;
  }

  .sp-only {
    display: block;
  }

  #wrapper_inner {
    padding: 0 12px;
  }

  .kazuaki-fixed-header {
    min-height: 74px;
    padding: 4px 2px;
  }

  .kazuaki-fixed-header > a,
  .header-menu-btn {
    min-height: 64px;
    width: 16.66%;
    min-width: 0;
    padding: 5px 1px;
    font-size: 9px;
  }

  .kazuaki-fixed-header i,
  .header-menu-btn i {
    font-size: 20px;
  }

  .header-dropdown-menu {
    top: 74px;
  }

  .site_logo img {
    max-width: 300px;
  }

  .kazuaki-hero {
    margin-bottom: 42px;
    padding: 28px 14px 24px;
    border-radius: 20px;
  }

  .kazuaki-hero-eyebrow {
    font-size: 12px;
  }

  .kazuaki-hero h1 {
    font-size: 27px;
  }

  .kazuaki-hero-lead {
    font-size: 15px;
    text-align: left;
  }

  .kazuaki-proof-row {
    gap: 6px;
  }

  .kazuaki-proof-card {
    min-height: 92px;
    padding: 10px 4px;
  }

  .kazuaki-proof-card strong {
    font-size: 12px;
  }

  .kazuaki-proof-card small {
    font-size: 10px;
  }

  .kazuaki-cta-buttons {
    display: block;
  }

  .kazuaki-btn {
    width: 100%;
    min-width: 0;
    margin: 8px 0;
    font-size: 16px;
  }

  .kazuaki-section {
    margin: 44px 0;
  }

  .kazuaki-section-soft,
  .kazuaki-section-navy,
  .kazuaki-director,
  .kazuaki-fee-guide,
  .kazuaki-access-section {
    padding: 30px 14px;
    border-radius: 19px;
  }

  .kazuaki-section-heading h2 {
    font-size: 25px;
  }

  .kazuaki-section-lead {
    text-align: left;
  }

  .kazuaki-worry-list {
    padding: 10px 14px;
  }

  .kazuaki-symptom-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
  }

  .kazuaki-symptom-card {
    min-height: 106px;
    padding: 14px 8px;
  }

  .kazuaki-symptom-card strong {
    font-size: 18px;
  }

  .kazuaki-symptom-card span {
    font-size: 11px;
  }

  .kazuaki-reason-grid,
  .kazuaki-review-grid {
    grid-template-columns: 1fr;
  }

  .kazuaki-reason-card {
    min-height: 0;
  }

  .kazuaki-center-cta {
    display: block;
  }

  .kazuaki-outline-btn,
  .kazuaki-primary-outline-btn {
    width: 100%;
    margin: 6px 0;
  }

  .kazuaki-flow-cards {
    grid-template-columns: 1fr;
  }

  .kazuaki-mid-cta h2,
  .kazuaki-final-cta h2 {
    font-size: 25px;
  }

  .kazuaki-access-list > div {
    grid-template-columns: 86px 1fr;
  }

  .page_title,
  .page_title_info,
  #main h2.page_title {
    font-size: 23px;
  }

  .information_area li {
    display: block;
  }

  .fixed-line-btn,
  .fixed-tel-btn {
    min-height: 52px;
    font-size: 14px;
  }

  .copy_powered {
    display: block;
    text-align: center;
  }
}

@media screen and (max-width: 420px) {

  #wrapper_inner {
    padding: 0 9px;
  }

  .kazuaki-fixed-header > a,
  .header-menu-btn {
    font-size: 8.5px;
  }

  .kazuaki-hero h1 {
    font-size: 24px;
  }

  .kazuaki-section-heading h2,
  .kazuaki-mid-cta h2,
  .kazuaki-final-cta h2 {
    font-size: 23px;
  }

  .fixed-line-btn,
  .fixed-tel-btn {
    font-size: 13px;
  }
}





/* =========================================================
   下層ページ調整
   2026-08-10
========================================================= */


/* ① 下層ページタイトル H1対応 */

#main h1.page_title,
#main h2.page_title,
.page_title,
.page_title_info,
.page_title_top {
  margin: 0 0 28px;
  padding: 0 0 14px;
  border-bottom: 2px solid #dbe4ec;
  color: #102847;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: 0.02em;
}


/* ② 下層ページ本文を読みやすく */

.free_area,
.info_body,
.menu_body,
.wysiwyg {
  color: #343a40;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.025em;
}

.free_area p,
.wysiwyg p {
  margin-bottom: 1.4em;
}


/* ③ スマホ：40〜50代向け可読性改善 */

@media screen and (max-width: 768px) {

  /* 上部固定メニュー文字 */
  .kazuaki-fixed-header > a,
  .header-menu-btn {
    font-size: 11px !important;
    line-height: 1.25;
  }

  /* 下層ページ本文 */
  .free_area,
  .info_body,
  .menu_body,
  .wysiwyg {
    font-size: 16px;
    line-height: 1.95;
  }

  /* 下層ページタイトル */
  #main h1.page_title,
  #main h2.page_title,
  .page_title {
    margin-bottom: 24px;
    font-size: 25px;
    line-height: 1.5;
  }
}





/* =========================================================
   症状一覧ページ 専用CSS
   かずあき鍼灸整骨院
   2026-08
========================================================= */


/* ========================================
   ページ全体
======================================== */

.kazuaki-symptom-page {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  color: #343a40;
  font-size: 16px;
  line-height: 1.95;
}


/* ========================================
   冒頭リード
======================================== */

.kazuaki-symptom-lead {
  margin: 0 0 54px;
  padding: 36px 34px;

  background:
    linear-gradient(
      180deg,
      #f5f9fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.06);
}


.kazuaki-symptom-eyebrow {
  display: inline-block;

  margin: 0 0 12px !important;
  padding: 6px 14px;

  background: #ffffff;

  border: 1px solid #cbd8e4;
  border-radius: 999px;

  color: #17365f;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.04em;
}


.kazuaki-symptom-lead h2 {
  margin: 0 0 18px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847;

  font-size: 30px;
  line-height: 1.5;

  text-align: center;
}


.kazuaki-symptom-lead p {
  max-width: 720px;

  margin: 0 auto 10px !important;

  color: #515b65;

  line-height: 1.95;

  text-align: center;
}


/* ========================================
   共通見出し
======================================== */

.kazuaki-sub-heading {
  margin: 0 0 25px;

  text-align: center;
}


.kazuaki-sub-heading > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-sub-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847;

  font-size: 28px;
  line-height: 1.5;

  text-align: center;
}


/* ========================================
   主要症状
======================================== */

.kazuaki-symptom-main {
  margin: 58px 0;
}


.kazuaki-symptom-main-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 14px;
}


.kazuaki-symptom-main-card,
.kazuaki-symptom-main-card:link,
.kazuaki-symptom-main-card:visited {
  min-height: 120px;

  display: flex;
  flex-direction: column;

  justify-content: center;

  padding: 20px 22px;

  background: #ffffff;

  border: 1px solid #dbe4ec;
  border-radius: 16px;

  color: #343a40 !important;

  text-decoration: none !important;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.06);

  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}


.kazuaki-symptom-main-card:hover {
  transform: translateY(-3px);

  border-color: #9fb6ca;

  box-shadow:
    0 9px 24px rgba(20, 44, 70, 0.10);
}


.kazuaki-symptom-main-card strong {
  display: block;

  margin-bottom: 5px;

  color: #17365f;

  font-size: 20px;
  font-weight: 800;

  line-height: 1.5;
}


.kazuaki-symptom-main-card span {
  color: #626b74;

  font-size: 14px;
  line-height: 1.7;
}


/* ========================================
   全症状一覧
======================================== */

.kazuaki-symptom-all {
  margin: 64px 0;

  padding: 38px 32px;

  background: #f6f8fa;

  border: 1px solid #e3e8ed;
  border-radius: 22px;
}


.kazuaki-symptom-all-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 10px;
}


.kazuaki-symptom-all-grid a,
.kazuaki-symptom-all-grid a:link,
.kazuaki-symptom-all-grid a:visited {
  min-height: 54px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 10px 8px;

  background: #ffffff;

  border: 1px solid #dbe3ea;
  border-radius: 10px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 700;

  line-height: 1.45;

  text-align: center;
  text-decoration: none !important;

  transition: 0.18s ease;
}


.kazuaki-symptom-all-grid a:hover {
  background: #edf3f9;

  border-color: #b6c9da;
}


/* ========================================
   よくある相談
======================================== */

.kazuaki-symptom-worry {
  margin: 64px 0;
}


.kazuaki-worry-card-list {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 14px;
}


.kazuaki-worry-card,
.kazuaki-worry-card:link,
.kazuaki-worry-card:visited {
  display: flex;

  align-items: flex-start;

  gap: 14px;

  min-height: 144px;

  padding: 19px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 16px;

  color: #343a40 !important;

  text-decoration: none !important;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.05);

  transition: 0.18s ease;
}


.kazuaki-worry-card:hover {
  transform: translateY(-2px);

  border-color: #aebfd0;

  box-shadow:
    0 8px 20px rgba(20, 44, 70, 0.09);
}


.kazuaki-worry-icon {
  flex: 0 0 48px;

  width: 48px;
  height: 48px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #17365f;

  border-radius: 50%;

  color: #ffffff;

  font-size: 15px;
  font-weight: 800;
}


.kazuaki-worry-card strong {
  display: block;

  margin-bottom: 5px;

  color: #102847;

  font-size: 17px;
  font-weight: 800;

  line-height: 1.55;
}


.kazuaki-worry-card p {
  margin: 0 !important;

  color: #5d6670;

  font-size: 14px;
  line-height: 1.75;
}


/* ========================================
   当院の考え方
======================================== */

.kazuaki-symptom-policy {
  margin: 66px 0;

  padding: 40px 34px;

  background:
    linear-gradient(
      150deg,
      #102847 0%,
      #17365f 100%
    );

  border-radius: 22px;

  color: #ffffff;

  box-shadow:
    0 10px 28px rgba(20, 44, 70, 0.12);
}


.kazuaki-symptom-policy .kazuaki-sub-heading > span {
  color: #e5c77f;
}


.kazuaki-symptom-policy .kazuaki-sub-heading h2 {
  color: #ffffff;
}


.kazuaki-symptom-policy > p {
  max-width: 760px;

  margin: 0 auto 14px !important;

  color: #ffffff;

  line-height: 2;

  text-align: center;
}


/* ========================================
   施術方針4ステップ
======================================== */

.kazuaki-policy-points {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 10px;

  margin-top: 28px;
}


.kazuaki-policy-points > div {
  min-height: 110px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 5px;

  padding: 14px 8px;

  background:
    rgba(255, 255, 255, 0.10);

  border:
    1px solid rgba(255, 255, 255, 0.20);

  border-radius: 13px;

  text-align: center;
}


.kazuaki-policy-points strong {
  color: #e5c77f;

  font-size: 22px;
  font-weight: 800;
}


.kazuaki-policy-points span {
  color: #ffffff;

  font-size: 13px;
  font-weight: 700;

  line-height: 1.5;
}


/* ========================================
   注意事項
======================================== */

.kazuaki-symptom-notice {
  margin: 46px 0;

  padding: 20px 22px;

  background: #fbfaf7;

  border: 1px solid #e4ddcf;
  border-radius: 14px;
}


.kazuaki-symptom-notice > strong {
  display: block;

  margin-bottom: 7px;

  color: #6f5731;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-symptom-notice p {
  margin: 0 !important;

  color: #555b61;

  font-size: 14px;
  line-height: 1.9;
}


/* ========================================
   下部CTA
======================================== */

.kazuaki-subpage-cta {
  margin: 66px 0 28px;

  padding: 38px 30px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cad8e5;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.07);
}


.kazuaki-subpage-cta-small {
  margin: 0 0 7px !important;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;
}


.kazuaki-subpage-cta h2 {
  margin: 0 0 15px !important;

  padding: 0 !important;

  background: none !important;

  border: none !important;

  color: #102847;

  font-size: 27px;
  line-height: 1.55;

  text-align: center;
}


.kazuaki-subpage-cta > p {
  max-width: 650px;

  margin: 0 auto 18px !important;

  color: #535d66;

  text-align: center;
}


/* ========================================
   PCでの細かな調整
======================================== */

@media screen and (min-width: 769px) {

  .kazuaki-symptom-main-card:nth-child(1),
  .kazuaki-symptom-main-card:nth-child(2) {
    border-top: 3px solid #17365f;
  }

}


/* ========================================
   タブレット
======================================== */

@media screen and (max-width: 900px) {

  .kazuaki-symptom-all-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .kazuaki-policy-points {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* ========================================
   スマートフォン
======================================== */

@media screen and (max-width: 768px) {

  .kazuaki-symptom-page {
    font-size: 16px;
    line-height: 1.95;
  }


  /* ----------------------
     リード
  ---------------------- */

  .kazuaki-symptom-lead {
    margin-bottom: 42px;

    padding: 26px 15px;

    border-radius: 18px;
  }


  .kazuaki-symptom-eyebrow {
    font-size: 11px;
  }


  .kazuaki-symptom-lead h2 {
    font-size: 24px;
  }


  .kazuaki-symptom-lead p {
    font-size: 15px;

    text-align: left;
  }


  /* ----------------------
     共通見出し
  ---------------------- */

  .kazuaki-sub-heading {
    margin-bottom: 20px;
  }


  .kazuaki-sub-heading h2 {
    font-size: 23px;
  }


  .kazuaki-sub-heading > span {
    font-size: 12px;
  }


  /* ----------------------
     主要症状
  ---------------------- */

  .kazuaki-symptom-main {
    margin: 46px 0;
  }


  .kazuaki-symptom-main-grid {
    grid-template-columns: 1fr;

    gap: 10px;
  }


  .kazuaki-symptom-main-card {
    min-height: 92px;

    padding: 15px 16px;
  }


  .kazuaki-symptom-main-card strong {
    font-size: 18px;
  }


  .kazuaki-symptom-main-card span {
    font-size: 13px;
  }


  /* ----------------------
     全症状
  ---------------------- */

  .kazuaki-symptom-all {
    margin: 48px 0;

    padding: 27px 13px;

    border-radius: 18px;
  }


  .kazuaki-symptom-all-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 7px;
  }


  .kazuaki-symptom-all-grid a {
    min-height: 52px;

    padding: 8px 5px;

    font-size: 13px;
  }


  /* ----------------------
     よくある相談
  ---------------------- */

  .kazuaki-symptom-worry {
    margin: 48px 0;
  }


  .kazuaki-worry-card-list {
    grid-template-columns: 1fr;

    gap: 10px;
  }


  .kazuaki-worry-card {
    min-height: 0;

    padding: 15px;

    gap: 11px;
  }


  .kazuaki-worry-icon {
    flex-basis: 42px;

    width: 42px;
    height: 42px;

    font-size: 13px;
  }


  .kazuaki-worry-card strong {
    font-size: 16px;
  }


  .kazuaki-worry-card p {
    font-size: 14px;
  }


  /* ----------------------
     方針
  ---------------------- */

  .kazuaki-symptom-policy {
    margin: 50px 0;

    padding: 30px 15px;

    border-radius: 18px;
  }


  .kazuaki-symptom-policy > p {
    text-align: left;

    font-size: 15px;
  }


  .kazuaki-policy-points {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 7px;
  }


  .kazuaki-policy-points > div {
    min-height: 94px;

    padding: 10px 5px;
  }


  .kazuaki-policy-points strong {
    font-size: 19px;
  }


  .kazuaki-policy-points span {
    font-size: 12px;
  }


  /* ----------------------
     注意事項
  ---------------------- */

  .kazuaki-symptom-notice {
    padding: 17px 15px;
  }


  /* ----------------------
     CTA
  ---------------------- */

  .kazuaki-subpage-cta {
    margin: 50px 0 24px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-subpage-cta h2 {
    font-size: 22px;
  }


  .kazuaki-subpage-cta > p {
    font-size: 15px;

    text-align: left;
  }

}


/* ========================================
   小さいスマートフォン
======================================== */

@media screen and (max-width: 420px) {

  .kazuaki-symptom-all-grid a {
    font-size: 12px;
  }

  .kazuaki-policy-points span {
    font-size: 11px;
  }

}





/* =========================================================
   カイロプラクティックとは ページ専用CSS
   かずあき鍼灸整骨院
   2026-08
========================================================= */


/* ========================================
   ページ全体
======================================== */

.kazuaki-chiro-page {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;

  color: #343a40;

  font-size: 16px;
  line-height: 1.95;
}


/* ========================================
   1. ファーストリード
======================================== */

.kazuaki-chiro-lead {
  margin: 0 0 58px;
  padding: 40px 34px;

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(185, 138, 56, 0.10),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.06);
}


.kazuaki-chiro-eyebrow {
  display: inline-block;

  margin: 0 0 14px !important;
  padding: 6px 14px;

  background: #ffffff;

  border: 1px solid #cbd8e4;
  border-radius: 999px;

  color: #17365f;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.04em;
}


.kazuaki-chiro-lead h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847;

  font-size: 32px;
  line-height: 1.5;

  text-align: center;
}


.kazuaki-chiro-lead-main {
  max-width: 720px;

  margin: 0 auto 20px !important;

  color: #17365f;

  font-size: 19px;
  font-weight: 800;

  line-height: 1.8;
}


.kazuaki-chiro-lead p:not(.kazuaki-chiro-eyebrow):not(.kazuaki-chiro-lead-main) {
  max-width: 720px;

  margin: 0 auto 12px !important;

  color: #515b65;

  text-align: center;
}


/* ========================================
   共通セクション
======================================== */

.kazuaki-chiro-section {
  margin: 64px 0;
}


.kazuaki-chiro-section > p {
  max-width: 780px;

  margin: 0 auto 18px !important;

  color: #444d55;

  line-height: 2;
}


.kazuaki-chiro-soft {
  padding: 40px 34px;

  background: #f6f8fa;

  border: 1px solid #e2e8ed;
  border-radius: 22px;
}


/* ========================================
   共通見出し
======================================== */

.kazuaki-chiro-page .kazuaki-sub-heading {
  margin: 0 0 28px;

  text-align: center;
}


.kazuaki-chiro-page .kazuaki-sub-heading > span {
  display: block;

  margin-bottom: 6px;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-chiro-page .kazuaki-sub-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 28px;
  line-height: 1.5;

  text-align: center;
}


/* ========================================
   2. 施術4ポイント
======================================== */

.kazuaki-chiro-point-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 12px;

  margin-top: 32px;
}


.kazuaki-chiro-point {
  min-height: 190px;

  padding: 22px 15px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 16px;

  text-align: center;

  box-shadow:
    0 4px 16px rgba(20, 44, 70, 0.05);
}


.kazuaki-chiro-point > strong {
  display: block;

  margin-bottom: 8px;

  color: #b98a38;

  font-size: 28px;
  font-weight: 800;
}


.kazuaki-chiro-point h3 {
  margin: 0 0 9px !important;
  padding: 0 !important;

  border: none !important;

  color: #17365f !important;

  font-size: 17px !important;
  line-height: 1.5;

  text-align: center;
}


.kazuaki-chiro-point p {
  margin: 0 !important;

  color: #626b74;

  font-size: 14px;

  line-height: 1.8;
}


/* ========================================
   3. ガンステッド
======================================== */

.kazuaki-chiro-highlight {
  max-width: 720px;

  margin: 28px auto 0;
  padding: 24px 26px;

  background: #ffffff;

  border: 1px solid #d7e1ea;
  border-left: 5px solid #17365f;
  border-radius: 14px;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.05);
}


.kazuaki-chiro-highlight > strong {
  display: block;

  margin-bottom: 12px;

  color: #102847;

  font-size: 18px;
  font-weight: 800;
}


.kazuaki-chiro-highlight ul {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}


.kazuaki-chiro-highlight li {
  position: relative;

  margin: 0 !important;
  padding: 8px 0 8px 28px !important;

  color: #444d55;

  line-height: 1.75;
}


.kazuaki-chiro-highlight li::before {
  content: "✓";

  position: absolute;
  left: 2px;

  color: #b98a38;

  font-size: 18px;
  font-weight: 800;
}


/* ========================================
   4. 整体・マッサージとの違い
======================================== */

.kazuaki-chiro-compare {
  max-width: 780px;

  margin: 30px auto 0;
}


.kazuaki-chiro-compare-card {
  padding: 25px 26px;

  background: #f8f9fa;

  border: 1px solid #dfe5eb;
  border-radius: 17px;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.04);
}


.kazuaki-chiro-compare-card > span {
  display: inline-block;

  margin-bottom: 8px;
  padding: 4px 10px;

  background: #ffffff;

  border: 1px solid #dbe3ea;
  border-radius: 999px;

  color: #626b74;

  font-size: 12px;
  font-weight: 800;
}


.kazuaki-chiro-compare-card h3 {
  margin: 0 0 9px !important;
  padding: 0 !important;

  border: none !important;

  color: #17365f !important;

  font-size: 20px !important;
}


.kazuaki-chiro-compare-card p {
  margin: 0 !important;

  color: #515b65;

  line-height: 1.9;
}


.kazuaki-chiro-compare-us {
  background: #edf4fa;

  border: 2px solid #b9cad9;
}


.kazuaki-chiro-compare-us > span {
  color: #17365f;

  border-color: #b9cad9;
}


.kazuaki-chiro-compare-arrow {
  margin: 13px 0;

  color: #b98a38;

  font-size: 28px;
  font-weight: 800;

  text-align: center;
}


/* ========================================
   5. ボキボキ不安
======================================== */

.kazuaki-chiro-anxiety {
  padding: 40px 34px;

  background:
    linear-gradient(
      180deg,
      #fbf7ed 0%,
      #ffffff 100%
    );

  border: 1px solid #eadfc6;
  border-radius: 22px;
}


/* ========================================
   6. 症状リンク
======================================== */

.kazuaki-chiro-symptom-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 10px;

  margin-top: 28px;
}


.kazuaki-chiro-symptom-grid a,
.kazuaki-chiro-symptom-grid a:link,
.kazuaki-chiro-symptom-grid a:visited {
  min-height: 68px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 10px;

  background: #ffffff;

  border: 1px solid #dbe4ec;
  border-radius: 12px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 800;

  line-height: 1.5;

  text-align: center;
  text-decoration: none !important;

  box-shadow:
    0 3px 12px rgba(20, 44, 70, 0.04);

  transition: 0.18s ease;
}


.kazuaki-chiro-symptom-grid a:hover {
  transform: translateY(-2px);

  background: #edf4fa;

  border-color: #b9cad9;
}


/* ========================================
   7. 院長・施術者
======================================== */

.kazuaki-chiro-director {
  padding: 40px 34px;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f6f8fa 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 22px;
}


/* ========================================
   8. 初診案内
======================================== */

.kazuaki-chiro-page .kazuaki-center-cta {
  display: flex;

  justify-content: center;

  gap: 12px;

  margin-top: 26px;
}


.kazuaki-chiro-page .kazuaki-outline-btn,
.kazuaki-chiro-page .kazuaki-outline-btn:link,
.kazuaki-chiro-page .kazuaki-outline-btn:visited {
  min-width: 230px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 13px 20px;

  background: #ffffff;

  border: 1px solid #9fb4c7;
  border-radius: 12px;

  color: #17365f !important;

  font-weight: 800;

  text-decoration: none !important;
}


.kazuaki-chiro-page .kazuaki-outline-btn:hover {
  background: #edf4fa;
}


/* ========================================
   9. FAQ
======================================== */

.kazuaki-chiro-page .kazuaki-faq-wrap {
  max-width: 800px;

  margin: 0 auto;
}


.kazuaki-chiro-page .kazuaki-faq-item {
  margin-bottom: 11px;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 14px;
}


.kazuaki-chiro-page .kazuaki-faq-item summary {
  position: relative;

  padding: 18px 50px 18px 20px;

  color: #102847;

  font-size: 16px;
  font-weight: 800;

  line-height: 1.6;

  cursor: pointer;

  list-style: none;
}


.kazuaki-chiro-page .kazuaki-faq-item summary::-webkit-details-marker {
  display: none;
}


.kazuaki-chiro-page .kazuaki-faq-item summary::after {
  content: "+";

  position: absolute;

  right: 20px;
  top: 50%;

  transform: translateY(-50%);

  color: #17365f;

  font-size: 25px;
  font-weight: 400;
}


.kazuaki-chiro-page .kazuaki-faq-item[open] summary::after {
  content: "−";
}


.kazuaki-chiro-page .kazuaki-faq-item p {
  margin: 0 !important;
  padding: 0 20px 20px;

  color: #515b65;

  line-height: 1.9;
}


/* =========================================================
   10. 専門的な考え方 折りたたみ
========================================================= */

.kazuaki-chiro-expert {
  margin: 70px 0;
}


.kazuaki-expert-details {
  overflow: hidden;

  background: #ffffff;

  border: 1px solid #ced9e3;
  border-radius: 20px;

  box-shadow:
    0 7px 24px rgba(20, 44, 70, 0.07);
}


/* 折りたたみタイトル */

.kazuaki-expert-details > summary {
  position: relative;

  display: block;

  padding: 28px 70px 28px 28px;

  background:
    linear-gradient(
      180deg,
      #f2f6fa 0%,
      #ffffff 100%
    );

  cursor: pointer;

  list-style: none;
}


.kazuaki-expert-details > summary::-webkit-details-marker {
  display: none;
}


.kazuaki-expert-details > summary::after {
  content: "+";

  position: absolute;

  top: 50%;
  right: 26px;

  width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  transform: translateY(-50%);

  background: #17365f;

  border-radius: 50%;

  color: #ffffff;

  font-size: 25px;
  font-weight: 400;

  line-height: 1;
}


.kazuaki-expert-details[open] > summary::after {
  content: "−";
}


.kazuaki-expert-details[open] > summary {
  border-bottom: 1px solid #dfe6ed;
}


.kazuaki-expert-summary-small {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-expert-details > summary > strong {
  display: block;

  color: #102847;

  font-size: 21px;
  font-weight: 800;

  line-height: 1.55;
}


.kazuaki-expert-summary-note {
  display: block;

  margin-top: 6px;

  color: #626b74;

  font-size: 13px;
}


/* ========================================
   専門部分本文
======================================== */

.kazuaki-expert-content {
  padding: 34px 32px 40px;

  background: #ffffff;
}


/* 専門説明の注意 */

.kazuaki-expert-notice {
  margin: 0 0 38px;

  padding: 20px 22px;

  background: #fbfaf7;

  border: 1px solid #e4ddcf;
  border-radius: 14px;
}


.kazuaki-expert-notice > strong {
  display: block;

  margin-bottom: 7px;

  color: #6f5731;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-expert-notice p {
  margin: 0 0 8px !important;

  color: #555b61;

  font-size: 14px;

  line-height: 1.9;
}


.kazuaki-expert-notice p:last-child {
  margin-bottom: 0 !important;
}


/* 専門部分のH2 */

.kazuaki-chiro-page .kazuaki-expert-content h2 {
  margin: 48px 0 18px !important;
  padding: 13px 16px !important;

  background: #f2f6fa !important;

  border: none !important;
  border-left: 5px solid #17365f !important;
  border-radius: 0 9px 9px 0;

  color: #102847 !important;

  font-size: 22px !important;

  line-height: 1.55;

  text-align: left !important;
}


.kazuaki-chiro-page .kazuaki-expert-content h2:first-of-type {
  margin-top: 0 !important;
}


.kazuaki-expert-content > p {
  margin: 0 0 17px !important;

  color: #444d55;

  line-height: 2;
}


/* ========================================
   専門図
======================================== */

.kazuaki-expert-figure {
  max-width: 620px;

  margin: 28px auto !important;

  text-align: center;
}


.kazuaki-expert-figure img {
  display: block;

  max-width: 100%;
  height: auto;

  margin: 0 auto !important;

  border: 1px solid #e1e6ea;
  border-radius: 12px;

  box-shadow:
    0 4px 15px rgba(20, 44, 70, 0.05);
}


/* ========================================
   専門記事リンク
======================================== */

.kazuaki-expert-links {
  margin-top: 48px;
  padding: 25px;

  background: #f6f8fa;

  border-radius: 16px;
}


.kazuaki-expert-links h3 {
  margin: 0 0 16px !important;
  padding: 0 !important;

  border: none !important;

  color: #102847 !important;

  font-size: 19px !important;
}


.kazuaki-expert-links a,
.kazuaki-expert-links a:link,
.kazuaki-expert-links a:visited {
  position: relative;

  display: block;

  margin-bottom: 8px;
  padding: 12px 40px 12px 15px;

  background: #ffffff;

  border: 1px solid #dfe5eb;
  border-radius: 10px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 700;

  line-height: 1.6;

  text-decoration: none !important;
}


.kazuaki-expert-links a::after {
  content: "›";

  position: absolute;

  top: 50%;
  right: 16px;

  transform: translateY(-50%);

  color: #b98a38;

  font-size: 23px;
}


.kazuaki-expert-links a:hover {
  background: #edf4fa;
}


/* ========================================
   11. 来院注意事項
======================================== */

.kazuaki-chiro-notice {
  margin: 52px 0;

  padding: 22px 24px;

  background: #fbfaf7;

  border: 1px solid #e4ddcf;
  border-radius: 14px;
}


.kazuaki-chiro-notice > strong {
  display: block;

  margin-bottom: 7px;

  color: #6f5731;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-chiro-notice p {
  margin: 0 0 8px !important;

  color: #555b61;

  font-size: 14px;

  line-height: 1.9;
}


.kazuaki-chiro-notice p:last-child {
  margin-bottom: 0 !important;
}


/* ========================================
   12. 最終CTA
   既存CSSのsubpage-ctaを補強
======================================== */

.kazuaki-chiro-page .kazuaki-subpage-cta {
  margin: 66px 0 28px;

  padding: 38px 30px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cad8e5;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.07);
}


.kazuaki-chiro-page .kazuaki-subpage-cta h2 {
  margin: 0 0 15px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 27px !important;
  line-height: 1.55;

  text-align: center !important;
}


.kazuaki-chiro-page .kazuaki-subpage-cta > p {
  max-width: 680px;

  margin: 0 auto 18px !important;

  color: #535d66;

  text-align: center;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 900px) {

  .kazuaki-chiro-point-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }


  .kazuaki-chiro-symptom-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .kazuaki-chiro-page {
    font-size: 16px;

    line-height: 1.95;
  }


  /* リード */

  .kazuaki-chiro-lead {
    margin-bottom: 44px;

    padding: 28px 15px;

    border-radius: 18px;
  }


  .kazuaki-chiro-eyebrow {
    font-size: 11px;

    line-height: 1.6;
  }


  .kazuaki-chiro-lead h2 {
    font-size: 25px;
  }


  .kazuaki-chiro-lead-main {
    font-size: 17px;

    text-align: left;
  }


  .kazuaki-chiro-lead p:not(.kazuaki-chiro-eyebrow) {
    text-align: left;
  }


  /* セクション */

  .kazuaki-chiro-section {
    margin: 48px 0;
  }


  .kazuaki-chiro-soft,
  .kazuaki-chiro-anxiety,
  .kazuaki-chiro-director {
    padding: 28px 15px;

    border-radius: 18px;
  }


  .kazuaki-chiro-page .kazuaki-sub-heading {
    margin-bottom: 21px;
  }


  .kazuaki-chiro-page .kazuaki-sub-heading h2 {
    font-size: 23px;
  }


  .kazuaki-chiro-page .kazuaki-sub-heading > span {
    font-size: 12px;
  }


  .kazuaki-chiro-section > p {
    font-size: 15px;

    text-align: left;
  }


  /* 4ポイント */

  .kazuaki-chiro-point-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 8px;
  }


  .kazuaki-chiro-point {
    min-height: 155px;

    padding: 16px 9px;
  }


  .kazuaki-chiro-point > strong {
    font-size: 23px;
  }


  .kazuaki-chiro-point h3 {
    font-size: 15px !important;
  }


  .kazuaki-chiro-point p {
    font-size: 12px;
  }


  /* ハイライト */

  .kazuaki-chiro-highlight {
    padding: 19px 16px;
  }


  /* 比較 */

  .kazuaki-chiro-compare-card {
    padding: 20px 16px;
  }


  .kazuaki-chiro-compare-card h3 {
    font-size: 18px !important;
  }


  /* 症状 */

  .kazuaki-chiro-symptom-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 7px;
  }


  .kazuaki-chiro-symptom-grid a {
    min-height: 61px;

    padding: 8px 5px;

    font-size: 13px;
  }


  /* 初診CTA */

  .kazuaki-chiro-page .kazuaki-center-cta {
    display: block;
  }


  .kazuaki-chiro-page .kazuaki-outline-btn {
    width: 100%;
    min-width: 0;

    margin: 6px 0;
  }


  /* FAQ */

  .kazuaki-chiro-page .kazuaki-faq-item summary {
    padding: 16px 44px 16px 15px;

    font-size: 15px;
  }


  .kazuaki-chiro-page .kazuaki-faq-item summary::after {
    right: 15px;
  }


  .kazuaki-chiro-page .kazuaki-faq-item p {
    padding: 0 15px 17px;

    font-size: 14px;
  }


  /* 専門折りたたみ */

  .kazuaki-chiro-expert {
    margin: 52px 0;
  }


  .kazuaki-expert-details {
    border-radius: 17px;
  }


  .kazuaki-expert-details > summary {
    padding: 22px 55px 22px 16px;
  }


  .kazuaki-expert-details > summary::after {
    right: 14px;

    width: 32px;
    height: 32px;

    font-size: 21px;
  }


  .kazuaki-expert-details > summary > strong {
    font-size: 17px;
  }


  .kazuaki-expert-summary-small {
    font-size: 11px;
  }


  .kazuaki-expert-summary-note {
    font-size: 12px;

    line-height: 1.6;
  }


  .kazuaki-expert-content {
    padding: 25px 14px 30px;
  }


  .kazuaki-expert-notice {
    padding: 17px 15px;

    margin-bottom: 28px;
  }


  .kazuaki-chiro-page .kazuaki-expert-content h2 {
    margin: 38px 0 16px !important;

    padding: 11px 12px !important;

    font-size: 19px !important;
  }


  .kazuaki-expert-content > p {
    font-size: 15px;
  }


  .kazuaki-expert-links {
    margin-top: 36px;

    padding: 18px 12px;
  }


  .kazuaki-expert-links h3 {
    font-size: 17px !important;
  }


  .kazuaki-expert-links a {
    padding: 11px 34px 11px 12px;

    font-size: 13px;
  }


  /* 注意事項 */

  .kazuaki-chiro-notice {
    padding: 18px 15px;
  }


  /* 最終CTA */

  .kazuaki-chiro-page .kazuaki-subpage-cta {
    margin: 50px 0 24px;

    padding: 29px 14px;

    border-radius: 18px;
  }


  .kazuaki-chiro-page .kazuaki-subpage-cta h2 {
    font-size: 22px !important;
  }


  .kazuaki-chiro-page .kazuaki-subpage-cta > p {
    font-size: 15px;

    text-align: left;
  }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media screen and (max-width: 420px) {

  .kazuaki-chiro-point {
    min-height: 150px;
  }


  .kazuaki-chiro-symptom-grid a {
    font-size: 12px;
  }


  .kazuaki-expert-details > summary > strong {
    font-size: 16px;
  }

}





/* =========================================================
   カイロプラクティックページ
   実写画像 追加CSS
========================================================= */


/* ========================================
   施術・検査・問診写真
======================================== */

.kazuaki-chiro-main-photo {
  width: 100%;
  max-width: 740px;

  margin: 30px auto 34px;

  overflow: hidden;

  background: #f4f6f8;

  border: 1px solid #e0e6eb;
  border-radius: 18px;

  box-shadow:
    0 8px 24px rgba(20, 44, 70, 0.09);
}


.kazuaki-chiro-main-photo img {
  display: block;

  width: 100%;
  max-width: 100%;

  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


/* ========================================
   薄い背景セクション内の画像
======================================== */

.kazuaki-chiro-soft .kazuaki-chiro-main-photo,
.kazuaki-chiro-director .kazuaki-chiro-main-photo {
  background: #ffffff;

  border-color: #d9e1e8;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.07);
}


/* ========================================
   画像の前後に十分な余白
======================================== */

.kazuaki-chiro-section > p + .kazuaki-chiro-main-photo {
  margin-top: 30px;
}


.kazuaki-chiro-main-photo + .kazuaki-chiro-point-grid {
  margin-top: 34px;
}


.kazuaki-chiro-main-photo + p {
  margin-top: 28px !important;
}


/* ========================================
   画像リンクがある場合
======================================== */

.kazuaki-chiro-main-photo a {
  display: block;

  padding: 0 !important;

  text-decoration: none !important;
}


/* ========================================
   専門部分の図
   既存CSSを補強
======================================== */

.kazuaki-chiro-page .kazuaki-expert-figure {
  width: 100%;
  max-width: 620px;

  margin: 30px auto !important;

  text-align: center;
}


.kazuaki-chiro-page .kazuaki-expert-figure a {
  display: block;

  text-decoration: none !important;
}


.kazuaki-chiro-page .kazuaki-expert-figure img {
  display: block;

  width: auto;
  max-width: 100%;

  height: auto;

  margin: 0 auto !important;

  background: #ffffff;

  border: 1px solid #e1e6eb;
  border-radius: 12px !important;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.06);
}


/* ========================================
   最終CTA上の小見出し
======================================== */

.kazuaki-chiro-page .kazuaki-subpage-cta-small {
  margin: 0 0 7px !important;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.06em;

  text-align: center;
}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .kazuaki-chiro-main-photo {
    max-width: 100%;

    margin: 24px auto 28px;

    border-radius: 14px;

    box-shadow:
      0 5px 18px rgba(20, 44, 70, 0.08);
  }


  .kazuaki-chiro-section > p + .kazuaki-chiro-main-photo {
    margin-top: 24px;
  }


  .kazuaki-chiro-main-photo + .kazuaki-chiro-point-grid {
    margin-top: 27px;
  }


  .kazuaki-chiro-main-photo + p {
    margin-top: 23px !important;
  }


  .kazuaki-chiro-page .kazuaki-expert-figure {
    margin: 24px auto !important;
  }


  .kazuaki-chiro-page .kazuaki-subpage-cta-small {
    font-size: 12px;
  }

}





/* =========================================================
   料金ページ専用CSS
   かずあき鍼灸整骨院
   2026-08
========================================================= */


/* ========================================
   ページ全体
======================================== */

.kazuaki-fee-page {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;

  color: #343a40;

  font-size: 16px;
  line-height: 1.95;
}


/* ========================================
   01 ファーストビュー
======================================== */

.kazuaki-fee-lead {
  margin: 0 0 60px;
  padding: 40px 34px;

  background:
    radial-gradient(
      circle at 88% 10%,
      rgba(185, 138, 56, 0.11),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 24px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.06);
}


.kazuaki-fee-eyebrow {
  display: inline-block;

  margin: 0 0 13px !important;
  padding: 6px 14px;

  background: #ffffff;

  border: 1px solid #cbd8e4;
  border-radius: 999px;

  color: #17365f;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.05em;
}


.kazuaki-fee-lead h2 {
  margin: 0 0 16px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 32px !important;
  line-height: 1.5;

  text-align: center !important;
}


.kazuaki-fee-lead-text {
  max-width: 700px;

  margin: 0 auto 28px !important;

  color: #515b65;

  font-size: 16px;

  line-height: 1.9;

  text-align: center;
}


/* ========================================
   初回料金カード
======================================== */

.kazuaki-fee-first {
  position: relative;

  max-width: 600px;

  margin: 30px auto 18px;
  padding: 30px 25px 24px;

  background: #ffffff;

  border: 2px solid #b98a38;
  border-radius: 20px;

  box-shadow:
    0 8px 24px rgba(20, 44, 70, 0.08);
}


.kazuaki-fee-first-label {
  display: inline-block;

  margin-bottom: 6px;
  padding: 5px 16px;

  background: #17365f;

  border-radius: 999px;

  color: #ffffff;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.05em;
}


.kazuaki-fee-first-price {
  margin: 8px 0 8px;

  color: #102847;

  line-height: 1.15;
}


.kazuaki-fee-first-price strong {
  font-size: 54px;
  font-weight: 800;

  letter-spacing: 0.01em;
}


.kazuaki-fee-first-price span {
  margin-left: 5px;

  font-size: 16px;
  font-weight: 700;
}


.kazuaki-fee-first > p {
  margin: 0 0 15px !important;

  color: #555f68;

  font-size: 14px;
}


.kazuaki-fee-first-meta {
  display: flex;

  justify-content: center;

  gap: 8px;

  flex-wrap: wrap;
}


.kazuaki-fee-first-meta span {
  display: inline-block;

  padding: 6px 11px;

  background: #f3f6f9;

  border: 1px solid #e1e6eb;
  border-radius: 999px;

  color: #4e5963;

  font-size: 12px;
  font-weight: 700;
}


/* ========================================
   高校生以下
======================================== */

.kazuaki-fee-youth {
  max-width: 600px;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 12px;

  flex-wrap: wrap;

  margin: 0 auto;

  padding: 13px 16px;

  background: #f7f8fa;

  border: 1px solid #dfe5eb;
  border-radius: 12px;
}


.kazuaki-fee-youth strong {
  color: #17365f;

  font-size: 14px;
}


.kazuaki-fee-youth > span {
  color: #102847;

  font-size: 18px;
  font-weight: 800;
}


.kazuaki-fee-youth small {
  color: #68717a;

  font-size: 12px;
}


/* ========================================
   共通セクション
======================================== */

.kazuaki-fee-section {
  margin: 64px 0;
}


.kazuaki-fee-section > p {
  max-width: 780px;

  margin: 0 auto 18px !important;

  color: #454e56;

  line-height: 2;
}


.kazuaki-fee-soft {
  padding: 40px 34px;

  background: #f6f8fa;

  border: 1px solid #e2e8ed;
  border-radius: 22px;
}


/* ========================================
   見出し
======================================== */

.kazuaki-fee-page .kazuaki-sub-heading {
  margin: 0 0 27px;

  text-align: center;
}


.kazuaki-fee-page .kazuaki-sub-heading > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.13em;
}


.kazuaki-fee-page .kazuaki-sub-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 28px !important;
  line-height: 1.5;

  text-align: center !important;
}


/* ========================================
   02 料金一覧
======================================== */

.kazuaki-fee-table {
  max-width: 760px;

  margin: 0 auto;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 18px;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.05);
}


.kazuaki-fee-row {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr) 180px;

  align-items: center;

  min-height: 82px;

  border-bottom: 1px solid #e7ebef;
}


.kazuaki-fee-row:last-child {
  border-bottom: none;
}


.kazuaki-fee-name {
  padding: 16px 22px;
}


.kazuaki-fee-name strong {
  display: block;

  color: #17365f;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-fee-name span {
  display: block;

  margin-top: 2px;

  color: #707981;

  font-size: 12px;
}


.kazuaki-fee-price {
  height: 100%;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 16px 12px;

  background: #f7f9fb;

  border-left: 1px solid #e3e8ed;

  color: #102847;

  font-size: 21px;
  font-weight: 800;
}


.kazuaki-fee-tax {
  margin-top: 12px !important;

  color: #6c757d !important;

  font-size: 13px;

  text-align: center;
}


/* ========================================
   03 初回来院写真
======================================== */

.kazuaki-fee-photo {
  width: 100%;
  max-width: 720px;

  margin: 28px auto 32px;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 18px;

  box-shadow:
    0 7px 22px rgba(20, 44, 70, 0.08);
}


.kazuaki-fee-photo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


/* ========================================
   初回4ステップ
======================================== */

.kazuaki-fee-step-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 12px;

  margin-top: 30px;
}


.kazuaki-fee-step {
  min-height: 180px;

  padding: 21px 14px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 15px;

  text-align: center;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.04);
}


.kazuaki-fee-step > strong {
  display: block;

  margin-bottom: 7px;

  color: #b98a38;

  font-size: 27px;
  font-weight: 800;
}


.kazuaki-fee-step h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;

  border: none !important;

  color: #17365f !important;

  font-size: 17px !important;

  text-align: center !important;
}


.kazuaki-fee-step p {
  margin: 0 !important;

  color: #626b74;

  font-size: 13px;

  line-height: 1.75;
}


/* ========================================
   04 施術時間
======================================== */

.kazuaki-time-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 16px;

  max-width: 760px;

  margin: 0 auto 25px;
}


.kazuaki-time-card {
  padding: 27px 20px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 17px;

  text-align: center;

  box-shadow:
    0 5px 17px rgba(20, 44, 70, 0.05);
}


.kazuaki-time-card > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;
}


.kazuaki-time-card > strong {
  display: block;

  margin-bottom: 10px;

  color: #102847;

  font-size: 29px;
  font-weight: 800;
}


.kazuaki-time-card p {
  margin: 0 !important;

  color: #626b74;

  font-size: 13px;
}


.kazuaki-fee-description {
  padding: 18px 20px;

  background: #f6f8fa;

  border-radius: 12px;

  text-align: center;
}


/* ========================================
   05 完全自費
======================================== */

.kazuaki-selfpay {
  padding: 40px 34px;

  background:
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dce6ef;
  border-radius: 22px;
}


.kazuaki-selfpay-box {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 12px;

  max-width: 700px;

  margin: 26px auto;
}


.kazuaki-selfpay-box > div {
  padding: 21px 15px;

  background: #ffffff;

  border: 1px solid #dbe4ec;
  border-radius: 14px;

  text-align: center;
}


.kazuaki-selfpay-box span {
  display: block;

  margin-bottom: 5px;

  color: #68717a;

  font-size: 13px;
}


.kazuaki-selfpay-box strong {
  display: block;

  color: #17365f;

  font-size: 17px;
  font-weight: 800;
}


/* ========================================
   06 ボタン
======================================== */

.kazuaki-fee-page .kazuaki-center-cta {
  display: flex;

  justify-content: center;

  gap: 12px;

  flex-wrap: wrap;

  margin-top: 28px;
}


.kazuaki-fee-page .kazuaki-outline-btn,
.kazuaki-fee-page .kazuaki-outline-btn:link,
.kazuaki-fee-page .kazuaki-outline-btn:visited {
  min-width: 240px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 13px 18px;

  background: #ffffff;

  border: 1px solid #a7b9c9;
  border-radius: 12px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 800;

  text-decoration: none !important;
}


.kazuaki-fee-page .kazuaki-outline-btn:hover {
  background: #edf4fa;
}


/* ========================================
   07 通院について
======================================== */

.kazuaki-fee-page .kazuaki-text-link-wrap {
  margin-top: 22px;

  text-align: center;
}


.kazuaki-fee-page .kazuaki-text-link,
.kazuaki-fee-page .kazuaki-text-link:link,
.kazuaki-fee-page .kazuaki-text-link:visited {
  color: #17365f !important;

  font-weight: 800;

  text-decoration: underline !important;

  text-underline-offset: 3px;
}


/* ========================================
   08 注意事項
======================================== */

.kazuaki-fee-notice {
  max-width: 760px;

  margin: 0 auto 25px;

  padding: 23px 25px;

  background: #fbfaf7;

  border: 1px solid #e5dccb;
  border-radius: 15px;
}


.kazuaki-fee-notice > strong {
  display: block;

  margin-bottom: 12px;

  color: #6f5731;

  font-size: 17px;
  font-weight: 800;
}


.kazuaki-fee-notice ul {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}


.kazuaki-fee-notice li {
  position: relative;

  margin: 0 !important;
  padding: 8px 0 8px 28px !important;

  color: #515860;

  line-height: 1.8;
}


.kazuaki-fee-notice li::before {
  content: "✓";

  position: absolute;
  left: 2px;

  color: #b98a38;

  font-weight: 800;
}


/* ========================================
   09 FAQ
======================================== */

.kazuaki-fee-page .kazuaki-faq-wrap {
  max-width: 800px;

  margin: 0 auto;
}


.kazuaki-fee-page .kazuaki-faq-item {
  margin-bottom: 11px;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 14px;
}


.kazuaki-fee-page .kazuaki-faq-item summary {
  position: relative;

  padding: 18px 50px 18px 20px;

  color: #102847;

  font-size: 16px;
  font-weight: 800;

  line-height: 1.6;

  cursor: pointer;

  list-style: none;
}


.kazuaki-fee-page .kazuaki-faq-item summary::-webkit-details-marker {
  display: none;
}


.kazuaki-fee-page .kazuaki-faq-item summary::after {
  content: "+";

  position: absolute;

  right: 20px;
  top: 50%;

  transform: translateY(-50%);

  color: #17365f;

  font-size: 25px;
}


.kazuaki-fee-page .kazuaki-faq-item[open] summary::after {
  content: "−";
}


.kazuaki-fee-page .kazuaki-faq-item p {
  margin: 0 !important;

  padding: 0 20px 20px;

  color: #515b65;

  line-height: 1.9;
}


/* ========================================
   10 最終CTA
======================================== */

.kazuaki-fee-page .kazuaki-subpage-cta {
  margin: 68px 0 28px;

  padding: 38px 30px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cad8e5;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.07);
}


.kazuaki-fee-page .kazuaki-subpage-cta-small {
  margin: 0 0 7px !important;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.05em;

  text-align: center;
}


.kazuaki-fee-page .kazuaki-subpage-cta h2 {
  margin: 0 0 15px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 27px !important;
  line-height: 1.55;

  text-align: center !important;
}


.kazuaki-fee-page .kazuaki-subpage-cta > p {
  max-width: 680px;

  margin: 0 auto 18px !important;

  color: #535d66;

  text-align: center;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 900px) {

  .kazuaki-fee-step-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .kazuaki-fee-page {
    font-size: 16px;

    line-height: 1.95;
  }


  /* ファーストビュー */

  .kazuaki-fee-lead {
    margin-bottom: 46px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-fee-eyebrow {
    font-size: 11px;
  }


  .kazuaki-fee-lead h2 {
    font-size: 24px !important;
  }


  .kazuaki-fee-lead-text {
    font-size: 15px;

    text-align: left;
  }


  /* 初回料金 */

  .kazuaki-fee-first {
    margin-top: 24px;

    padding: 25px 14px 20px;

    border-radius: 17px;
  }


  .kazuaki-fee-first-price strong {
    font-size: 45px;
  }


  .kazuaki-fee-first-price span {
    font-size: 14px;
  }


  .kazuaki-fee-first > p {
    font-size: 13px;
  }


  .kazuaki-fee-first-meta span {
    font-size: 11px;
  }


  .kazuaki-fee-youth {
    display: block;

    padding: 12px;

    text-align: center;
  }


  .kazuaki-fee-youth strong,
  .kazuaki-fee-youth > span,
  .kazuaki-fee-youth small {
    display: block;
  }


  /* 共通 */

  .kazuaki-fee-section {
    margin: 48px 0;
  }


  .kazuaki-fee-soft,
  .kazuaki-selfpay {
    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-fee-page .kazuaki-sub-heading {
    margin-bottom: 21px;
  }


  .kazuaki-fee-page .kazuaki-sub-heading h2 {
    font-size: 23px !important;
  }


  .kazuaki-fee-page .kazuaki-sub-heading > span {
    font-size: 11px;
  }


  .kazuaki-fee-section > p {
    font-size: 15px;

    text-align: left;
  }


  /* 料金表 */

  .kazuaki-fee-row {
    grid-template-columns:
      minmax(0, 1fr) 115px;

    min-height: 76px;
  }


  .kazuaki-fee-name {
    padding: 13px 11px;
  }


  .kazuaki-fee-name strong {
    font-size: 14px;
  }


  .kazuaki-fee-name span {
    font-size: 11px;
  }


  .kazuaki-fee-price {
    padding: 12px 7px;

    font-size: 17px;
  }


  /* 写真 */

  .kazuaki-fee-photo {
    margin: 23px auto 27px;

    border-radius: 14px;
  }


  /* 4ステップ */

  .kazuaki-fee-step-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 8px;
  }


  .kazuaki-fee-step {
    min-height: 150px;

    padding: 16px 8px;
  }


  .kazuaki-fee-step > strong {
    font-size: 23px;
  }


  .kazuaki-fee-step h3 {
    font-size: 15px !important;
  }


  .kazuaki-fee-step p {
    font-size: 12px;
  }


  /* 時間 */

  .kazuaki-time-grid {
    grid-template-columns: 1fr;

    gap: 10px;
  }


  .kazuaki-time-card {
    padding: 21px 14px;
  }


  .kazuaki-time-card > strong {
    font-size: 25px;
  }


  .kazuaki-fee-description {
    font-size: 14px;

    text-align: left;
  }


  /* 完全自費 */

  .kazuaki-selfpay-box {
    grid-template-columns: 1fr;

    gap: 8px;
  }


  /* ボタン */

  .kazuaki-fee-page .kazuaki-center-cta {
    display: block;
  }


  .kazuaki-fee-page .kazuaki-outline-btn {
    width: 100%;
    min-width: 0;

    margin: 6px 0;
  }


  /* 注意 */

  .kazuaki-fee-notice {
    padding: 18px 15px;
  }


  .kazuaki-fee-notice > strong {
    font-size: 15px;
  }


  .kazuaki-fee-notice li {
    font-size: 14px;
  }


  /* FAQ */

  .kazuaki-fee-page .kazuaki-faq-item summary {
    padding: 16px 44px 16px 15px;

    font-size: 15px;
  }


  .kazuaki-fee-page .kazuaki-faq-item summary::after {
    right: 15px;
  }


  .kazuaki-fee-page .kazuaki-faq-item p {
    padding: 0 15px 17px;

    font-size: 14px;
  }


  /* 最終CTA */

  .kazuaki-fee-page .kazuaki-subpage-cta {
    margin: 50px 0 24px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-fee-page .kazuaki-subpage-cta h2 {
    font-size: 22px !important;
  }


  .kazuaki-fee-page .kazuaki-subpage-cta > p {
    font-size: 15px;

    text-align: left;
  }

}


/* =========================================================
   小さいスマホ
========================================================= */

@media screen and (max-width: 420px) {

  .kazuaki-fee-first-price strong {
    font-size: 41px;
  }


  .kazuaki-fee-row {
    grid-template-columns:
      minmax(0, 1fr) 105px;
  }


  .kazuaki-fee-price {
    font-size: 16px;
  }


  .kazuaki-fee-step {
    min-height: 145px;
  }

}




/* =========================================================
   アクセス・駐車場ページ専用CSS
   かずあき鍼灸整骨院
   2026-08
========================================================= */


/* ========================================
   ページ全体
======================================== */

.kazuaki-access-page {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;

  color: #343a40;

  font-size: 16px;
  line-height: 1.95;
}


/* ========================================
   01 ファーストビュー
======================================== */

.kazuaki-access-lead {
  margin: 0 0 58px;
  padding: 40px 34px;

  background:
    radial-gradient(
      circle at 88% 10%,
      rgba(185, 138, 56, 0.10),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 24px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.06);
}


.kazuaki-access-eyebrow {
  display: inline-block;

  margin: 0 0 13px !important;
  padding: 6px 14px;

  background: #ffffff;

  border: 1px solid #cbd8e4;
  border-radius: 999px;

  color: #17365f;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.05em;
}


.kazuaki-access-lead h2 {
  margin: 0 0 16px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 32px !important;
  line-height: 1.5;

  text-align: center !important;
}


.kazuaki-access-lead-text {
  max-width: 700px;

  margin: 0 auto 13px !important;

  color: #17365f;

  font-size: 18px;
  font-weight: 700;

  line-height: 1.9;

  text-align: center;
}


.kazuaki-access-lead p:not(.kazuaki-access-eyebrow):not(.kazuaki-access-lead-text) {
  max-width: 700px;

  margin: 0 auto 10px !important;

  color: #515b65;

  text-align: center;
}


/* ========================================
   共通セクション
======================================== */

.kazuaki-access-section {
  margin: 64px 0;
}


.kazuaki-access-section > p {
  max-width: 780px;

  margin: 0 auto 18px !important;

  color: #454e56;

  line-height: 2;
}


/* ========================================
   見出し
======================================== */

.kazuaki-access-page .kazuaki-sub-heading {
  margin: 0 0 27px;

  text-align: center;
}


.kazuaki-access-page .kazuaki-sub-heading > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.13em;
}


.kazuaki-access-page .kazuaki-sub-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 28px !important;
  line-height: 1.5;

  text-align: center !important;
}


/* ========================================
   02 基本情報
======================================== */

.kazuaki-access-info-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 14px;
}


.kazuaki-access-info-card {
  min-height: 155px;

  display: flex;
  flex-direction: column;

  justify-content: center;

  padding: 23px 22px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 16px;

  text-align: center;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.05);
}


.kazuaki-access-info-label {
  display: block;

  margin-bottom: 6px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-access-info-card strong {
  display: block;

  color: #17365f;

  font-size: 18px;
  font-weight: 800;

  line-height: 1.65;
}


.kazuaki-access-info-card small {
  display: block;

  margin-top: 6px;

  color: #68717a;

  font-size: 12px;

  line-height: 1.65;
}


.kazuaki-access-info-card a {
  color: #17365f !important;

  text-decoration: none !important;
}


/* ========================================
   03 Googleマップ
======================================== */

.kazuaki-access-map-section {
  padding: 40px 34px;

  background: #f6f8fa;

  border: 1px solid #e2e8ed;
  border-radius: 22px;
}


.kazuaki-access-map {
  width: 100%;
  max-width: 820px;

  margin: 0 auto;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 18px;

  box-shadow:
    0 6px 22px rgba(20, 44, 70, 0.07);
}


.kazuaki-access-map iframe {
  display: block;

  width: 100%;

  min-height: 420px;

  margin: 0 !important;
}


.kazuaki-access-map-buttons {
  margin-top: 20px;

  text-align: center;
}


.kazuaki-access-map-btn,
.kazuaki-access-map-btn:link,
.kazuaki-access-map-btn:visited {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-width: 260px;

  padding: 14px 22px;

  background: #17365f;

  border-radius: 12px;

  color: #ffffff !important;

  font-size: 15px;
  font-weight: 800;

  text-decoration: none !important;

  box-shadow:
    0 5px 15px rgba(20, 44, 70, 0.15);
}


.kazuaki-access-map-btn:hover {
  background: #102847;

  color: #ffffff !important;
}


/* ========================================
   04 駐車場
======================================== */

.kazuaki-access-parking {
  padding: 40px 34px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cedbe7;
  border-radius: 22px;
}


.kazuaki-access-parking-box {
  max-width: 760px;

  display: flex;

  align-items: center;

  gap: 24px;

  margin: 0 auto;

  padding: 26px;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 18px;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.05);
}


.kazuaki-access-parking-icon {
  flex: 0 0 82px;

  width: 82px;
  height: 82px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #17365f;

  border-radius: 50%;

  color: #ffffff;

  font-size: 38px;
  font-weight: 800;

  line-height: 1;
}


.kazuaki-access-parking-text {
  flex: 1;
}


.kazuaki-access-parking-text > strong {
  display: block;

  margin-bottom: 7px;

  color: #102847;

  font-size: 19px;
  font-weight: 800;
}


.kazuaki-access-parking-text p {
  margin: 0 0 7px !important;

  color: #515b65;

  font-size: 14px;

  line-height: 1.8;
}


.kazuaki-access-parking-text p:last-child {
  margin-bottom: 0 !important;
}


/* ========================================
   05 道順
======================================== */

.kazuaki-access-route-intro {
  max-width: 760px !important;

  margin-bottom: 30px !important;

  padding: 17px 20px;

  background: #f6f8fa;

  border-radius: 12px;

  text-align: center;
}


.kazuaki-access-route-list {
  max-width: 800px;

  margin: 0 auto;
}


.kazuaki-access-route-card {
  position: relative;

  display: flex;

  gap: 22px;

  margin-bottom: 16px;
  padding: 25px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 17px;

  box-shadow:
    0 4px 15px rgba(20, 44, 70, 0.04);
}


.kazuaki-access-route-card:not(:last-child)::after {
  content: "↓";

  position: absolute;

  bottom: -24px;
  left: 50%;

  z-index: 2;

  transform: translateX(-50%);

  color: #b98a38;

  font-size: 22px;
  font-weight: 800;
}


.kazuaki-access-route-number {
  flex: 0 0 58px;

  width: 58px;
  height: 58px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #17365f;

  border-radius: 50%;

  color: #ffffff;

  font-size: 18px;
  font-weight: 800;
}


.kazuaki-access-route-body {
  flex: 1;
}


.kazuaki-access-route-body h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;

  border: none !important;

  color: #17365f !important;

  font-size: 19px !important;

  line-height: 1.5;
}


.kazuaki-access-route-body p {
  margin: 0 0 8px !important;

  color: #515b65;

  font-size: 15px;

  line-height: 1.85;
}


.kazuaki-access-route-note {
  padding: 9px 12px;

  background: #f7f9fb;

  border-radius: 8px;

  color: #69737c !important;

  font-size: 13px !important;
}


.kazuaki-access-route-final {
  border: 2px solid #b8cbdc;

  background: #edf4fa;
}


/* ========================================
   06 目印
======================================== */

.kazuaki-access-landmark {
  padding: 40px 34px;

  background: #f6f8fa;

  border-radius: 22px;
}


.kazuaki-access-landmark-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 10px;
}


.kazuaki-access-landmark-grid > div {
  min-height: 110px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 14px 8px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 13px;

  text-align: center;
}


.kazuaki-access-landmark-grid strong {
  color: #17365f;

  font-size: 15px;
  font-weight: 800;

  line-height: 1.5;
}


.kazuaki-access-landmark-grid span {
  margin-top: 4px;

  color: #6d767f;

  font-size: 11px;
}


/* ========================================
   07 道に迷った場合
======================================== */

.kazuaki-access-help {
  max-width: 780px;

  display: flex;

  align-items: center;

  gap: 22px;

  margin: 64px auto;

  padding: 30px;

  background:
    linear-gradient(
      150deg,
      #102847 0%,
      #17365f 100%
    );

  border-radius: 20px;

  color: #ffffff;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.12);
}


.kazuaki-access-help-icon {
  flex: 0 0 70px;

  width: 70px;
  height: 70px;

  display: flex;

  align-items: center;
  justify-content: center;

  background:
    rgba(255, 255, 255, 0.13);

  border:
    1px solid rgba(255, 255, 255, 0.25);

  border-radius: 50%;

  color: #e6c77f;

  font-size: 34px;
  font-weight: 800;
}


.kazuaki-access-help-body {
  flex: 1;
}


.kazuaki-access-help-body h2 {
  margin: 0 0 8px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #ffffff !important;

  font-size: 22px !important;

  text-align: left !important;
}


.kazuaki-access-help-body p {
  margin: 0 0 13px !important;

  color: #ffffff;

  font-size: 14px;

  line-height: 1.8;
}


.kazuaki-access-phone-btn,
.kazuaki-access-phone-btn:link,
.kazuaki-access-phone-btn:visited {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 10px 18px;

  background: #ffffff;

  border-radius: 10px;

  color: #17365f !important;

  font-size: 18px;
  font-weight: 800;

  text-decoration: none !important;
}


/* ========================================
   08 店舗情報
======================================== */

.kazuaki-access-center-text {
  text-align: center;
}


.kazuaki-access-page .kazuaki-center-cta {
  display: flex;

  justify-content: center;

  gap: 12px;

  flex-wrap: wrap;

  margin-top: 26px;
}


.kazuaki-access-page .kazuaki-outline-btn,
.kazuaki-access-page .kazuaki-outline-btn:link,
.kazuaki-access-page .kazuaki-outline-btn:visited {
  min-width: 235px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 13px 18px;

  background: #ffffff;

  border: 1px solid #a7b9c9;
  border-radius: 12px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 800;

  text-decoration: none !important;
}


.kazuaki-access-page .kazuaki-outline-btn:hover {
  background: #edf4fa;
}


/* ========================================
   09 最終CTA
======================================== */

.kazuaki-access-page .kazuaki-subpage-cta {
  margin: 68px 0 28px;

  padding: 38px 30px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cad8e5;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.07);
}


.kazuaki-access-page .kazuaki-subpage-cta-small {
  margin: 0 0 7px !important;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.05em;

  text-align: center;
}


.kazuaki-access-page .kazuaki-subpage-cta h2 {
  margin: 0 0 15px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 27px !important;
  line-height: 1.55;

  text-align: center !important;
}


.kazuaki-access-page .kazuaki-subpage-cta > p {
  max-width: 680px;

  margin: 0 auto 18px !important;

  color: #535d66;

  text-align: center;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 900px) {

  .kazuaki-access-landmark-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .kazuaki-access-page {
    font-size: 16px;

    line-height: 1.95;
  }


  /* ファーストビュー */

  .kazuaki-access-lead {
    margin-bottom: 44px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-access-eyebrow {
    font-size: 11px;
  }


  .kazuaki-access-lead h2 {
    font-size: 24px !important;
  }


  .kazuaki-access-lead-text {
    font-size: 16px;

    text-align: left;
  }


  .kazuaki-access-lead p:not(.kazuaki-access-eyebrow) {
    text-align: left;
  }


  /* セクション */

  .kazuaki-access-section {
    margin: 48px 0;
  }


  .kazuaki-access-page .kazuaki-sub-heading {
    margin-bottom: 21px;
  }


  .kazuaki-access-page .kazuaki-sub-heading h2 {
    font-size: 23px !important;
  }


  .kazuaki-access-page .kazuaki-sub-heading > span {
    font-size: 11px;
  }


  /* 基本情報 */

  .kazuaki-access-info-grid {
    grid-template-columns: 1fr;

    gap: 9px;
  }


  .kazuaki-access-info-card {
    min-height: 120px;

    padding: 18px 14px;
  }


  .kazuaki-access-info-card strong {
    font-size: 16px;
  }


  /* マップ */

  .kazuaki-access-map-section {
    padding: 28px 12px;

    border-radius: 18px;
  }


  .kazuaki-access-map {
    border-radius: 14px;
  }


  .kazuaki-access-map iframe {
    min-height: 330px;
    height: 330px;
  }


  .kazuaki-access-map-btn {
    width: 100%;
    min-width: 0;
  }


  /* 駐車場 */

  .kazuaki-access-parking {
    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-access-parking-box {
    display: block;

    padding: 20px 15px;

    text-align: center;
  }


  .kazuaki-access-parking-icon {
    width: 66px;
    height: 66px;

    margin: 0 auto 14px;

    font-size: 30px;
  }


  .kazuaki-access-parking-text > strong {
    font-size: 17px;
  }


  .kazuaki-access-parking-text p {
    text-align: left;
  }


  /* 道順 */

  .kazuaki-access-route-intro {
    padding: 14px;

    font-size: 14px;

    text-align: left;
  }


  .kazuaki-access-route-card {
    display: block;

    margin-bottom: 20px;
    padding: 18px 15px;
  }


  .kazuaki-access-route-card:not(:last-child)::after {
    bottom: -26px;
  }


  .kazuaki-access-route-number {
    width: 48px;
    height: 48px;

    margin-bottom: 13px;

    font-size: 15px;
  }


  .kazuaki-access-route-body h3 {
    font-size: 17px !important;
  }


  .kazuaki-access-route-body p {
    font-size: 14px;
  }


  /* 目印 */

  .kazuaki-access-landmark {
    padding: 28px 12px;

    border-radius: 18px;
  }


  .kazuaki-access-landmark-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 7px;
  }


  .kazuaki-access-landmark-grid > div {
    min-height: 94px;

    padding: 10px 5px;
  }


  .kazuaki-access-landmark-grid strong {
    font-size: 13px;
  }


  /* 道に迷った場合 */

  .kazuaki-access-help {
    display: block;

    margin: 50px 0;

    padding: 25px 15px;

    text-align: center;
  }


  .kazuaki-access-help-icon {
    width: 58px;
    height: 58px;

    margin: 0 auto 14px;

    font-size: 27px;
  }


  .kazuaki-access-help-body h2 {
    font-size: 20px !important;

    text-align: center !important;
  }


  .kazuaki-access-help-body p {
    text-align: left;
  }


  .kazuaki-access-phone-btn {
    width: 100%;
  }


  /* ボタン */

  .kazuaki-access-page .kazuaki-center-cta {
    display: block;
  }


  .kazuaki-access-page .kazuaki-outline-btn {
    width: 100%;
    min-width: 0;

    margin: 6px 0;
  }


  /* 最終CTA */

  .kazuaki-access-page .kazuaki-subpage-cta {
    margin: 50px 0 24px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-access-page .kazuaki-subpage-cta h2 {
    font-size: 22px !important;
  }


  .kazuaki-access-page .kazuaki-subpage-cta > p {
    font-size: 15px;

    text-align: left;
  }

}


/* =========================================================
   小さいスマホ
========================================================= */

@media screen and (max-width: 420px) {

  .kazuaki-access-landmark-grid strong {
    font-size: 12px;
  }

}





/* ========================================
   アクセスページ 道順写真
======================================== */

.kazuaki-access-route-photo {
  width: 100%;
  max-width: 700px;

  margin: 22px auto !important;

  overflow: hidden;

  background: #f6f8fa;

  border: 1px solid #dfe6ed;
  border-radius: 14px;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.06);
}

.kazuaki-access-route-photo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}

.kazuaki-access-route-photo figcaption {
  padding: 9px 12px;

  background: #f6f8fa;

  color: #5f6871;

  font-size: 12px;

  line-height: 1.6;

  text-align: center;
}

@media screen and (max-width: 768px) {

  .kazuaki-access-route-photo {
    margin: 18px auto !important;

    border-radius: 11px;
  }

  .kazuaki-access-route-photo figcaption {
    font-size: 11px;
  }

}




/* =========================================================
   施術コンセプトページ専用CSS
   /free/concept
   かずあき鍼灸整骨院
   2026-08
========================================================= */


/* ========================================
   ページ全体
======================================== */

.kazuaki-concept-page {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  color: #343a40;
  font-size: 16px;
  line-height: 1.95;
}


/* ========================================
   01 ファーストビュー
======================================== */

.kazuaki-concept-lead {
  margin: 0 0 36px;
  padding: 40px 34px;

  background:
    radial-gradient(
      circle at 88% 10%,
      rgba(185, 138, 56, 0.10),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 24px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.06);
}


.kazuaki-concept-eyebrow {
  display: inline-block;

  margin: 0 0 13px !important;
  padding: 6px 14px;

  background: #ffffff;

  border: 1px solid #cbd8e4;
  border-radius: 999px;

  color: #17365f;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.05em;
}


.kazuaki-concept-lead h2 {
  margin: 0 0 18px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 32px !important;
  line-height: 1.5;

  text-align: center !important;
}


.kazuaki-concept-lead-main {
  max-width: 720px;

  margin: 0 auto 17px !important;

  color: #17365f;

  font-size: 18px;
  font-weight: 700;

  line-height: 1.9;

  text-align: center;
}


.kazuaki-concept-lead p:not(.kazuaki-concept-eyebrow):not(.kazuaki-concept-lead-main) {
  max-width: 720px;

  margin: 0 auto 10px !important;

  color: #515b65;

  text-align: center;
}


/* ========================================
   メイン写真
======================================== */

.kazuaki-concept-main-photo {
  width: 100%;
  max-width: 740px;

  margin: 30px auto 56px;

  overflow: hidden;

  background: #f4f6f8;

  border: 1px solid #dfe6ed;
  border-radius: 18px;

  box-shadow:
    0 8px 24px rgba(20, 44, 70, 0.08);
}


.kazuaki-concept-main-photo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


/* ========================================
   共通セクション
======================================== */

.kazuaki-concept-section {
  margin: 64px 0;
}


.kazuaki-concept-section > p {
  max-width: 780px;

  margin: 0 auto 18px !important;

  color: #454e56;

  line-height: 2;
}


/* ========================================
   共通見出し
======================================== */

.kazuaki-concept-page .kazuaki-sub-heading {
  margin: 0 0 28px;

  text-align: center;
}


.kazuaki-concept-page .kazuaki-sub-heading > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.13em;
}


.kazuaki-concept-page .kazuaki-sub-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 28px !important;
  line-height: 1.5;

  text-align: center !important;
}


/* ========================================
   02 大切にしている3つ
======================================== */

.kazuaki-concept-three-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 14px;
}


.kazuaki-concept-three-card {
  min-height: 230px;

  padding: 27px 20px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 17px;

  text-align: center;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.05);
}


.kazuaki-concept-three-card > strong {
  display: block;

  margin-bottom: 9px;

  color: #b98a38;

  font-size: 30px;
  font-weight: 800;
}


.kazuaki-concept-three-card h3 {
  margin: 0 0 11px !important;
  padding: 0 !important;

  border: none !important;

  color: #17365f !important;

  font-size: 19px !important;
  line-height: 1.5;

  text-align: center !important;
}


.kazuaki-concept-three-card p {
  margin: 0 !important;

  color: #626b74;

  font-size: 14px;

  line-height: 1.85;
}


/* ========================================
   03 薄い背景セクション
======================================== */

.kazuaki-concept-soft {
  padding: 40px 34px;

  background: #f6f8fa;

  border: 1px solid #e2e8ed;
  border-radius: 22px;
}


/* ========================================
   強調ボックス
======================================== */

.kazuaki-concept-highlight {
  max-width: 720px;

  margin: 28px auto 0;
  padding: 23px 25px;

  background: #ffffff;

  border: 1px solid #d7e1ea;
  border-left: 5px solid #17365f;
  border-radius: 14px;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.05);
}


.kazuaki-concept-highlight > strong {
  display: block;

  margin-bottom: 8px;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.06em;
}


.kazuaki-concept-highlight p {
  margin: 0 !important;

  color: #454e56;

  font-size: 17px;

  line-height: 1.9;

  text-align: center;
}


/* ========================================
   04 施術までの流れ
======================================== */

.kazuaki-concept-flow-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 18px;
}


.kazuaki-concept-flow-card {
  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 18px;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.05);
}


.kazuaki-concept-flow-photo {
  width: 100%;
  aspect-ratio: 16 / 10;

  overflow: hidden;

  background: #f2f4f6;
}


.kazuaki-concept-flow-photo img {
  display: block;

  width: 100%;
  height: 100%;

  margin: 0 !important;

  object-fit: cover;

  border-radius: 0 !important;
}


.kazuaki-concept-flow-card > span {
  display: block;

  margin: 18px 20px 3px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-concept-flow-card h3 {
  margin: 0 20px 8px !important;
  padding: 0 !important;

  border: none !important;

  color: #17365f !important;

  font-size: 19px !important;
}


.kazuaki-concept-flow-card p {
  margin: 0 !important;
  padding: 0 20px 21px;

  color: #59636c;

  font-size: 14px;

  line-height: 1.8;
}


/* ========================================
   テキストリンク
======================================== */

.kazuaki-concept-page .kazuaki-text-link-wrap {
  margin-top: 24px;

  text-align: center;
}


.kazuaki-concept-page .kazuaki-text-link,
.kazuaki-concept-page .kazuaki-text-link:link,
.kazuaki-concept-page .kazuaki-text-link:visited {
  color: #17365f !important;

  font-weight: 800;

  text-decoration: underline !important;

  text-underline-offset: 3px;
}


/* ========================================
   05 ガンステッド・紺背景
======================================== */

.kazuaki-concept-navy {
  padding: 46px 38px;

  background:
    linear-gradient(
      150deg,
      #102847 0%,
      #17365f 100%
    );

  border-radius: 24px;

  color: #ffffff;

  box-shadow:
    0 10px 28px rgba(20, 44, 70, 0.12);
}


.kazuaki-concept-navy .kazuaki-sub-heading > span {
  color: #e5c77f;
}


.kazuaki-concept-navy .kazuaki-sub-heading h2 {
  color: #ffffff !important;
}


.kazuaki-concept-navy > p {
  color: #ffffff;

  text-align: center;
}


/* ========================================
   CHECK / EXPLAIN / ADJUST
======================================== */

.kazuaki-concept-tech-points {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 10px;

  max-width: 720px;

  margin: 30px auto 0;
}


.kazuaki-concept-tech-points > div {
  min-height: 112px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 14px 8px;

  background:
    rgba(255,255,255,0.10);

  border:
    1px solid rgba(255,255,255,0.20);

  border-radius: 13px;

  text-align: center;
}


.kazuaki-concept-tech-points strong {
  color: #e5c77f;

  font-size: 14px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-concept-tech-points span {
  margin-top: 4px;

  color: #ffffff;

  font-size: 13px;
  font-weight: 700;
}


/* ========================================
   紺背景内リンク
======================================== */

.kazuaki-concept-white-link {
  margin-top: 27px;

  text-align: center;
}


.kazuaki-concept-white-link a,
.kazuaki-concept-white-link a:link,
.kazuaki-concept-white-link a:visited {
  display: inline-block;

  padding-bottom: 2px;

  color: #ffffff !important;

  font-weight: 800;

  text-decoration: underline !important;

  text-underline-offset: 4px;
}


/* ========================================
   06 検査機器画像
======================================== */

.kazuaki-concept-device-photo {
  width: 100%;
  max-width: 560px;

  margin: 30px auto 0;

  overflow: hidden;

  background: #f6f8fa;

  border: 1px solid #dfe6ed;
  border-radius: 16px;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.06);
}


.kazuaki-concept-device-photo a {
  display: block;

  text-decoration: none !important;
}


.kazuaki-concept-device-photo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


/* ========================================
   07 目指す身体
======================================== */

.kazuaki-concept-goal {
  padding: 42px 34px;

  background:
    linear-gradient(
      180deg,
      #fbf7ed 0%,
      #ffffff 100%
    );

  border: 1px solid #eadfc6;
  border-radius: 22px;
}


.kazuaki-concept-goal-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 12px;

  max-width: 760px;

  margin: 30px auto 0;
}


.kazuaki-concept-goal-grid > div {
  min-height: 122px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 16px 10px;

  background: #ffffff;

  border: 1px solid #e1d8c6;
  border-radius: 14px;

  text-align: center;
}


.kazuaki-concept-goal-grid strong {
  color: #17365f;

  font-size: 18px;
  font-weight: 800;
}


.kazuaki-concept-goal-grid span {
  margin-top: 5px;

  color: #67717a;

  font-size: 12px;

  line-height: 1.6;
}


/* ========================================
   08 行うこと・行わないこと
======================================== */

.kazuaki-concept-treatment-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 16px;
}


.kazuaki-concept-treatment-card {
  padding: 25px 24px;

  background: #f8f9fa;

  border: 1px solid #dfe5eb;
  border-radius: 17px;
}


.kazuaki-concept-treatment-do {
  background: #edf4fa;

  border: 2px solid #b9cad9;
}


.kazuaki-concept-treatment-card > span {
  display: inline-block;

  margin-bottom: 14px;
  padding: 5px 10px;

  background: #ffffff;

  border: 1px solid #d6e0e8;
  border-radius: 999px;

  color: #17365f;

  font-size: 12px;
  font-weight: 800;
}


.kazuaki-concept-treatment-card ul {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}


.kazuaki-concept-treatment-card li {
  position: relative;

  margin: 0 !important;
  padding: 10px 0 10px 28px !important;

  border-bottom: 1px solid #e4e9ed;

  color: #4d565e;

  line-height: 1.75;
}


.kazuaki-concept-treatment-card li:last-child {
  border-bottom: none;
}


.kazuaki-concept-treatment-card li::before {
  content: "✓";

  position: absolute;
  left: 2px;

  color: #b98a38;

  font-weight: 800;
}


/* ========================================
   10 安全面
======================================== */

.kazuaki-concept-safety {
  max-width: 760px;

  margin: 0 auto;
  padding: 24px 25px;

  background: #fbfaf7;

  border: 1px solid #e4ddcf;
  border-radius: 15px;
}


.kazuaki-concept-safety p {
  margin: 0 0 11px !important;

  color: #535b62;

  line-height: 1.9;
}


.kazuaki-concept-safety p:last-child {
  margin-bottom: 0 !important;
}


/* ========================================
   11 通院
======================================== */

.kazuaki-concept-frequency {
  padding: 40px 34px;

  background: #f6f8fa;

  border: 1px solid #e2e8ed;
  border-radius: 22px;
}


/* ========================================
   ボタン
======================================== */

.kazuaki-concept-page .kazuaki-center-cta {
  display: flex;

  justify-content: center;

  gap: 12px;

  flex-wrap: wrap;

  margin-top: 27px;
}


.kazuaki-concept-page .kazuaki-outline-btn,
.kazuaki-concept-page .kazuaki-outline-btn:link,
.kazuaki-concept-page .kazuaki-outline-btn:visited {
  min-width: 230px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 13px 18px;

  background: #ffffff;

  border: 1px solid #a7b9c9;
  border-radius: 12px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 800;

  text-decoration: none !important;
}


.kazuaki-concept-page .kazuaki-outline-btn:hover {
  background: #edf4fa;
}


/* =========================================================
   12 専門テクニック折りたたみ
========================================================= */

.kazuaki-concept-expert {
  margin: 70px 0;
}


.kazuaki-concept-expert-details {
  overflow: hidden;

  background: #ffffff;

  border: 1px solid #ced9e3;
  border-radius: 20px;

  box-shadow:
    0 7px 24px rgba(20, 44, 70, 0.07);
}


/* summary */

.kazuaki-concept-expert-details > summary {
  position: relative;

  display: block;

  padding: 28px 70px 28px 28px;

  background:
    linear-gradient(
      180deg,
      #f2f6fa 0%,
      #ffffff 100%
    );

  cursor: pointer;

  list-style: none;
}


.kazuaki-concept-expert-details > summary::-webkit-details-marker {
  display: none;
}


.kazuaki-concept-expert-details > summary::after {
  content: "+";

  position: absolute;

  top: 50%;
  right: 26px;

  width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  transform: translateY(-50%);

  background: #17365f;

  border-radius: 50%;

  color: #ffffff;

  font-size: 25px;
  font-weight: 400;
}


.kazuaki-concept-expert-details[open] > summary::after {
  content: "−";
}


.kazuaki-concept-expert-details[open] > summary {
  border-bottom: 1px solid #dfe6ed;
}


.kazuaki-concept-expert-details > summary > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-concept-expert-details > summary > strong {
  display: block;

  color: #102847;

  font-size: 21px;
  font-weight: 800;

  line-height: 1.55;
}


.kazuaki-concept-expert-details > summary > small {
  display: block;

  margin-top: 6px;

  color: #626b74;

  font-size: 13px;
}


/* ========================================
   専門内容
======================================== */

.kazuaki-concept-expert-content {
  padding: 34px 32px 40px;
}


.kazuaki-concept-expert-notice {
  margin-bottom: 36px;
  padding: 20px 22px;

  background: #fbfaf7;

  border: 1px solid #e4ddcf;
  border-radius: 14px;
}


.kazuaki-concept-expert-notice > strong {
  display: block;

  margin-bottom: 7px;

  color: #6f5731;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-concept-expert-notice p {
  margin: 0 0 8px !important;

  color: #555b61;

  font-size: 14px;

  line-height: 1.9;
}


.kazuaki-concept-expert-notice p:last-child {
  margin-bottom: 0 !important;
}


.kazuaki-concept-page .kazuaki-concept-expert-content h2 {
  margin: 44px 0 18px !important;
  padding: 12px 15px !important;

  background: #f2f6fa !important;

  border: none !important;
  border-left: 5px solid #17365f !important;
  border-radius: 0 9px 9px 0;

  color: #102847 !important;

  font-size: 21px !important;

  text-align: left !important;
}


.kazuaki-concept-page .kazuaki-concept-expert-content h2:first-of-type {
  margin-top: 0 !important;
}


.kazuaki-concept-expert-content > p {
  margin: 0 0 17px !important;

  color: #454e56;

  line-height: 2;
}


/* ========================================
   テクニック一覧
======================================== */

.kazuaki-concept-tech-list {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 9px;

  margin: 22px 0 28px;
}


.kazuaki-concept-tech-list span {
  display: flex;

  align-items: center;
  justify-content: center;

  min-height: 54px;

  padding: 9px 10px;

  background: #f6f8fa;

  border: 1px solid #dfe5eb;
  border-radius: 10px;

  color: #17365f;

  font-size: 13px;
  font-weight: 700;

  text-align: center;
}


/* ========================================
   関連記事
======================================== */

.kazuaki-concept-related {
  margin-top: 40px;
  padding: 22px;

  background: #f6f8fa;

  border-radius: 15px;
}


.kazuaki-concept-related h3 {
  margin: 0 0 14px !important;
  padding: 0 !important;

  border: none !important;

  color: #102847 !important;

  font-size: 18px !important;
}


.kazuaki-concept-related a,
.kazuaki-concept-related a:link,
.kazuaki-concept-related a:visited {
  position: relative;

  display: block;

  margin-bottom: 8px;
  padding: 12px 38px 12px 14px;

  background: #ffffff;

  border: 1px solid #dfe5eb;
  border-radius: 10px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 700;

  text-decoration: none !important;
}


.kazuaki-concept-related a::after {
  content: "›";

  position: absolute;

  top: 50%;
  right: 15px;

  transform: translateY(-50%);

  color: #b98a38;

  font-size: 22px;
}


.kazuaki-concept-related a:last-child {
  margin-bottom: 0;
}


/* ========================================
   13 最終CTA
======================================== */

.kazuaki-concept-page .kazuaki-subpage-cta {
  margin: 68px 0 28px;

  padding: 38px 30px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cad8e5;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.07);
}


.kazuaki-concept-page .kazuaki-subpage-cta-small {
  margin: 0 0 7px !important;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  text-align: center;
}


.kazuaki-concept-page .kazuaki-subpage-cta h2 {
  margin: 0 0 15px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 27px !important;
  line-height: 1.55;

  text-align: center !important;
}


.kazuaki-concept-page .kazuaki-subpage-cta > p {
  max-width: 680px;

  margin: 0 auto 18px !important;

  color: #535d66;

  text-align: center;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 900px) {

  .kazuaki-concept-three-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .kazuaki-concept-page {
    font-size: 16px;
    line-height: 1.95;
  }


  /* ファーストビュー */

  .kazuaki-concept-lead {
    margin-bottom: 26px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-concept-eyebrow {
    font-size: 11px;
  }


  .kazuaki-concept-lead h2 {
    font-size: 24px !important;
  }


  .kazuaki-concept-lead-main {
    font-size: 16px;

    text-align: left;
  }


  .kazuaki-concept-lead p:not(.kazuaki-concept-eyebrow) {
    text-align: left;
  }


  .kazuaki-concept-main-photo {
    margin: 22px auto 44px;

    border-radius: 14px;
  }


  /* セクション */

  .kazuaki-concept-section {
    margin: 48px 0;
  }


  .kazuaki-concept-soft,
  .kazuaki-concept-goal,
  .kazuaki-concept-frequency {
    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-concept-page .kazuaki-sub-heading {
    margin-bottom: 21px;
  }


  .kazuaki-concept-page .kazuaki-sub-heading h2 {
    font-size: 23px !important;
  }


  .kazuaki-concept-page .kazuaki-sub-heading > span {
    font-size: 11px;
  }


  .kazuaki-concept-section > p {
    font-size: 15px;

    text-align: left;
  }


  /* 3つ */

  .kazuaki-concept-three-grid {
    grid-template-columns: 1fr;

    gap: 10px;
  }


  .kazuaki-concept-three-card {
    min-height: 0;

    padding: 20px 16px;
  }


  .kazuaki-concept-three-card > strong {
    font-size: 25px;
  }


  .kazuaki-concept-three-card h3 {
    font-size: 17px !important;
  }


  /* ハイライト */

  .kazuaki-concept-highlight {
    padding: 18px 15px;
  }


  .kazuaki-concept-highlight p {
    font-size: 15px;

    text-align: left;
  }


  /* 流れ */

  .kazuaki-concept-flow-grid {
    grid-template-columns: 1fr;

    gap: 12px;
  }


  .kazuaki-concept-flow-card h3 {
    font-size: 17px !important;
  }


  /* 紺背景 */

  .kazuaki-concept-navy {
    padding: 30px 14px;

    border-radius: 18px;
  }


  .kazuaki-concept-navy > p {
    font-size: 15px;

    text-align: left;
  }


  .kazuaki-concept-tech-points {
    grid-template-columns: 1fr;

    gap: 7px;
  }


  .kazuaki-concept-tech-points > div {
    min-height: 82px;
  }


  /* 目標 */

  .kazuaki-concept-goal-grid {
    grid-template-columns: 1fr;

    gap: 8px;
  }


  .kazuaki-concept-goal-grid > div {
    min-height: 92px;
  }


  /* 施術内容 */

  .kazuaki-concept-treatment-grid {
    grid-template-columns: 1fr;

    gap: 10px;
  }


  .kazuaki-concept-treatment-card {
    padding: 20px 15px;
  }


  /* 安全面 */

  .kazuaki-concept-safety {
    padding: 18px 15px;
  }


  .kazuaki-concept-safety p {
    font-size: 14px;
  }


  /* ボタン */

  .kazuaki-concept-page .kazuaki-center-cta {
    display: block;
  }


  .kazuaki-concept-page .kazuaki-outline-btn {
    width: 100%;
    min-width: 0;

    margin: 6px 0;
  }


  /* 専門折りたたみ */

  .kazuaki-concept-expert {
    margin: 52px 0;
  }


  .kazuaki-concept-expert-details {
    border-radius: 17px;
  }


  .kazuaki-concept-expert-details > summary {
    padding: 22px 55px 22px 16px;
  }


  .kazuaki-concept-expert-details > summary::after {
    right: 14px;

    width: 32px;
    height: 32px;

    font-size: 21px;
  }


  .kazuaki-concept-expert-details > summary > strong {
    font-size: 17px;
  }


  .kazuaki-concept-expert-details > summary > span {
    font-size: 11px;
  }


  .kazuaki-concept-expert-details > summary > small {
    font-size: 12px;
  }


  .kazuaki-concept-expert-content {
    padding: 25px 14px 30px;
  }


  .kazuaki-concept-expert-notice {
    padding: 17px 15px;

    margin-bottom: 28px;
  }


  .kazuaki-concept-page .kazuaki-concept-expert-content h2 {
    margin: 36px 0 15px !important;

    padding: 11px 12px !important;

    font-size: 19px !important;
  }


  .kazuaki-concept-tech-list {
    grid-template-columns: 1fr;
  }


  .kazuaki-concept-related {
    padding: 17px 12px;
  }


  .kazuaki-concept-related h3 {
    font-size: 17px !important;
  }


  .kazuaki-concept-related a {
    font-size: 13px;
  }


  /* 最終CTA */

  .kazuaki-concept-page .kazuaki-subpage-cta {
    margin: 50px 0 24px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-concept-page .kazuaki-subpage-cta h2 {
    font-size: 22px !important;
  }


  .kazuaki-concept-page .kazuaki-subpage-cta > p {
    font-size: 15px;

    text-align: left;
  }

}


/* =========================================================
   小さいスマホ
========================================================= */

@media screen and (max-width: 420px) {

  .kazuaki-concept-lead h2 {
    font-size: 22px !important;
  }


  .kazuaki-concept-page .kazuaki-sub-heading h2 {
    font-size: 21px !important;
  }


  .kazuaki-concept-expert-details > summary > strong {
    font-size: 16px;
  }

}





/* =========================================================
   院長紹介ページ専用CSS
   /free/inchoushoukai
   かずあき鍼灸整骨院
   2026-08
========================================================= */


/* ========================================
   ページ全体
======================================== */

.kazuaki-director-page {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;

  color: #343a40;

  font-size: 16px;
  line-height: 1.95;
}


/* ========================================
   01 院長ファーストビュー
======================================== */

.kazuaki-director-hero {
  margin: 0 0 60px;
  padding: 42px 38px;

  background:
    radial-gradient(
      circle at 90% 8%,
      rgba(185, 138, 56, 0.12),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 24px;

  box-shadow:
    0 9px 28px rgba(20, 44, 70, 0.07);
}


.kazuaki-director-eyebrow {
  margin: 0 0 5px !important;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.16em;

  text-align: center;
}


.kazuaki-director-hero > h2 {
  margin: 0 0 32px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 32px !important;
  line-height: 1.5;

  text-align: center !important;
}


/* ========================================
   院長写真＋プロフィール
======================================== */

.kazuaki-director-hero-grid {
  display: grid;

  grid-template-columns:
    minmax(260px, 0.9fr)
    minmax(0, 1.2fr);

  gap: 36px;

  align-items: center;
}


.kazuaki-director-main-photo {
  width: 100%;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 18px;

  box-shadow:
    0 8px 24px rgba(20, 44, 70, 0.09);
}


.kazuaki-director-main-photo a {
  display: block;

  text-decoration: none !important;
}


.kazuaki-director-main-photo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


/* ========================================
   院長プロフィール右側
======================================== */

.kazuaki-director-hero-body {
  text-align: left;
}


.kazuaki-director-position {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.04em;
}


.kazuaki-director-hero-body h3 {
  margin: 0 0 4px !important;
  padding: 0 !important;

  border: none !important;

  color: #102847 !important;

  font-size: 31px !important;
  line-height: 1.4;

  font-weight: 800;
}


.kazuaki-director-license-main {
  margin: 0 0 18px !important;

  color: #17365f;

  font-size: 17px;
  font-weight: 800;
}


.kazuaki-director-hero-body > p:not(.kazuaki-director-license-main) {
  margin: 0 0 20px !important;

  color: #505a63;

  line-height: 1.9;
}


/* ========================================
   2007・2010・臨床経験・研鑽
======================================== */

.kazuaki-director-trust-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 9px;
}


.kazuaki-director-trust-grid > div {
  min-height: 88px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 12px 8px;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 12px;

  text-align: center;
}


.kazuaki-director-trust-grid strong {
  display: block;

  margin-bottom: 2px;

  color: #17365f;

  font-size: 17px;
  font-weight: 800;
}


.kazuaki-director-trust-grid span {
  color: #68727b;

  font-size: 11px;
  line-height: 1.5;
}


/* ========================================
   共通セクション
======================================== */

.kazuaki-director-section {
  margin: 64px 0;
}


.kazuaki-director-section > p {
  max-width: 780px;

  margin: 0 auto 18px !important;

  color: #454e56;

  line-height: 2;
}


/* ========================================
   共通見出し
======================================== */

.kazuaki-director-page .kazuaki-sub-heading {
  margin: 0 0 28px;

  text-align: center;
}


.kazuaki-director-page .kazuaki-sub-heading > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.13em;
}


.kazuaki-director-page .kazuaki-sub-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 28px !important;
  line-height: 1.55;

  text-align: center !important;
}


/* ========================================
   02 院長メッセージ
======================================== */

.kazuaki-director-message {
  padding: 40px 36px;

  background: #f6f8fa;

  border: 1px solid #e2e8ed;
  border-radius: 22px;
}


/* ========================================
   03 プロフィール表
======================================== */

.kazuaki-director-profile {
  max-width: 760px;

  margin: 0 auto;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 17px;

  box-shadow:
    0 5px 18px rgba(20, 44, 70, 0.05);
}


.kazuaki-director-profile-row {
  display: grid;

  grid-template-columns:
    150px minmax(0, 1fr);

  border-bottom: 1px solid #e6ebef;
}


.kazuaki-director-profile-row:last-child {
  border-bottom: none;
}


.kazuaki-director-profile-row dt,
.kazuaki-director-profile-row dd {
  margin: 0;
  padding: 16px 18px;
}


.kazuaki-director-profile-row dt {
  display: flex;

  align-items: center;

  background: #f6f8fa;

  color: #17365f;

  font-size: 14px;
  font-weight: 800;
}


.kazuaki-director-profile-row dd {
  color: #454e56;

  font-size: 15px;

  line-height: 1.8;
}


.kazuaki-director-profile-row dd small {
  display: block;

  margin-top: 2px;

  color: #737c84;

  font-size: 12px;
}


/* ========================================
   04 資格・学び
======================================== */

.kazuaki-director-study {
  padding: 42px 36px;

  background:
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dae4ed;
  border-radius: 22px;
}


.kazuaki-director-history-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 12px;

  margin: 0 0 30px;
}


.kazuaki-director-history-card {
  min-height: 125px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 18px 12px;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 15px;

  text-align: center;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.04);
}


.kazuaki-director-history-card > span {
  display: block;

  margin-bottom: 6px;

  color: #b98a38;

  font-size: 21px;
  font-weight: 800;
}


.kazuaki-director-history-card > strong {
  color: #17365f;

  font-size: 14px;
  font-weight: 800;

  line-height: 1.6;
}


/* ========================================
   師匠・研修写真
======================================== */

.kazuaki-director-study-photo {
  width: 100%;
  max-width: 680px;

  margin: 30px auto 0;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 16px;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.06);
}


.kazuaki-director-study-photo a {
  display: block;

  text-decoration: none !important;
}


.kazuaki-director-study-photo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


/* ========================================
   テキストリンク
======================================== */

.kazuaki-director-page .kazuaki-text-link-wrap {
  margin-top: 24px;

  text-align: center;
}


.kazuaki-director-page .kazuaki-text-link,
.kazuaki-director-page .kazuaki-text-link:link,
.kazuaki-director-page .kazuaki-text-link:visited {
  color: #17365f !important;

  font-weight: 800;

  text-decoration: underline !important;

  text-underline-offset: 3px;
}


/* ========================================
   05 現在の施術スタイル
======================================== */

.kazuaki-director-style {
  padding: 44px 36px;

  background:
    linear-gradient(
      150deg,
      #102847 0%,
      #17365f 100%
    );

  border-radius: 23px;

  box-shadow:
    0 9px 26px rgba(20, 44, 70, 0.12);
}


.kazuaki-director-style .kazuaki-sub-heading > span {
  color: #e4c67d;
}


.kazuaki-director-style .kazuaki-sub-heading h2 {
  color: #ffffff !important;
}


.kazuaki-director-style > p {
  color: #ffffff;

  text-align: center;
}


/* ========================================
   紺背景内ボタン
======================================== */

.kazuaki-director-style .kazuaki-center-cta {
  margin-top: 28px;
}


.kazuaki-director-style .kazuaki-outline-btn,
.kazuaki-director-style .kazuaki-outline-btn:link,
.kazuaki-director-style .kazuaki-outline-btn:visited {
  background: #ffffff;

  border-color: #ffffff;

  color: #17365f !important;
}


/* ========================================
   共通ボタン
======================================== */

.kazuaki-director-page .kazuaki-center-cta {
  display: flex;

  justify-content: center;

  gap: 12px;

  flex-wrap: wrap;

  margin-top: 27px;
}


.kazuaki-director-page .kazuaki-outline-btn,
.kazuaki-director-page .kazuaki-outline-btn:link,
.kazuaki-director-page .kazuaki-outline-btn:visited {
  min-width: 230px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 13px 18px;

  background: #ffffff;

  border: 1px solid #a7b9c9;
  border-radius: 12px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 800;

  text-align: center;
  text-decoration: none !important;

  transition: 0.18s ease;
}


.kazuaki-director-page .kazuaki-outline-btn:hover {
  transform: translateY(-1px);

  background: #edf4fa;
}


/* ========================================
   06 趣味
======================================== */

.kazuaki-director-hobby-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 12px;

  max-width: 760px;

  margin: 0 auto;
}


.kazuaki-director-hobby-grid > div {
  min-height: 105px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 17px 14px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 14px;

  text-align: center;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.04);
}


.kazuaki-director-hobby-grid strong {
  color: #17365f;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-director-hobby-grid span {
  margin-top: 4px;

  color: #68717a;

  font-size: 12px;

  line-height: 1.6;
}


/* =========================================================
   07 これまでの歩み 折りたたみ
========================================================= */

.kazuaki-director-story {
  margin: 72px 0;
}


.kazuaki-director-story-details {
  overflow: hidden;

  background: #ffffff;

  border: 1px solid #ced9e3;
  border-radius: 20px;

  box-shadow:
    0 7px 24px rgba(20, 44, 70, 0.07);
}


/* ========================================
   折りたたみ見出し
======================================== */

.kazuaki-director-story-details > summary {
  position: relative;

  display: block;

  padding: 28px 72px 28px 28px;

  background:
    linear-gradient(
      180deg,
      #f2f6fa 0%,
      #ffffff 100%
    );

  cursor: pointer;

  list-style: none;
}


.kazuaki-director-story-details > summary::-webkit-details-marker {
  display: none;
}


.kazuaki-director-story-details > summary::after {
  content: "+";

  position: absolute;

  top: 50%;
  right: 27px;

  width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  transform: translateY(-50%);

  background: #17365f;

  border-radius: 50%;

  color: #ffffff;

  font-size: 25px;
  font-weight: 400;

  line-height: 1;
}


.kazuaki-director-story-details[open] > summary::after {
  content: "−";
}


.kazuaki-director-story-details[open] > summary {
  border-bottom: 1px solid #dfe6ed;
}


.kazuaki-director-story-details > summary > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.12em;
}


.kazuaki-director-story-details > summary > strong {
  display: block;

  color: #102847;

  font-size: 22px;
  font-weight: 800;

  line-height: 1.5;
}


.kazuaki-director-story-details > summary > small {
  display: block;

  margin-top: 5px;

  color: #66717a;

  font-size: 13px;
}


/* ========================================
   ストーリー本文
======================================== */

.kazuaki-director-story-content {
  padding: 36px 34px 42px;
}


.kazuaki-director-page .kazuaki-director-story-content h2 {
  margin: 50px 0 20px !important;
  padding: 12px 16px !important;

  background: #f2f6fa !important;

  border: none !important;
  border-left: 5px solid #17365f !important;
  border-radius: 0 9px 9px 0;

  color: #102847 !important;

  font-size: 21px !important;
  line-height: 1.55;

  text-align: left !important;
}


.kazuaki-director-page .kazuaki-director-story-content h2:first-child {
  margin-top: 0 !important;
}


.kazuaki-director-story-content > p {
  max-width: 760px;

  margin: 0 auto 18px !important;

  color: #454e56;

  line-height: 2;
}


/* ========================================
   ストーリー内のリンク
======================================== */

.kazuaki-director-story-content .kazuaki-text-link-wrap {
  margin: 28px 0;
}


/* ========================================
   08 初めての方へ
======================================== */

.kazuaki-director-first {
  padding: 40px 36px;

  background:
    linear-gradient(
      180deg,
      #fbf7ed 0%,
      #ffffff 100%
    );

  border: 1px solid #eadfc6;
  border-radius: 22px;
}


/* ========================================
   09 最終CTA
======================================== */

.kazuaki-director-page .kazuaki-subpage-cta {
  margin: 68px 0 28px;

  padding: 38px 30px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cad8e5;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.07);
}


.kazuaki-director-page .kazuaki-subpage-cta-small {
  margin: 0 0 7px !important;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.04em;

  text-align: center;
}


.kazuaki-director-page .kazuaki-subpage-cta h2 {
  margin: 0 0 15px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 27px !important;
  line-height: 1.55;

  text-align: center !important;
}


.kazuaki-director-page .kazuaki-subpage-cta > p {
  max-width: 680px;

  margin: 0 auto 18px !important;

  color: #535d66;

  text-align: center;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 900px) {

  .kazuaki-director-hero-grid {
    grid-template-columns:
      minmax(220px, 0.8fr)
      minmax(0, 1.2fr);

    gap: 25px;
  }


  .kazuaki-director-history-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .kazuaki-director-page {
    font-size: 16px;
    line-height: 1.95;
  }


  /* ----------------------
     ファーストビュー
  ---------------------- */

  .kazuaki-director-hero {
    margin-bottom: 46px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-director-eyebrow {
    font-size: 11px;
  }


  .kazuaki-director-hero > h2 {
    margin-bottom: 23px !important;

    font-size: 24px !important;
  }


  .kazuaki-director-hero-grid {
    grid-template-columns: 1fr;

    gap: 23px;
  }


  .kazuaki-director-main-photo {
    max-width: 420px;

    margin: 0 auto;

    border-radius: 14px;
  }


  .kazuaki-director-hero-body {
    text-align: center;
  }


  .kazuaki-director-position {
    font-size: 12px;
  }


  .kazuaki-director-hero-body h3 {
    font-size: 27px !important;
  }


  .kazuaki-director-license-main {
    font-size: 16px;
  }


  .kazuaki-director-hero-body > p:not(.kazuaki-director-license-main) {
    font-size: 15px;

    text-align: left;
  }


  .kazuaki-director-trust-grid {
    gap: 7px;
  }


  .kazuaki-director-trust-grid > div {
    min-height: 82px;

    padding: 10px 4px;
  }


  .kazuaki-director-trust-grid strong {
    font-size: 15px;
  }


  .kazuaki-director-trust-grid span {
    font-size: 10px;
  }


  /* ----------------------
     セクション
  ---------------------- */

  .kazuaki-director-section {
    margin: 48px 0;
  }


  .kazuaki-director-page .kazuaki-sub-heading {
    margin-bottom: 21px;
  }


  .kazuaki-director-page .kazuaki-sub-heading h2 {
    font-size: 23px !important;
  }


  .kazuaki-director-page .kazuaki-sub-heading > span {
    font-size: 11px;
  }


  .kazuaki-director-section > p {
    font-size: 15px;

    text-align: left;
  }


  /* メッセージ */

  .kazuaki-director-message,
  .kazuaki-director-study,
  .kazuaki-director-first {
    padding: 28px 14px;

    border-radius: 18px;
  }


  /* ----------------------
     プロフィール
  ---------------------- */

  .kazuaki-director-profile-row {
    grid-template-columns: 105px minmax(0, 1fr);
  }


  .kazuaki-director-profile-row dt,
  .kazuaki-director-profile-row dd {
    padding: 13px 10px;
  }


  .kazuaki-director-profile-row dt {
    font-size: 12px;
  }


  .kazuaki-director-profile-row dd {
    font-size: 14px;
  }


  /* ----------------------
     経歴カード
  ---------------------- */

  .kazuaki-director-history-grid {
    grid-template-columns: 1fr;

    gap: 8px;
  }


  .kazuaki-director-history-card {
    min-height: 95px;

    padding: 14px 10px;
  }


  .kazuaki-director-history-card > span {
    font-size: 19px;
  }


  /* 写真 */

  .kazuaki-director-study-photo {
    border-radius: 14px;
  }


  /* ----------------------
     現在の施術スタイル
  ---------------------- */

  .kazuaki-director-style {
    padding: 30px 14px;

    border-radius: 18px;
  }


  .kazuaki-director-style > p {
    font-size: 15px;

    text-align: left;
  }


  /* ----------------------
     ボタン
  ---------------------- */

  .kazuaki-director-page .kazuaki-center-cta {
    display: block;
  }


  .kazuaki-director-page .kazuaki-outline-btn {
    width: 100%;
    min-width: 0;

    margin: 6px 0;
  }


  /* ----------------------
     趣味
  ---------------------- */

  .kazuaki-director-hobby-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 7px;
  }


  .kazuaki-director-hobby-grid > div {
    min-height: 90px;

    padding: 12px 7px;
  }


  .kazuaki-director-hobby-grid strong {
    font-size: 14px;
  }


  .kazuaki-director-hobby-grid span {
    font-size: 10px;
  }


  /* ----------------------
     ストーリー折りたたみ
  ---------------------- */

  .kazuaki-director-story {
    margin: 52px 0;
  }


  .kazuaki-director-story-details {
    border-radius: 17px;
  }


  .kazuaki-director-story-details > summary {
    padding: 22px 55px 22px 16px;
  }


  .kazuaki-director-story-details > summary::after {
    right: 14px;

    width: 32px;
    height: 32px;

    font-size: 21px;
  }


  .kazuaki-director-story-details > summary > span {
    font-size: 10px;
  }


  .kazuaki-director-story-details > summary > strong {
    font-size: 18px;
  }


  .kazuaki-director-story-details > summary > small {
    font-size: 11px;
  }


  .kazuaki-director-story-content {
    padding: 25px 14px 30px;
  }


  .kazuaki-director-page .kazuaki-director-story-content h2 {
    margin: 38px 0 16px !important;

    padding: 11px 12px !important;

    font-size: 19px !important;
  }


  .kazuaki-director-story-content > p {
    font-size: 15px;
  }


  /* ----------------------
     最終CTA
  ---------------------- */

  .kazuaki-director-page .kazuaki-subpage-cta {
    margin: 50px 0 24px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-director-page .kazuaki-subpage-cta h2 {
    font-size: 22px !important;
  }


  .kazuaki-director-page .kazuaki-subpage-cta > p {
    font-size: 15px;

    text-align: left;
  }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media screen and (max-width: 420px) {

  .kazuaki-director-hero-body h3 {
    font-size: 25px !important;
  }


  .kazuaki-director-trust-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }


  .kazuaki-director-profile-row {
    grid-template-columns: 90px minmax(0, 1fr);
  }


  .kazuaki-director-hobby-grid {
    grid-template-columns: 1fr;
  }


  .kazuaki-director-hobby-grid > div {
    min-height: 78px;
  }


  .kazuaki-director-story-details > summary > strong {
    font-size: 17px;
  }

}





/* =========================================================
   初診時の流れページ専用CSS
   /free/nagare
   かずあき鍼灸整骨院
   2026-08
========================================================= */


/* ========================================
   ページ全体
======================================== */

.kazuaki-flow-page {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;

  color: #343a40;

  font-size: 16px;
  line-height: 1.95;
}


/* ========================================
   01 ファーストビュー
======================================== */

.kazuaki-flow-lead {
  margin: 0 0 58px;
  padding: 40px 34px;

  background:
    radial-gradient(
      circle at 88% 10%,
      rgba(185, 138, 56, 0.10),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 24px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.06);
}


.kazuaki-flow-eyebrow {
  display: inline-block;

  margin: 0 0 13px !important;
  padding: 6px 14px;

  background: #ffffff;

  border: 1px solid #cbd8e4;
  border-radius: 999px;

  color: #17365f;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.05em;
}


.kazuaki-flow-lead h2 {
  margin: 0 0 17px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 32px !important;
  line-height: 1.5;

  text-align: center !important;
}


.kazuaki-flow-lead-main {
  max-width: 720px;

  margin: 0 auto 16px !important;

  color: #17365f;

  font-size: 18px;
  font-weight: 700;

  line-height: 1.9;

  text-align: center;
}


.kazuaki-flow-lead p:not(.kazuaki-flow-eyebrow):not(.kazuaki-flow-lead-main) {
  max-width: 720px;

  margin: 0 auto 10px !important;

  color: #515b65;

  text-align: center;
}


/* ========================================
   初回の3ポイント
======================================== */

.kazuaki-flow-quick-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 10px;

  max-width: 720px;

  margin: 28px auto 0;
}


.kazuaki-flow-quick-grid > div {
  min-height: 95px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 13px 8px;

  background: #ffffff;

  border: 1px solid #dce4eb;
  border-radius: 13px;

  text-align: center;
}


.kazuaki-flow-quick-grid strong {
  display: block;

  color: #17365f;

  font-size: 17px;
  font-weight: 800;
}


.kazuaki-flow-quick-grid span {
  margin-top: 3px;

  color: #69727b;

  font-size: 11px;
  line-height: 1.5;
}


/* ========================================
   共通セクション
======================================== */

.kazuaki-flow-page-section {
  margin: 64px 0;
}


.kazuaki-flow-page-section > p {
  max-width: 780px;

  margin: 0 auto 18px !important;

  color: #454e56;

  line-height: 2;
}


/* ========================================
   共通見出し
======================================== */

.kazuaki-flow-page .kazuaki-sub-heading {
  margin: 0 0 28px;

  text-align: center;
}


.kazuaki-flow-page .kazuaki-sub-heading > span {
  display: block;

  margin-bottom: 5px;

  color: #b98a38;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.13em;
}


.kazuaki-flow-page .kazuaki-sub-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 28px !important;
  line-height: 1.5;

  text-align: center !important;
}


/* ========================================
   02 5ステップ一覧
======================================== */

.kazuaki-flow-summary-grid {
  display: grid;

  grid-template-columns:
    repeat(5, minmax(0, 1fr));

  gap: 9px;
}


.kazuaki-flow-summary-grid > div {
  min-height: 118px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 14px 8px;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 14px;

  text-align: center;

  box-shadow:
    0 4px 14px rgba(20, 44, 70, 0.04);
}


.kazuaki-flow-summary-grid strong {
  margin-bottom: 5px;

  color: #b98a38;

  font-size: 25px;
  font-weight: 800;
}


.kazuaki-flow-summary-grid span {
  color: #17365f;

  font-size: 13px;
  font-weight: 800;

  line-height: 1.55;
}


/* ========================================
   STEPセクション
======================================== */

.kazuaki-flow-step-section {
  padding: 42px 36px;

  background: #ffffff;

  border: 1px solid #e0e6eb;
  border-radius: 22px;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.05);
}


.kazuaki-flow-soft {
  background: #f6f8fa;
}


/* ========================================
   STEP見出し
======================================== */

.kazuaki-flow-step-heading {
  margin: 0 0 28px;

  text-align: center;
}


.kazuaki-flow-step-number {
  display: inline-block;

  margin-bottom: 7px;
  padding: 5px 13px;

  background: #17365f;

  border-radius: 999px;

  color: #ffffff;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.08em;
}


.kazuaki-flow-step-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 27px !important;
  line-height: 1.5;

  text-align: center !important;
}


/* ========================================
   STEP内H3
======================================== */

.kazuaki-flow-step-section h3 {
  max-width: 780px;

  margin: 35px auto 13px !important;
  padding: 0 0 9px !important;

  background: none !important;

  border: none !important;
  border-bottom: 1px solid #dbe4ec !important;

  color: #17365f !important;

  font-size: 20px !important;
  line-height: 1.55;
}


/* ========================================
   2列写真
======================================== */

.kazuaki-flow-photo-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 14px;

  max-width: 780px;

  margin: 28px auto;
}


.kazuaki-flow-photo-grid figure {
  margin: 0 !important;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 15px;

  box-shadow:
    0 4px 15px rgba(20, 44, 70, 0.05);
}


.kazuaki-flow-photo-grid figure a {
  display: block;

  text-decoration: none !important;
}


.kazuaki-flow-photo-grid img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


.kazuaki-flow-photo-grid figcaption {
  padding: 9px 10px;

  background: #f6f8fa;

  color: #626b74;

  font-size: 12px;

  text-align: center;
}


/* ========================================
   3列写真
======================================== */

.kazuaki-flow-photo-grid-three {
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
}


/* ========================================
   大きな1枚写真
======================================== */

.kazuaki-flow-wide-photo {
  width: 100%;
  max-width: 720px;

  margin: 28px auto 32px;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 17px;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.07);
}


.kazuaki-flow-wide-photo a {
  display: block;

  text-decoration: none !important;
}


.kazuaki-flow-wide-photo img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 !important;

  border-radius: 0 !important;
}


/* ========================================
   更衣室案内
======================================== */

.kazuaki-flow-change-box {
  max-width: 720px;

  margin: 30px auto;
  padding: 20px 22px;

  background: #fbf7ed;

  border: 1px solid #eadfc6;
  border-radius: 14px;
}


.kazuaki-flow-change-box > strong {
  display: block;

  margin-bottom: 6px;

  color: #6e5730;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-flow-change-box p {
  margin: 0 !important;

  color: #535b62;

  font-size: 14px;

  line-height: 1.85;
}


/* ========================================
   検査詳細 折りたたみ
======================================== */

.kazuaki-flow-exam-details {
  max-width: 760px;

  margin: 34px auto 0;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid #ced9e3;
  border-radius: 15px;
}


.kazuaki-flow-exam-details > summary {
  position: relative;

  padding: 17px 50px 17px 18px;

  color: #17365f;

  font-size: 15px;
  font-weight: 800;

  cursor: pointer;

  list-style: none;
}


.kazuaki-flow-exam-details > summary::-webkit-details-marker {
  display: none;
}


.kazuaki-flow-exam-details > summary::after {
  content: "+";

  position: absolute;

  top: 50%;
  right: 18px;

  transform: translateY(-50%);

  color: #17365f;

  font-size: 24px;
}


.kazuaki-flow-exam-details[open] > summary::after {
  content: "−";
}


.kazuaki-flow-exam-details[open] > summary {
  border-bottom: 1px solid #dfe6ed;
}


.kazuaki-flow-exam-content {
  padding: 20px 22px;
}


.kazuaki-flow-exam-content p {
  margin: 0 0 13px !important;

  color: #535d66;

  font-size: 14px;

  line-height: 1.85;
}


.kazuaki-flow-exam-content ul {
  margin: 15px 0 !important;
  padding: 0 !important;

  list-style: none !important;
}


.kazuaki-flow-exam-content li {
  position: relative;

  margin: 0 !important;
  padding: 8px 0 8px 27px !important;

  color: #4d565e;

  line-height: 1.75;
}


.kazuaki-flow-exam-content li::before {
  content: "✓";

  position: absolute;
  left: 2px;

  color: #b98a38;

  font-weight: 800;
}


/* ========================================
   テキストリンク
======================================== */

.kazuaki-flow-page .kazuaki-text-link-wrap {
  margin-top: 25px;

  text-align: center;
}


.kazuaki-flow-page .kazuaki-text-link,
.kazuaki-flow-page .kazuaki-text-link:link,
.kazuaki-flow-page .kazuaki-text-link:visited {
  color: #17365f !important;

  font-weight: 800;

  text-decoration: underline !important;

  text-underline-offset: 3px;
}


/* ========================================
   次回予約を強要しない
======================================== */

.kazuaki-flow-no-pressure {
  max-width: 720px;

  margin: 26px auto 34px;
  padding: 20px 22px;

  background: #edf4fa;

  border: 1px solid #cbdbe8;
  border-radius: 14px;

  text-align: center;
}


.kazuaki-flow-no-pressure > strong {
  display: block;

  margin-bottom: 5px;

  color: #17365f;

  font-size: 17px;
  font-weight: 800;
}


.kazuaki-flow-no-pressure p {
  margin: 0 !important;

  color: #535d66;

  font-size: 14px;
}


/* ========================================
   初回料金
======================================== */

.kazuaki-flow-price-guide {
  margin: 66px 0;
  padding: 40px 32px;

  background:
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #ffffff 100%
    );

  border: 1px solid #dce5ed;
  border-radius: 22px;

  text-align: center;
}


.kazuaki-flow-price-card {
  max-width: 500px;

  margin: 0 auto 25px;
  padding: 26px 20px;

  background: #ffffff;

  border: 2px solid #b98a38;
  border-radius: 18px;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.06);
}


.kazuaki-flow-price-card > span {
  display: block;

  margin-bottom: 5px;

  color: #17365f;

  font-size: 13px;
  font-weight: 800;
}


.kazuaki-flow-price-card > strong {
  color: #102847;

  font-size: 43px;
  font-weight: 800;
}


.kazuaki-flow-price-card > small {
  margin-left: 5px;

  color: #5f6871;

  font-size: 13px;
}


.kazuaki-flow-price-card p {
  margin: 8px 0 0 !important;

  color: #626b74;

  font-size: 13px;
}


/* ========================================
   ボタン
======================================== */

.kazuaki-flow-page .kazuaki-center-cta {
  display: flex;

  justify-content: center;

  gap: 12px;

  flex-wrap: wrap;

  margin-top: 25px;
}


.kazuaki-flow-page .kazuaki-outline-btn,
.kazuaki-flow-page .kazuaki-outline-btn:link,
.kazuaki-flow-page .kazuaki-outline-btn:visited {
  min-width: 230px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 13px 18px;

  background: #ffffff;

  border: 1px solid #a7b9c9;
  border-radius: 12px;

  color: #17365f !important;

  font-size: 14px;
  font-weight: 800;

  text-decoration: none !important;
}


.kazuaki-flow-page .kazuaki-outline-btn:hover {
  background: #edf4fa;
}


/* ========================================
   注意事項
======================================== */

.kazuaki-flow-notice {
  max-width: 780px;

  margin: 52px auto;
  padding: 22px 24px;

  background: #fbfaf7;

  border: 1px solid #e4ddcf;
  border-radius: 14px;
}


.kazuaki-flow-notice > strong {
  display: block;

  margin-bottom: 7px;

  color: #6f5731;

  font-size: 16px;
  font-weight: 800;
}


.kazuaki-flow-notice p {
  margin: 0 0 8px !important;

  color: #555b61;

  font-size: 14px;

  line-height: 1.9;
}


.kazuaki-flow-notice p:last-child {
  margin-bottom: 0 !important;
}


/* ========================================
   最終CTA
======================================== */

.kazuaki-flow-page .kazuaki-subpage-cta {
  margin: 66px 0 28px;

  padding: 38px 30px;

  background:
    linear-gradient(
      180deg,
      #edf4fa 0%,
      #ffffff 100%
    );

  border: 1px solid #cad8e5;
  border-radius: 22px;

  text-align: center;

  box-shadow:
    0 8px 26px rgba(20, 44, 70, 0.07);
}


.kazuaki-flow-page .kazuaki-subpage-cta-small {
  margin: 0 0 7px !important;

  color: #b98a38;

  font-size: 13px;
  font-weight: 800;

  letter-spacing: 0.04em;

  text-align: center;
}


.kazuaki-flow-page .kazuaki-subpage-cta h2 {
  margin: 0 0 15px !important;
  padding: 0 !important;

  background: none !important;
  border: none !important;

  color: #102847 !important;

  font-size: 27px !important;
  line-height: 1.55;

  text-align: center !important;
}


.kazuaki-flow-page .kazuaki-subpage-cta > p {
  max-width: 680px;

  margin: 0 auto 18px !important;

  color: #535d66;

  text-align: center;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 900px) {

  .kazuaki-flow-summary-grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }


  .kazuaki-flow-photo-grid-three {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .kazuaki-flow-page {
    font-size: 16px;

    line-height: 1.95;
  }


  /* ファーストビュー */

  .kazuaki-flow-lead {
    margin-bottom: 44px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-flow-eyebrow {
    font-size: 11px;
  }


  .kazuaki-flow-lead h2 {
    font-size: 24px !important;
  }


  .kazuaki-flow-lead-main {
    font-size: 16px;

    text-align: left;
  }


  .kazuaki-flow-lead p:not(.kazuaki-flow-eyebrow) {
    text-align: left;
  }


  /* 3ポイント */

  .kazuaki-flow-quick-grid {
    grid-template-columns: 1fr;

    gap: 7px;
  }


  .kazuaki-flow-quick-grid > div {
    min-height: 75px;
  }


  /* セクション */

  .kazuaki-flow-page-section {
    margin: 48px 0;
  }


  .kazuaki-flow-page .kazuaki-sub-heading {
    margin-bottom: 21px;
  }


  .kazuaki-flow-page .kazuaki-sub-heading h2 {
    font-size: 23px !important;
  }


  /* 5ステップ */

  .kazuaki-flow-summary-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 7px;
  }


  .kazuaki-flow-summary-grid > div {
    min-height: 95px;

    padding: 10px 5px;
  }


  .kazuaki-flow-summary-grid strong {
    font-size: 21px;
  }


  .kazuaki-flow-summary-grid span {
    font-size: 11px;
  }


  /* STEP */

  .kazuaki-flow-step-section {
    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-flow-step-heading {
    margin-bottom: 22px;
  }


  .kazuaki-flow-step-number {
    font-size: 11px;
  }


  .kazuaki-flow-step-heading h2 {
    font-size: 22px !important;
  }


  .kazuaki-flow-step-section > p {
    font-size: 15px;

    text-align: left;
  }


  .kazuaki-flow-step-section h3 {
    margin-top: 28px !important;

    font-size: 18px !important;
  }


  /* 写真 */

  .kazuaki-flow-photo-grid,
  .kazuaki-flow-photo-grid-three {
    grid-template-columns: 1fr;

    gap: 10px;
  }


  .kazuaki-flow-photo-grid figure {
    border-radius: 12px;
  }


  .kazuaki-flow-wide-photo {
    margin: 23px auto 27px;

    border-radius: 13px;
  }


  /* 更衣室 */

  .kazuaki-flow-change-box {
    padding: 17px 15px;
  }


  .kazuaki-flow-change-box > strong {
    font-size: 15px;
  }


  .kazuaki-flow-change-box p {
    font-size: 14px;
  }


  /* 詳細検査 */

  .kazuaki-flow-exam-details > summary {
    padding: 15px 43px 15px 14px;

    font-size: 14px;
  }


  .kazuaki-flow-exam-details > summary::after {
    right: 14px;
  }


  .kazuaki-flow-exam-content {
    padding: 17px 14px;
  }


  /* 強要なし */

  .kazuaki-flow-no-pressure {
    padding: 17px 14px;
  }


  .kazuaki-flow-no-pressure > strong {
    font-size: 15px;
  }


  /* 料金 */

  .kazuaki-flow-price-guide {
    margin: 50px 0;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-flow-price-card {
    padding: 22px 12px;
  }


  .kazuaki-flow-price-card > strong {
    font-size: 38px;
  }


  /* ボタン */

  .kazuaki-flow-page .kazuaki-center-cta {
    display: block;
  }


  .kazuaki-flow-page .kazuaki-outline-btn {
    width: 100%;
    min-width: 0;

    margin: 6px 0;
  }


  /* 注意事項 */

  .kazuaki-flow-notice {
    margin: 42px auto;

    padding: 18px 15px;
  }


  /* 最終CTA */

  .kazuaki-flow-page .kazuaki-subpage-cta {
    margin: 50px 0 24px;

    padding: 28px 14px;

    border-radius: 18px;
  }


  .kazuaki-flow-page .kazuaki-subpage-cta h2 {
    font-size: 22px !important;
  }


  .kazuaki-flow-page .kazuaki-subpage-cta > p {
    font-size: 15px;

    text-align: left;
  }

}


/* =========================================================
   小さいスマホ
========================================================= */

@media screen and (max-width: 420px) {

  .kazuaki-flow-summary-grid {
    grid-template-columns: 1fr;
  }


  .kazuaki-flow-summary-grid > div {
    min-height: 76px;
  }


  .kazuaki-flow-step-heading h2 {
    font-size: 21px !important;
  }


  .kazuaki-flow-price-card > strong {
    font-size: 35px;
  }

}




/* =========================================================
   店舗情報ページ /about 専用デザイン
   かずあき鍼灸整骨院
========================================================= */


/* ========================================
   ページ全体
======================================== */

.about_area {
  width: 100%;
  max-width: 920px;
  margin: 0 auto 60px;
  color: #343a40;
  font-size: 16px;
  line-height: 1.9;
}


/* ========================================
   Googleマップ
======================================== */

.about_area .map {
  width: 100%;
  margin: 0 0 40px;
  padding: 0;
  overflow: hidden;

  background: #ffffff;

  border: 1px solid #dfe6ed;
  border-radius: 20px;

  box-shadow:
    0 7px 24px rgba(20, 44, 70, 0.07);
}


.about_area .map iframe {
  display: block;

  width: 100% !important;
  max-width: 100% !important;
  min-height: 400px;

  margin: 0 !important;

  border: 0 !important;
}


/* ========================================
   店舗情報全体
======================================== */

.about_area .detail {
  width: 100%;
  margin: 0;
  padding: 32px;

  background:
    linear-gradient(
      180deg,
      #f7f9fb 0%,
      #ffffff 100%
    );

  border: 1px solid #dfe6ed;
  border-radius: 22px;

  box-shadow:
    0 7px 24px rgba(20, 44, 70, 0.06);
}


/* ========================================
   グーペ標準テーブル
======================================== */

.about_area .table_detail {
  width: 100% !important;
  margin: 0;

  background: #ffffff;

  border: 1px solid #dce4eb !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;

  border-radius: 16px;

  overflow: hidden;
}


/* 各行 */

.about_area .table_detail tr {
  background: #ffffff;
}


/* 左側項目 */

.about_area .table_detail th {
  width: 180px !important;

  padding: 16px 18px !important;

  background: #f1f5f8 !important;

  border: none !important;
  border-bottom: 1px solid #dfe6ed !important;

  color: #17365f !important;

  font-size: 14px !important;
  font-weight: 800 !important;

  line-height: 1.6;

  text-align: left !important;
  vertical-align: top !important;
}


/* 右側内容 */

.about_area .table_detail td {
  width: auto !important;

  padding: 16px 20px !important;

  background: #ffffff !important;

  border: none !important;
  border-bottom: 1px solid #e6ebef !important;

  color: #3f4850 !important;

  font-size: 15px !important;

  line-height: 1.8;

  vertical-align: top !important;
}


/* 最後の行 */

.about_area .table_detail tr:last-child th,
.about_area .table_detail tr:last-child td {
  border-bottom: none !important;
}


/* ========================================
   電話・リンク
======================================== */

.about_area .table_detail a,
.about_area .detail a {
  color: #17365f !important;

  font-weight: 700;

  text-decoration: underline !important;
  text-underline-offset: 3px;
}


.about_area .table_detail a[href^="tel:"] {
  display: inline-block;

  color: #17365f !important;

  font-size: 18px !important;
  font-weight: 800;

  text-decoration: none !important;
}


/* ========================================
   重要項目を少し目立たせる
======================================== */

/* 住所 */

.about_area .table_detail tr:nth-child(2) td {
  color: #102847 !important;
  font-weight: 700;
}


/* 電話 */

.about_area .table_detail tr:nth-child(5) td {
  color: #102847 !important;
  font-weight: 700;
}


/* 営業時間 */

.about_area .table_detail tr:nth-child(6) td {
  color: #102847 !important;
  font-weight: 700;
}


/* ========================================
   店舗情報下に余白
======================================== */

.about_area + * {
  margin-top: 40px;
}


/* =========================================================
   タブレット
========================================================= */

@media screen and (max-width: 900px) {

  .about_area .detail {
    padding: 24px;
  }

}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

  .about_area {
    font-size: 16px;
    line-height: 1.9;
  }


  /* Googleマップ */

  .about_area .map {
    margin-bottom: 30px;

    border-radius: 15px;
  }


  .about_area .map iframe {
    height: 330px !important;
    min-height: 330px !important;
  }


  /* 外側カード */

  .about_area .detail {
    padding: 13px;

    border-radius: 18px;
  }


  /* テーブルをスマホカード化 */

  .about_area .table_detail,
  .about_area .table_detail tbody {
    display: block;

    width: 100% !important;

    border: none !important;

    background: transparent;
  }


  .about_area .table_detail tr {
    display: block;

    width: 100%;

    margin-bottom: 10px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #dfe6ed;
    border-radius: 12px;
  }


  .about_area .table_detail th,
  .about_area .table_detail td {
    display: block;

    width: 100% !important;
  }


  .about_area .table_detail th {
    padding: 9px 13px !important;

    background: #edf3f8 !important;

    border: none !important;

    color: #17365f !important;

    font-size: 12px !important;

    text-align: left !important;
  }


  .about_area .table_detail td {
    padding: 12px 13px 14px !important;

    border: none !important;

    color: #3f4850 !important;

    font-size: 15px !important;

    line-height: 1.75;
  }


  .about_area .table_detail a[href^="tel:"] {
    font-size: 18px !important;
  }

}


/* =========================================================
   小さいスマホ
========================================================= */

@media screen and (max-width: 420px) {

  .about_area .detail {
    padding: 9px;
  }

}





.about_area .detail {
  position: relative;
}

.about_area .detail::before {
  content: "";
  display: block;

  width: 100%;
  max-width: 760px;

  aspect-ratio: 760 / 300;

  margin: 60px auto 36px;

  background-image: url("https://cdn.goope.jp/184360/260811001404-6a79eabc27d0e.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}




/* =========================================================
   店舗情報ページ
   営業時間画像 上余白調整
========================================================= */

.about_area .detail {
  padding-top: 16px !important;
}

.about_area .detail::before {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

  .about_area .detail {
    padding-top: 10px !important;
  }

  .about_area .detail::before {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
  }

}




<script>
document.addEventListener("DOMContentLoaded", function () {

  /* /about 以外では動作させない */
  if (window.location.pathname !== "/about") {
    return;
  }


  var table = document.querySelector(".about_area .table_detail");

  if (!table) {
    return;
  }


  /* =========================================
     空欄行を非表示
  ========================================= */

  var rows = Array.prototype.slice.call(
    table.querySelectorAll("tr")
  );

  rows.forEach(function (row) {

    var td = row.querySelector("td");

    if (!td) {
      return;
    }

    var text = td.textContent
      .replace(/\u00a0/g, "")
      .trim();

    if (
      text === "" &&
      !td.querySelector("img") &&
      !td.querySelector("iframe") &&
      !td.querySelector("a")
    ) {
      row.classList.add("kazuaki-empty-row");
    }

  });


  /* =========================================
     営業時間行を取得
  ========================================= */

  var hoursRows = rows.filter(function (row) {

    var th = row.querySelector("th");

    if (!th) {
      return false;
    }

    return th.textContent
      .replace(/\s/g, "") === "営業時間";

  });


  if (hoursRows.length === 0) {
    return;
  }


  /*
    複数「営業時間」がある場合は、
    曜日が書かれている詳細版を優先
  */

  var targetRow = hoursRows.find(function (row) {

    var td = row.querySelector("td");

    if (!td) {
      return false;
    }

    return /月|火|水|木|金|土|日|祝/.test(
      td.textContent
    );

  });


  /* 詳細版がなければ最後の営業時間行 */
  if (!targetRow) {
    targetRow = hoursRows[hoursRows.length - 1];
  }


  /* 既に画像があれば二重挿入しない */
  if (
    table.querySelector(".kazuaki-hours-image-row")
  ) {
    return;
  }


  /* =========================================
     営業時間画像を作成
  ========================================= */

  var imageUrl =
    "IMAGE_URL";


  var imageRow = document.createElement("tr");

  imageRow.className =
    "kazuaki-hours-image-row";


  var imageCell =
    document.createElement("td");

  imageCell.colSpan = 2;


  imageCell.innerHTML =
    '<div class="kazuaki-hours-image-wrap">' +

      '<a href="' + imageUrl + '"' +
      ' class="kazuaki-hours-image-link"' +
      ' id="kazuaki-hours-image-link"' +
      ' target="_blank">' +

        '<img src="' + imageUrl + '"' +
        ' alt="かずあき鍼灸整骨院 営業時間">' +

      '</a>' +

      '<span class="kazuaki-hours-image-note">' +
        '画像をクリックすると拡大できます' +
      '</span>' +

    '</div>';


  imageRow.appendChild(imageCell);


  /*
    営業時間のすぐ下へ配置
  */

  targetRow.insertAdjacentElement(
    "afterend",
    imageRow
  );


  /* =========================================
     Colorboxで画像拡大
  ========================================= */

  if (
    window.jQuery &&
    jQuery.fn &&
    jQuery.fn.colorbox
  ) {

    jQuery(
      "#kazuaki-hours-image-link"
    ).colorbox({

      photo: true,

      maxWidth: "95%",

      maxHeight: "90%",

      close: "×"

    });

  }

});
</script>




/* =========================================================
   /about 店舗情報 最終調整
   ・営業時間画像を営業時間の直下へ移動
   ・画像クリック拡大
   ・デザインバランス調整
========================================================= */


/* ========================================
   JSで実画像へ移動した後、
   旧CSS疑似要素の画像を消す
======================================== */

body.kazuaki-about-hours-ready .about_area .detail::before {
  content: none !important;
  display: none !important;
}


/* ========================================
   /about 全体
======================================== */

.about_area {
  width: 100%;
  max-width: 920px;

  margin: 0 auto 55px !important;
}


/* Googleマップ */

.about_area .map {
  margin: 0 0 26px !important;

  overflow: hidden;

  border: 1px solid #dfe6ed !important;
  border-radius: 18px !important;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.06) !important;
}


/* 店舗情報全体 */

.about_area .detail {
  margin: 0 !important;
  padding: 22px !important;

  background:
    linear-gradient(
      180deg,
      #f7f9fb 0%,
      #ffffff 100%
    ) !important;

  border: 1px solid #dfe6ed !important;
  border-radius: 20px !important;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.05) !important;
}


/* ========================================
   店舗情報テーブル
======================================== */

.about_area .table_detail {
  width: 100% !important;

  margin: 0 !important;

  background: #ffffff !important;

  border: 1px solid #dce4eb !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;

  border-radius: 15px !important;

  overflow: hidden;
}


.about_area .table_detail th {
  width: 165px !important;

  padding: 15px 17px !important;

  background: #f1f5f8 !important;

  border: none !important;
  border-bottom: 1px solid #dfe6ed !important;

  color: #17365f !important;

  font-size: 14px !important;
  font-weight: 800 !important;

  line-height: 1.6;

  text-align: left !important;
  vertical-align: top !important;
}


.about_area .table_detail td {
  width: auto !important;

  padding: 15px 18px !important;

  background: #ffffff !important;

  border: none !important;
  border-bottom: 1px solid #e6ebef !important;

  color: #3f4850 !important;

  font-size: 15px !important;

  line-height: 1.9;

  vertical-align: top !important;
}


/* ========================================
   新しい営業時間の文字部分を強調
======================================== */

.about_area .table_detail tr.kazuaki-hours-text-row th {
  background: #eaf1f7 !important;

  color: #102847 !important;
}


.about_area .table_detail tr.kazuaki-hours-text-row td {
  color: #17365f !important;

  font-weight: 700 !important;

  line-height: 2 !important;
}


/* ========================================
   営業時間画像専用行
======================================== */

.about_area .table_detail tr.kazuaki-hours-image-row td {
  padding: 24px 28px 30px !important;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7f9fb 100%
    ) !important;

  border-bottom: 1px solid #dfe6ed !important;
}


.kazuaki-hours-image-wrap {
  width: 100%;
  max-width: 760px;

  margin: 0 auto;

  text-align: center;
}


.kazuaki-hours-image-link {
  display: block;

  cursor: zoom-in;

  text-decoration: none !important;
}


.kazuaki-hours-image-link img {
  display: block;

  width: 100%;
  height: auto;

  margin: 0 auto !important;

  border: 1px solid #d9e1e8;
  border-radius: 14px !important;

  box-shadow:
    0 6px 20px rgba(20, 44, 70, 0.09);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}


.kazuaki-hours-image-link:hover img {
  transform: translateY(-2px);

  box-shadow:
    0 10px 28px rgba(20, 44, 70, 0.14);
}


.kazuaki-hours-image-note {
  display: block;

  margin: 9px 0 0 !important;

  color: #707981;

  font-size: 12px !important;
  font-weight: 600;

  text-align: center;
}


/* ========================================
   電話番号
======================================== */

.about_area a[href^="tel:"] {
  color: #17365f !important;

  font-size: 18px !important;
  font-weight: 800;

  text-decoration: none !important;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

  .about_area {
    margin-bottom: 45px !important;
  }


  .about_area .map {
    margin-bottom: 20px !important;

    border-radius: 14px !important;
  }


  .about_area .detail {
    padding: 9px !important;

    border-radius: 16px !important;
  }


  /* 1項目ずつカード化 */

  .about_area .table_detail,
  .about_area .table_detail tbody {
    display: block;

    width: 100% !important;

    border: none !important;

    background: transparent !important;
  }


  .about_area .table_detail tr {
    display: block;

    width: 100%;

    margin: 0 0 9px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #dfe6ed;
    border-radius: 11px;
  }


  .about_area .table_detail th,
  .about_area .table_detail td {
    display: block;

    width: 100% !important;
  }


  .about_area .table_detail th {
    padding: 8px 12px !important;

    background: #edf3f8 !important;

    border: none !important;

    font-size: 12px !important;
  }


  .about_area .table_detail td {
    padding: 11px 12px 13px !important;

    border: none !important;

    font-size: 15px !important;
  }


  /* 営業時間文字 */

  .about_area .table_detail tr.kazuaki-hours-text-row {
    border: 1px solid #cbd9e5 !important;
  }


  /* 営業時間画像 */

  .about_area .table_detail tr.kazuaki-hours-image-row {
    margin: 10px 0 20px !important;

    overflow: visible !important;

    background: transparent !important;

    border: none !important;
  }


  .about_area .table_detail tr.kazuaki-hours-image-row td {
    display: block !important;

    width: 100% !important;

    padding: 0 !important;

    background: transparent !important;

    border: none !important;
  }


  .kazuaki-hours-image-link img {
    border-radius: 11px !important;
  }


  .kazuaki-hours-image-note {
    margin-top: 7px !important;

    font-size: 11px !important;
  }

}





.free_area,
.info_body,
.menu_body,
.wysiwyg {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.025em;
}

.free_area p,
.wysiwyg p {
  margin-bottom: 0.9em;
}

.wysiwyg hr {
  margin-top: 30px !important;
  margin-bottom: 0 !important;
}




.wysiwyg h2 {
  font-size: 20px;
}

.wysiwyg h3 {
  font-size: 18px;
}





/* =========================================================
   ブログ目次ページ専用CSS
   ========================================================= */

.blog-category {
  margin: 0 0 34px;
  padding: 0;
  background: #f6f8fa;
  border: 1px solid #dfe6ed;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 5px 18px rgba(20, 44, 70, 0.05);
}

/* カテゴリー見出し */
.blog-category-title {
  margin: 0;
  padding: 15px 22px;
  background: #17365f;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

/* 記事一覧 */
.blog-index {
  padding: 8px 18px;
}

.blog-index ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-index li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e2e8ed;
}

.blog-index li:last-child {
  border-bottom: none;
}

/* 記事リンク */
.blog-index li a {
  position: relative;
  display: block;
  margin: 0;
  padding: 15px 34px 15px 8px;
  color: #343a40 !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
  text-decoration: none !important;
  transition: 0.18s ease;
}

/* 右側の矢印 */
.blog-index li a::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  color: #b98a38;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transition: 0.18s ease;
}

/* ホバー */
.blog-index li a:hover {
  color: #17365f !important;
  padding-left: 13px;
  background: #edf3f9;
}

.blog-index li a:hover::after {
  right: 4px;
}

/* strong部分 */
.blog-index li a strong {
  color: #17365f;
  font-weight: 800;
}


/* =========================================================
   PC：2列表示
   ========================================================= */

@media screen and (min-width: 769px) {

  .blog-category {
    margin-bottom: 38px;
  }

  .blog-category-title {
    font-size: 21px;
    padding: 16px 24px;
  }

  .blog-index {
    padding: 10px 20px;
  }

  .blog-index ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }

  .blog-index li:nth-last-child(1):nth-child(odd) {
    grid-column: 1 / -1;
  }

}


/* =========================================================
   スマートフォン
   ========================================================= */

@media screen and (max-width: 768px) {

  .blog-category {
    margin-bottom: 26px;
    border-radius: 15px;
  }

  .blog-category-title {
    padding: 13px 16px;
    font-size: 18px;
  }

  .blog-index {
    padding: 5px 12px;
  }

  .blog-index li a {
    padding: 13px 28px 13px 5px;
    font-size: 15px;
    line-height: 1.7;
  }

  .blog-index li a::after {
    right: 4px;
    font-size: 22px;
  }

  .blog-index li a:hover {
    padding-left: 5px;
    background: transparent;
  }

}


/* =========================================================
   小さいスマホ
   ========================================================= */

@media screen and (max-width: 420px) {

  .blog-category-title {
    padding: 12px 14px;
    font-size: 17px;
  }

  .blog-index {
    padding: 4px 10px;
  }

  .blog-index li a {
    padding: 12px 26px 12px 4px;
    font-size: 14px;
    line-height: 1.7;
  }

}





.wysiwyg hr {
  display: none;
}





/* =========================================================
   ブログ目次：【】の中の文字（strong）の装飾
========================================================= */
.blog-index li a strong {
    color: #b98a38;     /* 文字色（例：ゴールド系。#17365fなら紺色などに変更できます） */
    font-size: 1.05em;  /* 少し大きめにする（1.1em や 1.2em にするとさらに大きくなります） */
    font-weight: 800;   /* 太字 */
}





/* スライドショーのキャプション（半透明の帯）を非表示にする */
.caption,
.caption_txt {
  display: none !important;
}





/* 質問ページ（kazuaki-faq-page-content）の中にある区切り線（hr）だけ広げる */
div.kazuaki-faq-page-content hr {
    margin-top: 80px !important;
    margin-bottom: 50px !important;
}

/* 質問ページの中にある見出し（h2）だけ広げる（他のページには影響しません） */
div.kazuaki-faq-page-content h2 {
    margin-top: 90px !important;
    margin-bottom: 35px !important;
    padding-top: 0 !important;
    scroll-margin-top: 120px !important; 
}

/* 写真の注釈の文字サイズを小さくする */
div.kazuaki-faq-page-content .faq-caption {
    font-size: 0.9rem !important;
}