:root{--ink:#183e43;--teal:#006d77;--cyan:#5dbbc2;--pale:#edf6f6;--line:#cddfdf;--body:#3f565a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{width:100%;display:block;object-fit:cover}p{color:var(--body)}h1,h2,h3,p,figure{margin:0}h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(29px,3.4vw,46px);line-height:1.65;font-weight:500;letter-spacing:.045em}h3{font-size:23px;line-height:1.6}p+p{margin-top:18px}small{font-size:13px}.demo{font-size:12px;text-align:center;background:var(--ink);color:#fff;padding:6px 16px;letter-spacing:.04em}header{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(14px);padding:19px 3.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce8e8;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;line-height:1.6}.brand small{display:block;font-size:10px;letter-spacing:.13em;font-weight:500}.mark{font-size:36px;font-weight:400;color:var(--teal)}nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--teal);color:white;padding:16px 25px;border:1px solid var(--teal);border-radius:4px;font-size:16px;transition:.2s}.btn:hover{background:#09515a;transform:translateY(-2px)}.btn.small{font-size:14px;padding:11px 18px;gap:8px}#menu{display:none}.wrap{max-width:1160px;margin:auto;width:calc(100% - 96px)}.section{padding-top:100px;padding-bottom:100px}.eyebrow{font-size:12px;color:var(--teal);font-weight:700;letter-spacing:.17em;margin-bottom:20px}.hero{position:relative;min-height:720px;overflow:hidden;background:#f3f9f9}.hero-photo{position:absolute;left:37%;right:0;top:0;height:635px}.hero-photo img{height:100%;object-position:center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f3f9f9,transparent 43%)}.photo-note{position:absolute;right:30px;bottom:24px;font-size:11px;letter-spacing:.2em;color:#fff;text-shadow:0 1px 4px #000}.hero-copy{position:relative;padding:55px 0 85px;margin-left:max(48px,calc((100vw - 1160px)/2));max-width:480px}.hero h1{font-family:'Yu Mincho',serif;font-size:clamp(52px,5.3vw,76px);line-height:1.42;font-weight:500;letter-spacing:.06em}.hero h1 span{color:var(--teal)}.lead{font-size:20px;line-height:1.85;margin-top:22px}.hero-sub{font-size:14px;margin:17px 0 23px}.hero-foot{position:relative;background:var(--teal);color:white;display:flex;justify-content:center;padding:22px;gap:0}.hero-foot span{padding:0 45px;border-right:1px solid #ffffff44;font-size:15px}.hero-foot span:last-child{border:0}.news{display:grid;grid-template-columns:210px 1fr;gap:45px;padding-top:46px;padding-bottom:46px;border-bottom:1px solid var(--line)}.news h2{font-size:26px}.news .eyebrow{margin-bottom:4px}.news details{border-bottom:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:22px 32px 22px 0;font-weight:600;line-height:1.75}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:0;top:21px;font-weight:400;color:var(--teal)}details[open]>summary:after{content:'−'}details>p,details>.bio{padding:0 15px 24px 0;font-size:15px;line-height:1.95}summary time{font-size:12px;color:#698084;font-weight:400;margin-right:16px}summary b{font-size:11px;font-weight:400;border:1px solid var(--line);padding:3px 9px;margin-right:16px}.news summary{font-size:14px;padding:17px 25px 17px 0}.news summary:after{top:16px}.intro{text-align:center}.section-lead{margin-top:24px;line-height:2}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:55px;text-align:left}.features article{border-top:1px solid var(--line);padding-top:20px}.number{color:var(--teal);font-family:Georgia,serif;font-size:42px;font-style:italic}.features h3{margin:8px 0 16px}.features p{font-size:15px}.tint{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-heading>p{font-size:15px}.surgery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.surgery-card{background:white;padding:35px;position:relative;border:1px solid #deebeb;border-radius:5px}.surgery-card h3{font-family:'Yu Mincho',serif;font-size:30px;margin:18px 0 13px}.surgery-card p{font-size:15px}.surgery-card summary{font-size:14px;padding-bottom:10px}.surgery-card details{border-top:1px solid var(--line);border-bottom:0;margin-top:23px}.tag{font-size:12px;color:var(--teal);letter-spacing:.04em}.surgery-no{position:absolute;right:30px;top:22px;color:#dceaea;font:italic 45px Georgia}.wide-detail{margin-top:25px;border-top:1px solid var(--line)}.first-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.first-grid article{border:1px solid var(--line);padding:30px}.first-grid h3{margin:12px 0 16px}.first-grid p,.first-grid li{font-size:15px}.first-grid ul{padding-left:18px}.notice{padding:23px 27px;border-left:4px solid var(--teal);background:#e3f1f1;margin-top:35px;display:flex;flex-direction:column;gap:4px}.notice span{font-size:14px}.doctor{background:#153e43;color:white}.doctor-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.doctor img{height:565px;border-radius:140px 4px 4px 4px;object-position:50% 25%}.doctor figcaption{font-size:11px;color:#bbd2d3;margin-top:7px}.doctor p{color:#d4e5e6;font-size:15px}.doctor .eyebrow{color:#85d3d8;font-size:12px}.doctor h2{margin-bottom:28px}.doctor-name{display:flex;align-items:center;gap:15px;margin-top:30px}.doctor-name h3{font-family:'Yu Mincho',serif;font-size:30px;letter-spacing:.08em}.doctor-name span{font-size:11px;letter-spacing:.1em;color:#95bbbf}.doctor details{margin-top:25px;border-color:#ffffff40}.doctor summary:after{color:#a6dade}.bio dl{display:grid;grid-template-columns:80px 1fr;font-size:14px}.bio dd{margin:0 0 12px}.facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.facility-grid img{height:320px;border-radius:5px}.facility-grid figcaption{padding-top:20px}.facility-grid strong{display:block;font-size:21px}.facility-grid span{display:block;font-size:14px;margin-top:6px;color:var(--body)}.equipment{margin-top:38px;padding:25px 30px;background:var(--pale)}.equipment p{font-size:15px;margin-top:12px}.equipment small{display:block;color:#647b7e;margin-top:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;align-items:start}.steps details{background:white;border:1px solid var(--line);padding:20px}.steps summary{display:flex;align-items:center;gap:18px;padding:10px 20px 10px 0}.steps summary>span{font:italic 37px Georgia;color:var(--teal)}.steps summary:after{top:23px}.steps small{font-size:10px;color:#557f83;letter-spacing:.1em}.steps h3{font-size:19px}.steps details>p{padding:18px 0 3px;font-size:14px}.faq{display:grid;grid-template-columns:320px 1fr;gap:60px}.faq>div>p:last-child{margin-top:25px}.faq summary{font-size:16px}.faq details>p{font-size:15px}.access-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;margin-top:40px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:center}caption{text-align:left;font-size:13px;padding-bottom:10px}th,td{padding:15px 7px;border-bottom:1px solid var(--line);white-space:nowrap}thead{background:var(--teal);color:white}tbody th{font-weight:500}.schedule>p{font-size:13px;margin-top:15px}.schedule summary{font-size:14px}.address p{font-size:15px;margin-top:18px}.address h3{font-size:21px}.text-btn{border:0;border-bottom:1px solid currentColor;background:none;color:var(--teal);padding:7px 0;font-size:14px}.address .fine{font-size:12px}.reservation{background:var(--teal);color:white;text-align:center}.reservation h2{font-size:clamp(35px,4vw,52px)}.reservation p{color:#e4f4f4;margin-top:20px}.reservation .eyebrow{color:#a6e4e5;margin-top:0}.reservation-buttons{display:flex;gap:20px;justify-content:center;margin:35px 0 20px}.light{background:white;color:var(--teal);min-width:280px;border-color:white}.light:hover{background:#e6f5f5}.outline{background:transparent;border-color:#abd6d8;min-width:250px}.reservation small{color:#c4e4e6}footer{padding-top:55px;padding-bottom:35px}footer>p{font-size:12px;margin-top:25px;color:#697c7f}.footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.footer-bottom small{font-size:10px;letter-spacing:.08em}dialog{border:0;border-radius:7px;max-width:600px;width:calc(100% - 32px);padding:48px;color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#102e35aa;backdrop-filter:blur(3px)}dialog h2{font-size:27px}dialog p{margin:20px 0}dialog .close{position:absolute;right:17px;top:10px;border:0;background:none;font-size:30px;color:var(--teal)}.print-sheet p{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cf982d;outline-offset:5px}.mobile{display:none}
@media(min-width:1450px){.hero-photo{left:40%}}
@media(max-width:1100px){nav{gap:14px}nav a{font-size:12px}.brand{font-size:15px}header{padding-left:24px;padding-right:24px}.hero-foot span{padding:0 20px}.doctor-grid{gap:40px}.faq{grid-template-columns:260px 1fr;gap:30px}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.section{padding-top:65px;padding-bottom:65px}header{padding:12px 20px}.brand{font-size:14px}.brand small{font-size:8px}.mark{font-size:28px}#menu{display:block;background:white;border:1px solid var(--line);border-radius:3px;padding:7px;font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px;box-shadow:0 12px 15px #1232}nav.open{display:flex;flex-direction:column;align-items:stretch}nav a{font-size:15px;padding:8px}.demo{font-size:10px}.hero{min-height:0}.hero-photo{left:22%;height:490px}.hero-photo:after{background:linear-gradient(90deg,#f3f9f9,rgba(243,249,249,.8) 20%,transparent 95%)}.hero-copy{margin-left:25px;padding:32px 0 38px;max-width:90%}.hero h1{font-size:53px}.hero .eyebrow{font-size:10px;margin-bottom:16px}.lead{font-size:17px;margin-top:18px}.hero-sub{font-size:12px}.hero-foot{padding:15px 12px;gap:9px;justify-content:space-around}.hero-foot span{font-size:11px;padding:0 8px;text-align:center;flex:1}.news{grid-template-columns:1fr;gap:15px;padding-top:30px;padding-bottom:30px}.news>div:first-child{display:flex;align-items:center;gap:18px}.news h2{font-size:22px}.news summary time{display:inline-block}.news summary b{margin-right:8px}.news summary{font-size:13px}.features{gap:24px;grid-template-columns:1fr;margin-top:35px}.features article{display:grid;grid-template-columns:55px 1fr;column-gap:15px}.features h3{margin-top:12px;font-size:21px}.features p{grid-column:2}.number{grid-row:span 2}.section-heading{display:block}.section-heading>p{margin-top:20px}.surgery-grid{gap:16px}.surgery-card{padding:22px}.surgery-card h3{font-size:25px}.surgery-no{font-size:32px;right:17px;top:18px}.surgery-card .tag{font-size:10px}.first-grid{gap:16px}.first-grid article{padding:22px}.first-grid h3{font-size:20px}.doctor-grid{grid-template-columns:1fr;gap:30px}.doctor figure{max-width:480px;width:100%;margin:auto}.doctor img{height:460px}.doctor h2{font-size:33px}.facility-grid img{height:240px}.facility-grid strong{font-size:18px}.faq{grid-template-columns:1fr;gap:20px}.faq>div>p:last-child{margin-top:12px}.access-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-wrap:wrap}.footer-bottom small{width:100%}.reservation-buttons{gap:12px}.light,.outline{min-width:0}.hero .btn{font-size:14px;padding:12px 20px}.photo-note{display:none}}
@media(max-width:520px){.surgery-grid,.first-grid,.facility-grid{grid-template-columns:1fr}.surgery-card{padding:26px}.surgery-card .tag{font-size:12px}.surgery-grid{gap:18px}.steps{gap:12px}.steps details{padding:14px}.steps summary{gap:10px;padding-right:15px}.steps h3{font-size:15px}.steps small{font-size:8px;letter-spacing:0}.steps summary>span{font-size:29px}.steps summary:after{top:17px;font-size:13px}.steps details>p{font-size:14px}.mobile{display:block}.intro h2{font-size:29px}.section-lead{font-size:15px}.hero-copy{margin-left:20px}.hero h1{font-size:50px}.hero-photo{left:15%;height:510px}.hero-photo img{object-position:57% center}.hero-foot span{padding:0 5px;font-size:10px}.reservation-buttons{flex-direction:column}.btn{justify-content:center}.reservation .btn{width:100%}.doctor-name{gap:12px;flex-wrap:wrap}.doctor-name h3{font-size:28px}.facility-grid img{height:260px}dialog{padding:35px 25px}.news summary time{font-size:11px;margin-right:8px}.news summary b{font-size:10px}.news summary{font-size:12px}.notice{padding:20px}.notice strong{font-size:15px}.equipment{padding:22px}.equipment p{font-size:14px}th,td{font-size:12px;padding:12px 6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body>*{display:none!important}#form-dialog[open]{display:block!important;position:static;width:100%;max-width:none;box-shadow:none}#form-dialog button{display:none}}
.interior{margin-top:35px}.hero-photo>img{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease,transform 6s linear;transform:scale(1.035)}.hero-photo>img.active{opacity:1;transform:scale(1)}.hero-photo:after{pointer-events:none}.slide-controls{position:absolute;right:30px;bottom:52px;display:flex;align-items:center;gap:12px;z-index:3;color:white;background:#153e43bb;padding:7px 10px;border-radius:3px;font-size:12px}.slide-controls button{background:none;color:white;border:1px solid #ffffff66;min-width:32px;height:32px;border-radius:50%;padding:0}.slide-controls span{font-size:11px;letter-spacing:.08em}@media(max-width:850px){.slide-controls{bottom:20px;right:14px;gap:7px}.hero-photo:after{z-index:1}.hero-copy{pointer-events:none}.hero-copy a{pointer-events:auto}}

/* Kamisu fixed-page layout */
html.kamisu-document:has(body#top.kamisu-page){margin-top:0!important;padding-top:0!important}
html.kamisu-document body#top.kamisu-page{position:static!important;overflow-x:clip!important;overflow-y:visible!important}
html.kamisu-document body.kamisu-page{margin:0!important;padding-top:0!important}
html.kamisu-document body.kamisu-page:has(>#spera-showcase-toolbar){padding-top:52px!important}
html.kamisu-document body.kamisu-page>header{margin:0!important;transform:none!important}
@media(max-width:850px){html.kamisu-document .hero-photo{aspect-ratio:3/2!important;height:auto!important;min-height:0!important}html.kamisu-document .hero-photo>img{object-fit:contain!important;object-position:center!important}}

.kamisu-page .spera-standard-news__title{display:none!important}
.kamisu-page #menu{padding:0!important}.kamisu-page #menu b{white-space:nowrap}.kamisu-page #menu span{display:block;flex-shrink:0}
body.kamisu-page{width:100%;overflow-x:hidden;font-size:16px}
.kamisu-page main{display:block;width:100%;padding:0;margin:0;background:white}
header{min-height:88px;height:auto;padding:16px 5vw;gap:18px}
header .brand{flex:1;min-width:0}header .brand>span:last-child{min-width:0}
.clinic-name{display:block}.clinic-name>span{display:inline}
header #nav{display:none!important}
#menu{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:none;width:64px;height:58px;border:1px solid #aacdce;border-radius:18px 4px;background:#f3f9f9;color:#006d77}
#menu span{width:24px;height:1px;background:currentColor}#menu b{font-size:10px;font-weight:500;letter-spacing:.12em}
.hero{display:flex;flex-direction:column;min-height:0;background:#f2f8f8}
.hero-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden}
.hero-photo>img{object-fit:cover;object-position:center;transform:none!important}
.hero-photo>img:first-child:not(.active){opacity:1}.hero-photo:has(>img.active)>img:not(.active){opacity:0}
.hero-photo:after{display:none}.photo-note{display:none}
.slide-controls{right:4vw;bottom:20px;background:#143d43e8;border-radius:30px;padding:8px 14px}
.hero-copy{position:relative;width:100%;max-width:1160px;margin:auto;padding:38px 48px 42px;display:grid;grid-template-columns:1.2fr 1fr;column-gap:6vw;pointer-events:auto}
.hero-copy .eyebrow{grid-column:1/-1;font-size:12px}
.hero h1{grid-column:1;grid-row:2/5;font-size:clamp(30px,3.7vw,49px);line-height:1.6;letter-spacing:.02em;white-space:nowrap}
.hero .lead{margin:0;font-size:18px}.hero-sub{font-size:14px;margin:12px 0 18px}.hero-copy .btn{justify-self:start}
.hero-foot{flex-wrap:wrap;gap:0}.hero-foot span{padding:0 28px}
body h2{background:none;border:0;padding:0}body .wrap{min-width:0}
.surgery-card .tag{display:block;padding-right:42px}.steps>details,.schedule,.address{min-width:0}
.eyemenu:not([open]){display:none!important}
.eyemenu{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#edf7f6f2;color:#183e43;box-shadow:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transition:opacity .8s ease;overflow:auto}
.eyemenu::backdrop{background:#163e4333}
.eyemenu.is-shown{opacity:1}
.eyemenu-inner{max-width:1100px;margin:auto;padding:88px 6vw 40px}
.eyemenu h2 span{display:inline-block;white-space:nowrap}.eyemenu-label{font-size:11px;letter-spacing:.18em;color:#397c82}
.eyemenu h2{font-size:clamp(22px,3vw,34px);margin:20px 0 35px;line-height:1.6}
.eyemenu nav{display:grid!important;position:static!important;grid-template-columns:1fr 1fr;gap:0 42px;padding:0;box-shadow:none;background:transparent}
.eyemenu nav a{display:flex;align-items:center;gap:18px;border-bottom:1px solid #b6d3d4;padding:18px 0;font-size:18px;font-weight:500;opacity:0;transform:translateY(14px);transition:opacity .85s ease,transform .85s ease}
.eyemenu nav a small{font-size:10px;color:#487c81}.eyemenu nav a:after{content:'↗';margin-left:auto;color:#4b9297}
.eyemenu nav a:last-child{color:#006d77;font-weight:700}
.eyemenu.is-shown nav a{opacity:1;transform:none;transition-delay:var(--delay)}
.eyemenu:not(.is-shown),.eyemenu:not(.is-shown) nav a{transition-duration:.55s;transition-delay:0s}
.eyemenu-close{position:absolute;top:22px;right:6vw;min-height:44px;border:1px solid #8ebdc0;background:white;color:#006d77;border-radius:25px;padding:10px 22px;font-size:13px}
.eyemenu-note{padding:18px 22px;margin-top:30px!important;border-left:3px solid #65adb3;background:#ffffff80;font-size:13px;line-height:1.9}
@media(max-width:850px){
header{padding:12px 5vw}.brand{font-size:16px;gap:8px}.brand small{font-size:8px;letter-spacing:.06em}.clinic-name>span{display:block}
#menu{width:54px;height:54px}.mark{font-size:27px}
.hero-photo{inset:auto;height:auto;aspect-ratio:16/9}
.hero-copy{display:block;max-width:none;margin:0;padding:27px 6vw 30px}
.hero h1{font-size:clamp(28px,7.6vw,42px);line-height:1.55;letter-spacing:0}
.hero .eyebrow{font-size:11px;margin-bottom:15px}
.hero .lead{font-size:16px;margin-top:18px}.hero-sub{font-size:13px}
.slide-controls{bottom:10px;right:12px;gap:8px;padding:5px 9px}.slide-controls button{min-width:30px;height:30px}
.hero-foot{display:grid;grid-template-columns:1fr;padding:14px 6vw;gap:7px}
.hero-foot span{font-size:12px;text-align:left;border:0;padding:0}.hero-foot span:before{content:'✓';margin-right:10px;color:#bde6e7}
.eyemenu nav{grid-template-columns:1fr}.eyemenu nav a{font-size:16px;padding:12px 0}
.eyemenu-inner{padding:80px 7vw 30px}.eyemenu h2{font-size:23px;margin:18px 0 20px}
.eyemenu-note{font-size:12px;padding:15px;margin-top:24px!important}
}
@media(max-width:520px){
header .brand{font-size:13px}.brand small{font-size:7px}.demo{font-size:9px;padding:5px 12px;line-height:1.7}
.steps{grid-template-columns:1fr}.steps h3{font-size:18px}.steps small{font-size:10px}
.news summary{font-size:14px}.news summary time{display:none}.news summary b{display:block;width:max-content;margin-bottom:8px}
.wrap{width:calc(100% - 40px)}.doctor h2,.intro h2{font-size:clamp(24px,6.5vw,30px)}
.facility-grid img{height:auto;aspect-ratio:3/2}.doctor img{height:auto;aspect-ratio:4/5}
.eyemenu nav a{font-size:15px}.eyemenu h2{font-size:21px}.eyemenu-note{margin-bottom:10px!important}
}
@media(prefers-reduced-motion:reduce){.eyemenu,.eyemenu nav a{transition:none!important;transform:none!important}}
