*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf7f1 url('../image/backgraund00.png');color:#39453f;font-family:'Yu Gothic','Meiryo',sans-serif;font-size:16px;line-height:1.9}a{color:#32634b;text-underline-offset:4px}a:hover{color:#8b5936}a:focus-visible{outline:3px solid #b86d34;outline-offset:4px}img{max-width:100%;height:auto}.site{max-width:1040px;margin:24px auto;background:#fffefa;box-shadow:0 4px 28px #39453f12;border-radius:6px;overflow:hidden}header{padding:18px 32px 12px}.brand{display:block;width:760px;margin:auto}.header-note{font-size:13px;display:flex;justify-content:space-between;color:#6b756c;padding-top:10px}nav{display:flex;flex-wrap:wrap;justify-content:center;border-block:1px solid #deded0;background:#f4f4e9;padding:5px 16px;gap:2px}nav a{padding:12px 10px;text-decoration:none!important;color:#3a5e49!important;font-size:14px;font-weight:bold}nav a[aria-current]{background:#e5ebd8;border-radius:4px}main{padding:0 38px 40px}.intro{padding:32px 0 26px}.eyebrow{font-size:12px;letter-spacing:.13em;color:#6d7f5b;margin:0 0 8px}h1,h2,p{margin-top:0}h1{font-size:32px;line-height:1.5;margin-bottom:12px;font-weight:600}h2{font-size:22px;line-height:1.6;margin-bottom:16px}p{margin-bottom:16px}.intro p:last-child{margin:0;color:#647166}.home-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:28px;align-items:start}.board{background:radial-gradient(ellipse at top left,#355545,#193b2c);border:12px solid #98704b;border-radius:3px;box-shadow:inset 0 0 10px #061f23aa,0 3px 5px #493c2b25;padding:26px 24px 35px;color:#fffdf0;position:relative;min-width:0}.board h2{font-family:'Yu Mincho',serif;border-bottom:1px dashed #ecebd07a;padding-bottom:12px;font-size:26px}.board p{font-size:16px}.board a{color:#fff6b9}.board-label{font-size:10px;letter-spacing:.17em;opacity:.8}.chalk{position:absolute;bottom:7px;right:24px;width:38px;height:5px;background:#fcfce9;transform:rotate(-4deg)}.panel{background:#f5f6ee;border:1px solid #e1e5d5;border-radius:5px;padding:26px;min-width:0}.time{font-size:25px;line-height:1.7;font-weight:600;letter-spacing:.03em;margin-bottom:4px}.closed-note{color:#a24736;font-weight:bold;border-bottom:1px solid #dce2d3;padding-bottom:16px}.phone{display:block;font-size:27px;font-weight:bold;text-decoration:none;margin:18px 0}.phone small{display:block;font-size:12px;font-weight:normal;color:#647166}.hours p{font-size:15px}.hours .time{font-size:25px}.text-link{font-weight:bold;font-size:14px}.clinic-photo{margin:0;padding:10px;background:#f1e8d7;transform:rotate(1deg);box-shadow:0 3px 8px #38281713}.clinic-photo img{width:100%;display:block;max-height:340px;object-fit:cover}.clinic-photo figcaption{padding:12px 8px 5px;font-size:15px}.clinic-photo small{display:block;color:#6e7266;font-size:12px}.calendar-panel{background:white}#calendar table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:center;font-size:16px}#calendar caption{text-align:left;font-weight:bold;margin-bottom:12px}#calendar th{font-size:12px;color:#6b756c;padding:8px 0}#calendar td{height:52px;border:1px solid #e1e5d5;vertical-align:middle;padding:3px}#calendar td.is-closed{background:#f8e9e4;color:#9b352d}#calendar td.is-today{outline:2px solid #55764a;outline-offset:-3px}#calendar small{display:block;font-size:10px;line-height:1.1}.legend,.calendar-note{font-size:12px;margin:14px 0 0;color:#6b756c}.legend span{display:inline-block;width:12px;height:12px;background:#f8e9e4;border:1px solid #dbb9ad;margin-right:6px}.section{border-top:1px solid #e0e4d7;margin-top:40px;padding-top:30px}.policy{padding-left:26px}.policy li{padding-left:6px;margin-bottom:16px}.standards{font-size:14px}.standards dt{font-weight:bold;margin-top:16px}.standards dd{margin:4px 0 20px}.subpage{padding-top:20px}.breadcrumb{font-size:12px;color:#737b6e}.legacy-content{overflow-wrap:anywhere}.legacy-content table{max-width:100%;width:100%;border-spacing:4px}.legacy-content td{max-width:100%;height:auto}.legacy-content img{height:auto!important;max-width:100%!important}.legacy-content p,.legacy-content td,.legacy-content font,.legacy-content [class]{font-family:inherit;font-size:16px;line-height:1.9}.legacy-content hr{max-width:100%}.legacy-content a{display:inline-block;padding:5px 2px}.contact-note{padding:18px;background:#f0f3e6;border-radius:4px}.contact-note a{display:block;font-size:24px}.legacy-content iframe{max-width:100%}footer{padding:28px 38px;background:#eef0e2;color:#5a6754;font-size:13px}footer p{margin:0 0 8px}footer small{font-size:11px}.mobile-actions{display:none}.small-only{display:none}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}
@media(max-width:700px){body{font-size:16px;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.site{margin:0;border-radius:0;box-shadow:none}header{padding:16px 16px 10px}.header-note{font-size:11px;display:block;text-align:center}.header-note span{display:block}nav{padding:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}nav a{font-size:12px;line-height:1.5;min-height:44px;padding:10px 3px;text-align:center;display:flex;align-items:center;justify-content:center}nav a:last-child{grid-column:1/-1;padding:6px;min-height:36px}main{padding:0 18px 28px}.intro{padding:26px 2px 22px}h1{font-size:28px}h2{font-size:21px}.small-only{display:inline}.intro p:last-child{font-size:14px}.home-grid{grid-template-columns:minmax(0,1fr);gap:22px}.board{padding:20px 18px 28px;border-width:9px}.board h2{font-size:24px}.panel{padding:22px}.hours .phone{font-size:28px}.clinic-photo{transform:none}.section{margin-top:30px;padding-top:24px}.policy{font-size:15px}.standards{font-size:14px}.subpage h1{font-size:25px}.legacy-content table,.legacy-content tbody,.legacy-content tr,.legacy-content td{display:block;width:auto!important;max-width:100%;min-width:0}.legacy-content td{padding:8px!important;white-space:normal!important}.legacy-content td:empty{display:none}.legacy-content td img{vertical-align:middle}.legacy-content img{margin:4px auto}.legacy-content font{font-size:16px!important}.legacy-content [height]{height:auto!important}.legacy-content input,.legacy-content textarea,.legacy-content select{max-width:100%;font-size:16px}footer{padding:24px 18px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#355b43;box-shadow:0 -2px 10px #21352420;padding-bottom:env(safe-area-inset-bottom);z-index:5}.mobile-actions a{color:white!important;text-decoration:none;text-align:center;padding:11px 4px;font-size:15px;font-weight:bold;line-height:1.4}.mobile-actions a+a{border-left:1px solid #ffffff44;background:#e9edda;color:#35533f!important}.mobile-actions small{font-weight:normal;font-size:11px}}

/* メリー歯科のピンクを基調に。黒板の緑と木の枠は残しています。 */
body{background:radial-gradient(ellipse at 12% 0%,#fbe8ed,transparent 65%),#f6eef0;color:#54474d}a{color:#a54769}a:hover{color:#79354f}.site{background:#fffdfc;box-shadow:0 4px 28px #92566b12}.header-note{color:#846775}nav{background:#fbedf1;border-color:#eed5de}nav a{color:#8b4560!important}nav a[aria-current]{background:#f2d5df}.eyebrow{color:#a64f70}.intro p:last-child{color:#836b74}.panel{background:#fdf3f6;border-color:#f0dbe3}.closed-note{color:#aa405c;border-color:#ecd6df}.phone small{color:#846775}.hours p{color:#705660}.hours .time{color:#604452}.clinic-photo{background:#f7e5e8}.clinic-photo small{color:#896c77}.calendar-panel{background:#fffdfd}#calendar td{border-color:#eddde3}#calendar th{color:#846775}#calendar td.is-closed{background:#fbe0e8;color:#a33658}#calendar td.is-today{outline-color:#a74f71}.legend,.calendar-note{color:#846775}.legend span{background:#fbe0e8;border-color:#d9a0b4}.section{border-color:#eedde3}footer{background:#f7e7ed;color:#795967}.contact-note{background:#fbedf1}.mobile-actions{background:#a54e70}.mobile-actions a+a{background:#f9e5ed;color:#8b4560!important}


/* 押すと開くナビゲーションと、灰色の休診日 */
.site-menu{background:#fbedf1;border-block:1px solid #eed5de}
.site-menu summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:13px 28px;color:#8b4560;font-size:15px;font-weight:bold;min-height:50px}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary:focus-visible{outline:3px solid #a54e70;outline-offset:-4px}
.site-menu summary:hover{background:#f6e1e9}
.menu-state{margin-left:auto;font-size:13px;font-weight:normal}
.menu-state::after{content:'開く ＋'}
.site-menu[open] .menu-state::after{content:'閉じる −'}
.site-menu nav{border-bottom:0}
#calendar td.is-closed{background:#eeeeee;color:#555555}
.legend span{background:#eeeeee;border-color:#bbbbbb}
@media(max-width:700px){.site-menu summary{padding:13px 18px}.site-menu nav a{font-size:13px}}

/* トップの見出しを控えめな大きさに */
.intro h1{font-size:24px;line-height:1.6}
@media(max-width:700px){.intro h1{font-size:21px}}

/* お知らせはコンパクトに、ブログ案内は小さな一文に */
.board{padding:20px 22px 26px}
.board h2{font-size:21px;padding-bottom:9px;margin-bottom:13px}
.board p{font-size:14px;line-height:1.8;margin-bottom:12px}
.board .blog-note{font-size:11px;line-height:1.6;margin:16px 0 0}
@media(max-width:700px){.board{padding:17px 16px 24px}.board h2{font-size:20px}.board p{font-size:14px}.board .blog-note{font-size:11px}}

/* 診療時間と連絡先をひとつの横長の枠に */
.hours{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;grid-row:1}
.hours-time{min-width:0}
.hours-contact{min-width:0;border-left:1px solid #ecd6df;padding-left:32px}
.hours-contact .phone{margin-top:0}
.hours .closed-note{border-bottom:0;padding-bottom:0;margin-bottom:0}
@media(max-width:520px){.hours{grid-template-columns:minmax(0,1fr);gap:20px}.hours-contact{border-left:0;border-top:1px solid #ecd6df;padding:20px 0 0}}

.intro h1{font-size:clamp(16px,4.7vw,24px);white-space:nowrap}


.intro{container-type:inline-size}.intro p:last-child{font-size:clamp(8px,2.7cqw,16px);white-space:nowrap}


/* スマホでも診療時間は左、電話・住所は右。各行を折り返さず表示 */
.hours-contact{container-type:inline-size}
.hours-contact .phone{white-space:nowrap;font-size:clamp(14px,9cqw,27px)}
.hours-contact .phone small{white-space:normal}
.clinic-address span{display:block;white-space:nowrap}
.hours-contact .clinic-address{font-size:clamp(7px,4.3cqw,15px)}
@media(max-width:700px){
 .hours{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:12px;padding:16px 12px}
 .hours-contact{border-top:0;border-left:1px solid #ecd6df;padding:0 0 0 12px}
 .hours-time{container-type:inline-size}
 .hours-time h2{font-size:clamp(14px,15cqw,21px)}
 .hours-time .eyebrow{font-size:10px;letter-spacing:0}
 .hours-time .time{font-size:clamp(12px,11cqw,20px);white-space:nowrap;letter-spacing:0}
 .hours-time p{font-size:11px}
 .hours-time .closed-note{font-size:clamp(8px,7.5cqw,12px);white-space:nowrap}
 .hours-contact .phone{font-size:clamp(14px,9cqw,27px);margin-bottom:12px}
 .hours-contact .phone small{font-size:clamp(8px,5.5cqw,12px)}
 .hours-contact .text-link{font-size:clamp(9px,6cqw,14px);white-space:nowrap}
}

/* カレンダーの背景を診療案内と統一 */
.calendar-panel{background:#fdf3f6}

/* スマホでは診療カレンダーをお知らせより先に表示 */
@media(max-width:700px){
 header{padding:10px 14px 6px}
 .header-note{padding-top:4px;line-height:1.5}
 .header-note span{display:inline;margin-left:8px}
 .intro{padding:14px 2px 13px}
 .intro .eyebrow{margin-bottom:3px}
 .intro h1{margin-bottom:5px;line-height:1.4}
 .intro p:last-child{line-height:1.5}
 .home-grid{gap:14px}
 .hours{padding:13px 12px;gap:10px}
 .hours h2{margin-bottom:8px}
 .hours .phone{margin-bottom:8px}
 .hours p{margin-bottom:9px}
 .hours .closed-note{margin-bottom:0}
 .hours .clinic-address{margin-bottom:6px;line-height:1.7}
 .calendar-panel{grid-row:2;padding:16px 18px}
 .calendar-panel h2{margin-bottom:8px}
 #calendar caption{margin-bottom:6px}
 .board{grid-row:3}
 .clinic-photo{grid-row:4}
}

/* 診療日の日付マスは白、休診日は薄い灰色 */
#calendar td:not(.is-closed){background:#ffffff}


/* 休診日の日付と休の文字は赤 */
#calendar td.is-closed{color:#c62828}


/* 診療時間の下の休診案内は赤 */
.hours .closed-note{color:#c62828}


/* スマホでも従来どおり黒板をカレンダーより上に */
@media(max-width:700px){.board{grid-row:2}.calendar-panel{grid-row:3}}


/* 親しみやすい案内を、小さめの文字で */
.intro h1{font-size:clamp(13px,3.8vw,18px);font-weight:500;line-height:1.6}


/* 笑顔とお口の健康を伝える見出しを一行で */
.intro h1{font-size:clamp(11px,4cqw,18px);white-space:nowrap}

/* キャッチコピーは親しみやすい、やわらかな書体に */
.intro h1{font-family:"UD デジタル 教科書体 NK-R","UD Digi Kyokasho NK-R","UD デジタル 教科書体 N-R","Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN W4","Meiryo",sans-serif;font-weight:400}

/* 診療案内の6枚の画像メニューはスマホでも3列 */
.legacy-content .treatment-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 auto 18px;max-width:760px}
.legacy-content .treatment-menu a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:3px;border:1px solid #edd5df;border-radius:5px;background:#fffafa}
.legacy-content .treatment-menu img{display:block;width:100%;height:auto!important;margin:0}
@media(max-width:700px){.legacy-content .treatment-menu{gap:5px}.legacy-content .treatment-menu a{padding:2px}}

/* 診療の説明文は少し小さく。本文内の見出しは維持 */
.treatment-content p,.treatment-content td,.treatment-content font,.treatment-content [class]{font-size:14px;line-height:1.8}
.treatment-content .text_blue,.treatment-content .text_red{font-size:16px;font-weight:bold}
@media(max-width:700px){.treatment-content font{font-size:14px!important}}

/* かぶせ物の種類の画像リンクも3列 */
.legacy-content .restoration-heading{text-align:center;margin:12px auto 6px;max-width:760px}
.legacy-content .restoration-heading img{display:block;max-width:100%;height:auto;margin:auto}
.legacy-content .restoration-menu{grid-template-columns:repeat(3,minmax(0,1fr))}

/* 保険・自費の見出しを、それぞれの色付き説明欄の先頭に配置 */
.legacy-content .coverage-title{font-size:16px;font-weight:bold;text-align:center;line-height:1.6;margin:0 0 16px;padding:10px 6px;border-bottom:1px solid #00000018;clear:both}

/* 保険・自費の見出しの高さを抑える */
.legacy-content .coverage-title{font-size:14px;line-height:1.4;margin:0 0 8px;padding:3px 4px}


/* ブリッジの流れ：元の bridge.gif は保管 */
.legacy-content .bridge-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:620px;margin:18px auto}
.legacy-content .bridge-flow figure{margin:0;text-align:center;min-width:0}
.legacy-content .bridge-flow img{display:block;width:120px;max-width:100%!important;height:auto!important;margin:0 auto 6px;float:none}
.legacy-content .bridge-flow figcaption{font-size:12px;line-height:1.5}
.legacy-content .bridge-credit{font-size:10px;text-align:right;margin:4px 0 12px}
@media(max-width:520px){.legacy-content .bridge-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8px}.legacy-content .bridge-flow figcaption{font-size:11px}}

/* 注意点の見出し枠を低く */
.legacy-content .bridge-caution-title{color:#ff6347;font-size:14px;font-weight:bold;line-height:1.4;text-align:center;border:2px solid #8888ff;padding:2px 8px;margin:0}

/* 歯周病の図と説明を各段階の中に収め、次の見出しへのはみ出しを防ぐ */
.legacy-content .periodontal-stage{display:flow-root;margin:0 0 18px}
.legacy-content .periodontal-stage:last-child{margin-bottom:4px}
.legacy-content .periodontal-stage h3{font-size:14px;line-height:1.6;font-weight:400;color:red;margin:0 0 8px}
.legacy-content .stage-body{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:12px;align-items:start}
.legacy-content .stage-body img{display:block;float:none;width:100%;height:auto!important;margin:0}
.legacy-content .stage-body p{margin:0;font-size:14px;min-width:0}
@media(max-width:400px){.legacy-content .stage-body{grid-template-columns:minmax(0,85px) minmax(0,1fr);gap:9px}}

/* 医院紹介の写真は中央に一列 */
.legacy-content.clinic-gallery{display:flex;flex-direction:column;align-items:center;gap:22px;padding:8px 0 16px}
.clinic-gallery figure{margin:0;max-width:100%;text-align:center}
.legacy-content.clinic-gallery img{display:block;max-width:100%!important;height:auto!important;margin:0 auto}

/* 院長紹介：経歴の日付をまとめ、挨拶は自然に折り返す */
.director-profile{font-size:16px;line-height:1.9;overflow-wrap:break-word}
.director-top{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px;align-items:start}
.director-top>img{display:block;max-width:100%;height:auto;margin:auto}
.director-profile h2{font-size:23px;margin:0 0 4px}.director-profile h3{font-size:17px;margin:20px 0 10px}
.director-role{font-size:13px;margin-bottom:4px}.director-history{margin:0;font-size:14px}.director-history dt{font-weight:bold;margin-top:10px}.director-history dd{margin:0}
.director-greeting{margin-top:24px}.director-greeting p{margin:0 0 14px;word-break:normal;line-break:strict}
.director-interests{font-size:14px;margin:26px 0 0}.director-interests>div{padding:12px 14px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px}.director-interests>div:nth-child(odd){background:#fbedf1}.director-interests dt{font-weight:bold}.director-interests dd{margin:0;min-width:0}
@media(max-width:700px){.director-top{grid-template-columns:minmax(0,1fr);gap:18px}.director-top>img{max-width:180px}.director-profile{font-size:15px}.director-interests>div{grid-template-columns:minmax(0,1fr);gap:3px}}
/* お問い合わせ削除後のメニューを3列×2段で隙間なく配置 */
@media(max-width:700px){.site-menu nav a:last-child{grid-column:auto;min-height:44px;padding:10px 3px}}

/* 日付の赤文字は日曜・祝日のみ。休診背景とは別に指定 */
#calendar td.is-closed{color:inherit}
#calendar td.is-red-date{color:#c62828}

/* 画面下は左にアクセス、右に電話 */
.mobile-actions .action-access{background:#f9e5ed;color:#8b4560!important;border-left:0}
.mobile-actions .action-phone{background:#a54e70;color:#fff!important;border-left:1px solid #ffffff44}

/* 元の順番：左に電話、右にアクセス */
.mobile-actions .action-phone{border-left:0}
.mobile-actions .action-access{border-left:1px solid #ffffff44}

.map-button-row{text-align:center;margin:18px 0 8px}.legacy-content a.google-map-button{display:inline-block;background:#a54e70;color:#fff!important;padding:12px 20px;border-radius:6px;font-size:15px;font-weight:bold;text-decoration:none;min-height:48px}.legacy-content a.google-map-button:hover{background:#893e5c}
