/* 既存の色・書体・角丸を使い、困りごとと自院の実践を読みやすく整理。 */
.concern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.concern-card{padding:28px;background:rgba(255,255,255,.94);border:1px solid #d2dadb;border-top:2px solid #7b9b91;border-radius:4px}
.concern-number{font:23px/1.4 Georgia,serif;color:#4b6e61}
.concern-card h3{font-size:20px;line-height:1.8;margin-top:15px}
.concern-context{font-size:13px;margin-top:8px}
.concern-card dl{margin:24px 0 0}
.concern-card dt{font-size:12px;font-weight:650;color:#355850;letter-spacing:.06em;margin:20px 0 7px}
.concern-card dt+dd{margin:0;color:var(--body);font-size:14px;line-height:2}
.concern-card dt:nth-of-type(2){padding-top:17px;border-top:1px solid #d2dadb}
.practice-label{font-size:13px;font-weight:600;color:#355850;padding:24px 0 18px;border-bottom:1px solid #cbd6c4}
.practice-supplement{font-size:13px;line-height:2;padding:23px 0 16px}
.practice-boundary{font-size:12px;line-height:1.9;padding:0 0 24px;color:#526369}
.dental-support-section{padding-top:0;background:transparent}
.dental-support-section .dental-support{margin-top:0}
/* 完成版の全画素を保持。実際の人物の占める割合に応じて個別に大きさを調整。 */
.section-illustration{margin:0;pointer-events:none;flex-shrink:0;position:static}
.section-illustration img{display:block;width:100%;height:auto;opacity:1;filter:none}
.ai-examples{display:flex;flex-direction:column}
.thinking-illustration{width:224px;max-width:100%;align-self:flex-end;margin:2px 8px 14px 0}
.approach-heading-aside{display:flex;align-items:center;gap:28px}
.approach-heading-aside>p{font-size:15px;line-height:1.95}
.walking-illustration{width:210px;max-width:100%}
.consultation-contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px) minmax(0,1fr);gap:24px;align-items:center;margin-top:32px}
.consultation-illustration{width:190px;max-width:100%;justify-self:end}
.consultation-contact-row .email-contact{width:100%;margin:0}
@media(max-width:1000px){
  .approach-heading-aside{gap:18px}
  .approach-heading-aside>p{font-size:13px}
  .walking-illustration{display:none}
  .consultation-contact-row{display:flex;flex-direction:column;gap:18px}
  .consultation-illustration{order:2;width:168px;align-self:flex-end;margin-right:24px}
}
/* 会社情報はPCで左右2列、スマートフォンで読む順に縦へ。 */
.footer{padding:54px 0 24px}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start;scroll-margin-top:22px}
.footer .wordmark{font-size:22px;line-height:1.6}
.footer-main .footer-brand>p{font-size:13px;line-height:2;margin-top:15px;color:var(--muted)}
.company-details{margin:0;min-width:0;font-size:14px;line-height:1.95;color:var(--body)}
.company-details>div+div{margin-top:23px}
.company-details dt{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--muted);margin-bottom:7px}
.company-details dd{margin:0;min-width:0;overflow-wrap:anywhere}
.company-address{font-style:normal;line-height:2}
.company-address span{display:block;overflow-wrap:anywhere}
.company-details .footer-email{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:14px;line-height:1.9;margin:0;padding:3px 0;border:0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.company-details .footer-email:hover{color:#183140}
.footer-bottom{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}
.footer-bottom small{font-size:11px;line-height:1.9}
.footer-bottom nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;min-width:0}
.footer-bottom nav a{margin:0;font-size:11px;line-height:1.9}
.footer-bottom .back-to-top{margin:0;font-size:11px;white-space:nowrap}
@media(max-width:1000px){.concern-grid{gap:18px}.concern-card{padding:23px 20px}.concern-card h3{font-size:17px}.concern-card dt+dd{font-size:13px}.concern-card h3 br{display:none}}
@media(max-width:680px){
  .thinking-illustration{width:208px;margin:2px 0 12px}
  .approach-heading-aside{display:block}
  .approach-heading-aside>p{margin-top:17px}
  .walking-illustration{display:none}
  .consultation-illustration{width:164px;margin-right:0}
  .footer{padding:38px 0 22px}
  .footer-main{grid-template-columns:1fr;gap:30px}
  .footer .wordmark{font-size:21px}
  .footer-main .footer-brand>p{font-size:12px;margin-top:13px}
  .company-details{font-size:14px}
  .company-details>div+div{margin-top:21px}
  .footer-bottom{grid-template-columns:1fr;gap:19px;margin-top:30px;padding-top:23px}
  .footer-bottom nav{display:grid;grid-template-columns:1fr 1fr;justify-content:start;gap:12px 24px}
  .footer-bottom .back-to-top{justify-self:start}
  .concern-grid{grid-template-columns:1fr;gap:20px;margin-top:34px}
  .concern-card{padding:24px}
  .concern-card h3{font-size:20px;margin-top:12px}
  .concern-card dl{margin-top:20px}
  .concern-card dt+dd{font-size:14px}
  .practice-label{font-size:12px;padding-top:23px}
  .practice-supplement{font-size:13px}
  .practice-boundary{font-size:12px}
}
@media(max-width:360px){.thinking-illustration{width:190px}.consultation-illustration{width:148px}}
