 /* Google Fonts の読み込み */
 @import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&display=swap');
 @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;800&display=swap');

 /* ベース設定 */
 :root {
     --primary-color: #a88e72;
     --secondary-color: #f8f5f2;
     --text-primary: #585858;
     --text-secondary: #787878;
     --border-color: rgba(168, 142, 114, 0.2);
     --font-base: 'Shippori Mincho', serif;
     --max-width: 1200px;
     --content-width: 1200px;
     --white: #ffffff;
     --bg-light: #fbf9f8;
     --border-radius: 8px;
     --box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
 }

 /* リセット */
 * {
     box-sizing: border-box;
 }

 body {
     font-family: var(--font-base);
     color: var(--text-primary);
     line-height: 1.8;
     -webkit-font-smoothing: antialiased;
     margin: 0;
     padding: 0;
     overflow-x: hidden;
 }

 img {
     max-width: 100%;
     height: auto;
     vertical-align: bottom;
 }

 /* FVセクション */
 .c-visual {
     position: relative;
     height: 800px;
     overflow: hidden;
 }

 .c-visual__inner {
     position: relative;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .c-visual__bg {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1;
 }

 .c-visual__img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .c-visual__title {
     position: relative;
     z-index: 2;
     color: var(--white);
     font-size: 32px;
     text-align: center;
     line-height: 1.6;
     text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
     max-width: 800px;
     margin: 0 auto;
     padding: 20px;
     font-weight: 600;
 }

 /* パンくず */
 .c-breadcrumb {
     background: var(--bg-light);
     padding: 15px 0;
     border-bottom: 1px solid var(--border-color);
 }

 .c-breadcrumb__list {
     max-width: var(--max-width);
     margin: 0 auto;
     padding: 0 20px;
     display: flex;
     align-items: center;
     list-style: none;
 }

 .c-breadcrumb__item {
     color: var(--text-secondary);
     font-size: 14px;
 }

 .c-breadcrumb__item::after {
     content: ">";
     margin: 0 10px;
     color: var(--text-secondary);
 }

 .c-breadcrumb__item:last-child::after {
     display: none;
 }

 .c-breadcrumb__item a {
     color: var(--text-secondary);
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .c-breadcrumb__item a:hover {
     color: var(--primary-color);
 }

 /* メインレイアウト */
 .main {
     padding: 60px 0;
     background: var(--white);
 }

 .l-inner {
     max-width: var(--max-width);
     margin: 0 auto;
     padding: 0 20px;
 }

 /* セクション */
 .c-section {
     margin-bottom: 80px;
     position: relative;
 }

 .c-section:last-child {
     margin-bottom: 0;
 }

 /* セクション見出し */
 .c-head {
     text-align: center;
     margin-bottom: 40px;
 }

 .c-head__text,
 .c-head__title {
     font-family: var(--font-base);
     font-size: 28px;
     color: var(--primary-color);
     font-weight: 600;
     line-height: 1.6;
     margin-bottom: 20px;
     position: relative;
     display: inline-block;
 }

 .c-head__title {
     font-size: 24px;
 }

 /* チェックリスト */
 .c-checkup-list {
     background: var(--bg-light);
     padding: 30px;
     border-radius: var(--border-radius);
     margin: 40px 0;
     border: 1px solid var(--border-color);
     box-shadow: var(--box-shadow);
 }

 .c-checkup-list h3 {
     font-family: var(--font-base);
     font-size: 20px;
     color: var(--primary-color);
     margin: 0 0 25px;
     text-align: center;
     font-weight: 600;
 }

 .c-checkup-list ul {
     list-style: none;
     padding: 0;
     margin: 0;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 15px;
 }

 .c-checkup-list li {
     background: var(--white);
     padding: 15px 20px;
     border-radius: var(--border-radius);
     border: 1px solid var(--border-color);
     position: relative;
     transition: all 0.3s ease;
 }

 .c-checkup-list li:hover {
     border-color: var(--primary-color);
     transform: translateY(-2px);
     box-shadow: 0 4px 15px rgba(168, 142, 114, 0.15);
 }

 /* 基本説明 */
 .c-info__content--basic {
     background: var(--white);
     padding: 30px;
     border-radius: var(--border-radius);
     border: 1px solid var(--border-color);
     box-shadow: var(--box-shadow);
     margin: 40px 0;
 }

 .c-info__content--basic p {
     font-size: 16px;
     line-height: 1.8;
     margin-bottom: 1.5em;
 }

 .c-info__content--basic p:last-child {
     margin-bottom: 0;
 }

 /* 緑内障タイプ */
 .c-glaucoma-types {
     margin: 30px 0;
 }

 .c-glaucoma-type {
     background: var(--bg-light);
     margin-bottom: 40px;
     border-radius: var(--border-radius);
     border: 1px solid var(--border-color);
     overflow: hidden;
     box-shadow: var(--box-shadow);
 }

 .c-glaucoma-type__header {
     background: var(--primary-color);
     color: var(--white);
     padding: 20px 30px;
     font-size: 20px;
     font-weight: 600;
 }

 .c-glaucoma-type__content {
     padding: 30px;
     font-size: 16px;
     line-height: 1.8;
 }

 .c-glaucoma-type__content p {
     margin-bottom: 1.5em;
 }

 .c-glaucoma-type__content p:last-child {
     margin-bottom: 0;
 }

 /* 治療方法 */
 .c-treatment-methods {
     margin: 60px 0;
 }

 .c-treatment-method {
     background: var(--white);
     margin-bottom: 50px;
     border-radius: var(--border-radius);
     border: 1px solid var(--border-color);
     box-shadow: var(--box-shadow);
     overflow: hidden;
 }

 .c-treatment-method__header {
     background: linear-gradient(135deg, var(--primary-color), #b39a81);
     color: var(--white);
     padding: 25px 30px;
     font-size: 22px;
     font-weight: 600;
 }

 .c-treatment-method__content {
     padding: 30px;
 }

 .c-treatment-method__content h4 {
     font-size: 18px;
     color: var(--primary-color);
     margin: 30px 0 15px;
     font-weight: 600;
     position: relative;
     padding-left: 20px;
 }

 .c-treatment-method__content h4:first-child {
     margin-top: 0;
 }

 .c-treatment-method__content h4::before {
     content: "■";
     position: absolute;
     left: 0;
     color: var(--primary-color);
 }

 .c-treatment-method__content p {
     font-size: 16px;
     line-height: 1.8;
     margin-bottom: 1.5em;
 }

 .c-treatment-method__content p:last-child {
     margin-bottom: 0;
 }

 /* 手術表 */
 .c-surgery-table {
     width: 100%;
     border-collapse: collapse;
     margin: 30px 0;
     font-size: 14px;
     border: 1px solid var(--border-color);
     border-radius: var(--border-radius);
     overflow: hidden;
     box-shadow: var(--box-shadow);
 }

 .c-surgery-table th,
 .c-surgery-table td {
     padding: 15px 12px;
     text-align: center;
     border-bottom: 1px solid var(--border-color);
 }

 .c-surgery-table th {
     background: var(--primary-color);
     color: var(--white);
     font-weight: 600;
 }

 .c-surgery-table tbody tr:hover {
     background: rgba(168, 142, 114, 0.05);
 }

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

 /* 特徴セクション */
 .c-feature {
     background: var(--white);
     margin-bottom: 40px;
     border-radius: var(--border-radius);
     border: 1px solid var(--border-color);
     box-shadow: var(--box-shadow);
     overflow: hidden;
 }

 .c-feature__header {
     background: var(--bg-light);
     padding: 25px 30px;
     border-bottom: 1px solid var(--border-color);
 }

 .c-feature__title {
     font-size: 20px;
     color: var(--primary-color);
     margin: 0;
     font-weight: 600;
 }

 .c-feature__content {
     padding: 30px;
     font-size: 16px;
     line-height: 1.8;
 }

 .c-feature__content p {
     margin-bottom: 1.5em;
 }

 .c-feature__content p:last-child {
     margin-bottom: 0;
 }

 /* 症例 */
 .c-case {
     background: var(--bg-light);
     padding: 40px;
     border-radius: var(--border-radius);
     margin-bottom: 60px;
     border: 1px solid var(--border-color);
     box-shadow: var(--box-shadow);
     transition: all 0.3s ease;
 }

 .c-case:hover {
     border-color: var(--primary-color);
     box-shadow: 0 8px 30px rgba(168, 142, 114, 0.15);
 }

 .c-case:last-child {
     margin-bottom: 0;
 }

 .c-case__header {
     text-align: center;
     margin-bottom: 40px;
     border-bottom: 2px solid var(--border-color);
     padding-bottom: 25px;
 }

 .c-case__title {
     font-family: var(--font-base);
     font-size: 24px;
     color: var(--primary-color);
     font-weight: 600;
     line-height: 1.6;
     margin: 0 0 15px;
 }

 .c-case__subtitle {
     font-family: var(--font-base);
     font-size: 16px;
     color: var(--text-secondary);
     margin: 0;
 }

 .c-case__content {
     font-family: var(--font-base);
     font-size: 16px;
     line-height: 1.8;
     color: var(--text-primary);
 }

 .c-case__content h4 {
     font-family: var(--font-base);
     font-size: 20px;
     color: var(--primary-color);
     margin: 40px 0 20px;
     font-weight: 600;
     border-bottom: 1px solid var(--border-color);
     padding-bottom: 10px;
 }

 .c-case__content h4:first-child {
     margin-top: 0;
 }

 .c-case__content p {
     margin-bottom: 1.5em;
 }

 .c-case__content p:last-child {
     margin-bottom: 0;
 }

 .c-case__data {
     background: var(--white);
     padding: 25px;
     border-radius: var(--border-radius);
     border: 1px solid var(--border-color);
     margin: 30px 0;
 }

 .c-case__data h5 {
     font-size: 18px;
     color: var(--primary-color);
     margin: 0 0 15px;
     font-weight: 600;
 }

 .c-case__cost {
     background: rgba(168, 142, 114, 0.1);
     padding: 20px;
     border-radius: var(--border-radius);
     border: 1px solid var(--border-color);
     border-left: 4px solid var(--primary-color);
     margin-top: 30px;
 }

 .c-case__cost h4 {
     font-family: var(--font-base);
     font-size: 18px;
     color: var(--primary-color);
     margin: 0 0 10px;
     font-weight: 600;
     border: none;
     padding: 0;
 }

 .c-case__cost p {
     font-size: 16px;
     color: var(--text-primary);
     margin: 0;
     font-weight: 500;
 }

 /* 注意書きボックス */
 .c-notice-box {
     background: rgba(168, 142, 114, 0.08);
     border: 1px solid var(--border-color);
     border-radius: var(--border-radius);
     padding: 25px;
     margin-top: 60px;
 }

 .c-notice-box h4 {
     font-family: var(--font-base);
     font-size: 18px;
     color: var(--primary-color);
     margin: 0 0 15px;
     font-weight: 600;
 }

 .c-notice-box p {
     font-family: var(--font-base);
     font-size: 14px;
     line-height: 1.8;
     color: var(--text-secondary);
     margin: 0;
 }

 /* アニメーション */
 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .c-head,
 .c-checkup-list,
 .c-glaucoma-type,
 .c-treatment-method,
 .c-feature,
 .c-case {
     opacity: 0;
     animation: fadeInUp 0.6s ease forwards;
 }

 .c-head.is-inview,
 .c-checkup-list.is-inview,
 .c-glaucoma-type.is-inview,
 .c-treatment-method.is-inview,
 .c-feature.is-inview,
 .c-case.is-inview {
     opacity: 1;
 }

 /* レスポンシブ対応 */
 @media (max-width: 1200px) {
     .l-inner {
         padding: 0 30px;
     }
 }

 @media (max-width: 768px) {
     .c-visual {
         height: 300px;
     }

     .c-visual__title {
         font-size: 24px;
         padding: 0 15px;
     }

     .l-inner {
         padding: 0 20px;
     }

     .main {
         padding: 40px 0;
     }

     .c-section {
         margin-bottom: 60px;
     }

     .c-head {
         margin-bottom: 0px;
     }

     .c-head__text,
     .c-head__title {
         font-size: 22px;
     }

     .c-checkup-list {
         padding: 20px;
     }

     .c-checkup-list ul {
         grid-template-columns: 1fr;
         gap: 12px;
     }

     .c-checkup-list li {
         padding: 12px 15px 12px 15px;
     }

     .c-info__content--basic {
         padding: 20px;
         font-size: 15px;
     }

     .c-glaucoma-type__header {
         padding: 15px 20px;
         font-size: 18px;
     }

     .c-glaucoma-type__content {
         padding: 20px;
         font-size: 15px;
     }

     .c-treatment-method__header {
         padding: 20px 25px;
         font-size: 20px;
     }

     .c-treatment-method__content {
         padding: 25px;
     }

     .c-treatment-method__content h4 {
         font-size: 16px;
         margin: 25px 0 12px;
     }

     .c-treatment-method__content p {
         font-size: 15px;
     }

     .c-surgery-table {
         font-size: 12px;
     }

     .c-surgery-table th,
     .c-surgery-table td {
         padding: 10px 8px;
     }

     .c-feature__header {
         padding: 20px 25px;
     }

     .c-feature__title {
         font-size: 18px;
     }

     .c-feature__content {
         padding: 25px;
         font-size: 15px;
     }

     .c-case {
         padding: 25px;
         margin-bottom: 40px;
     }

     .c-case__header {
         margin-bottom: 30px;
         padding-bottom: 20px;
     }

     .c-case__title {
         font-size: 20px;
     }

     .c-case__subtitle {
         font-size: 15px;
     }

     .c-case__content {
         font-size: 15px;
     }

     .c-case__content h4 {
         font-size: 18px;
         margin: 30px 0 15px;
     }

     .c-case__data {
         padding: 20px;
     }

     .c-case__data h5 {
         font-size: 16px;
     }

     .c-notice-box {
         padding: 20px;
         margin-top: 40px;
     }

     .c-notice-box h4 {
         font-size: 16px;
     }

     .c-notice-box p {
         font-size: 13px;
     }
 }

 @media (max-width: 480px) {
     .c-visual {
         height: 280px;
     }

     .c-visual__title {
         font-size: 20px;
         padding: 0 10px;
     }

     .l-inner {
         padding: 0 15px;
     }

     .main {
         padding: 30px 0;
     }

     .c-section {
         margin-bottom: 40px;
     }

     .c-head {
         margin-bottom: 0px;
     }

     .c-head__text,
     .c-head__title {
         font-size: 20px;
     }

     .c-checkup-list {
         padding: 15px;
     }

     .c-checkup-list h3 {
         font-size: 18px;
         margin-bottom: 20px;
     }

     .c-checkup-list li {
         padding: 10px 12px 10px 12px;
         font-size: 14px;
     }

     .c-info__content--basic {
         padding: 15px;
         font-size: 14px;
     }

     .c-glaucoma-type__header {
         padding: 12px 15px;
         font-size: 16px;
     }

     .c-glaucoma-type__content {
         padding: 15px;
         font-size: 14px;
     }

     .c-treatment-method__header {
         padding: 15px 20px;
         font-size: 18px;
     }

     .c-treatment-method__content {
         padding: 20px;
     }

     .c-treatment-method__content h4 {
         font-size: 15px;
         margin: 20px 0 10px;
     }

     .c-treatment-method__content p {
         font-size: 14px;
     }

     .c-surgery-table {
         font-size: 11px;
     }

     .c-surgery-table th,
     .c-surgery-table td {
         padding: 8px 6px;
     }

     .c-feature__header {
         padding: 15px 20px;
     }

     .c-feature__title {
         font-size: 16px;
     }

     .c-feature__content {
         padding: 20px;
         font-size: 14px;
     }

     .c-case {
         padding: 20px;
         margin-bottom: 30px;
     }

     .c-case__header {
         margin-bottom: 25px;
         padding-bottom: 15px;
     }

     .c-case__title {
         font-size: 18px;
     }

     .c-case__subtitle {
         font-size: 14px;
     }

     .c-case__content {
         font-size: 14px;
     }

     .c-case__content h4 {
         font-size: 16px;
         margin: 25px 0 12px;
     }

     .c-case__data {
         padding: 15px;
     }

     .c-case__data h5 {
         font-size: 15px;
     }

     .c-case__cost {
         padding: 15px;
         margin-top: 25px;
     }

     .c-case__cost h4 {
         font-size: 16px;
     }

     .c-case__cost p {
         font-size: 14px;
     }

     .c-notice-box {
         padding: 15px;
         margin-top: 30px;
     }

     .c-notice-box h4 {
         font-size: 15px;
     }

     .c-notice-box p {
         font-size: 12px;
     }
 }

 /* 印刷用スタイル */
 @media print {

     .c-visual,
     .c-breadcrumb {
         display: none;
     }

     .c-case {
         background: var(--white);
         box-shadow: none;
         border: 1px solid var(--border-color);
         page-break-inside: avoid;
         margin-bottom: 30px;
     }
 }

 /* アクセシビリティ対応 */
 @media (prefers-reduced-motion: reduce) {
     * {
         animation: none !important;
         transition: none !important;
     }
 }

 /* フォーカス状態 */
 :focus {
     outline: 2px solid var(--primary-color);
     outline-offset: 2px;
 }

 /* 並列画像表示用CSS */
 .c-image-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 15px;
     margin: 30px 0;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
 }

 .c-image-grid__item {
     text-align: center;
 }

 .c-image-grid__img {
     width: 100%;
     height: auto;
     aspect-ratio: 1 / 1;
     object-fit: cover;
     border-radius: 8px;
     border: 1px solid #ddd;
     background-color: #f8f9fa;
 }

 .c-image-grid__caption {
     font-size: 14px;
     color: #666;
     margin-top: 8px;
     line-height: 1.4;
 }

 /* 直列画像表示用CSS */
 .c-image-series {
     margin: 30px 0;
 }

 .c-image-series__item {
     text-align: center;
     margin-bottom: 25px;
 }

 .c-image-series__item:last-child {
     margin-bottom: 0;
 }

 .c-image-series__img {
     max-width: 100%;
     height: auto;
     border-radius: 8px;
     border: 1px solid #ddd;
 }

 .c-image-series__caption {
     font-size: 14px;
     color: #666;
     margin-top: 10px;
     line-height: 1.4;
 }

 /* スマホ対応 */
 @media (max-width: 768px) {
     .c-image-grid {
         gap: 10px;
         margin: 20px 0;
     }

     .c-image-grid__caption {
         font-size: 12px;
     }

     .c-image-series {
         margin: 20px 0;
     }

     .c-image-series__item {
         margin-bottom: 20px;
     }

     .c-image-series__caption {
         font-size: 12px;
     }
 }

 .c-feature h3 {
    margin-bottom: 0;
 }