@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap");

/*************************************************
 MEDFEE Surgery Simulator / standalone fixed page
 Blog-style elements, sidebar and TOC are not used.
*************************************************/

.nc-fixed-page{
  --nc-navy:#0b2c3b;
  --nc-navy2:#123e48;
  --nc-teal:#23918e;
  --nc-ink:#0e3144;
  --nc-copy:#40565e;
  --nc-paper:#fbf8f1;
  --nc-line:#ccd9d5;
  --nc-white:#fff;
  width:100%;
  max-width:none;
  margin:0;
  background:#fff;
  color:var(--nc-ink);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:16px;
  line-height:1.9;
  overflow:hidden;
}
.nc-fixed-page *,
.nc-fixed-page *::before,
.nc-fixed-page *::after{box-sizing:border-box}

.nc-fixed-page :is(h1,h2,h3,p,ul){
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
}
.nc-fixed-page :is(h1,h2,h3)::before,
.nc-fixed-page :is(h1,h2,h3)::after{content:none}

.nc-fixed-page a{color:inherit}
.nc-fixed-page a:focus-visible{
  outline:3px solid #2b9a97;
  outline-offset:4px;
  border-radius:4px;
}

/* ---------- 共通ヘッダー ---------- */
.nc-site-header{
  background:var(--nc-paper);
  border-bottom:1px solid #e3e5df;
}
.nc-header-inner{
  width:min(1440px,calc(100% - 96px));
  min-height:152px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.nc-logo-link{
  display:block;
  text-decoration:none;
  flex:0 1 auto;
}
.nc-logo-window{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1536/420;
  overflow:hidden;
  background:var(--nc-paper);
}
.nc-logo-window img{
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
  width:100%;
  height:auto;
  max-width:none;
  display:block;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
}
.nc-header-logo{
  width:370px;
  max-width:42vw;
}
.nc-main-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
  flex-wrap:wrap;
}
.nc-main-nav a{
  color:#102f42;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:16px;
  text-decoration:none;
  white-space:nowrap;
  padding:10px 0;
}
.nc-main-nav a:hover{color:var(--nc-teal)}

/* ---------- simulator page ---------- */
.nc-surgery-service-main{
  width:100%;
  margin:0;
  padding:44px 24px 78px;
  background:#fff;
}
#nc-surgery-page .medfee-sss{
  width:min(1180px,100%);
  max-width:1180px;
  margin:0 auto;
}

/* ---------- footer ---------- */
.nc-footer-band{
  height:108px;
  background:#123943;
}
.nc-site-footer{
  background:var(--nc-paper);
  color:#123a49;
  text-align:center;
  padding:58px 24px 72px;
}
.nc-footer-inner{
  width:min(1530px,100%);
  margin:0 auto;
}
.nc-footer-logo{
  width:520px;
  max-width:72vw;
  margin:0 auto 18px;
}
.nc-footer-tagline{
  margin:4px 0 18px!important;
  color:#13817e;
  font-size:16px;
}
.nc-footer-disclaimer{
  margin:0 auto 36px!important;
  color:#123a49;
  font-size:13px;
}
.nc-footer-rule{
  height:1px;
  background:#cbd9d5;
  width:100%;
  margin:0 auto 27px;
}
.nc-footer-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px 44px;
  flex-wrap:wrap;
  margin:0;
}
.nc-footer-links a{
  font-size:16px;
  color:#173f49;
  text-decoration:underline;
  text-decoration-color:#8cb5b0;
  text-underline-offset:7px;
}
.nc-footer-links a:hover{color:#16807c}
.nc-copyright{
  margin:34px 0 0!important;
  color:#607477;
  font-size:12px;
}

/* ---------- Standalone page: no blog UI ---------- */
html:has(body.medfee-surgery-standalone),
body.medfee-surgery-standalone{
  margin:0!important;
  padding:0!important;
  background:var(--nc-paper,#fbf8f1);
  width:100%;
  max-width:none;
}
body.medfee-surgery-standalone .nc-fixed-page{
  width:100%;
  margin:0;
}
body.medfee-surgery-standalone .toc,
body.medfee-surgery-standalone #toc,
body.medfee-surgery-standalone .toc-widget-box,
body.medfee-surgery-standalone .widget_toc,
body.medfee-surgery-standalone .breadcrumb,
body.medfee-surgery-standalone .entry-title,
body.medfee-surgery-standalone .date-tags,
body.medfee-surgery-standalone .sns-share,
body.medfee-surgery-standalone .sns-follow,
body.medfee-surgery-standalone #sidebar,
body.medfee-surgery-standalone .sidebar,
body.medfee-surgery-standalone .post-navi,
body.medfee-surgery-standalone .related-entry-heading{
  display:none!important;
}

/* ---------- Embedded shortcode fallback ---------- */
body:has(#nc-surgery-page) .toc,
body:has(#nc-surgery-page) #toc,
body:has(#nc-surgery-page) .toc-widget-box,
body:has(#nc-surgery-page) .entry-title,
body:has(#nc-surgery-page) .breadcrumb,
body:has(#nc-surgery-page) .date-tags,
body:has(#nc-surgery-page) .sns-share,
body:has(#nc-surgery-page) .sns-follow,
body:has(#nc-surgery-page) #sidebar,
body:has(#nc-surgery-page) .sidebar{
  display:none!important;
}

@media(max-width:767px){
  .nc-header-inner{
    width:calc(100% - 36px);
    min-height:auto;
    padding:16px 0;
    flex-direction:column;
    align-items:center;
    gap:7px;
  }
  .nc-header-logo{
    width:min(330px,92vw);
    max-width:none;
  }
  .nc-main-nav{
    justify-content:center;
    gap:7px 22px;
  }
  .nc-main-nav a{
    font-size:13px;
    padding:6px 0;
  }
  .nc-surgery-service-main{
    padding:20px 10px 56px;
  }
  .nc-footer-band{height:72px}
  .nc-site-footer{padding:43px 20px 50px}
  .nc-footer-logo{
    width:min(430px,94vw);
    max-width:94vw;
  }
  .nc-footer-tagline{font-size:14px}
  .nc-footer-disclaimer{
    font-size:12px;
    line-height:1.8;
  }
  .nc-footer-links{gap:8px 22px}
  .nc-footer-links a{font-size:14px}
}

@media print{
  .nc-site-header,
  .nc-footer-band,
  .nc-site-footer{
    display:none!important;
  }
  .nc-fixed-page,
  .nc-surgery-service-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }
}


/* ---------- v6.3 simple header ---------- */
.nc-header-inner--simple{
  justify-content:flex-start;
}
.nc-header-inner--simple .nc-main-nav{
  display:none!important;
}

/* ---------- リンク・ご紹介 ---------- */
.medfee-referral{
  width:min(1180px,100%);
  margin:36px auto 0;
  padding:28px;
  border:1px solid #d6dedb;
  border-radius:14px;
  background:#fffdf8;
  color:#172b36;
  line-height:1.9;
}
.medfee-referral h2{
  margin:0 0 16px!important;
  color:#0e3144;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:24px!important;
  font-weight:700;
  line-height:1.5;
}
.medfee-referral h3{
  margin:20px 0 6px!important;
  color:#0e3144;
  font-size:16px!important;
  font-weight:700;
  line-height:1.6;
}
.medfee-referral p{
  margin:0 0 12px!important;
  font-size:14px;
}
.medfee-referral a{
  color:#216e66;
  overflow-wrap:anywhere;
}
.medfee-referral label{
  display:block;
  margin-top:18px;
  font-size:14px;
}
.medfee-referral textarea{
  display:block;
  box-sizing:border-box;
  width:100%;
  margin-top:10px;
  padding:12px;
  border:1px solid #c4d1cd;
  border-radius:6px;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:14px;
  line-height:1.6;
  background:#fff;
  color:#152c36;
  resize:vertical;
}
.medfee-referral-help{
  color:#54656c;
  font-size:13px!important;
}
.medfee-referral-banner{
  display:block;
  max-width:720px;
  margin:16px auto;
}
.medfee-referral-banner img{
  display:block;
  width:100%;
  height:auto;
  border-radius:8px;
}
.medfee-referral-banner:focus-visible{
  outline:3px solid #216e66;
  outline-offset:4px;
}

@media(max-width:600px){
  .medfee-referral{
    margin-top:24px;
    padding:20px;
  }
  .medfee-referral h2{
    font-size:21px!important;
  }
}

/* 紹介欄はPDFには掲載しない */
@media print{
  .medfee-referral{
    display:none!important;
  }
}
