@charset "UTF-8";/* --------------------------------------------------------症例CSS-------------------------------------------------------- *//* //カスタムテーマ専用css *//* kshr */.case_heading {    text-align: center;    padding: 2%;	    margin-top: 7%;	font-size: 2.375rem;    font-weight: 300;    font-family: 'DM Serif Display', serif;    line-height: 1.3em;}.case_span::after{    content: "case";    display: block;    font-size: 1.5rem;    font-weight: 200;    color: #368dff;    font-family: sans-serif;    margin: -1% 0 15px;}.case_btn {	text-align: center;	width: 50%;	padding: 1%;	border: solid 1px #e9ca75;	margin: 0 auto;	display: block;}a.case_btn:hover {	background-color: #e9ca75;}/* テンプレートcss */.case-study-details table {	width: 100%;	border-collapse: collapse;	margin: 20px 0;}.case-study-details th, .case-study-details td {	padding: 10px;	border: 1px solid #ddd;}.case-study-details th {	background-color: #f7f7f7;	text-align: left;	width: 40%;}.case-study-images img {    max-width: 100%;    height: auto;    margin-bottom: 20px;}.two-column {    display: flex;    justify-content: space-between;}.two-column img {    width: 48%;}.case-study-images {    text-align: center;    margin-bottom: 20px;}.case-study-images .two-column {    display: flex;    justify-content: space-between;            gap: 10%;    margin: 0 4%;}.case-study-images .case-image {    position: relative;    width: 100%;    overflow: hidden;/*     max-width: 500px;  */}.case-study-images .case-image img {    width: 100%;    height: auto;/*     aspect-ratio: 16/9;  */    object-fit: cover; /* 画像を容器内でカバーする */        border-radius: 0 0 8px 8px;}.case-study-images .case-image span {    display: block;    text-align: center;    font-weight: bold;}.case-study-images .single-image {    text-align: center;    margin: 0 auto;}.case-study-details {    margin-top: 20px;}.free-text {    margin-top: 20px;    margin-bottom: 20px;    font-size: 16px;    line-height: 1.5;    clear: both;}td.treatment_text {    font-size: 14px;}@media screen and (max-width: 768px) {    .case-study-images .two-column {        flex-direction: column;        align-items: center;    }    .case-study-images .case-image {        max-width: 100%;    }    .case-study-details {        padding-left: 0;        padding-right: 0;    }    .free-text {        margin-left: 0;        margin-right: 0;    }}.syourei_span {	background-color: #30548D;    margin: 0 auto;    color: white;    border-radius: 10px 10px 0 0;}/* 追加css　関連ページ  */.related-cases {    margin-top: 40px;}.related-cases-grid {	display: grid;    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));    gap: 20px;	width: 90%;	margin: 0 auto;}.related-case-item {/*     width: calc(33.333% - 20px); */    background-color: #fff;    border: 1px solid #ddd;    border-radius: 8px;    padding: 20px;    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);    display: flex;    flex-direction: column;    justify-content: space-between;}.related-case-thumbnail {    text-align: center;}.related-case-thumbnail img {    width: 100%;    height: auto;    border-radius: 8px 8px;	margin: auto;}.related-case-title {    font-size: 1.2em;    margin-top: 15px;}.related-case-meta {    font-size: 0.9em;        color: #2583ff;    margin-top: 10px;}.related-case-excerpt {    margin-top: 15px;    font-size: 0.9em;    color: #777;}.related-case-link {    margin-top: auto;    text-align: center;}.related-case-link .btn.case_btn {    margin-top: 20px;    padding: 10px 15px;    font-size: 1em;    border-radius: 8px;	background-color: #e9ca75;    color: #fff;    text-decoration: none;}.more-cases-link {    text-align: center;    margin-top: 40px;}.more-cases-link .btn.case_btn {    padding: 10px 20px;	font-size: 1.2em;	border-radius: 8px;	background-color: #e9ca75;	color: #fff;    text-decoration: none;}/* モバイル対応 */@media (max-width: 768px) {	.related-case-meta {		font-size: 0.6em;	}    .related-case-item {		width: 90%;		padding: 10px;    }	.related-cases-grid {		grid-template-columns: repeat(2, 1fr);		gap: 10px;		width: 100%;	}	.related-case-a {		font-size: 0.7rem;		line-height: 0;}	.related-case-link .btn.case_btn {		margin: 0;		padding: 5px;		font-size: 12px;		width: 90%;}}.related-case-a {	color: #003584 !important;}/* 症例アーカイブ */.case-archive-hero {    position: relative;    background-image: url('../img/hero/DSC08954-1024x684-1.webp');    background-size: cover;    background-position: center;    padding: 80px 20px;    text-align: center;    color: #fff;}.case-archive-overlay {	background-color: rgb(66 143 181 / 40%);	padding: 40px 20px;	max-width: 1000px;	margin: 0 auto;}.case-archive-hero .page-title {    font-size: 2.5em;/*     font-weight: bold; */    margin: 0;	line-height: 1.5;}main#main {	width: 80%;	margin: 65px auto;	position: relative;}/* タブレット用（768px〜1024px） */@media (max-width: 1024px) {	main#main {		width: 90%;	}	.related-case-thumbnail img {    width: 300px;    height: 225px;}	.related-case-thumbnail {    text-align: center;}}/* スマホ用（〜767px） */@media (max-width: 767px) {	h2.wp-block-heading {		font-size: 1.5rem;	}	h3.wp-block-heading {		font-size: 1rem;	}	main#main {		width: 100%;}	.case-archive-hero .page-title {		font-size: 1.5em;		font-weight: bold;		margin: 0;	}}.rich_font_type2 {    font-family: serif;}/* 診療科目アンカーボタン */.case-anchor-nav {    width: 90%;    max-width: 1100px;    margin: 40px auto 60px;    padding: 32px 28px;    background: #fff;    border: 1px solid #e5e5e5;    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);}.case-anchor-nav__lead {    margin: 0 0 20px;    text-align: center;    font-size: 20px;    font-weight: 600;    color: #333;    letter-spacing: 0.06em;}.case-anchor-nav__list {    display: flex;    flex-wrap: wrap;    justify-content: center;    gap: 12px;}.case-anchor-nav__btn {    display: inline-flex;    align-items: center;    justify-content: center;    min-width: 180px;    padding: 13px 20px;    border: 1px solid #333;    background: #fff;    color: #333;    font-size: 15px;    font-weight: 500;    line-height: 1.5;    text-decoration: none;    transition: all 0.3s ease;    position: relative;}.case-anchor-nav__btn::after {    content: "↓";    margin-left: 8px;    font-size: 13px;    line-height: 1;}.case-anchor-nav__btn:hover {    background: #333;    color: #fff;    text-decoration: none;}/* アンカー位置の調整 */.term-section {    scroll-margin-top: 100px;}/* タブレット */@media screen and (max-width: 1024px) {    .case-anchor-nav {        margin: 32px auto 48px;        padding: 28px 22px;    }    .case-anchor-nav__btn {        min-width: 160px;        font-size: 14px;    }}/* スマホ */@media screen and (max-width: 767px) {    .case-anchor-nav {        width: 92%;        margin: 28px auto 40px;        padding: 24px 16px;    }    .case-anchor-nav__lead {        margin-bottom: 16px;        font-size: 17px;    }    .case-anchor-nav__list {        gap: 10px;    }    .case-anchor-nav__btn {        width: 100%;        min-width: auto;        padding: 12px 16px;        font-size: 14px;    }    .term-section {        scroll-margin-top: 80px;    }}/* ------------------------------------------------ 下層デザイン　------------------------------------------------ *//* 下層ボタン */.btn-blue {  display: inline-flex;  align-items: center;  justify-content: center;  gap: 0.6em;  margin:10px 0 0 0;  min-width: 260px;  padding: 10px 28px;	background: linear-gradient(135deg, #3f7fbf, #2a5fa8);	color: #fff;	font-family: 'Noto Serif JP';  font-size: 16px;  font-weight: 600;  letter-spacing: 0.05em;  text-decoration: none;  border-radius: 999px;  box-shadow: 0 6px 18px rgba(30, 111, 217, 0.35);  transition:     transform 0.2s ease,    box-shadow 0.2s ease,    background 0.2s ease;}/* hover */.btn-blue:hover {  background: linear-gradient(135deg, #6bb6ff, #2a7be5);  transform: translateY(-2px);  box-shadow: 0 10px 26px rgba(30, 111, 217, 0.45);	color: #fff;}/* active（押した時） */.btn-blue:active {  transform: translateY(0);  box-shadow: 0 4px 12px rgba(30, 111, 217, 0.3);}/* SP調整 */@media (max-width: 768px) {  .btn-blue {    width: 100%;    min-width: auto;    font-size: 15px;    padding: 14px 20px;  }}h2,h3,h4 {    font-family: 'Noto Serif JP';}p {  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;}.main_box {  font-family:serif;}/*---------------------------- 二ブロック目 ----------------------------*/.treatment {  padding: 60px 0;  color: #333;}.treatment .container {  max-width: 1100px;  width: 90%;  margin: 0 auto;}.section-title {  background: #014f8c;  color: #fff;  font-size: 2rem;  text-align: center;  padding: 20px;  margin-bottom: 40px;}.treatment-intro {  display: flex;  gap: 10px;  align-items: center;  flex-wrap: wrap;  margin-bottom: 60px;}.treatment-intro .intro-text {  flex: 6;}.treatment-intro .intro-text h3 {  font-size: 22px;  color: #014f8c;  margin-bottom: 16px;}.treatment-intro .intro-text p {  line-height: 1.8;}.treatment-intro .intro-image {  flex: 4;  text-align: center;}.treatment-intro .intro-image img {  width: 100%;  object-fit: cover;  margin: auto;}.treatment-wrap {  background: #88bbd624;  padding: 50px 20px;}.sub-title {  font-size: 1.5rem;  color: #014f8c;  text-align: center;  margin-bottom: 30px;  border-bottom: 2px solid #014f8c;  padding-bottom: 6px;}.treatment-grid {  display: grid;  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));  gap: 30px;  margin-bottom: 40px;}.treatment-item {  background: #ffffff;  border: 1px solid #ddeaf2;  box-shadow: 0 2px 6px rgba(0,0,0,0.04);}.icon-heading {  display: flex;  gap: 0;  margin-top: 12px;   margin-bottom: 12px;  flex-direction: column;  align-items: center;}.icon-heading i {  font-size: 24px;  color: #2d6b9f;}.icon-heading h3 {  font-size: 18px;  margin: 0;  color: #333;}.treatment-item h4 {  font-size: 18px;  color: #014f8c;  margin: 10px 16px;}.treatment-item p {  font-size: 15px;  margin: 0 16px 16px;  line-height: 1.6;}.treatment-note {  background: #b6dbf3;  color: #003d66;  margin: 20px 0;  padding: 20px;  text-align: center;  border-radius: 6px;  font-size: 14px;  line-height: 1.6;}.eval-wrapper {  display: flex;  gap: 40px;  align-items: flex-start;  flex-wrap: wrap;  margin-bottom: 20px;}.eval-text {  flex: 2;}.eval-image {    flex: 1;}.luxury-eval-list {  list-style: none;  padding: 0;  margin: 0;  font-family: "Noto Sans JP", sans-serif;  border-top: 1px solid #ddd;}.luxury-eval-list li {  padding: 24px 0;  border-bottom: 1px solid #eee;}.luxury-eval-list strong {  display: block;  font-size: 17px;  font-weight: 600;  color: #014f8c;  margin-bottom: 8px;  letter-spacing: 0.5px;}.luxury-eval-list p {  font-size: 15px;  color: #444;  line-height: 1.8;  margin: 0;}.treatment-wrap .note {  margin: 20px 0;}/* モバイルでの余白調整 */@media screen and (max-width: 768px) {  .treatment {    padding: 20px 0;  }  .treatment-note {    text-align: left;  }  .eval-wrapper {    flex-direction: column-reverse;  }  .luxury-eval-list li {    padding: 20px 0;  }}/* モバイル対応 */@media screen and (max-width: 768px) {  .treatment-intro {    flex-direction: column-reverse;    text-align: left;  }	.section-title {		font-size: 1.2rem;		margin-bottom: 20px;	}  .treatment-intro h3,  .sub-title {    font-size: 20px;  }}/*---------------------------- 三ブロック目 ----------------------------*/.card-bloc {  background-color: #e7f0f8;  padding: 60px 0;  text-align: center;  color: #333;}.card-bloc .container {  max-width: 1100px;  width: 90%;  margin: 0 auto;}.card-bloc h3 {  font-size: 1.1rem;  color: #014f8c;  margin-bottom: 16px;}.card-item p {  font-size: 0.9rem;}.card-list {  display: flex;  justify-content: center;  flex-wrap: wrap;  gap: 25px;  margin-bottom: 30px;}.card-item {  flex: 1 1 calc(33% - 20px); max-width: calc(33% - 20px);  background-color: #fff;  padding: 20px 12px;  box-shadow: 0 2px 6px rgba(0,0,0,0.08);  display: flex;  flex-direction: column;  align-items: center;}.card-item img {  object-fit: contain;  margin-bottom: 16px;}.card-note {  font-size: 14px;  color: #555;  line-height: 1.6;}/* スマホ対応 */@media screen and (max-width: 768px) {  .card-list {    display: grid;    grid-template-columns: repeat(1, 1fr);    gap: 15px;    margin-bottom: 30px;  }  .card-item {    width: 100%;    max-width: 100%;  }  .sp-only {    display: inline;  }}@media screen and (min-width: 769px) {  .sp-only {    display: none;  }}/*---------------------------- 四ブロック目 ----------------------------*/.h3bloc {  padding: 60px 0;}.h3bloc .container {  width: 90%;  max-width: 1100px;  margin: 0 auto;}.area-flex {  display: flex;  flex-wrap: wrap;  align-items: center;  gap: 40px;  margin: 15px 0;  border: solid 1px #bccedd;  padding: 15px;}.area-text {  flex: 1;  min-width: 280px;}.area-text.bgdes {  background: #ecf3f9;  padding: 15px;}.area-text h3 {	font-size: 1.5rem;	color: #014f8c;	margin-bottom: 16px;}.area-text.bgdes h3 {  background: #ffffff;  border-radius: 40px;  padding: 5px 15px;}.area-text p {  font-size: 15px;  line-height: 1.8;}.area-text .note {  display: block;  color: #666;  font-size: 13px;  margin-top: 20px;}.area-map {  flex: 1;  text-align: center;}.area-map img {  max-width: 100%;  height: auto;  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);}/* スマホ対応 */@media screen and (max-width: 768px) {	.area-text.bgdes h3 {		font-size:1.1rem;	}  .area-flex {    flex-direction: column-reverse;  }  .area-text h3 {    font-size: 20px;  }}/*---------------------------- 五ブロック目 ----------------------------*/.timeline-step {  padding: 60px 0;}.timeline-step .container {  max-width: 1100px;  margin: 0 auto;  padding: 0 20px;}.step-wrapper {  display: flex;  position: relative;  gap: 20px;}.step-marker {  position: relative;  width: 60px;  display: flex;  flex-direction: column;  align-items: center;}.step-number {  display: flex;  justify-content: center;  align-items: center;  width: 48px;  height: 48px;  border: 2px solid #2565a8;  border-radius: 50%;  font-size: 20px;  color: #2565a8;  font-weight: bold;  background-color: #fff;  z-index: 2;}.step-line {  flex: 1;  width: 1px;  background-color: #2564a8c7;  margin-top: 0;}.step-main {  display: flex;  gap: 24px;  flex: 1;  flex-wrap: wrap;	padding: 0 0 50px;}.step-content {  flex: 1;}.step-content h3 {	font-size: 1.8rem;	color: #014f8c;	margin-bottom: 12px;	font-weight: 700;	border-bottom: 1px solid #014f8c;	padding-bottom: 10px;}.step-content ul {  padding-left: 1.3rem;  margin-bottom: 10px;}.step-content ul li {  list-style-type: disc;  margin-bottom: 8px;  font-size: 15px;  line-height: 1.6;}.step-content .note {  font-size: 14px;  color: #666;}.step-image {  flex-shrink: 0;  width: 320px;}.step-image img {  width: 100%;  height: auto;  object-fit: cover;  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);}.contactabout {  margin: 20px 0;  border: 1px solid #6666665d;  padding: 30px 15px;  background-color: #ddeaf23d;}.contact_inner {  margin-bottom: 5px;}.contact_inner a:hover {  color: #b6dbf3;}.contactabout .ttl{  font-size: 1.2rem;  color: #014f8c;  margin: 5px 0;}p.ttl a {    color: #014f8c;}.contactabout .attention {  color: #666;  font-size: 0.9rem;}/* スマホ対応 */@media screen and (max-width: 768px) {  .contactabout .ttl {    font-size: 0.8rem;  }  .contactabout .attention {    font-size: 0.8rem;  }  .step-marker {    width: 40px;  }  .step-content h3 {    padding-left: 5px;	  font-size:1.5rem;  }  .step-wrapper {    gap: 0;  }  .step-main {    flex-direction: column;  }  .step-image {    width: 100%;  }}/*---------------------------- 六ブロック目 ----------------------------*/.section-lead {  text-align: center;  margin-bottom: 40px;}.section-lead p {  font-size: 15px;  color: #333;  line-height: 1.8;}.example-list {  text-align: left;  max-width: 760px;  margin: 16px auto 0;  font-size: 14px;  line-height: 1.6;  color: #555;}.example-list li {  list-style-type: disc;  margin-left: 1.5em;  margin-bottom: 6px;}@media screen and (max-width: 768px) {    .section-lead {    text-align: left;  }}/* -------------------どんなことでお悩みですか？------------------- *//* 追加 */.problem-container.container {    max-width: 1100px;    width: 90%;    margin: 90px auto;}.problem-section {  font-family: 'Noto Serif JP', serif;  text-align: center;  padding: 50px 0;}/* 見出し */.problem-ttlbloc {  background-color: #a5c7e1;  position: relative;  padding: 100px 0;}.problem-ttlbloc .underline {  text-decoration: none;  border-bottom: 2px solid  #bfa2509e;}.problem-ttlbloc::before {  content: "";  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 120px;  z-index: -1;}.problem-ttlbloc::after {  content: "";  position: absolute;  bottom: -55px;  left: 50%;  transform: translateX(-50%);  width: 0;  height: 0;  border-left: 70px solid transparent; /* 左側の透明部分を広く */  border-right: 70px solid transparent; /* 右側の透明部分を広く */  border-top: 60px solid #a5c7e1; /* 背景色と一致させる、矢印の縦幅を大きくする */}.problem-section h2 {  font-size: max(2.274vw, 40px);  color: #fff;  line-height: 1.4;  margin-bottom: 15px;  text-shadow: 1px 1px 4px rgba(255, 255, 255, 0.6);  position: relative;  text-align: center;  margin: 30px 0;}.problemspan {    font-size: clamp(25px, 5vw, 50px);    background: linear-gradient(135deg, #014f8c, #0169bb, #0082e7);    -webkit-background-clip: text;    -webkit-text-fill-color: #00000052;    font-weight: 700;}.problem-container {  display: grid;    grid-template-columns: repeat(3, 1fr);    gap: 20px;    margin-bottom: 30px;    margin: 6rem auto;}.problem-item {  background-color: #fff;  padding: 0 0 20px;  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);  display: flex;  justify-content: center;  align-items: center;}.problem-inner {  text-align: center;  display: flex;  flex-direction: column;  align-items: center;  justify-content: space-between;  height: 100%;}.problembox {  width: 100%;}.problembox h3 {  color: #014f8c;  font-size: 1.2rem;  margin: 10px 0 20px;  position: relative;}.problembox h3::after {  content: "";  position: absolute;  bottom: -10px;  left: 5%;   width: 90%;  border-bottom: 1px solid #bcbcbc; }.problem-item img {  width: 100%;  object-fit: cover;  margin-bottom: 15px;}.problem-item p {  font-size: 0.9rem;  font-weight: 500;  margin: 15px;  text-align: left;}.view-more {  display: inline-block;  background-color: #5996c5;  color: #fff;  font-size: 16px;  padding: 10px 24px;  text-align: center;  border-radius: 30px;  text-decoration: none;  transition: background-color 0.3s ease, transform 0.3s ease;  cursor: pointer;  margin-top: 10px;}.view-more:hover {  background-color: #4b83ad;  transform: translateY(-5px);  color: #fff;}.view-more:active {  transform: translateY(2px);}/* スマホ用 */@media (max-width: 768px) {.problem-container.container {    width: 90%;    margin: 0 auto;}  .problem-ttlbloc {    padding: 20px;  }  .problem-ttlbloc::after {    bottom: -35px;  }  .problem-section {    padding: 20px 0;  }  .problem-section h2 {    font-size: 1.2rem;  }  .problem-container {    grid-template-columns: 1fr;  /* スマホサイズで1列にする */  }  .problem-item {    margin-top: 50px;    width: 100%;    height: auto;  /* スマホでは高さを自動調整 */  }}/* -------------------どんなことでお悩みですか？ここまで------------------- *//* -------------------追加------------------- *//* 全体 */.stage2-block {  text-align: center;  padding: 70px 20px;}/* 見出し */.stage2-title {  font-size: 26px;  font-weight: 500;  line-height: 1.6;  margin-bottom: 60px;  position: relative;  display: inline-block;  padding: 0 20px;}.stage2-title:before,.stage2-title:after {  content: "";  width: 80px;  height: 1px;  border-bottom: 2px dotted #888;  position: absolute;  top: 50%;}.stage2-title:before {  left: -100px;  transform: rotate(50deg);}.stage2-title:after {  right: -100px;  transform: rotate(135deg);}/* 横並び */.stage2-flex {  display: flex;  justify-content: center;  align-items: center;  gap: 0;  flex-wrap: wrap;}.stage2-image img {  width: 400px;  /* border-radius: 6px; */  object-fit: cover;}/* カード */.stage2-card {  background: #e3f3f4;  padding: 40px 50px;  border-radius: 0 12px 12px 0;  position: relative;  width: 22%;  text-align: left;}.stage2-badge {  display: inline-block;  background: #fff;  border-radius: 24px;  padding: 6px 18px;  font-size: 14px;  font-weight: 600;  margin-bottom: 20px;}.stage2-card-title {  font-size: 24px;  font-weight: 600;  margin-bottom: 30px;  line-height: 1.4;}/* ボタン */.stage2-btn {  display: inline-flex;  align-items: center;  gap: 12px;  text-decoration: none;  font-size: 16px;  color: #333;  font-weight: 600;}.stage2-btn .arrow {  width: 40px;  height: 40px;  background: #333;  border-radius: 50%;  position: relative;}.stage2-btn .arrow::after {  content: "";  width: 12px;  height: 12px;  border-right: 2px solid #fff;  border-bottom: 2px solid #fff;  position: absolute;  top: 50%;  left: 50%;  transform: translate(-60%, -50%) rotate(-45deg);}/* スマホ対応 */@media (max-width: 768px) {  .intro::before {    height: 35%;  }  .stage2-flex {    flex-direction: column;  }  .stage2-title {    font-size: 1rem;  }  .stage2-title:before, .stage2-title:after {    width: 60px;  }  .stage2-title:before {    left: -45px;  }  .stage2-title:after {    right: -45px;  }  .stage2-badge {    margin-bottom: 5px;  }  .stage2-card {    width: 100%;  }}/* 成人矯正で追加分 */.intro-text h2,h2.section-title,h3.graphttl,.step-content h3,.area-text h3{  font-family: 'Noto Serif JP';}.sp-only {  display:none;}@media screen and (max-width: 768px) {.sp-only {  display:block;}}.center {  text-align: center;}/* 成人矯正追加ブロックCSS */h3.graphttl {    font-size: 1.5rem;	color: #014f8c;    border-bottom: 1px solid #6ca0d7;    padding-bottom: 15px;    margin: 20px 0;}.point3 {    list-style: none;    margin: 18px 0 10px;    padding: 20px;/*     border-top: 1px solid rgba(9, 60, 95, .14); */    background: #f3f9ff;  }.point3__item{  display:flex;  gap: 14px;  align-items: center;  padding: 14px 0;  border-bottom: 1px dashed rgba(9, 60, 95, .12);}.point3__badge{  flex: 0 0 auto;  font-weight: 800;  font-size: 15px;  letter-spacing: .08em;  color: #0b3a5c;  padding: 10px 11px;  border-radius: 999px;  background: linear-gradient(135deg, rgba(110,231,255,.30), rgba(14,165,233,.14));  border: 1px solid rgba(14,165,233,.18);  margin-top: 2px;}.point3__text{  margin:0;  font-size: 15px;  line-height: 1.9;  color:#1d2a33;}@media (max-width: 768px){  h3.graphttl {    font-size: 1.1rem;  }  .point3__text{ font-size: 14px; }}.simple-list {  list-style: none;  padding-left: 0;  margin: 16px 0;}.simple-list li {  position: relative;  padding-left: 20px;  margin-bottom: 6px;  font-size: 15px;}.simple-list li::before {  content: "●";  position: absolute;  left: 0;  color: #5b8fdc;}figure.ma20 {    margin: 20px 0;}/* ==============================  審美歯科 よくある質問  ※他ページと競合しないように .esthetic-faq 起点============================== */.esthetic-faq {  padding: 60px 0;  background: #f7fbff;}.esthetic-faq .container {  width: 90%;  max-width: 1100px;  margin: 0 auto;}.esthetic-faq__list {  margin-top: 35px;}.esthetic-faq__item {  position: relative;  background: #fff;  border: 1px solid #d8e6f2;  padding: 28px 30px 26px;  margin-bottom: 22px;  box-shadow: 0 4px 14px rgba(1, 79, 140, 0.06);}.esthetic-faq__item h3 {  position: relative;  color: #014f8c;  font-size: 1.35rem;  line-height: 1.6;  font-weight: 700;  padding-left: 48px;  margin: 0 0 16px;  font-family: 'Noto Serif JP', serif;}.esthetic-faq__item h3::before {  content: "Q";  position: absolute;  left: 0;  top: 0.15em;  width: 34px;  height: 34px;  background: #014f8c;  color: #fff;  border-radius: 50%;  font-size: 18px;  font-weight: 700;  line-height: 34px;  text-align: center;  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;}.esthetic-faq__item p {  position: relative;  color: #333;  font-size: 15px;  line-height: 1.9;  padding-left: 48px;  margin: 0;}.esthetic-faq__item p::before {  content: "A";  position: absolute;  left: 0;  top: 0.1em;  width: 34px;  height: 34px;  background: #e8f3fb;  color: #014f8c;  border: 1px solid #bcd5e9;  border-radius: 50%;  font-size: 18px;  font-weight: 700;  line-height: 32px;  text-align: center;}/* hover */.esthetic-faq__item {  transition: transform 0.2s ease, box-shadow 0.2s ease;}.esthetic-faq__item:hover {  transform: translateY(-2px);  box-shadow: 0 8px 22px rgba(1, 79, 140, 0.1);}/* スマホ対応 */@media screen and (max-width: 768px) {  .esthetic-faq {    padding: 40px 0;  }  .esthetic-faq__list {    margin-top: 24px;  }  .esthetic-faq__item {    padding: 22px 18px;    margin-bottom: 18px;  }  .esthetic-faq__item h3 {    font-size: 1.05rem;    padding-left: 42px;    margin-bottom: 14px;  }  .esthetic-faq__item h3::before,  .esthetic-faq__item p::before {    width: 30px;    height: 30px;    font-size: 16px;    line-height: 30px;  }  .esthetic-faq__item p {    font-size: 14px;    line-height: 1.8;    padding-left: 42px;  }}/* ==============================  審美歯科 料金表  ※他ページと競合しないように .esthetic-price 起点============================== */.esthetic-price {  padding: 60px 0;  background: #fff;}.esthetic-price .container {  width: 90%;  max-width: 1100px;  margin: 0 auto;}.esthetic-price__table {  width: 100%;  border-collapse: collapse;  background: #fff;  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;}.esthetic-price__table thead th {  background: #014f8c;  color: #fff;  font-size: 16px;  font-weight: 700;  text-align: center;  padding: 16px 18px;  border: 1px solid #014f8c;}.esthetic-price__table tbody th,.esthetic-price__table tbody td {  border: 1px solid #d8e6f2;  padding: 18px 20px;  font-size: 15px;  line-height: 1.7;  vertical-align: middle;}.esthetic-price__table tbody th {  width: 68%;  color: #333;  font-weight: 600;  text-align: left;  background: #fff;}.esthetic-price__table tbody td {  width: 32%;  color: #014f8c;  font-weight: 700;  text-align: right;  white-space: nowrap;  background: #fbfdff;}/* .esthetic-price__table tbody tr:nth-child(even) th,.esthetic-price__table tbody tr:nth-child(even) td {  background: #f3f9ff;} */.esthetic-price__note {  margin: 18px 0 0;  color: #666;  font-size: 13px;  line-height: 1.8;  text-align: right;}/* スマホ対応 */@media screen and (max-width: 768px) {  .esthetic-price {    padding: 40px 0;  }  .esthetic-price__table,  .esthetic-price__table thead,  .esthetic-price__table tbody,  .esthetic-price__table tr,  .esthetic-price__table th,  .esthetic-price__table td {    display: block;    width: 100%;  }  .esthetic-price__table thead {    display: none;  }  .esthetic-price__table tbody tr {    border: 1px solid #d8e6f2;    margin-bottom: 14px;    background: #fff;  }  .esthetic-price__table tbody th,  .esthetic-price__table tbody td {    border: none;    padding: 14px 16px;    width: 100%;  }  .esthetic-price__table tbody th {    background: #fff;    color: #333;    font-size: 14px;    border-bottom: 1px dashed #d8e6f2;  }  .esthetic-price__table tbody td {    position: relative;    background: #f3f9ff;    color: #014f8c;    font-size: 16px;    text-align: left;    padding-left: 92px;    white-space: normal;  }  .esthetic-price__table tbody td::before {    content: "費用";    position: absolute;    left: 16px;    top: 50%;    transform: translateY(-50%);    color: #666;    font-size: 13px;    font-weight: 600;  }  .esthetic-price__note {    font-size: 12px;    text-align: left;  }}/* ==============================  審美歯科 お悩み  modern design============================== */.esthetic-worries {  position: relative;  padding: 80px 0;  background:    radial-gradient(circle at top left, rgba(182, 219, 243, 0.45), transparent 35%),    linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%);  overflow: hidden;}.esthetic-worries::before {  content: "";  position: absolute;  top: 70px;  right: -120px;  width: 320px;  height: 320px;  background: rgba(1, 79, 140, 0.06);  border-radius: 50%;  z-index: 0;}.esthetic-worries .container {  position: relative;  z-index: 1;  width: 90%;  max-width: 1100px;  margin: 0 auto;}.esthetic-worries__grid {  display: grid;  grid-template-columns: repeat(2, 1fr);  gap: 26px;  margin-top: 42px;}.esthetic-worries__item {  position: relative;  min-height: 230px;  padding: 38px 34px 34px;  background: rgba(255, 255, 255, 0.86);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;}.esthetic-worries__item::before {  content: "";  position: absolute;  inset: 0;  background: linear-gradient(135deg, rgba(182, 219, 243, 0.35), rgba(255, 255, 255, 0));  opacity: 0;  transition: opacity 0.25s ease;}.esthetic-worries__item::after {  content: "";  position: absolute;  top: 0;  left: 34px;  width: 72px;  height: 3px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.esthetic-worries__item:hover {  transform: translateY(-5px);  border-color: rgba(1, 79, 140, 0.28);  box-shadow: 0 24px 58px rgba(1, 79, 140, 0.13);}.esthetic-worries__item:hover::before {  opacity: 1;}.esthetic-worries__num {  position: absolute;  right: 28px;  bottom: 18px;  color: rgba(1, 79, 140, 0.08);  font-family: "Noto Serif JP", serif;  font-size: 76px;  font-weight: 700;  line-height: 1;  letter-spacing: -0.04em;  pointer-events: none;}.esthetic-worries__item h3 {  position: relative;  z-index: 1;  color: #014f8c;  font-family: "Noto Serif JP", serif;  font-size: clamp(1.25rem, 2vw, 1.65rem);  line-height: 1.55;  font-weight: 700;  margin: 0 0 18px;  letter-spacing: 0.03em;}.esthetic-worries__item p {  position: relative;  z-index: 1;  color: #333;  font-size: 15px;  line-height: 1.9;  margin: 0;}/* 文章の読みやすさ調整 */.esthetic-worries__item p::before {  content: "";  display: block;  width: 34px;  height: 1px;  background: rgba(1, 79, 140, 0.24);  margin-bottom: 16px;}/* スマホ対応 */@media screen and (max-width: 768px) {  .esthetic-worries {    padding: 50px 0;  }  .esthetic-worries::before {    width: 220px;    height: 220px;    top: 30px;    right: -120px;  }  .esthetic-worries__grid {    grid-template-columns: 1fr;    gap: 18px;    margin-top: 28px;  }  .esthetic-worries__item {    min-height: auto;    padding: 30px 22px 32px;  }  .esthetic-worries__item::after {    left: 22px;    width: 56px;  }  .esthetic-worries__item h3 {    font-size: 1.18rem;    margin-bottom: 14px;  }  .esthetic-worries__item p {    font-size: 14px;    line-height: 1.85;  }  .esthetic-worries__num {    right: 18px;    bottom: 14px;    font-size: 58px;  }}/* ==============================  入れ歯のお悩み  modern style============================== */.worry-section {  position: relative;  padding: 70px 0;  background:    radial-gradient(circle at top left, rgba(182, 219, 243, 0.45), transparent 34%),    linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%);  overflow: hidden;}.worry-section::before {  content: "";  position: absolute;  top: 120px;  right: -120px;  width: 320px;  height: 320px;  background: rgba(1, 79, 140, 0.06);  border-radius: 50%;  z-index: 0;}.worry-section .container {  position: relative;  z-index: 1;  width: 90%;  max-width: 1100px;  margin: 0 auto;}/* 導入文 */.worry-section__lead {  position: relative;  margin: 0 0 42px;  padding: 30px 34px;  background: rgba(255, 255, 255, 0.88);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;}.worry-section__lead::before {  content: "";  position: absolute;  top: 0;  left: 34px;  width: 78px;  height: 4px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.worry-section__lead::after {	content: "no more giving up";  position: absolute;  right: 28px;  bottom: 10px;  color: rgba(1, 79, 140, 0.06);  font-family: "Noto Serif JP", serif;  font-size: 62px;  font-weight: 700;  line-height: 1;  letter-spacing: 0.03em;  pointer-events: none;}.worry-section__lead p {  position: relative;  z-index: 1;  color: #333;  font-size: 15px;  line-height: 1.9;  margin: 0;}p.worry-section__lead-title {  position: relative;  z-index: 1;	color: #6494d3;	font-size: 1.2rem;  font-weight: 700;  line-height: 1.7;  margin: 0 0 14px;  font-family: "Noto Serif JP", serif;}/* 悩みカード */.worry-section__grid {  display: grid;  grid-template-columns: repeat(3, 1fr);  gap: 24px;  margin-top: 36px;}.worry-card {  position: relative;  min-height: 285px;  padding: 34px 26px 32px;  background: rgba(255, 255, 255, 0.92);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;}.worry-card::before {  content: "";  position: absolute;  inset: 0;  background: linear-gradient(135deg, rgba(182, 219, 243, 0.35), rgba(255, 255, 255, 0));  opacity: 0;  transition: opacity 0.25s ease;}.worry-card::after {  content: "";  position: absolute;  top: 0;  left: 26px;  width: 64px;  height: 3px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.worry-card:hover {  transform: translateY(-5px);  border-color: rgba(1, 79, 140, 0.28);  box-shadow: 0 24px 58px rgba(1, 79, 140, 0.13);}.worry-card:hover::before {  opacity: 1;}.worry-card__num {  position: absolute;  right: 20px;  bottom: 14px;  color: rgba(1, 79, 140, 0.08);  font-family: "Noto Serif JP", serif;  font-size: 70px;  font-weight: 700;  line-height: 1;  letter-spacing: -0.04em;  pointer-events: none;}.worry-card__icon {  position: relative;  z-index: 1;  display: flex;  align-items: center;  justify-content: center;  width: 58px;  height: 58px;  margin-bottom: 20px;  border-radius: 50%;  background: linear-gradient(135deg, #eaf5fc, #ffffff);  border: 1px solid rgba(1, 79, 140, 0.14);  color: #014f8c;  font-size: 24px;  box-shadow: 0 8px 18px rgba(1, 79, 140, 0.08);}.worry-card h3 {  position: relative;  z-index: 1;  color: #014f8c;  font-family: "Noto Serif JP", serif;  font-size: 1.18rem;  line-height: 1.55;  font-weight: 700;  margin: 0 0 15px;}.worry-card p {  position: relative;  z-index: 1;  color: #333;  font-size: 14px;  line-height: 1.85;  margin: 0;}/* 下部メッセージ */.worry-section__message {  position: relative;  margin-top: 40px;  padding: 26px 30px;  background: linear-gradient(135deg, #014f8c 0%, #2f7db7 100%);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.12);  text-align: center;  overflow: hidden;}.worry-section__message::before {  content: "";  position: absolute;  right: -80px;  top: -80px;  width: 180px;  height: 180px;  background: rgba(255, 255, 255, 0.10);  border-radius: 50%;}.worry-section__message p {  position: relative;  z-index: 1;  color: #fff;  font-size: 1.05rem;  line-height: 1.9;  font-weight: 500;  margin: 0;}.worry-section__message span {  font-weight: 700;  background: linear-gradient(transparent 62%, rgba(255, 255, 255, 0.25) 62%);}/* スマホ対応 */@media screen and (max-width: 768px) {  .worry-section {    padding: 45px 0;  }  .worry-section::before {    width: 220px;    height: 220px;    top: 90px;    right: -130px;  }  .worry-section__lead {    padding: 26px 20px 30px;    margin-bottom: 30px;  }  .worry-section__lead::before {    left: 20px;    width: 60px;  }  .worry-section__lead::after {    font-size: 42px;    right: 14px;    bottom: 8px;  }  .worry-section__lead-title {    font-size: 1.08rem;  }  .worry-section__lead p {    font-size: 14px;    line-height: 1.85;  }  .worry-section__grid {    grid-template-columns: 1fr;    gap: 18px;    margin-top: 28px;  }  .worry-card {    min-height: auto;    padding: 30px 22px 32px;  }  .worry-card::after {    left: 22px;    width: 56px;  }  .worry-card__icon {    width: 52px;    height: 52px;    margin-bottom: 18px;    font-size: 22px;  }  .worry-card h3 {    font-size: 1.13rem;  }  .worry-card p {    font-size: 14px;    line-height: 1.85;  }  .worry-card__num {    right: 18px;    bottom: 14px;    font-size: 58px;  }  .worry-section__message {    margin-top: 30px;    padding: 24px 20px;    text-align: left;  }  .worry-section__message p {    font-size: 0.98rem;  }	p.worry-section__lead-title {		font-size: 1rem;	}}/* ==============================  さくらスーパーデンチャー  modern style============================== */.super-denture-section {  position: relative;  padding: 70px 0;  background:    radial-gradient(circle at top left, rgba(182, 219, 243, 0.42), transparent 34%),    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);  overflow: hidden;}.super-denture-section::before {  content: "";  position: absolute;  top: 120px;  right: -120px;  width: 320px;  height: 320px;  background: rgba(1, 79, 140, 0.06);  border-radius: 50%;  z-index: 0;}.super-denture-section .container {  position: relative;  z-index: 1;  width: 90%;  max-width: 1100px;  margin: 0 auto;}/* メインビジュアル */.super-denture-hero {  display: flex;  align-items: stretch;  gap: 0;  margin-top: 40px;  background: #fff;  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 22px 55px rgba(1, 79, 140, 0.10);  overflow: hidden;}.super-denture-hero__image {  position: relative;  width: 46%;  min-height: auto;  overflow: visible;  display: flex;  align-items: center;  justify-content: center;  background: #f8fbfd;  padding: 15px;}.super-denture-hero__image img {  width: 100%;  height: auto;  object-fit: contain;  display: block;  margin: auto;}.super-denture-hero__label {  position: absolute;  top: 22px;  left: 22px;  z-index: 2;  display: inline-block;  padding: 7px 16px;  background: rgba(255, 255, 255, 0.9);  color: #014f8c;  border: 1px solid rgba(1, 79, 140, 0.16);  border-radius: 999px;  font-size: 12px;  font-weight: 700;  letter-spacing: 0.12em;  box-shadow: 0 8px 22px rgba(1, 79, 140, 0.08);}/* テキスト */.super-denture-hero__text {  position: relative;  width: 54%;  padding: 46px 48px;  background:    radial-gradient(circle at bottom right, rgba(182, 219, 243, 0.32), transparent 36%),    #fff;  overflow: hidden;}.super-denture-hero__text::after {  content: "SUPER DENTURE";  position: absolute;  right: 28px;  bottom: 16px;  color: rgba(1, 79, 140, 0.055);  font-family: "Noto Serif JP", serif;  font-size: 58px;  font-weight: 700;  line-height: 1;  letter-spacing: 0.02em;  pointer-events: none;}.super-denture-hero__sub {  position: relative;  z-index: 1;  display: inline-block;  margin: 0 0 16px;  padding: 6px 15px;  color: #014f8c;  background: #eef6fb;  border: 1px solid #d8e6f2;  border-radius: 999px;  font-size: 13px;  font-weight: 700;  letter-spacing: 0.04em;}.super-denture-hero__text h3 {  position: relative;  z-index: 1;  color: #014f8c;  font-family: "Noto Serif JP", serif;	font-size: 1.5rem;  line-height: 1.65;  margin: 0 0 22px;}.super-denture-hero__text p {  position: relative;  z-index: 1;  color: #333;  font-size: 15px;  line-height: 1.9;  margin: 0 0 14px;}.super-denture-hero__btn {  position: relative;  z-index: 1;  margin-top: 26px;}/* 特徴ボックス */.super-denture-point {  position: relative;  margin-top: 42px;  padding: 36px 38px 40px;  background: rgba(255, 255, 255, 0.9);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;}.super-denture-point::before {  content: "";  position: absolute;  top: 0;  left: 38px;  width: 80px;  height: 4px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.super-denture-point__title {  color: #014f8c;  font-family: "Noto Serif JP", serif;  font-size: 1.35rem;  font-weight: 700;  line-height: 1.7;  margin: 0 0 24px;}.super-denture-point__grid {  display: grid;  grid-template-columns: repeat(3, 1fr);  gap: 18px;}.super-denture-point__item {  position: relative;  min-height: 120px;  padding: 24px 22px 22px;  background: #f8fbfd;  border: 1px solid #d8e6f2;  overflow: hidden;  transition: transform 0.25s ease, box-shadow 0.25s ease;}.super-denture-point__item:hover {  transform: translateY(-4px);  box-shadow: 0 14px 32px rgba(1, 79, 140, 0.10);}.super-denture-point__item span {  display: inline-block;  margin-bottom: 12px;  color: #014f8c;  font-family: "Noto Serif JP", serif;  font-size: 1.35rem;  font-weight: 700;  line-height: 1;}.super-denture-point__item h3 {    color: #2f7db7;    font-weight: 700;    font-size: 18px;    margin-bottom: 5px;}.super-denture-point__item p {  color: #333;  font-size: 14px;  line-height: 1.75;  margin: 0;}/* スマホ対応 */@media screen and (max-width: 768px) {  .super-denture-section {    padding: 45px 0;  }  .super-denture-section::before {    width: 220px;    height: 220px;    top: 90px;    right: -130px;  }  .super-denture-hero {    flex-direction: column;    margin-top: 30px;  }  .super-denture-hero__image {    width: 100%;    min-height: 260px;  }  .super-denture-hero__label {    top: 16px;    left: 16px;    font-size: 11px;  }  .super-denture-hero__text {    width: 100%;    padding: 30px 22px 34px;  }  .super-denture-hero__text::after {    right: 14px;    bottom: 10px;    font-size: 38px;  }  .super-denture-hero__sub {    font-size: 12px;    margin-bottom: 14px;  }  .super-denture-hero__text h3 {    font-size: 1.25rem;    line-height: 1.65;  }  .super-denture-hero__text p {    font-size: 14px;    line-height: 1.85;  }  .super-denture-point {    margin-top: 30px;    padding: 30px 20px;  }  .super-denture-point::before {    left: 20px;    width: 60px;  }  .super-denture-point__title {    font-size: 1.15rem;  }  .super-denture-point__grid {    grid-template-columns: 1fr;    gap: 14px;  }  .super-denture-point__item {    min-height: auto;    padding: 22px 18px;  }  .super-denture-point__item span {    font-size: 1.2rem;  }  .super-denture-point__item p {    font-size: 14px;  }}/* ==============================  入れ歯 比較表  保険の入れ歯と自費の入れ歯  modern style============================== */#denture-comparison {  position: relative;  background:    radial-gradient(circle at top left, rgba(182, 219, 243, 0.45), transparent 34%),    linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%);  overflow: hidden;}#denture-comparison::before {  content: "";  position: absolute;  top: 110px;  right: -120px;  width: 300px;  height: 300px;  background: rgba(1, 79, 140, 0.06);  border-radius: 50%;  z-index: 0;}#denture-comparison .container {  position: relative;  z-index: 1;}/* 導入ボックス */.denture-comparison-lead {  position: relative;  margin: 0 0 36px;  padding: 30px 34px;  background: rgba(255, 255, 255, 0.88);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;}.denture-comparison-lead::before {  content: "";  position: absolute;  top: 0;  left: 34px;  width: 78px;  height: 4px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.denture-comparison-lead::after {  content: "POINT";  position: absolute;  right: 28px;  bottom: 12px;  color: rgba(1, 79, 140, 0.06);  font-family: "Noto Serif JP", serif;  font-size: 64px;  font-weight: 700;  line-height: 1;  letter-spacing: 0.03em;  pointer-events: none;}.denture-comparison-lead p {  position: relative;  z-index: 1;  margin: 0 0 12px;  color: #333;  font-size: 15px;  line-height: 1.9;}.denture-comparison-lead p:last-child {  margin-bottom: 0;}.denture-comparison-lead__title {  color: #014f8c !important;  font-size: 1.25rem !important;  font-weight: 700;  margin-bottom: 14px !important;  font-family: "Noto Serif JP", serif;}/* 表全体 */.denture-table-wrap {  width: 100%;  margin: 35px auto 0;  overflow-x: auto;  box-shadow: 0 22px 55px rgba(1, 79, 140, 0.10);  background: #fff;}/* 比較表 */.denture-compare-table {  width: 100%;  border-collapse: separate;  border-spacing: 0;  background: #fff;  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;  overflow: hidden;}/* ヘッダー */.denture-compare-table thead th {  background: linear-gradient(135deg, #014f8c, #2f7db7);  color: #fff;  font-size: 15px;  font-weight: 700;  text-align: center;  padding: 18px 16px;  line-height: 1.6;  border-right: 1px solid rgba(255, 255, 255, 0.22);}.denture-compare-table thead th:last-child {  border-right: none;}/* 本文 */.denture-compare-table tbody th,.denture-compare-table tbody td {  border-right: 1px solid #d8e6f2;  border-bottom: 1px solid #d8e6f2;  vertical-align: middle;}.denture-compare-table tbody th {  width: 17%;  background: #eef6fb;  color: #014f8c;  font-size: 15px;  font-weight: 700;  text-align: center;  padding: 20px 14px;  line-height: 1.7;}.denture-compare-table tbody td {  color: #333;  font-size: 14px;  line-height: 1.85;  padding: 20px 18px;  background: #fff;}/* 自費列を少し目立たせる */.denture-compare-table tbody td:nth-child(3) {  position: relative;  background: linear-gradient(180deg, #f3f9ff 0%, #eaf5fc 100%);}/* 患者様にとっての違い */.denture-compare-table tbody td:nth-child(4) {  background: linear-gradient(180deg, #fffdf7 0%, #fff8e8 100%);  border-right: none;}/* 行ホバー */.denture-compare-table tbody tr {  transition: transform 0.2s ease, box-shadow 0.2s ease;}.denture-compare-table tbody tr:hover th {  background: #e2f1fb;}.denture-compare-table tbody tr:hover td {  background-color: #fbfdff;}.denture-compare-table tbody tr:hover td:nth-child(3) {  background: linear-gradient(180deg, #eaf5fc 0%, #dff0fa 100%);}.denture-compare-table tbody tr:hover td:nth-child(4) {  background: linear-gradient(180deg, #fff9eb 0%, #fff3d8 100%);}/* 最終行の角丸 */.denture-compare-table tbody tr:last-child th {  border-bottom-left-radius: 18px;}.denture-compare-table tbody tr:last-child td {  border-bottom: none;}.denture-compare-table tbody tr:last-child td:last-child {  border-bottom-right-radius: 18px;}/* 強調したい列ラベル風 */.denture-compare-table thead th:nth-child(3)::after {  content: "おすすめ";  display: inline-block;  margin-left: 8px;  padding: 3px 9px;  background: rgba(255, 255, 255, 0.22);  border-radius: 999px;  font-size: 11px;  font-weight: 600;  vertical-align: middle;}/* スマホ対応 */@media screen and (max-width: 768px) {  #denture-comparison::before {    width: 220px;    height: 220px;    top: 80px;    right: -130px;  }  .denture-comparison-lead {    padding: 26px 20px 30px;    margin-bottom: 28px;  }  .denture-comparison-lead::before {    left: 20px;    width: 60px;  }  .denture-comparison-lead::after {    font-size: 46px;    right: 16px;    bottom: 10px;  }  .denture-comparison-lead__title {    font-size: 1.08rem !important;  }  .denture-comparison-lead p {    font-size: 14px;    line-height: 1.85;  }  .denture-table-wrap {    overflow-x: visible;    border-radius: 0;    box-shadow: none;    background: transparent;  }  .denture-compare-table,  .denture-compare-table thead,  .denture-compare-table tbody,  .denture-compare-table tr,  .denture-compare-table th,  .denture-compare-table td {    display: block;    width: 100%;  }  .denture-compare-table {    background: transparent;  }  .denture-compare-table thead {    display: none;  }  .denture-compare-table tbody tr {    position: relative;    margin-bottom: 22px;    background: #fff;    border: 1px solid #d8e6f2;    border-radius: 18px;    box-shadow: 0 12px 32px rgba(1, 79, 140, 0.08);    overflow: hidden;  }  .denture-compare-table tbody th {    width: 100%;    background: linear-gradient(135deg, #014f8c, #2f7db7);    color: #fff;    text-align: left;    font-size: 16px;    padding: 15px 18px;    border: none;    border-radius: 0;  }  .denture-compare-table tbody td {    position: relative;    width: 100%;    border: none;    border-bottom: 1px dashed #d8e6f2;    padding: 44px 18px 17px;    font-size: 14px;    line-height: 1.8;    background: #fff;  }  .denture-compare-table tbody td:last-child {    border-bottom: none;  }  .denture-compare-table tbody td::before {    content: attr(data-label);    position: absolute;    top: 15px;    left: 18px;    display: inline-flex;    align-items: center;    gap: 6px;    color: #014f8c;    font-size: 13px;    font-weight: 700;    line-height: 1;  }  .denture-compare-table tbody td::after {    content: "";    position: absolute;    top: 17px;    left: 18px;    width: 28px;    height: 1px;    background: rgba(1, 79, 140, 0.25);    transform: translateY(20px);  }  .denture-compare-table tbody td:nth-child(3) {    background: #f3f9ff;  }  .denture-compare-table tbody td:nth-child(4) {    background: #fff9eb;  }  .denture-compare-table tbody tr:last-child th,  .denture-compare-table tbody tr:last-child td:last-child {    border-radius: 0;  }}/* ==============================  入れ歯が合わなくなる理由  modern style============================== */.denture-cause {  position: relative;  padding: 70px 0;  background:    radial-gradient(circle at top right, rgba(182, 219, 243, 0.45), transparent 34%),    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);  overflow: hidden;}.denture-cause::before {  content: "";  position: absolute;  top: 120px;  left: -120px;  width: 320px;  height: 320px;  background: rgba(1, 79, 140, 0.06);  border-radius: 50%;  z-index: 0;}.denture-cause .container {  position: relative;  z-index: 1;  width: 90%;  max-width: 1100px;  margin: 0 auto;}/* 導入文 */.denture-cause__lead {  position: relative;  margin: 0 0 42px;  padding: 32px 36px;  background: rgba(255, 255, 255, 0.9);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;}.denture-cause__lead::before {  content: "";  position: absolute;  top: 0;  left: 36px;  width: 82px;  height: 4px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.denture-cause__lead::after {  content: "CAUSE";  position: absolute;  right: 28px;  bottom: 8px;  color: rgba(1, 79, 140, 0.06);  font-family: "Noto Serif JP", serif;  font-size: 68px;  font-weight: 700;  line-height: 1;  letter-spacing: 0.04em;  pointer-events: none;}.denture-cause__lead-title {  color: #014f8c;  font-size: 1.25rem;  font-weight: 700;  line-height: 1.7;  margin-bottom: 14px;  font-family: "Noto Serif JP", serif;}.denture-cause__lead p {  position: relative;  z-index: 1;  color: #333;  font-size: 15px;  line-height: 1.9;  margin: 0 0 12px;}.denture-cause__lead p:last-child {  margin-bottom: 0;}/* 3ステップ */.denture-cause__flow {  position: relative;  display: grid;  grid-template-columns: repeat(3, 1fr);  gap: 26px;  margin: 42px 0 46px;}.denture-cause__card {  position: relative;  min-height: 280px;  padding: 36px 28px 30px;  background: rgba(255, 255, 255, 0.92);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;}.denture-cause__card::before {  content: "";  position: absolute;  inset: 0;  background: linear-gradient(135deg, rgba(182, 219, 243, 0.35), rgba(255, 255, 255, 0));  opacity: 0;  transition: opacity 0.25s ease;}.denture-cause__card::after {  content: "";  position: absolute;  top: 0;  left: 28px;  width: 64px;  height: 3px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.denture-cause__card:hover {  transform: translateY(-5px);  border-color: rgba(1, 79, 140, 0.28);  box-shadow: 0 24px 58px rgba(1, 79, 140, 0.13);}.denture-cause__card:hover::before {  opacity: 1;}.denture-cause__num {  position: absolute;  right: 22px;  bottom: 14px;  color: rgba(1, 79, 140, 0.08);  font-family: "Noto Serif JP", serif;  font-size: 72px;  font-weight: 700;  line-height: 1;  letter-spacing: -0.04em;  pointer-events: none;}.denture-cause__icon {  position: relative;  z-index: 1;  display: flex;  align-items: center;  justify-content: center;  width: 58px;  height: 58px;  margin-bottom: 20px;  border-radius: 50%;  background: linear-gradient(135deg, #eaf5fc, #ffffff);  border: 1px solid rgba(1, 79, 140, 0.14);  color: #014f8c;  font-size: 24px;  box-shadow: 0 8px 18px rgba(1, 79, 140, 0.08);}.denture-cause__card h3 {  position: relative;  z-index: 1;  color: #014f8c;  font-family: "Noto Serif JP", serif;  font-size: 1.25rem;  line-height: 1.55;  font-weight: 700;  margin: 0 0 16px;}.denture-cause__card p {  position: relative;  z-index: 1;  color: #333;  font-size: 14px;  line-height: 1.85;  margin: 0;}/* POINTボックス */.denture-cause__point {  position: relative;  padding: 38px 42px;  background: linear-gradient(135deg, #014f8c 0%, #2f7db7 100%);  color: #fff;  box-shadow: 0 22px 55px rgba(1, 79, 140, 0.16);  overflow: hidden;}.denture-cause__point::before {  content: "";  position: absolute;  right: -90px;  top: -90px;  width: 220px;  height: 220px;  background: rgba(255, 255, 255, 0.10);  border-radius: 50%;}.denture-cause__point::after {  content: "";  position: absolute;  left: -80px;  bottom: -100px;  width: 220px;  height: 220px;  background: rgba(255, 255, 255, 0.08);  border-radius: 50%;}.denture-cause__point-label {  position: relative;  z-index: 1;  display: inline-block;  margin-bottom: 14px;  padding: 5px 14px;  background: rgba(255, 255, 255, 0.18);  border: 1px solid rgba(255, 255, 255, 0.28);  border-radius: 999px;  font-size: 12px;  font-weight: 700;  letter-spacing: 0.12em;}.denture-cause__point h3 {  position: relative;  z-index: 1;  color: #fff;  font-family: "Noto Serif JP", serif;  font-size: 1.45rem;  line-height: 1.7;  margin: 0 0 18px;}.denture-cause__point p {  position: relative;  z-index: 1;  color: #fff;  font-size: 15px;  line-height: 1.9;  margin: 0 0 12px;}.denture-cause__point .center {  position: relative;  z-index: 1;  margin-top: 24px;}/* POINT内ボタンだけ白系に調整 */.denture-cause__point .btn-blue {  background: #fff;  color: #014f8c;  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);}.denture-cause__point .btn-blue:hover {  background: #f3f9ff;  color: #014f8c;}/* スマホ対応 */@media screen and (max-width: 768px) {  .denture-cause {    padding: 45px 0;  }  .denture-cause::before {    width: 220px;    height: 220px;    top: 90px;    left: -130px;  }  .denture-cause__lead {    padding: 26px 20px 30px;    margin-bottom: 32px;  }  .denture-cause__lead::before {    left: 20px;    width: 60px;  }  .denture-cause__lead::after {    font-size: 46px;    right: 14px;    bottom: 8px;  }  .denture-cause__lead-title {    font-size: 1.08rem;  }  .denture-cause__lead p {    font-size: 14px;    line-height: 1.85;  }  .denture-cause__flow {    grid-template-columns: 1fr;    gap: 18px;    margin: 30px 0 34px;  }  .denture-cause__card {    min-height: auto;    padding: 30px 22px 32px;  }  .denture-cause__card::after {    left: 22px;    width: 56px;  }  .denture-cause__icon {    width: 52px;    height: 52px;    margin-bottom: 18px;    font-size: 22px;  }  .denture-cause__card h3 {    font-size: 1.15rem;  }  .denture-cause__card p {    font-size: 14px;    line-height: 1.85;  }  .denture-cause__num {    right: 18px;    bottom: 14px;    font-size: 58px;  }  .denture-cause__point {    padding: 30px 22px;  }  .denture-cause__point h3 {    font-size: 1.18rem;  }  .denture-cause__point p {    font-size: 14px;    line-height: 1.85;  }}/* ==============================  入れ歯 費用表  modern style============================== */#denture-price {  position: relative;  background:    radial-gradient(circle at top right, rgba(182, 219, 243, 0.42), transparent 34%),    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);  overflow: hidden;}#denture-price::before {  content: "";  position: absolute;  top: 110px;  left: -120px;  width: 300px;  height: 300px;  background: rgba(1, 79, 140, 0.06);  border-radius: 50%;  z-index: 0;}#denture-price .container {  position: relative;  z-index: 1;}/* 導入ボックス */.denture-price-lead {  position: relative;  margin: 0 0 36px;  padding: 30px 34px;  background: rgba(255, 255, 255, 0.88);  border: 1px solid rgba(1, 79, 140, 0.12);  box-shadow: 0 18px 45px rgba(1, 79, 140, 0.08);  overflow: hidden;}.denture-price-lead.mat70 {    margin-top: 70px;}.denture-price-lead::before {  content: "";  position: absolute;  top: 0;  left: 34px;  width: 78px;  height: 4px;  background: linear-gradient(90deg, #014f8c, #8fc4e8);}.denture-price-lead::after {  content: "PRICE";  position: absolute;  right: 28px;  bottom: 12px;  color: rgba(1, 79, 140, 0.06);  font-family: "Noto Serif JP", serif;  font-size: 64px;  font-weight: 700;  line-height: 1;  letter-spacing: 0.03em;  pointer-events: none;}.denture-price-lead p {  position: relative;  z-index: 1;  margin: 0 0 12px;  color: #333;  font-size: 15px;  line-height: 1.9;}.denture-price-lead p:last-child {  margin-bottom: 0;}.denture-price-lead__title {  color: #014f8c !important;  font-size: 1.25rem !important;  font-weight: 700;  margin-bottom: 14px !important;  font-family: "Noto Serif JP", serif;}/* 表全体 */.denture-price-table {  width: 100%;  border-collapse: separate;  border-spacing: 0;  background: #fff;  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;  overflow: hidden;}/* ヘッダー */.denture-price-table thead th {  background: linear-gradient(135deg, #014f8c, #2f7db7);  color: #fff;  font-size: 15px;  font-weight: 700;  text-align: center;  padding: 18px 16px;  line-height: 1.6;  border-right: 1px solid rgba(255, 255, 255, 0.22);}.denture-price-table thead th:first-child {/*   border-top-left-radius: 18px; */}.denture-price-table thead th:last-child {/*   border-top-right-radius: 18px; */  border-right: none;}/* 本文 */.denture-price-table tbody th,.denture-price-table tbody td {  border-right: 1px solid #d8e6f2;  border-bottom: 1px solid #d8e6f2;  vertical-align: middle;}.denture-price-table tbody th {  width: 68%;  background: #fff;  color: #333;  font-size: 15px;  font-weight: 700;  text-align: left;  padding: 20px 22px;  line-height: 1.7;}.denture-price-table tbody td {  width: 32%;  color: #014f8c;  font-size: 17px;  font-weight: 700;  line-height: 1.7;  text-align: right;  padding: 20px 22px;  background: linear-gradient(180deg, #f3f9ff 0%, #eaf5fc 100%);  border-right: none;  white-space: nowrap;}/* 行ごとの薄い色 */.denture-price-table tbody tr:nth-child(even) th {  background: #fbfdff;}.denture-price-table tbody tr:nth-child(even) td {  background: linear-gradient(180deg, #eaf5fc 0%, #dff0fa 100%);}/* hover */.denture-price-table tbody tr:hover th {  background: #eef6fb;}.denture-price-table tbody tr:hover td {  background: linear-gradient(180deg, #dff0fa 0%, #d3eafa 100%);}/* 最終行の角丸 */.denture-price-table tbody tr:last-child td {  border-bottom: none;}/* 注記 */.denture-price-note {  margin: 22px 0 0;  padding: 18px 22px;  background: #fffdf7;  border-left: 5px solid #d8b75a;  box-shadow: 0 8px 22px rgba(1, 79, 140, 0.05);}.denture-price-note p {  margin: 0 0 6px;  color: #555;  font-size: 13px;  line-height: 1.8;}.denture-price-note p:last-child {  margin-bottom: 0;}/* スマホ対応 */@media screen and (max-width: 768px) {  #denture-price::before {    width: 220px;    height: 220px;    top: 80px;    left: -130px;  }  .denture-price-lead {    padding: 26px 20px 30px;    margin-bottom: 28px;  }  .denture-price-lead::before {    left: 20px;    width: 60px;  }  .denture-price-lead::after {    font-size: 46px;    right: 16px;    bottom: 10px;  }  .denture-price-lead__title {    font-size: 1.08rem !important;  }  .denture-price-lead p {    font-size: 14px;    line-height: 1.85;  }  .denture-price-table,  .denture-price-table thead,  .denture-price-table tbody,  .denture-price-table tr,  .denture-price-table th,  .denture-price-table td {    display: block;    width: 100%;  }  .denture-price-table {    background: transparent;  }  .denture-price-table thead {    display: none;  }  .denture-price-table tbody tr {    position: relative;    margin-bottom: 18px;    background: #fff;    border: 1px solid #d8e6f2;    border-radius: 18px;    box-shadow: 0 12px 32px rgba(1, 79, 140, 0.08);    overflow: hidden;  }  .denture-price-table tbody th {    width: 100%;    background: #fff;    color: #333;    text-align: left;    font-size: 15px;    padding: 18px 18px 12px;    border: none;    border-radius: 0;  }  .denture-price-table tbody td {    position: relative;    width: 100%;    border: none;    padding: 38px 18px 18px;    font-size: 18px;    text-align: left;    background: #f3f9ff;    white-space: normal;  }  .denture-price-table tbody td::before {    content: attr(data-label);    position: absolute;    top: 14px;    left: 18px;    display: inline-block;    color: #014f8c;    font-size: 13px;    font-weight: 700;    line-height: 1;  }  .denture-price-table tbody td::after {    content: "";    position: absolute;    top: 36px;    left: 18px;    width: 28px;    height: 1px;    background: rgba(1, 79, 140, 0.25);  }  .denture-price-table tbody tr:last-child th,  .denture-price-table tbody tr:last-child td {    border-radius: 0;  }  .denture-price-note {    padding: 16px 18px;  }  .denture-price-note p {    font-size: 12px;  }}/* ==============================  よくある質問  汎用FAQデザイン============================== */.faq-section {  padding: 60px 0;  background: #f7fbff;}.faq-section .container {  width: 90%;  max-width: 1100px;  margin: 0 auto;}.faq-section__list {  margin-top: 35px;}.faq-section__item {  position: relative;  background: #fff;  border: 1px solid #d8e6f2;  padding: 28px 30px 26px;  margin-bottom: 22px;  box-shadow: 0 4px 14px rgba(1, 79, 140, 0.06);  transition: transform 0.2s ease, box-shadow 0.2s ease;}.faq-section__item:hover {  transform: translateY(-2px);  box-shadow: 0 8px 22px rgba(1, 79, 140, 0.1);}.faq-section__item h3 {  position: relative;  color: #014f8c;  font-size: 1.35rem;  line-height: 1.6;  font-weight: 700;  padding-left: 48px;  margin: 0 0 16px;  font-family: "Noto Serif JP", serif;}.faq-section__item h3::before {  content: "Q";  position: absolute;  left: 0;  top: 0.15em;  width: 34px;  height: 34px;  background: #014f8c;  color: #fff;  border-radius: 50%;  font-size: 18px;  font-weight: 700;  line-height: 34px;  text-align: center;  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;}.faq-section__item p {  position: relative;  color: #333;  font-size: 15px;  line-height: 1.9;  padding-left: 48px;  margin: 0;}.faq-section__item p::before {  content: "A";  position: absolute;  left: 0;  top: 0.1em;  width: 34px;  height: 34px;  background: #e8f3fb;  color: #014f8c;  border: 1px solid #bcd5e9;  border-radius: 50%;  font-size: 18px;  font-weight: 700;  line-height: 32px;  text-align: center;  font-weight: 700;}/* スマホ対応 */@media screen and (max-width: 768px) {  .faq-section {    padding: 40px 0;  }  .faq-section__list {    margin-top: 24px;  }  .faq-section__item {    padding: 22px 18px;    margin-bottom: 18px;  }  .faq-section__item h3 {    font-size: 1.05rem;    padding-left: 42px;    margin-bottom: 14px;  }  .faq-section__item h3::before,  .faq-section__item p::before {    width: 30px;    height: 30px;    font-size: 16px;    line-height: 30px;  }  .faq-section__item p {    font-size: 14px;    line-height: 1.8;    padding-left: 42px;  }}
/* ============================================================
   ユーザー提供の実CSS（URUMA kyoutuu 追加分）
   ※画像URLはテーマ内にlocalize／不正なJS行・外部@importは除去
   ============================================================ */
.biz-hour {
    height: 150px;
    display: block;
    overflow-x: scroll;
}
.biz-hour th {
    border-top: 1px solid #A28C63;
}
.biz-hour th, .biz-hour td {
    padding: 5px;
    text-align: center;
    border-bottom: 1px solid #A28C63;
}
@media screen and (max-width: 764px) {
    .biz-hour th, .biz-hour td {
        padding: 10px 10px;
    }
}
.biz-hour th {
    font-weight: normal;
    background-color: #88bbd6;
}
.biz-hour th.sat { color: blue; }
.biz-hour th.sun { color: #e66a6a; }

.breadcrumb { margin: 0; padding: 0; list-style: none; }
.breadcrumb li { display: inline; list-style: none; font-weight: bold; }
.breadcrumb li:after { content: '>'; padding: 0 0.2em; color: #555; }
.breadcrumb li:last-child:after { content: ''; }
.breadcrumb li a { text-decoration: none; color: #e86c4c; }
.breadcrumb li a:hover { text-decoration: underline; }

@keyframes infinity-scroll-left {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
@keyframes infinity-scroll-right {
  from { transform: translateX(-100%); }
  to { transform: translateX(0%); }
}

#sp-fixed-menu {
  position: fixed; right: 0; top: 40%; bottom: 0;
  font-size: 0; opacity: 0.9; z-index: 99;
}
#sp-fixed-menu ul { list-style: none; padding: 0; margin: 0; width: 100%; }
#sp-fixed-menu li {
  justify-content: left; align-items: center; margin: 0; padding-top: 10px;
  width: 70px; height: 120px; font-size: 14px; border-right: 1px solid #fff;
}
#sp-fixed-menu li:first-child { background: #a5bc3a; }
#sp-fixed-menu li:last-child { background: #FF6D9D; }
#sp-fixed-menu li a {
  color: #fff; font-weight: bold; text-decoration: none; text-align: center;
  display: block; width: 100%; padding: 10px;
}

.icon, .icon:before, .icon:after, .icon i, .icon i:before, .icon i:after {
  transition: all 0.4s ease;
}

.btn-horizontal-border {
  position: relative; display: inline-block; font-weight: bold;
  padding: 12px 0 8px; text-decoration: none; color: #67c5ff; transition: .4s;
}
.btn-horizontal-border:before {
  position: absolute; content: ''; width: 100%; height: 4px; top: 100%; left: 0;
  border-radius: 3px; background: #67c5ff; transition: .2s;
}
.btn-horizontal-border:after {
  position: absolute; content: ''; width: 100%; height: 4px; top: 0; left: 0;
  border-radius: 3px; background: #67c5ff; transition: .2s;
}
.btn-horizontal-border:hover:before { top: calc(100% - 3px); }
.btn-horizontal-border:hover:after { top: 3px; }

/* ----------------------------------------------TOP特徴ブロック---------------------------------------------- */
/* 見出し */
.featurettl {
  color: #30548d;
  font-size: 1.9rem;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.5;
}
.h2size1 { font-size: 38px; font-weight: bold; }
.featureline { background: linear-gradient(to top, #fff4d1 20%, transparent 24%); }
@media screen and (max-width: 768px) {
  .featurettl { font-size: 17px; width: 100%; margin: 0 auto; }
  .h2size1 { font-size: 25px; }
}
.feature-section { font-family: 'Noto Serif JP', serif; }
.feature-wrapper { display: flex; flex-direction: column; gap: 100px; margin: 0 auto; }
.feature-block.block1 {
  position: relative; overflow: hidden; color: #333;
  background-size: cover; background-position: center top; min-height: 500px;
}
.feature-block.block2 {
  position: relative; overflow: hidden; color: #333;
  background-size: cover; background-position: left top; min-height: 500px;
}
.feature-wrapper:nth-child(1) .feature-block { background-image: url('../img/top/feature/feature1.webp'); }
.feature-wrapper:nth-child(2) .feature-block { background-image: url('../img/top/feature/feature2.webp'); }
.feature-wrapper:nth-child(3) .feature-block { background-image: url('../img/top/feature/feature3.webp'); }
.feature-wrapper:nth-child(4) .feature-block { background-image: url('../img/top/feature/feature4.webp'); }
.feature-wrapper:nth-child(5) .feature-block { background-image: url('../img/top/feature/feature5.webp'); }
.feature-wrapper:nth-child(6) .feature-block { background-image: url('../img/top/feature/feature6.webp'); }
.block1 h3, .block1 p {
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.9), 0 0 12px rgb(255 255 255);
}
.feature-bg-img { display: none; }
.feature-content { position: relative; z-index: 2; padding: 50px; max-width: 50%; }
.feature-heading {
  border-bottom: 1px solid #444; margin-bottom: 30px; padding-bottom: 10px;
  line-height: 1.2; color: #644A2F;
}
.sp { display: none; }
.feature-sub { font-size: 18px; display: block; color: #6ca0d7; }
.feature-main { font-size: 32px; display: block; margin-top: 5px; }
.featurehighlight {
  background: linear-gradient(to top, #fff4d1 50%, transparent 50%);
  display: inline-block; font-size: 23px; font-weight: 700;
}
.featurehighlight2 { background: linear-gradient(to top, #ffffffa2 50%, transparent 50%); }
.feature-description {
  font-size: 16px; margin-bottom: 30px; line-height: 1.8; padding: 1.2em; border-radius: 8px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.5) 50%, rgba(240,240,240,0.3) 100%);
  box-shadow: 0 4px 12px rgba(255,255,255,0.3);
}
.feature-list { list-style: none; padding-left: 1.2em; margin-bottom: 30px; }
.feature-list li { position: relative; margin-bottom: 10px; padding-left: 1.5em; font-size: 15px; }
.feature-list li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: #d2b556; font-weight: bold; }
.feature-content .feature-button { color: #30548d; text-align: center; background: #eaf3fb; width: 450px; }
.feature-image { position: absolute; bottom: 20px; left: 50%; width: 260px; z-index: 3; }
.feature-image img { width: 100%; height: auto; box-shadow: 0 4px 10px rgba(0,0,0,0.1); border-radius: 6px; background: #fff; }
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .feature-block.block1, .feature-block.block2 { height: auto; background-position: right top; }
  .feature-content { max-width: 100%; background: #ffffffc7; margin: 15px; }
  .feature-bg-img { display: none; }
  img.sp.featureimg { margin: 0 auto; }
}
@media screen and (max-width: 768px) {
  .bottndiv { text-align: center; }
  .sp { display: block; width: 100%; }
  .feature-wrapper { gap: 60px; }
  .feature-block.block1, .feature-block.block2 { height: auto; background-position: left top; }
  .feature-bg-img { display: block; }
  .feature-content { max-width: 100%; padding: 20px 5px; }
  .feature-description { font-size: 15px; text-shadow: 1px 1px 2px rgb(255,255,255); margin: 10px 0; padding: 0; }
  .feature-image { position: static; width: 100%; margin-top: 20px; }
  .feature-main { font-size: 20px; }
  .feature-sub { font-size: 14px; }
  .featurehighlight { background: linear-gradient(to top, #fff4d1 30%, transparent 30%); font-size: 18px; }
  .feature-content .feature-button { width: 90%; }
}
.sp-br { display: none; }
@media screen and (max-width: 768px) { .sp-br { display: block; } }

/* ============ お悩み（problem）セクション：本番ライブ実測値へ補正 ============ */
.problem-ttlbloc{background-color:#e6f0f9;}
.problem-ttlbloc::after{border-top-color:#e6f0f9;}
.problem-section h2.comparisonttl{color:#69492a;}
.problemspan{background:linear-gradient(135deg,#1e3c72,#2a65a0,#69b6e2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.problembox h3{color:#4b7fb5;}
.problem-container.mw1200{max-width:1200px;width:90%;margin:6rem auto;}

/* ============ 4つのポイント（features-section）＝本番インラインstyle実CSS ============ */
.features-section { display: flex; flex-direction: column; gap: 60px; font-family: 'Noto Serif JP', serif; }
.features-row { display: flex; gap: 40px; justify-content: center; flex-wrap: wrap; }
.feature-card { flex: 1 1 calc(48% - 20px); max-width: 600px; background: #e2f1ff24; padding: 40px 30px; position: relative; text-align: center; transition: transform 0.3s ease; display: flex; flex-direction: column; justify-content: space-between; }
.feature1, .feature2, .feature3, .feature4 { border-color: #a2c7e6; background: url(../img/top/point/bg.webp) no-repeat bottom; background-size: cover; }
.feature-card:hover { transform: translateY(-5px); }
.feature-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.feature-label { padding: 6px 18px; border-radius: 25px; font-size: 17px; font-weight: bold; color: #fff; }
.feature1 .feature-label { background: #d0e8ff; color: #2565a8; }
.feature1 .feature-number { border-color: #d0e8ff; color: #2565a8; }
.feature1 .feature-caption { color: #2565a8; }
.feature1 .feature-button { background: #d0e8ff; color: #2565a8; }
.feature2 .feature-label { background: #c4dbf0; color: #1e3a68; }
.feature2 .feature-number { border-color: #c4dbf0; color: #1e3a68; }
.feature2 .feature-caption { color: #1e3a68; }
.feature2 .feature-button { background: #c4dbf0; color: #1e3a68; }
.feature3 .feature-label { background: #b8e2e9; color: #1b6773; }
.feature3 .feature-number { border-color: #b8e2e9; color: #1b6773; }
.feature3 .feature-caption { color: #1b6773; }
.feature3 .feature-button { background: #b8e2e9; color: #1b6773; }
.feature4 .feature-label { background: #bccedd; color: #2e4b5f; }
.feature4 .feature-number { border-color: #bccedd; color: #2e4b5f; }
.feature4 .feature-caption { color: #2e4b5f; }
.feature4 .feature-button { background: #bccedd; color: #2e4b5f; }
.feature-number { border: 3px solid; border-radius: 50%; width: 80px; height: 80px; display: flex; flex-direction: column; justify-content: center; align-items: center; font-weight: bold; background: #fff; }
.feature-number .num { font-size: 28px; line-height: 1; }
.feature-number .text { font-size: 11px; letter-spacing: 1px; }
.feature-title { font-size: 27px; margin-bottom: 18px; color: #2c4a6f; font-weight: bold; line-height: 1.5; }
.season-description { font-size: 15px; color: #555; margin-bottom: 24px; padding-top: 16px; line-height: 1.9; }
.feature-caption { font-size: 14px; margin-bottom: 20px; font-weight: bold; }
.feature-button { display: inline-block; padding: 12px 32px; border-radius: 30px; text-decoration: none; font-size: 14px; letter-spacing: 1px; transition: all 0.3s ease; font-weight: bold; box-shadow: 0 4px 12px rgba(0,0,0,0.1); color: white; width: 50%; margin: 0 auto; }
.feature-button:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,0.15); }
img.reasonimg { margin: 20px auto; object-fit: cover; }
@media (max-width: 768px) {
  .feature-label { font-size: 14px; }
  .season-description { text-align: left; }
  .features-row { flex-direction: column; gap: 30px; }
  .feature-card { width: 100%; max-width: 100%; padding: 40px 0; }
  a.feature-button { width: 100%; }
  .feature-title { font-size: 20px; }
}

/* ============ 診療案内メニュー（clinic-menu）＝本番inline style実CSS ============ */
/* ※全角セミコロン；はバグのため半角;へ修正。画像URLはテーマ内へlocalize。 */
.clinic-menu-waper { width: 1200px; aspect-ratio: 1260 / 690; margin: 0 auto; position: relative; }
.clinic-menu-waper::before { content: ''; position: absolute; width: 670px; height: 730px; top: 0; right: -38px; background-color: #f8eef3; mix-blend-mode: multiply; z-index: -1; }
.clinic-menu-waper::after { content: ''; position: absolute; width: 669px; height: 729px; top: -30px; bottom: 0; left: -38px; background-repeat: no-repeat; background-size: cover; background-image: url(../img/top/afterbg.webp); z-index: -1; }
.clinic-menu-inner { height: 100%; z-index: 5; padding: 0 0 0 550px; background-image: url(../img/top/service-photo.webp); background-size: auto 100%; background-position: 0 0; background-repeat: no-repeat; background-color: #fff; }
.clinic-menu__list { font-family: 'Noto Serif JP', serif; flex: 1 1 45%; min-width: 300px; height: 100%; background-color: rgba(255,255,255,.9); padding: 35px 36px 0 45px; align-content: center; }
.clinic-menu__title { font-size: 28px; font-weight: bold; margin-bottom: 30px; font-family: 'Georgia', serif; }
.clinic-menu__list ul { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 40px; font-family: 'Noto Serif JP', serif; }
.clinic-menu__list li { border-bottom: 1px solid #ccc; margin-bottom: 12px; padding-bottom: 8px; }
.clinic-menu__list a { text-decoration: none; color: #333; display: flex; justify-content: space-between; font-size: 16px; }
.clinic-menu__list a::after { content: '»'; color: #999; font-size: 14px; }
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .clinic-menu-waper { width: 100%; padding: 40px 30px; box-sizing: border-box; position: relative; background-image: url(../img/top/afterbg.webp), url(../img/top/service-photo.webp); background-repeat: no-repeat, no-repeat; background-position: bottom center, top left; background-size: 100% 50%, auto 100%; }
  .clinic-menu-waper::before, .clinic-menu-waper::after { display: none; }
  .clinic-menu-inner { display: flex; justify-content: flex-end; align-items: center; height: 100%; padding: 0; background: transparent; }
  .clinic-menu__list { width: 60%; max-width: 600px; padding: 30px 30px 20px; background-color: rgba(255,255,255,0.92); box-shadow: 0 0 10px rgba(0,0,0,0.05); border-radius: 8px; height: auto; }
  .clinic-menu__title { font-size: 26px; margin-bottom: 24px; }
  .clinic-menu__list ul { columns: 2; column-gap: 24px; }
  .clinic-menu__list li { margin-bottom: 14px; padding-bottom: 8px; border-bottom: 1px solid #ccc; }
  .clinic-menu__list a { font-size: 16px; padding-right: 10px; color: #333; display: flex; justify-content: space-between; }
  .clinic-menu__list a::after { font-size: 12px; color: #999; }
}
@media screen and (max-width: 767px) {
  .clinic-menu-waper { width: 100%; aspect-ratio: auto; padding: 20px; box-sizing: border-box; position: relative; background-image: url(../img/top/afterbg.webp), url(../img/top/service-photo.webp); background-repeat: no-repeat, no-repeat; background-position: center 50%, top center; background-size: 100% 60%, contain; }
  .clinic-menu-waper::before, .clinic-menu-waper::after { display: none; }
  .clinic-menu-inner { padding: 0; background: transparent; }
  .clinic-menu__list { padding: 20px; background-color: rgba(255,255,255,0.92); box-shadow: 0 0 10px rgba(0,0,0,0.05); border-radius: 8px; }
  .clinic-menu__title { font-size: 22px; margin-bottom: 20px; }
  .clinic-menu__list ul { columns: 1; }
  .clinic-menu__list li { margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #ccc; }
  .clinic-menu__list a { font-size: 16px; padding-right: 10px; color: #333; display: flex; justify-content: space-between; }
}

/* ============ 理想を叶えます（dreamsec / rejuvenation）＝本番inline style実CSS ============ */
:root{
  --color-pink01-light:#f0faff; --color-pink01-dark:#4cacd9; --color-border-pink01:#8dccf1;
  --color-pink02-light:#e8f6fc; --color-pink02-dark:#5c93b3; --color-border-pink02:#a4c3d7;
  --color-pink03-light:#f4f7f8; --color-pink03-dark:#4e728f; --color-border-pink03:#99b4c3;
}
.dreamsec{background-image:linear-gradient(to right,rgba(0,0,0,0.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,0.05) 1px,transparent 1px);background-size:12px 12px;background-color:#fff;font-family:'Noto Serif JP',serif;}
.rejuvenation-block{background:#f9f6f2;padding:60px 20px;position:relative;max-width:1400px;margin:20px auto;}
.rejuvenation-inner{display:flex;flex-wrap:wrap;max-width:1200px;margin:0 auto;gap:30px;align-items:flex-start;}
.rejuvenation-left{flex:1 1 50%;}
.rejuvenation-right{flex:1 1 45%;margin:auto;}
.rejuvenation-right img{width:100%;border-radius:4px;}
.rejuvenation-number{font-size:72px;font-weight:bold;color:var(--color-pink01-dark);line-height:1;margin-bottom:16px;font-family:'Noto Serif JP',serif;}
.rejuvenation-left h3{font-size:24px;font-weight:600;color:#333;margin-bottom:16px;}
.rejuvenation-left .accent{color:var(--color-pink01-dark);font-weight:bold;font-size:26px;}
.rejuvenation-text{font-size:16px;line-height:1.8;color:#444;margin-bottom:24px;}
.rejuvenation-box{display:flex;gap:20px;align-items:center;border-top:3px solid var(--color-border-pink01);padding-top:20px;}
.before-after-img img{width:120px;height:auto;}
.rejuvenation-list{list-style:none;padding:0;margin:0;}
.rejuvenation-list li{font-size:16px;line-height:2;color:#333;}
.rejuvenation-list .check{color:var(--color-pink01-dark);font-weight:bold;margin-right:8px;}
.caption{font-size:12px;color:#666;text-align:right;max-width:1200px;margin:10px auto 0;}
.rejuvenation-block.pink01{background:var(--color-pink01-light);}
.pink01 .rejuvenation-number,.pink01 .accent,.pink01 .check{color:var(--color-pink01-dark);}
.pink01 .rejuvenation-box{border-top:3px solid var(--color-border-pink01);}
.rejuvenation-block.pink02{background:var(--color-pink02-light);}
.pink02 .rejuvenation-number,.pink02 .accent,.pink02 .check{color:var(--color-pink02-dark);}
.pink02 .rejuvenation-box{border-top:3px solid var(--color-border-pink02);}
.rejuvenation-block.pink03{background:var(--color-pink03-light);}
.pink03 .rejuvenation-number,.pink03 .accent,.pink03 .check{color:var(--color-pink03-dark);}
.pink03 .rejuvenation-box{border-top:3px solid var(--color-border-pink03);}
.twentytwenty{width:100%;max-width:800px;margin:40px auto;height:416px;}
.twentytwenty img{width:100%;height:auto;display:block;}
@media screen and (max-width:768px){
  .rejuvenation-block.pink02 .rejuvenation-inner{flex-direction:column-reverse;}
  .rejuvenation-block.pink02 .rejuvenation-right{width:100%;display:block;}
  .rejuvenation-block.pink02 .twentytwenty{min-height:200px;}
}
.pickup-btn{margin:20px 0;display:inline-block;padding:14px 28px;background:linear-gradient(135deg,#66d3f4,#47b8e0);color:#fff;font-weight:600;font-size:1rem;text-decoration:none;border-radius:30px;box-shadow:0 6px 15px rgba(0,180,216,0.3);transition:all 0.3s ease;}
.pickup-btn:hover{background:linear-gradient(135deg,#47b8e0,#269dcf);box-shadow:0 8px 18px rgba(0,160,200,0.4);transform:translateY(-2px);}

/* 症例：グラデ文字ユーティリティ span.color（本番inline style） */
span.color{font-size:50px;background:linear-gradient(135deg,var(--color-pink01-dark),var(--color-pink02-dark),var(--color-pink03-dark));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
@media screen and (max-width:768px){ span.color{font-size:40px;} }

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

 ピックアップ診療 

 ---------------------------------------------------------------------*/
/* セクションの背景 */
.sedai {
  padding: 60px 0 0 0;
  position: relative;
  background: linear-gradient(to right, rgb(255 255 255) 0%, rgb(234 238 246 / 90%) 20%, /* #eaf0f6（明るめ）*/ rgb(245 247 250 / 90%) 80%, /* #f5f7fa（ほぼ白）*/ rgb(255 255 255) 100%);
  overflow: hidden;
  font-family: 'Noto Serif JP', serif;
}

.sedai::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: linear-gradient(to bottom, rgb(255 255 255), rgb(255 255 255 / 0%));
  z-index: 1;
}

.sedai::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px; 
  background: linear-gradient(to top, rgb(255 255 255), rgb(255 255 255 / 0%));
  z-index: 1;
}

.idx_inr {
  position: relative;
  display: block;
  margin: 0 auto;
}

.idx_box {
  display: block;
  position: relative
}
.sabcatch {
  font-size: 1rem;
  color: #6ca0d7;
  font-weight: 700;
}

.idx_lst li {
  position: relative;
  display: block;
  padding-left: 1em;
  margin-bottom: .5em;
  background-repeat: no-repeat;
  background-position: 0 .4em;
  background-size: .8em auto
}

.sedai .idx_inr {
  max-width: 1400px;
  width: 100%;
  padding: 36px 0;
  margin-bottom: 30px;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-color: #fff;
  background-position: 100% 0
}
.sedai .idx_box {
  background-color: #ffffffb3;
  box-shadow: 3px 3px 5px rgba(162,162,162,.2);
  max-width: 70%;
  margin: 0 auto 0 0;
  padding: 30px 24px 24px 65px;
}


.sedai .idx_inr:nth-of-type(2) {
  background-position: 0 0
}

.sedai .idx_inr:nth-of-type(2) .idx_box {
  box-shadow: -3px 3px 5px rgba(162,162,162,.2);
  margin: 0 0 0 auto
}
.sedai .idx_inr:nth-of-type(4) .idx_box {
  box-shadow: -3px 3px 5px rgba(162,162,162,.2);
  margin: 0 0 0 auto
}

.sedai_ttl {
  position: relative;
  font-size: 26.87px;
  margin: 0 0 24px;
  border-bottom: 1px solid #977c4c;
  color: #5b4633;
}
.sedai_ttl span{
  font-size: 35px;
  color: #bfa250;
}
  

.sedai_ttl:before {
  content: "";
  display: block;
  position: absolute;
  width: 99px;
  aspect-ratio: 1/1;
  left: -45px;
  top: -24px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.sedai_lead {
  display: flex;
  align-items: center;
  padding: 0 0 16px;
  margin: 0 auto 15px 0;
  width: 65%;
}

.sedai_lead p {
  display: block;
}

.sedai_lead p i {
  display: block
}

.sedai_lead p .ja {
  font-size: 27.52px
}

.sedai_lead p .en {
  font-size: 39.63px;
  font-weight: 700
}

.sedai_lead figure {
  flex: 1
}

.sedai .idx_lst {
  font-size: 15px
}
.sedai .idx_lst li {
  line-height: 1.3;
}
.sedai .idx_lst li::before {
  content: "●";
  font-size: 20px;
  color: #C88E48;
  margin-right: 10px;
  position: relative;
  top: 3px;
}
.sedai01 li {
    background-image: url(../img/top/pickup/check.png);
    background-repeat: no-repeat;
    line-height: 1.3;
}
.sedai02 li {
  background-image: url(../img/top/pickup/check2.png);
  background-repeat: no-repeat;
  line-height: 1.3;
}
.sedai03 li {
  background-image: url(../img/top/pickup/check3.png);
  background-repeat: no-repeat;
  line-height: 1.3;
}

.sedai .idx_lst li span {
  display: block
}
.sedai .idx_lst li em {
    font-weight: 600;
    font-size: 19px;
}
.sedai01 li em{
  color: #C88E48;
}
.sedai02 li em{
    color: #C88E48;
}
.sedai03 li em{
    color: #C88E48;
}
.sedai04 li em{
  color: #C88E48;
}

.sedai_fig {
  position: absolute
}

.sedai .idx_gnr_btn {
  width: unset;
  left: unset;
  right: 36px;
  bottom: 20px
}

.idx_gnr_01 {
  background-image: url(../img/top/pickup/pickupbg-3-scaled.webp);
  background-repeat: no-repeat;
}


.idx_gnr_01 .sedai_lead p {
  margin-right: 42px
}

.sedai_lead span {
    color: #4f8ccb;
    font-weight: 700;
}

.idx_gnr_01 .sedai_lead figure img {
  width: 109px;
  aspect-ratio: 109/149
}
.idx_gnr_01 .sedai_fig {
  width: 366px;
  bottom: 40px;
  right: 0px;
}
.idx_gnr_01 .sedai_fig img {
  aspect-ratio: 366/272;
  padding: 10px;
  width: 366px;
}

.idx_gnr_02 {
  background-image: url(../img/top/pickup/pickupbg-2-scaled.webp);
  background-repeat: no-repeat;
}

.idx_gnr_02 .sedai_lead p {
  margin-right: 36px
}

.idx_gnr_02 .sedai_lead figure img {
  width: 103px;
  aspect-ratio: 103/138
}

.idx_gnr_02 .idx_lst li:nth-of-type(2) span:nth-of-type(2) {
  margin-left: -.4em
}

.idx_gnr_02 .sedai_fig {
  width: 309px;
  bottom: 0px;
  right: 42px;
}

.idx_gnr_02 .sedai_fig img {
  aspect-ratio: 366 / 272;
    padding: 10px;
    width: 366px;
}

.idx_gnr_03 {
  background-image: url(../img/top/pickup/pickupbg-scaled.webp);
  background-repeat: no-repeat;
}


.idx_gnr_03 .sedai_lead p {
  margin-right: 30px
}

.idx_gnr_03 .sedai_lead figure img {
  width: 117px;
  aspect-ratio: 117/144
}

.idx_gnr_03 .idx_lst li:nth-of-type(2),.idx_gnr_03 .idx_lst li:nth-of-type(3) {
  padding-left: 1em
}

.idx_gnr_03 .sedai_fig {
  width: 366px;
  bottom: 40px;
  right: 0px;
}

.idx_gnr_03 .sedai_fig img {
  aspect-ratio: 366 / 272;
  padding: 10px;
  width: 366px;
}

.idx_gnr_04{
  background-image: url(../img/top/pickup/img-105451.webp);
  background-repeat: no-repeat;
}
.idx_gnr_04 .sedai_lead p {
  margin-right: 30px
}

.idx_gnr_04 .sedai_lead figure img {
  width: 117px;
  aspect-ratio: 117/144
}

.idx_gnr_04 .idx_lst li:nth-of-type(2),.idx_gnr_04 .idx_lst li:nth-of-type(3) {
  padding-left: 1em
}

.idx_gnr_04 .sedai_fig {
    width: 309px;
    bottom: 0px;
    right: 42px;
}

.idx_gnr_04 .sedai_fig img {
  aspect-ratio: 366 / 272;
  padding: 10px;
  width: 366px;
}
.sedai .idx_inr:nth-of-type(4) {
  background-position: 0 0;
}
.idx_gnr_05 {
  background-image: url(../img/top/pickup/img-110045.webp);
  background-repeat: no-repeat;
}
.idx_gnr_05 .sedai_lead p {
  margin-right: 30px
}

.idx_gnr_05 .sedai_lead figure img {
  width: 117px;
  aspect-ratio: 117/144
}

.idx_gnr_05 .idx_lst li:nth-of-type(2),.idx_gnr_04 .idx_lst li:nth-of-type(3) {
  padding-left: 1em
}

.idx_gnr_05 .sedai_fig {
  width: 366px;
  bottom: 40px;
  right: 0px;
}

.idx_gnr_05 .sedai_fig img {
  aspect-ratio: 366 / 272;
    padding: 10px;
    width: 366px;
}


.spimg {
  display: none;
}
.spnone {
  display: block;
}


/*------------------------------
ボタン
------------------------------*/

.btn03 {
  position: relative;
}
.btn03 a {
  display: inline-block;
  position: relative;
  min-width: 250px;
  box-sizing: border-box;
  padding: 17px 38px 17px 25px;
  margin: 6px 0;
  line-height: 1;
  border-radius: 40px;
  text-align: left;
  font-weight: bold;
  text-decoration: none;
  font-size: 15px;
}
.btn03 a:hover::before {
  right: 20px;
}

.btn03 a:hover::before{
	right: 20px;
}

.btn03 a:hover::after{
	left:0;
	top:0;
}
.btn03 a i{
	margin-right: 7px;
	font-size: 12px;
}
/* 一つ目のボタン */
.sedaibtv01 a {
	border: 1px solid #977c4c;
	color: #977c4c;
	transition: background-color 1s ease, color 1s ease;
  background: #fff;
}
.sedaibtv01 a:hover {
	color: #fff;
	background:#977c4c;
}

/* 二つ目のボタン */
.sedaibtv02 a {
  border: 1px solid #977c4c;
  color: #977c4c;
	transition: background-color 1s ease, color 1s ease;
}
.sedaibtv02 a:hover {
	color:#fff;
	background:#977c4c;
}

/* 三つ目のボタン */
.sedaibtv03 a {
	border: 1px solid #977c4c;
	color: #977c4c;
	transition: background-color 1s ease, color 1s ease;
}

.sedaibtv03 a:hover{
	color:#fff;
	background-color:#977c4c;
}
.sedaibtv03 a:hover::before{
	border-color:#977c4c;
  color: #fff;
}

/* 四つ目のボタン */
.sedaibtv04 a {
	border: 1px solid #977c4c;
	color: #977c4c;
	transition: background-color 1s ease, color 1s ease;
}

.sedaibtv04 a:hover{
	color:#fff;
	background-color:#977c4c;
}
.sedaibtv04 a:hover::before{
	border-color:#977c4c;
  color: #fff;
}
/* ----------------------------------------------------
タブレット（768px～1024px）
---------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
.sedai .idx_box {
    background-color: #ffffffd6;
  }
}
/* ----------------------------------------------------
スマホ用（〜767px）
---------------------------------------------------- */
@media screen and (max-width: 768px) {
  .spimg {
    display: block;
  }
  .sedai .idx_inr {
    width: 100%;
    max-width: 100%;
  }
  .sedai .idx_box {
    width: 100%;
    max-width:100%;
    background-color: #ffffffed;
    padding: 20px 10px;
  }
  .sedai_ttl {
    font-size: 1.5rem;
  }
  .sedai_ttl span {
    font-size: 1.7rem;
  }
  .sabcatch {
    font-size: 0.7rem;
  }
  .sedai_lead {
    width: 100%;
    margin: 15px auto
  }
  .idx_gnr_01 .sedai_lead p,
  .idx_gnr_02 .sedai_lead p,
  .idx_gnr_03 .sedai_lead p {
    margin-right: 0;
}
.sedai .idx_lst li em {
  font-size: 18px;
}
.spnone {
  display: none;
}

.sedai .idx_inr,
.sedai .idx_inr:nth-of-type(2){
  background-position: left top;
}
  .idx_gnr_04 .sedai_lead p,
  .idx_gnr_05 .sedai_lead p {
    margin:0;
  }
}


/* デフォルトでは非表示（PC用） */
.sp-only {
  display: none;
}

/* モバイル（例：〜767px）のときだけ表示 */
@media screen and (max-width: 767px) {
  .sp-only {
    display: inline;
  }
}


.slider1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 400px;
  overflow: hidden;
}
.slider1 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slider1 li{
	width: 500px;
	list-style: none;
}
.slider1 ul:first-child {
  animation: slide1 150s -75s linear infinite;
}

.slider1 ul:last-child {
  animation: slide2 150s linear infinite;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.slider1 ul li img {
  width: 100%;       /* liの幅に合わせる */
  height: 300px;     /* 高さを揃える（お好みで調整） */
  object-fit: cover; /* 画像の比率を保ったままトリミング */
  display: block;
}


