*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#1d2b48;background:#ffffff;font:16px/1.9 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}a{color:#175463;text-underline-offset:5px}a:hover{color:#b8343b}a:focus-visible{outline:3px solid #d24e54;outline-offset:5px}.wrap{max-width:1120px;margin:auto;padding:0 28px}.review{background:#e9edf5;color:#01214e;font-size:13px;padding:9px 28px;text-align:center}header{background:white;border-bottom:1px solid #d9dfe9;padding:22px 0}.head{display:flex;justify-content:space-between;gap:24px;align-items:center}.brand{display:flex;align-items:center;gap:14px;font-size:18px;font-weight:700;text-decoration:none;color:#01214e}.brand-logo{width:66px;height:66px;flex:none}.brand span{display:block;white-space:nowrap}.brand small{font-size:12px;font-weight:400;display:block;color:#5b6780}.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 15px;font-size:13.5px}.crumb{font-size:12px;color:#5b6780;margin-top:22px}.hero{padding:55px 0 62px;border-bottom:1px solid #d3dbe8;background:linear-gradient(125deg,#eef2f8,#e4eef1)}.eyebrow{color:#d24e54;font-size:12px;letter-spacing:.16em;font-weight:700}h1{font-size:clamp(30px,4vw,48px);line-height:1.45;letter-spacing:.035em;margin:15px 0}h2{font-size:28px;line-height:1.5;margin:0 0 22px}h3{font-size:20px;line-height:1.55;margin:0 0 14px}p{margin:0 0 18px}.lead{font-size:19px;max-width:800px}.intro{max-width:820px}.section{padding:64px 0;border-bottom:1px solid #d9dfe9}.sectiontitle{display:flex;gap:18px;align-items:baseline}.number{color:#d24e54;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid #d9dfe9;padding:28px}.card p{font-size:15px}.card small{color:#5b6780}.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.values p{font-size:15px}.button{display:inline-block;border:1px solid #01214e;padding:10px 19px;text-decoration:none;font-weight:600;font-size:14px}.subtle{color:#5b6780;font-size:14px}.topic{padding:38px 0;border-top:1px solid #d9dfe9}.topic h2{font-size:23px;margin-bottom:16px}.topic>div{max-width:860px}.papers{background:#eef3f5;padding:22px 26px;margin-top:24px;font-size:14px}.papers ul{padding-left:20px;margin-bottom:0}.papers li{margin:10px 0}.jump{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.jump a{font-size:13px;border:1px solid #b9c6db;padding:7px 12px;text-decoration:none}.note{border-left:3px solid #d24e54;padding:12px 18px;background:#fbeeee;font-size:14px}.reflist{padding-left:26px;margin:0;font-size:14.5px}.reflist li{margin:0 0 14px;line-height:1.85}.refgroup{margin-top:34px}.refgroup h3{margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:6px}.stats .num{font-size:34px;line-height:1.3;color:#01214e;font-weight:700;margin:0 0 6px}.stats .lbl{font-size:14px;color:#5b6780;margin:0;line-height:1.7}.signature{text-align:right;line-height:2;margin-top:30px}.annual{display:grid;grid-template-columns:1fr 1fr;gap:36px;background:#e8eef5;padding:32px}.annual .year{font-size:36px;line-height:1.4;color:#01214e}footer{padding:35px 0;background:#01214e;color:#e6ebf3;font-size:13px}footer a{color:#e6ebf3}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:12px;z-index:9}@media(max-width:720px){.wrap{padding:0 20px}.head{display:block}.nav{margin-top:16px}.hero{padding:36px 0}.section{padding:42px 0}.grid,.values,.annual{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;gap:22px}.stats .num{font-size:26px}.topic{padding:30px 0}.brand{font-size:16px}.brand span{white-space:normal}.card{padding:23px}h2{font-size:25px}.lead{font-size:17px}}
.nav{flex-wrap:wrap}.head{align-items:flex-start}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}.steps article{border-top:2px solid #175463;padding-top:16px}.tablewrap{overflow-x:auto;background:white}table{width:100%;border-collapse:collapse}caption{text-align:left;padding:14px 18px;font-weight:600;background:#e8eef5}th,td{padding:13px 18px;border-bottom:1px solid #d9dfe9;text-align:left}thead{background:#f1f4f8}tbody th{font-weight:400}td:last-child{text-align:right;font-variant-numeric:tabular-nums}.person h2{font-size:27px}.person dl{margin:20px 0}.person dt{font-size:12px;font-weight:bold;color:#175463;margin-top:15px}.person dd{margin:3px 0;font-size:15px}.editor{margin-top:24px;background:#f3f0e8;padding:14px 20px;font-size:14px}.editor summary{cursor:pointer}.editor p{margin:12px 0 0}p,li,dd,a{overflow-wrap:anywhere}@media(max-width:720px){.steps{grid-template-columns:1fr}.nav{gap:10px 18px}.head{display:block}th,td{padding:11px 14px}}

/* 人工聴覚器を診療内容の先頭に配置 */
.implant-feature{border-top:4px solid #01214e;margin-bottom:28px;padding:32px}.implant-feature h3{font-size:26px}.implant-feature h4{font-size:18px;line-height:1.6;margin:0 0 14px}.implant-feature .lead{font-size:18px;max-width:900px}.implant-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px;margin:30px 0}.implant-topics section{border-top:1px solid #d9dfe9;padding-top:22px}.implant-topics ul{padding-left:1.4em;margin:0 0 20px}.implant-topics li{margin-bottom:14px;font-size:15px}.implant-contact{background:#eef3f5;padding:24px}.implant-contact h4:not(:first-child){margin-top:28px}@media(max-width:720px){.implant-feature{padding:23px}.implant-topics{grid-template-columns:1fr;gap:12px}.implant-feature h3{font-size:23px}.implant-contact{padding:18px}}

/* 研修・入局ページ */
.recruit-page .hero{background:linear-gradient(125deg,#eef2f8 15%,#fbeeee 100%)}
.recruit-label{font-size:14px;margin-top:18px}.recruit-page h1{max-width:920px}.recruit-page .lead{font-weight:600;color:#01214e}
.recruit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:28px 0}.recruit-primary{background:#d24e54;color:#fff;border-radius:6px;padding:14px 24px;font-size:16px}.recruit-primary:hover{background:#b8343b;color:#fff}
.recruit-fields .card{border-radius:12px;border-top:4px solid #175463}.recruit-fields .card:nth-child(2),.recruit-fields .card:nth-child(3){border-top-color:#d24e54}
.recruit-follow{margin-top:28px}.recruit-roadmap{margin-top:32px}.recruit-aside{background:#f1f4f8;padding:26px;border-radius:12px;margin-top:28px}.recruit-aside p{margin-bottom:0}
.recruit-questions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.recruit-questions p{background:#eef3f5;border-radius:12px;padding:22px;margin:0;font-weight:600}
.recruit-contact{background:#e8eef5;padding:36px;border-radius:16px}.recruit-page ul{padding-left:1.3em}.recruit-page li{margin-bottom:12px}
@media(max-width:720px){.recruit-questions{grid-template-columns:1fr}.recruit-contact{padding:24px}.recruit-actions{align-items:flex-start;flex-direction:column}.recruit-page h1{font-size:32px}.recruit-primary{max-width:100%;text-align:center}}

.recruit-three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.recruit-three{grid-template-columns:1fr}}

/* 教授挨拶・沿革・派遣病院 */
.greeting{display:flow-root;max-width:920px;margin:auto}.greeting p{margin-bottom:26px}.greeting-photo{float:right;width:200px;max-width:40%;height:auto;margin:0 0 24px 30px}.history-person{display:flex;gap:20px;align-items:flex-start}.history-person img{width:100px;max-width:30%;height:auto}.history-person>div{min-width:0}.history-person h3{margin-bottom:4px}.history-term{font-weight:600}.hospital-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.hospital-list li{padding:16px 4px;border-bottom:1px solid #d9dfe9}@media(max-width:720px){.greeting-photo{width:150px;margin-left:18px}.history-person{gap:16px}.hospital-list{grid-template-columns:1fr}}@media(max-width:400px){.history-person{display:block}.history-person img{max-width:100%;margin-bottom:14px}}

/* サイト全体の共通構造 */
.global-menu{margin-top:18px;border-top:1px solid #d9dfe9;padding-top:12px}.global-menu summary{cursor:pointer;font-size:14px;font-weight:600;color:#01214e;width:fit-content;padding:5px}.global-menu summary:focus-visible{outline:3px solid #d24e54;outline-offset:3px}.site-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;padding:24px 0}.site-directory h2{font-size:17px;margin-bottom:12px}.site-directory ul{list-style:none;padding:0;margin:0}.site-directory li{margin:0 0 7px;font-size:14px}.site-directory a{display:inline-block;padding:3px 0}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0;font-size:12px}.breadcrumbs li+li:before{content:'›';margin-right:8px;color:#5b6780}.category-nav{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:18px;padding-bottom:18px;border-bottom:1px solid #d9dfe9}.category-nav a{font-size:14px;padding:4px 0}.category-nav [aria-current=page],.nav [aria-current=page]{font-weight:700;border-bottom:2px solid #d24e54;text-decoration:none}.site-directory [aria-current=page]{font-weight:bold;text-decoration-thickness:2px}.footer-base{border-top:1px solid #3a507a;padding-top:24px;margin-top:18px}footer .site-directory{padding-top:0}footer .site-directory h2 a{color:#fff}@media(max-width:900px){.site-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.site-directory{grid-template-columns:1fr}.category-nav{gap:8px 16px}.site-directory li{margin-bottom:9px}}

/* 理念：日本語・英語 */
.mission-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0}.mission-pillars article{border-top:3px solid #175463;padding-top:20px}.mission-pillars h3{font-size:20px}.mission-english{line-height:1.8}.mission-english p{overflow-wrap:normal}@media(max-width:900px){.mission-pillars{grid-template-columns:1fr;gap:20px}}

/* ロゴ（2026年9月・新ロゴ） */
.footer-brand{display:flex;align-items:center;gap:16px;margin-bottom:6px}.footer-brand img{width:72px;height:72px;flex:none}.footer-brand p{margin:0}@media(max-width:720px){.brand-logo{width:58px;height:58px}.brand{gap:10px;font-size:16px}}

/* 常設サイドナビ（旧サイトの構造に近づける） */
.layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:48px;align-items:start}
.sidenav{position:sticky;top:20px;padding-top:34px}
.sidenav .site-directory{display:block;padding:0}
.sidenav section{margin:0 0 24px}
.sidenav h2{font-size:15px;margin:0 0 8px;padding:0 0 7px;border-bottom:2px solid #175463}
.sidenav h2 a{text-decoration:none;color:#01214e}
.sidenav ul{list-style:none;margin:0;padding:0}
.sidenav li{margin:0;font-size:14px}
.sidenav li a{display:block;padding:6px 0 6px 12px;border-left:3px solid transparent;text-decoration:none;color:#1d2b48;line-height:1.5}
.sidenav li a:hover{border-left-color:#b9c6db;color:#175463}
.sidenav li a[aria-current=page]{border-left-color:#d24e54;color:#d24e54;font-weight:700}
.content>.section:first-child{padding-top:34px}
@media(min-width:901px){.global-menu{display:none}.category-nav{display:none}}
.degree{font-weight:400;color:#4a5670}.faculty{min-width:680px}.faculty th:first-child{width:34%}
.sitemap-page .layout{display:block}.sitemap-page .sidenav{display:none}
@media(max-width:900px){.layout{display:block}.sidenav{display:none}}

/* お知らせ・活動報告 */
.news-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:26px 0;border-top:1px solid #d9dfe9}
.news-year h2+.news-item{border-top:0;padding-top:6px}
.news-item h3{font-size:18px;margin:0 0 10px}
.news-item p{font-size:15px;margin:0 0 10px}
.news-meta{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.news-meta time{font-variant-numeric:tabular-nums;color:#5b6780;font-size:14px}
.tag{display:inline-block;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:3px;color:#fff;background:#175463;line-height:1.5}
.tag-paper{background:#175463}.tag-award{background:#01214e}.tag-grant{background:#0d4d22}.tag-event{background:#d24e54}.tag-lab{background:#01214e}
.news-link{font-size:14px}
.news-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.news-head h2{margin-bottom:0}.news-head a{font-size:14px}
.news-compact{list-style:none;padding:0;margin:20px 0 0}
.news-compact li{display:grid;grid-template-columns:110px auto minmax(0,1fr);gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid #d9dfe9;font-size:15px}
.news-compact li:first-child{border-top:0;padding-top:0}
.news-compact time{color:#5b6780;font-variant-numeric:tabular-nums;font-size:14px}
.news-compact .tag{justify-self:start}
@media(max-width:720px){.news-item{grid-template-columns:1fr;gap:10px}.news-meta{flex-direction:row;align-items:center}.news-compact li{grid-template-columns:1fr;gap:6px}}

/* 言語切り替え */
.nav .lang-switch{border:1px solid #b9c6db;border-radius:3px;padding:2px 10px;text-decoration:none;font-weight:600}
.nav .lang-switch:hover{border-color:#175463}
.lefttable td:last-child{text-align:left;font-variant-numeric:normal}.schedule th,.schedule td{white-space:nowrap}.nowrap{white-space:nowrap}.weektable{min-width:860px;table-layout:fixed;font-size:14px}.weektable th:first-child{width:80px}.weektable td{vertical-align:top;line-height:1.7}.rotation{min-width:700px;table-layout:fixed;font-size:14px}.rotation tbody th{white-space:nowrap}.rotation thead th:first-child{width:64px}.rotation td{vertical-align:top;line-height:1.7}.career{min-width:1100px}
.rotation td.span2{background:#eef3f5}
.photo{margin:0 0 26px}.photo img{display:block;width:100%;max-width:720px;height:auto;border:1px solid #d9dfe9}.photo figcaption{font-size:13px;color:#5b6780;margin-top:8px}
.cardphoto{margin:-4px 0 16px}.cardphoto img{max-width:100%;aspect-ratio:16/10;object-fit:cover}
.leadphoto{margin:34px 0 0}.leadphoto img{max-width:none;width:100%}
/* トップページのヒーロー：ポートタワーのイラスト（2026-09-20） */
.home .hero{position:relative;overflow:hidden;padding:0;background:#cfe3f5}
.home .hero-art{position:absolute;inset:0}
.home .hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}
.home .hero .wrap{position:static;display:flex;justify-content:flex-end;padding-top:72px;padding-bottom:72px}
.home .hero-text{position:relative;z-index:1;background:rgba(255,255,255,.9);padding:36px 40px 30px;max-width:600px;box-shadow:0 2px 18px rgba(1,33,78,.08)}
.home .hero-text h1{margin-top:10px;font-size:clamp(28px,3.3vw,40px)}html[lang=ja] .home .hero-text h1{white-space:nowrap}html[lang=en] .home .hero-text h1{font-size:clamp(26px,2.8vw,34px)}
.home .hero-text .intro,.home .hero-text .lead{margin-bottom:0}
.home .hero-text .jump{margin-top:22px}
@media(max-width:720px){.home .hero{background:#fff;border-bottom:1px solid #d3dbe8}.home .hero-art{position:static;margin:-26px -20px 20px}.home .hero-art img{height:auto;aspect-ratio:2000/960}.home .hero .wrap{display:block;padding-top:26px;padding-bottom:30px}.home .hero-text{background:none;padding:0;max-width:none;box-shadow:none}.home .hero-text h1{white-space:normal;font-size:30px}}
/* 研修・入局のご案内のヒーロー：カンファレンスのイラスト（2026-09-20） */
.recruit-page .hero{position:relative;overflow:hidden;background:#fff}
.recruit-page .hero .wrap{position:static}
.recruit-page .hero-art{position:absolute;inset:0}
.recruit-page .hero-art img{display:block;position:absolute;right:0;top:50%;transform:translateY(-50%);width:auto;height:auto;max-width:70%;max-height:100%}
.recruit-page .hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,#fff 42%,rgba(255,255,255,0) 60%)}
.recruit-page .hero-text{position:relative;z-index:1;max-width:600px}
@media(max-width:1100px){.recruit-page .hero-art img{max-width:58%}.recruit-page .hero-text{max-width:54%}.recruit-page .hero-text h1{font-size:36px}}
@media(max-width:720px){.recruit-page .hero-art{position:static;margin:-36px -20px 22px}.recruit-page .hero-art img{position:static;transform:none;max-width:none;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:78% center}.recruit-page .hero-art::after{display:none}.recruit-page .hero-text{max-width:none}}
/* お知らせの写真（2026-09-20） */
.news-photo{margin:14px 0 8px;max-width:300px}.news-photo img{display:block;width:100%;height:auto;border:1px solid #d9dfe9}.news-photo figcaption{font-size:13px;color:#5b6780;margin-top:6px}

.values-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.news-photos{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 8px}.news-photos .news-photo{margin:0;flex:1 1 240px;max-width:300px}
/* 表の列がスマホで1文字幅に潰れないように（2026-09-23） */
html[lang=ja] .tablewrap tbody th{white-space:nowrap}
html[lang=en] .tablewrap tbody th{min-width:7em}
@media(max-width:720px){.tablewrap th,.tablewrap td{min-width:4em}}
.hospitals{min-width:820px;table-layout:fixed}.hospitals thead th:nth-child(1){width:25%}.hospitals thead th:nth-child(2){width:15%}.hospitals thead th:nth-child(3){width:9%}.hospitals thead th:nth-child(4){width:14%}.hospitals thead th:nth-child(5){width:37%}.hospitals td:nth-child(3){white-space:nowrap}
.hospitals thead th{white-space:nowrap}
/* 外来予定：一般初診の表はスマホでは曜日ごとの縦積みに（2026-09-24） */
@media(max-width:720px){
.firstvisit,.firstvisit tbody,.firstvisit tr,.firstvisit td{display:block;width:100%;min-width:0}
.firstvisit thead{display:none}
.firstvisit caption{display:block;width:100%;box-sizing:border-box}
.firstvisit td{position:relative;padding:12px 14px 12px 3.4em;border-bottom:1px solid #d9dfe9;line-height:1.8}
.firstvisit td::before{content:attr(data-day);position:absolute;left:14px;top:12px;font-weight:700;color:#01214e}
.firstvisit td .subtle{display:inline;margin-left:.4em}
.firstvisit td br:nth-of-type(odd){display:none}
}
@media(max-width:720px){.clinicsched th,.clinicsched td{padding:10px 8px;min-width:0}.clinicsched td:nth-last-child(2),.clinicsched td:nth-last-child(3){white-space:nowrap}.clinicsched tbody th{padding-left:4px;padding-right:4px}.clinicsched td:last-child{word-break:keep-all}}
.photo-compact img{max-width:480px}
.photo-pair{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;margin:6px 0 26px}.photo-pair .photo{margin:0;flex:1 1 280px;max-width:420px}.photo-pair .photo img{width:100%;height:auto}

/* 教室のロゴ（about.html） */
.logo-intro{display:flex;flex-wrap:wrap;gap:28px;align-items:center}.logo-intro img{flex:0 0 auto;width:200px;height:auto}.logo-intro>div{flex:1 1 300px}.logo-intro p{margin:0 0 12px}
@media (max-width:640px){.logo-intro{gap:16px}.logo-intro img{width:160px;margin:0 auto}}
