*, *::before, *::after { box-sizing: border-box; }

body { color: #444444; background: #ffffff; font-size: 1.4vw; letter-spacing: .06em; line-height: 1.6; font-family: "Noto Sans JP", sans-serif; font-weight: 400; font-optical-sizing: auto; font-style: normal; font-feature-settings: "palt"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media screen and (min-width: 1600px) { body { font-size: 22px; } }
@media screen and (max-width: 599px) { body { font-size: 2.8vw; } }

_:lang(x)::-ms-backdrop, .selector { font-family: "Segoe UI", Meiryo, sans-serif; }

.fnt-bcc { font-family: "big-caslon-fb", serif; font-weight: 400; font-style: normal; letter-spacing: normal; }

.fnt-nsj6 { font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 600; font-style: normal; }

.fnt-nsj8 { font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 800; font-style: normal; }

p { line-height: 1.8; }

img { border: 0; vertical-align: top; }

input, select { position: relative; top: 1px; }

table, th, td { border-collapse: collapse; border-spacing: 0; }

ul, li { list-style: none; }

a:link, a:visited { color: #444444; text-decoration: none; transition: opacity 0.5s; }
a:hover, a:active { opacity: .6; }

#cover { width: 100%; height: 100%; position: fixed; background: #ffffff; top: 0; left: 0; z-index: 10000; }

#loader { opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 300px; height: 250px; }
#loader img { width: 100%; height: auto; }
@media screen and (max-width: 599px) { #loader { width: 210px; height: 175px; } }

#wrapper { overflow: hidden; position: relative; }

#page-top { opacity: 0; position: fixed; bottom: 20px; right: 20px; z-index: 9000; width: 40px; pointer-events: none; }
@media screen and (max-width: 599px) { #page-top { bottom: 8.6em; right: 15px; } }
#page-top img { width: 100%; height: auto; }
#page-top.fade { opacity: 1; transition: opacity .5s; pointer-events: auto; }

.dd599 { display: none; }
@media screen and (max-width: 599px) { .dd599 { display: block !important; } }

@media screen and (max-width: 599px) { .nn599 { display: none !important; } }

.fadeinS, .fadein1, .fadein2, .fadein3, .fadein4, .fadein5, .fadein6, .fadeinF { opacity: 0; transform: translateY(30px); transition: opacity 1s ease-in, transform 1s ease-out; }
.fadeinS.active, .fadein1.active, .fadein2.active, .fadein3.active, .fadein4.active, .fadein5.active, .fadein6.active, .fadeinF.active { opacity: 1; transform: translateY(0); }

main { position: relative; }
main section { position: relative; max-width: 2050px; margin: 0 auto; }
main section .inner { position: relative; max-width: 1600px; margin: 0 auto; }
main section#cmnClinicSct { z-index: 10; padding: 4em 0 3.5em; background: #ffffff; }
@media screen and (max-width: 599px) { main section#cmnClinicSct { padding: 6.8em 0 4.5em; } }
main section#cmnClinicSct::before { content: ""; position: absolute; z-index: 1; top: -3em; left: -7%; width: 27em; height: 24em; background: url("../img26/ribbon.webp") no-repeat center center/contain; }
@media screen and (max-width: 599px) { main section#cmnClinicSct::before { left: -11%; width: 20em; height: 16em; } }
main section#cmnClinicSct .name { position: relative; z-index: 10; width: 58%; padding: 0; margin: 0 auto 2em; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .name { width: 84%; margin: 0 auto 2.8em; } }
main section#cmnClinicSct .name .t1 { display: block; text-align: center; color: #d69fa3; font-size: 720%; line-height: .9; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); }
@media screen and (max-width: 599px) { main section#cmnClinicSct .name .t1 { font-size: 670%; } }
main section#cmnClinicSct .name .t2 { display: block; text-align: right; color: #d69fa3; font-size: 250%; line-height: .8; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); }
@media screen and (max-width: 599px) { main section#cmnClinicSct .name .t2 { font-size: 215%; margin-right: -.2em; } }
main section#cmnClinicSct .name .t3 { position: absolute; left: 5.5em; bottom: .1em; letter-spacing: .4em; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .name .t3 { left: .5em; font-size: 85%; } }
main section#cmnClinicSct .box { position: relative; display: grid; grid-template-columns: 54% 46%; width: 68%; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box { width: 88%; grid-template-columns: 100%; } }
main section#cmnClinicSct .box .infoB1 { grid-area: 1/1/2/2; text-align: center; padding-top: 2em; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .infoB1 { grid-area: 1/1/2/2; } }
main section#cmnClinicSct .box .infoB1 table { background: #fff2f2; border-collapse: separate; border-spacing: 2px; margin-bottom: 1.3em; width: 100%; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .infoB1 table { font-size: 110%; } }
main section#cmnClinicSct .box .infoB1 table tr th { background: #ffdddd; text-align: center; vertical-align: middle; font-size: 80%; font-weight: 600; line-height: 1.2; padding: .3em 0; }
main section#cmnClinicSct .box .infoB1 table tr td { width: 10%; background: #ffffff; text-align: center; vertical-align: middle; font-size: 90%; line-height: 1.2; padding: .3em 0; }
main section#cmnClinicSct .box .infoB1 table tr:first-child th { padding: .6em 0; }
main section#cmnClinicSct .box .infoB1 .add { display: block; font-size: 110%; font-weight: 600; line-height: 1.1; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .infoB1 .add { font-size: 130%; } }
main section#cmnClinicSct .box .infoB1 .tel { position: relative; display: inline-block; font-size: 250%; font-weight: 600; line-height: 1.3; padding-left: 1.3em; background: url("../img26/icn_tel2.webp") no-repeat left center/1em; margin-bottom: .6em; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .infoB1 .tel { font-size: 280%; padding: .2em 0 .3em 1.4em; margin-bottom: .1em; } }
main section#cmnClinicSct .box .infoB2 { grid-area: 2/1/3/2; text-align: center; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .infoB2 { grid-area: 3/1/4/2; } }
main section#cmnClinicSct .box .infoB2 .btn { display: block; }
main section#cmnClinicSct .box .infoB2 .btn a { display: block; padding: 1.3em 0; background: #fff2f2; box-shadow: inset 0 0 7px 3px #f29e9e, 0 0 3px 1px rgba(0, 0, 0, 0.2); border-radius: 1em; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .infoB2 .btn a { padding: 1em 0; font-size: 150%; letter-spacing: .03em; } }
main section#cmnClinicSct .box .mapB { grid-area: 1/2/3/3; padding-left: 6%; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .mapB { padding-left: 0; grid-area: 2/1/3/2; margin-bottom: 3em; } }
main section#cmnClinicSct .box .mapB iframe { width: 100%; height: 20em; }
@media screen and (max-width: 599px) { main section#cmnClinicSct .box .mapB iframe { display: block; width: 80%; height: 25em; margin: 0 auto; } }

#footer { position: relative; background: #fff2ec; padding: 2.5em 6% 1.8em; }
@media screen and (max-width: 599px) { #footer { padding: 3em 5% 9.4em; } }
#footer .inner { position: relative; max-width: 1600px; margin: 0 auto; }
#footer .inner .box { position: relative; display: flex; justify-content: space-between; align-items: center; margin-bottom: 1em; }
@media screen and (max-width: 599px) { #footer .inner .box { display: block; } }
#footer .inner .box .logo { width: 25%; }
@media screen and (max-width: 599px) { #footer .inner .box .logo { width: 80%; margin: 0 auto 1.5em; } }
#footer .inner .box .logo img { width: 100%; height: auto; }
#footer .inner .box ul { display: flex; }
@media screen and (max-width: 599px) { #footer .inner .box ul { display: block; margin-bottom: 3em; } }
#footer .inner .box ul li { padding: 0 1em; border-right: 1px solid #444444; line-height: 1.2; }
@media screen and (max-width: 599px) { #footer .inner .box ul li { padding: 0 1.5em; border-right: none; border-bottom: 2px dotted #f4a8a8; } }
#footer .inner .box ul li:last-child { padding-right: 0; border-right: none; }
@media screen and (max-width: 599px) { #footer .inner .box ul li:last-child { padding: 0 1.5em; } }
#footer .inner .box ul li a { display: inline-block; font-size: 80%; font-weight: 500; }
@media screen and (max-width: 599px) { #footer .inner .box ul li a { position: relative; display: block; font-size: 140%; letter-spacing: .2em; padding: 1em 0; }
  #footer .inner .box ul li a::after { content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-45%); width: 1.5em; height: 1.5em; background: url("../img26/icn_arrow.svg") no-repeat center center/cover; } }
#footer .cpr { text-align: right; font-size: 60%; }
@media screen and (max-width: 599px) { #footer .cpr { text-align: center; font-size: 90%; } }
