/* === ベーシックリセット === */
    :root{
      --bg:#fff6f8;
      --card:#fff;
      --accent:#fdf0f5; /* ピンクベース */
      --accent-dark:#f08fb0;
      --muted:#000000;
      --radius:16px;
      --maxw:1200px;
      --important:#e24f7a;
      --shadow: 0 6px 24px rgba(160,110,130,0.12);
      font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      background:#fbe6ee;
      color:#000000;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      padding:24px;
      display:flex;
      justify-content:center;
      align-items:flex-start;
      font-size:17px;
      line-height:1.6;
	  
    }

    .wrap{
      width:100%;
      max-width:var(--maxw);
    }

    header{
      display:flex;
      align-items:center;
      gap:16px;
      background:#fff;
      padding:18px;
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      margin-bottom:18px;
    }

    /* ロゴ（SVG） */
	.top-info{
		color:#c9416d;
		font-size:19px;
		text-align:center;
		font-family: fot-tsukuardgothic-std, sans-serif;
		font-weight: 700;
	}
	@media screen and (min-width: 768px){  
	.top-info{
		color:#c9416d;
		font-size:28px;
		text-align:center;
		font-family: fot-tsukuardgothic-std, sans-serif;
		font-style: normal;
		font-weight: 400;
	}
	}
    #logo{
      width:84px;
      height:84px;
      flex:0 0 84px;
      background: linear-gradient(180deg,#fff,#fff0);
      border-radius:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:8px;
	  font-family: fot-tsukuardgothic-std, sans-serif;
font-style: normal;
font-weight: 400;
    }
    .brand{
      display:flex;
      flex-direction:column;
      gap:2px;
    }
    .clinic-name{
      font-size:1.7rem;
	  line-height:1.2;
      font-weight:700;
      color:#c9416d;
      letter-spacing:0.02em;
	  font-family: "fot-tsukuardgothic-std", sans-serif;
font-weight: 700;
font-style: normal;;
    }
    .tag{
      font-size:0.9rem;
      color:var(--muted);
    }

    main.card{
      background:var(--card);
      border-radius:var(--radius);
      padding:20px;
      box-shadow:var(--shadow);
    }
    .lead{
      display:flex;
      gap:18px;
      align-items:flex-start;
      margin-bottom:14px;
      flex-wrap:wrap;
    }
    .lead .intro{
      flex:1 1 320px;
    }
    .intro h1{
      margin:0 0 6px 0;
      font-size:1.6rem;
      color:#b02a55;
	  font-family: "fot-tsukuardgothic-std", sans-serif;
font-weight: 700;
font-style: normal;;
    }
    .intro p{margin:0;color:var(--muted)}

    dl.info{
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
      margin:12px 0 20px 0;
    }
   dt{
  font-weight:700;
  font-size:0.9rem;
  color:#fff;
  background:#c9416d;
  padding:6px 12px;
  border-radius:8px;
  display:inline-block;
  margin-bottom:6px;
}
.section-label{
  display:inline-block;
  background:#c9416d;
  color:#fff;
  font-weight:700;
  font-size:0.95rem;
  padding:6px 12px;
  border-radius:8px;
  margin-bottom:8px;
}
    dd{margin:0;padding:8px 12px;border-radius:12px;background:linear-gradient(180deg,#fff,#fff);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.03)}

    .cols{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .box{
      padding:12px;border-radius:12px;background:linear-gradient(180deg,#fff,#fff);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.03)
    }

    .hours small{color:var(--muted);display:block;margin-bottom:6px}
    .notice{
      margin-top:14px;padding:20px;border-radius:12px;background:linear-gradient(180deg,var(--accent),#fff);color:#b02a55;
    }
@media screen and (min-width: 768px) {
	.notice{
      margin-top:14px;padding:40px;border-radius:12px;background:linear-gradient(180deg,var(--accent),#fff);color:#b02a55;
    }
}
    footer{margin-top:14px;text-align:center;color:var(--muted);font-size:0.9rem}

    /* responsive */
    @media (max-width:720px){
      .cols{grid-template-columns:1fr}
      header{padding:14px}
      #logo{width:64px;height:64px;flex:0 0 64px}
    }

    /* アクセシビリティ（フォーカス） */
    a:focus, button:focus, input:focus {outline:3px solid rgba(240,143,176,0.25); outline-offset:3px}
	
	@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important; } }
@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important; } }
.redfont{
	color:#b02a55;
}
.bkfont{
	color:#000;
}
small{
  font-size:0.9em; /* デフォルトより少し大きく */
}
.morebigfont{
font-size:1.2em; 

}
/* 予約・SNS 導線 */
.cta-area{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin:18px 0 22px;
  font-size:1.1em;
  font-family: fot-tsukuardgothic-std, sans-serif;
}
.cta-btn{
  flex:1 1 220px;
  text-align:center;
  padding:14px 16px;
  border-radius:14px;
  font-weight:700;
  text-decoration:none;
  box-shadow:var(--shadow);
  font-size:1.1em;
  font-family: fot-tsukuardgothic-std, sans-serif;
}
.cta-reserve{
	color:#fff;
	background-color: #BD3562;
}
.cta-instagram{
  background:#fff;
  color:#BD3562;
  border:2px solid #b02a55;
}

/* 注意喚起 */
.notice-important{
	margin-bottom:16px;
	padding:20px;
	border-radius:12px;
  border:3px solid var(--important);
	color:#b02a55;
	background-color: #FFFFFF;
}
.notice-important small{
  display:block;
  font-weight:500;
  margin-top:6px;
}

/*************************************
/* 共通　スペース
*************************************/

.space-big{
	height:50px;
}
.space{
	height:30px;
}
.space-small{
	height:15px;
}
.space-mini{
	height:10px;
}
.space-puti{
	height:4px;
}

@media screen and (min-width: 1300px) {
.space-big{
	height:100px;
}
.space{
	height:40px;
}
.space-small{
	height:20px;
}
.space-mini{
	height:15px;
}
.space-puti{
	height:5px;
}
}

/* 院長メッセージ レイアウト */
.message-wrap{
  display:flex;
  gap:20px;
  align-items:flex-start;
}

.message-text{
  flex:0 0 70%;
  min-width:0;
}

.message-photo{
  flex:0 0 30%;
  overflow:hidden;
  min-width:0;
}

.message-photo img{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  box-shadow:var(--shadow);
}

@media screen and (max-width: 767px){
  .message-wrap{
    flex-direction:column;
  }

  .message-text,
  .message-photo{
    flex:0 0 100%;
    width:100%;
  }
}

/* 写真下の名前 */
.photo-caption{
  margin-top:10px;
  font-weight:700;
  color:#c9416d; /* ピンク文字 */
  line-height:1.4;
}

