@charset "utf-8";
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
body { margin: 0; padding: 0; background: #fff; color: #333; font-family: "Noto Sans JP", sans-serif; -webkit-text-size-adjust: 100%; }
h1 { display: block; margin: 0; padding: 0; font-size: 0; }
h1 img { width: 100%; border: solid 0 #fff; }
div.h1att { border: solid 0.1rem #ff6; background-color: #ff9; line-height: 1.5rem; text-align: center; }
div.h1att ul { background-color: #ffe; margin: 0; padding-top: 0.25rem; padding-bottom: 0.25rem; padding-right: 0.5rem; line-height: 1.25rem; text-align: left; }
header div.head2 { display: block; text-align: center; }
header div.head2 img { width: 48%; }
h2 { padding: 0.5rem; margin-top: 1rem; background-color: #f60; font-size: 1.6rem; color: #fff; text-align: center; letter-spacing: 0.1rem; }
h3 { padding: 0.5rem 1rem; margin-top: 1.5rem; font-size: 1.3rem; background: linear-gradient(to right, #f90, #fec); font-weight: normal; }
h4 { padding: 0.5rem 1rem; background: linear-gradient(to right, #fec, #fff); font-size: 1.2rem; font-weight: normal; border-radius: 0.5rem; }
h5 { padding: 0.25rem 1rem; background: linear-gradient(to right, #fec, #fff); font-size: 1.1rem; font-weight: normal; }
em { font-weight: bold; font-style: normal; }
a { text-decoration: none; }
time { display: block; text-align: right; padding: 0.25rem; color: #999; font-size: 0.75rem; }
main { margin-bottom: 5rem; }
main p, main ul, main ol, main dl, footer p, footer ul, footer dl { line-height: 1.5rem; margin: 0.25rem; text-align: justify; }

.btn { display: inline-block; margin-bottom: 0.5rem; padding: 0.5rem; border: solid 0.1rem #fc6; border-radius: 0.5rem; background-color: #fec; color: #333; text-decoration: none; transition: 0.5s; box-shadow: 0.25rem 0.25rem 0.25rem #ccc; }
.btn:hover { background-color: #fc6; color: #339; box-shadow: 0.25rem 0.25rem 0.25rem #999; }
.clm { column-width: 30rem; column-gap: 4rem; }
.clm2 { columns: 2 3rem; }
.clm3 { columns: 3 3rem; }
.fcr { color: #f00; }
.fcb { color: #06f; }
.fcd { color: #00f; }
.ffm { font-family: monospace; }
.cn { text-align: center; }
.f15 { font-size: 1.5rem; }
img.flo { width: 50%; float: left; margin: 0.5rem 1rem; }
img.flor { width: 50%; float: right; margin: 0.5rem 1rem; }
img.flo25 { width: 25%; float: left; margin: 0.5rem 1rem; }
img.flor25 { width: 25%; float: right; margin: 0.5rem 1rem; }
img.ill { width: 100%; margin: 0; }
img.bsw { box-shadow: 0.25rem 0.25rem 0.5rem #999; }
.clr { clear: both; } /*次要素でフロート解除する。未使用に*/
.flof { display: flow-root; } /*フロートを親要素で閉じ込める際に利用*/

/*グローバルメニュー*/
nav { display: flex; overflow: scroll hidden; }
nav a { display: flex; flex: 0 0 8rem; border: solid 0.05rem #fff; border-radius: 0.5rem; padding: 0.5rem 0.25rem; text-align: center; align-items: center; justify-content: center; background-color: #f60; color: #fff; font-size: 1.25rem; line-height: 1.25rem; }
nav a:hover { background-color: #f93; }
nav a.scatt { background-color: #d30; }

/*診療日・診療時間*/
table.day th { padding: 0.25rem 0.5rem; background-color: #ffe; border: solid 0.1rem #ccc; font-weight: normal; }
table.day th.sat { background-color: #ccf; }
table.day th.sun { background-color: #fcc; }
table.day td { padding: 0.25rem 0.5rem; border: solid 0.1rem #ccc; text-align: center; }

/*コンタクトリスト*/
dl.contactlist dt { width: 6rem; text-align: center; }
dl.contactlist dd { margin: 0.5rem; }
dl.contactlist ul { margin: 0; font-size: 0.75rem; }

/*画面下部ボタン*/
footer div.fnav { position: fixed; display: flex; width: 100%; height: auto; bottom: 0; font-style: normal; }
footer div.fnav a { display: block; flex: 1 1 25%; height: auto; text-align: center; padding: 0.5rem 0; border: solid 0.1rem #fc9; background-color: #f60; color: #000; text-decoration: none; font-size: 0.75rem; }
address { margin-bottom: 7rem; text-align: center; color: #ccc; font-size: 0.75rem; }

@media screen and (min-width: 45rem) { /*PCの場合の表示*/
  body {  }
  a[href^="tel:"] { pointer-events: none; }
  a[href^="fax:"] { pointer-events: none; }
  main { margin-left: 20%; margin-right: 20%; }
  main p, main ul, main ol, main dl, footer p, footer ul, footer dl { font-size: 1.5rem; line-height: 2.25rem; margin: 1rem; }
  main table { font-size: 1.5rem; }
  .bdy { margin-left: 20%; margin-right: 20%; font-size: 1.5rem; }
  .btn { font-size: 1.5rem; }
  header { display: flex; flex-wrap: nowrap; align-items: end; }
  header div.head1 { display: block; flex: auto; }
  header div.head2 { display: block; flex: 0 0 30rem; }
  header div.head2 img { width: 14.5rem; }
  div.h1att, div.h1att ul, div.h1att li { font-size: 1.5rem; line-height: 1.75rem; }
  h1 { margin: 0; }
  h2 { margin-top: 2rem; font-size: 2rem; }
  h3 { font-size: 1.8rem; }
  h4 { font-size: 1.6rem; }
  h5 { font-size: 1.5rem; }
  time { color: #ccc; font-size: 1.25rem; }
  footer { margin-left: 20%; margin-right: 20%; }
  footer div.fnav { display: none; }
  address { margin-bottom: 1rem; font-size: 1.25rem; }
  dl.contactlist dt { float: left; clear: left; width: 10rem; padding: 0.25rem; text-align: center; }
  dl.contactlist dd { margin-left: 10rem; padding: 0.25rem; }
  dl.contactlist ul { font-size: 1rem; line-height: 1.5rem;}
}
