/*
         __
   _____/ /_  ____ _      ______ _      __  __
  / ___/ __ \/ __ \ | /| / / __ `/_____/ / / /
 (__  ) / / / /_/ / |/ |/ / /_/ /_____/ /_/ /
/____/_/ /_/\____/|__/|__/\__,_/      \__,_/

SUHY/resident/
DOC.CSS
*/


/*==========================================================
*
* hero
*
==========================================================*/
header.hero div.content {
  height: 520px;
  background-image: url(../img/main.avif);
  background-position: center 10%;
}

header.hero>p {
  max-width: 960px;
}

header.hero div.content h1 {
  position: absolute;
  width: 100%;
  top: 50%;
  font-size: 2.2em;
}

header.hero div.content h1 span {
  position: absolute;
  width: 100%;
}

header.hero div.content h1 span.t {
  top: calc(50%);
  z-index: 1;
}

header.hero div.content h1 i.m {
  position: absolute;
  width: 100%;
  height: 100px;
  top: -20px;
  left: 0;
  background: rgba(255, 255, 255, 0.5);
  z-index: 0;
}

header.hero div.content h1 span.s {
  top: calc(55% + 3em);
  /*font-size: 50%;*/
  font-size: 55%;
  font-weight: 500;
  color: #173386;
  z-index: 1;
}

header.hero div.content h1 i.s {
  position: absolute;
  width: 100%;
  height: 100px;
  top: 20px;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 0;
}


/*==========================================================
*
* professor
*
==========================================================*/
section.professor {}

section.professor section {
  max-width: 980px;
  margin: 0 auto;
}

section.professor section.flex>* {
  /*padding-left: .6em */
  padding-bottom: 0;
}

section.professor section div.img {
  background-image: url(../img/professor.jpg?220719);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
}

section.professor section div.img img {
  display: none;
}

section.professor section div.txt-right {
  max-width: 490px;
  padding-left: 2em;
  padding-bottom: 3em;
}

section.professor section div.txt-right header h3 {
  font-size: 1.5em;
}

section.professor section div.txt-right header p {
  margin: 0.5em 0 1em 0;
  font-size: 110%;
  color: #333;
}

section.professor section div.txt-right header p small {
  font-size: 80%;
}

/*==========================================================
*
* davinci
*
==========================================================*/
section.davinci {
  /*padding-bottom: 20px;*/
}

section.davinci section {
  padding-bottom: 40px;
  max-width: 980px;
  margin: 0 auto;
}

section.davinci section div img {
  width: 100%;
}

/*==========================================================
*
* overview
*
==========================================================*/
section.overview {
  padding-bottom: 20px;
}

section.overview section {
  padding-bottom: 40px;
  max-width: 980px;
  margin: 0 auto;
}

section.overview section div img {
  width: 100%;
}


/*==========================================================
*
* program
*
==========================================================*/
section.program {}

section.program section {
  padding-bottom: 20px;
  max-width: 980px;
  margin: 0 auto;
}

section.program section div.fig {
  padding: 0 2em;
}

section.program section div.fig img {
  width: 100%;
}

section.program section div.body {
  width: 810px;
  margin: 20px auto;
}

section.program section div.body p {
  line-height: 2;
}

section.program div.box {
  background: #F2F4F8;
  max-width: 810px;
  margin: 0 auto 4em auto;
  border-radius: 10px;
  padding: 1em 2em;
}

section.program div.box section {}

section.program div.box section h4 {
  border-bottom: 1px solid #333;
}

section.program div.box section ol {
  padding: 0 0 0 1.5em;
  margin-bottom: 0;
}

/*==========================================================
*
* member
*
==========================================================*/
section.member ul {
  /*max-width: 735px;*/
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  justify-content: center;
}

section.member ul li {
  padding: 0;
  margin: 0;
}

section.member ul li a,
section.member ul li div {
  display: block;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  font-size: 1em;
  padding: 0 0 20px 0;
  margin: 0;
  text-shadow: rgba(255, 255, 255, 0.9) 1px 1px 1px, rgba(255, 255, 255, 0.9) -1px 1px 1px, rgba(255, 255, 255, 0.9) 1px -1px 1px, rgba(255, 255, 255, 0.9) -1px -1px 1px;
}

/* m3: 齋藤 克幸 */
section.member ul li#m3 a {
  background-image: url(../img/m3.avif);
}

/* m4: 松原 英司 */
section.member ul li#m4 a {
  background-image: url(../img/m4.avif);
}

/* m11: 八島 卓也
section.member ul li#m11 a {
  background-image: url(../img/m11.jpg);
}
*/

/* m13: 天野 悟志
section.member ul li#m13 a {
  background-image: url(../img/m13.jpg);
}
*/

/* m14: 安田 想 */
section.member ul li#m14 a {
  background-image: url(../img/m14.avif);
}

/* m15: 玉岡 容
section.member ul li#m15 a {
  background-image: url(../img/m15.jpg);
}
*/

/* m16: 浜本 慶太
section.member ul li#m16 a {
  background-image: url(../img/m16.jpg);
}
*/

/* m17: 鵜木 勉
section.member ul li#m17 a {
  background-image: url(../img/m17.jpg);
}
*/

/* m18: 水沼 萌 */
section.member ul li#m18 a {
  background-image: url(../img/m18.avif);
}

/* m19: 服部 一真
section.member ul li#m19 a {
  background-image: url(../img/m19.jpg?240517);
}
*/

/* m20: 澁谷 直人
section.member ul li#m20 a {
  background-image: url(../img/m20.jpg?240517);
}
*/

/* m21: 冨士 幸蔵 */
section.member ul li#m21 div {
  color: #0070c9;
  background-image: url(../img/m21.avif);
}

/* m22: 小泉 真太郎 */
section.member ul li#m22 a {
  background-image: url(../img/m22.avif);
}

/* m23: 森 省二 */
section.member ul li#m23 a {
  background-image: url(../img/m23.avif);
}

/* m24: 小野 遼太郎 */
section.member ul li#m24 a {
  background-image: url(../img/m24.avif);
}


section.member ul li h3 {
  font-size: 1em;
  padding: 250px 10px 0 10px;
  margin: 0;
}

section.member ul li p {
  font-size: 0.875em;
  padding: 5px 10px 0 10px;
  margin: 0;
}

section.member ul li p span {
  font-size: 0.786em;
}

section.member ul li h3 em,
section.member ul li p em {
  /*background: rgba(255, 255, 255, 0.9);*/
  font-style: normal;
}

/* inline content */

div.vbox-inline {
  width: 100%;
  height: 100%;
}

div.vbox-inline img {
  display: block;
  float: left;
  width: 30%;
}

div.vbox-inline div {
  margin-left: calc(30% + 2em);
}

div.vbox-inline h3 {
  font-size: 1.2em;
  padding-top: 0;
}

div.vbox-inline p.t {
  margin-top: 0;
}

/* new member (2021.10) */
/*
section.member header.new {
  border-top: 20px solid #fff;
}

section.member ul.new li {
  padding-bottom: 100px;
}

section.member ul.new li a {
  background-size: cover;
  height: 240px;
}
*/


/*==========================================================
*
* surgery
*
==========================================================*/
section.area.surgery {
  margin: 40px auto;
  max-width: 810px;
}

section.area.surgery div.lead {
  line-height: 1.7;
  margin-bottom: 2em;
}

div.body div.table-left {
  padding-right: 1em;
}

div.body div.table-right {
  padding-left: 1em;
}

/*
*
* surgery / results
*
*/
section.results {
  padding-bottom: 20px;
}

section.area.results>header.pad {
  margin-bottom: 0;
  padding-bottom: 0;
}

section.area.results>header.pad h3 {
  color: #173386;
}


section.results section {
  padding-bottom: 0px;
  max-width: 100%;
  margin: 0 auto;
}

section.results section div {
  padding: 0;
}

section.results section p {
  line-height: 1.8;
  text-align: justify;
  text-justify: inter-ideograph;
}

section.results table {
  width: 100%;
  padding-top: 1px;
  padding-right: 1px;
  padding-left: 1px;
  color: #333;
  font-style: normal;
  text-decoration: none;
  text-align: general;
  vertical-align: bottom;
  border: none;
  white-space: nowrap;
}

section.results table th,
section.results table td {
  padding: 7px 10px;
}

section.results table thead th {
  font-weight: 500;
  color: white;
  text-align: center;
  white-space: nowrap;
  border-left: 1px solid #fff;
  background: #173386;
}

section.results table tbody tr td:first-child {
  color: #333;
  text-align: left;
  border: none;
  border-top: none;
  border-top: 1px solid #777;
  border-bottom: 1px solid #777;
  background: #f9f9f9;
}

section.results table tr td {
  color: #333;
  border-top: 1px solid #777;
  border-left: 1px solid #777;
  border-bottom: 1px solid #777;
  text-align: center;
}

section.results table tr.subgroup td {
  font-size: 85%;
  color: #677397 !important;
}

section.results table tr.subgroup td:first-child::before {
  content: '└ ';
}

section.results table tr.subgroup td:nth-child(n+2)::before {
  content: '(';
}

section.results table tr.subgroup td:nth-child(n+2)::after {
  content: ')';
}


section.results table tfoot td {
  font-weight: 500;
  color: #173386;
  text-align: center;
  white-space: nowrap;
  background: #e3e9ff;
}

section.results table tfoot td:first-child {
  border-left: 0;
}

section.results table tr td strong {
  font-size: 1.25em;
}

/* summary */
.summary {
  display: grid;
  grid-template-columns: 33% 33% 33%;
  width: 75%;
  margin: 20px auto;
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
  border: 1px solid rgb(229, 231, 235);
  border-radius: 8px;
}
.summary .box {
  text-align: center;
  padding: 8px 24px 16px 24px;
}
.summary .box:first-child {
  border-right: 1px solid rgb(229, 231, 235);
}
.summary .box:last-child {
  border-left: 1px solid rgb(229, 231, 235);
}
.summary p,
.summary b {
  display: block;
  margin-bottom: 0;
}
.summary b {
  text-align: center;
  font-size: 200%; 
  font-weight: bold;
  color: #173386;
}


/*==========================================================
*
* contact
*
==========================================================*/

/*
*
* reset picnic.css
*
*/

#form [type=checkbox] {
  opacity: inherit;
  width: inherit;
  position: inherit;
  display: inherit;
  height: inherit;
}

/*
*
* others
*
*/
section.area.contact>div {
  max-width: 810px;
  margin: 0 auto 2em auto;
}

section.area.contact div.body {
  text-align: center;
  line-height: 1.7;
}

section.area.contact div.body p.title {
  font-size: 1.2em;
  font-weight: 600;
}




/*==========================================================
*
*  mobile
*
==========================================================*/
@media (max-width:1000px) {
  section.area section.flex div {
    padding: 0;
  }

  section.area section.flex div.txt-left,
  section.area section.flex div.txt-right {
    padding: 0 2em;
  }

  /* mmt := mobile margin top */
  section.area section.flex div.txt-right.mmt {
    margin-top: 2em;
  }

  section.area.professor section.flex div.txt-right {
    padding: 0 2em 2em 2em;
  }
}

@media (max-width:900px) {
  header.hero>p {
    text-align: left;
  }
}

@media (max-width:800px) {
  header.hero div.content {
    background-position: 48% 0; /* 2021/12 */
    background-size: 120%; /* 2021/12 */
    height: 500px; /* 2021/12 */
    background-color: #fff; /* 2021/12 */
  }

  header.hero div.content h1 {
    font-size: 2em;
    top: 78%; /* 2021/12 */
  }
  header.hero div.content h1 i {
    display: none; /* 2021/12 */
  }

  section.professor section div.txt-right {
    max-width: 100%;
  }

  section.professor section div.img {
    background-image: none;
  }

  section.professor section div.img img {
    display: block;
    width: calc(100% - 4em);
    margin: 0 auto 1em auto;
  }

  section.overview section div img {
    width: calc(100% - 4em);
    display: block;
    margin: 1em auto;
  }

  section.program,
  section.surgery {
    width: calc(100% - 4em);
    margin: 0 auto;
  }

}


@media (max-width:700px) {
  header.hero div.content {
    background-position: 48% 0; /* 2021/12 */
    background-size: 120%; /* 2021/12 */
    height: 450px; /* 2021/12 */
    background-color: #fff; /* 2021/12 */
  }

  header.hero div.content h1 {
    font-size: 1.8em;
    top: 78%; /* 2021/12 */
  }

  div.body div.table-left {
    padding-right: 0;
    padding-left: 0;
  }

  div.body div.table-right {
    padding-right: 0;
    padding-left: 0;
  }
}


@media (max-width:650px) {
  header.hero div.content {
    height: 420px; /* 2021/12 */
  }

  header.hero div.content h1 {
    font-size: 1.75em;
    top: 78%; /* 2021/12 */
  }

  br.tab2 {
    display: block;
  }

  /*
  header.hero div.content h1 span.t {
    line-height: 1.3em;
    top: calc(30%);
    z-index: 1;
  }

  header.hero div.content h1 span.s {
    top: calc(50% + 5em);
    font-size: 50%;
    font-weight: 500;
    color: #173386;
    z-index: 1;
  }

  header.hero div.content h1 i.s {
    height: 120px;
  }
  */

  section.area.surgent {
    max-width: 100%;
    margin: auto 2em;
  }

  section.area.surgent div.body {
    column-count: 1;
  }

}

@media (max-width:414px) {
  header.hero div.content {
    background-position: 48% 0; /* 2021/12 */
    background-size: 120%; /* 2021/12 */
    height: 330px; /* 2021/12 */
    background-color: #fff; /* 2021/12 */
  }

  h1 {
    font-size: 1.75em;
    line-height: 1.35;
  }

  header.hero div.content h1 {
    font-size: 1.55em;
    top: 65%; /* 2021/12 */
  }

  header.hero div.content h1 span.t {
    top: calc(50% - 0.5em);
  }

  header.hero div.content h1 span.s {
    top: calc(50% + 5em);
  }

  header.hero div.content h1 i.s {
    height: 100px;
  }

  header.hero div.content h1 i {
    display: none; /* 2021/12 */
  }

  header.hero>p {
    text-align: left;
    font-size: 1em;
  }

  header.hero>p.lead {
    margin-left: 1em;
    margin-right: 1em;
  }


  section.news {
    padding-bottom: 20px;
  }

  section.news ul {
    padding: 0 1em;
  }

  section.news ul li a {
    display: block;
    margin-top: 0.5em;
  }

  section.area section.flex header h3 {
    line-height: 1.25;
  }

  section.area section.flex header p {
    margin-top: 0.5em;
    line-height: 1.3;
  }

  section.area section.flex div.txt-left {
    padding: 0;
  }

  section.area section.flex div.txt-right {
    padding: 0;
  }

  section.overview section div img {
    width: 100%;
  }

  section.overview section {
    padding-bottom: 0;
  }

  section.member ul li {
    height: 300px;
  }

  section.member ul li h3 {
    padding-top: 230px;
  }

  section.member ul li {
    margin-bottom: 5px;
  }

  section.member ul li a {
    background-size: contain;
  }

  section.member ul.new li {
    padding-bottom: 50px;
  }

  section.member ul.new li a {
    height: 220px;
  }

  section#overview.area>header.pad {
    margin-bottom: 0;
    padding-bottom: 1em;
  }

  section#overview.area section.flex header h3 {
    margin: 1em auto;
  }

  section#overview.area section.flex.textonly div.txt-left {
    margin-top: 1em;
  }

  section#overview.area section.flex.textonly div.txt-right.mmt {
    margin-top: 1em;
  }

  section.professor section div.img img {
    width: calc(100% - 2em);
  }

  section.professor.area>header {
    padding-bottom: 1em;
  }

  section.professor section div.txt-right header h3 {
    font-size: 1.2em;
  }

  section.area.professor section.flex div.txt-right {
    padding: 0 1em 2em 1em;
  }

  section.professor.area section.flex p {
    padding: 0;
  }

  section.program {
    width: calc(100% - 2em);
  }

  section.program.area>header h2 {
    margin-top: 1em;
  }

  section.program.area section.flex p {
    padding: 0;
  }

  section.area section.flex p.l1 {
    margin-top: 1em;
    margin-bottom: 0;
    line-height: 1.3;
  }


  section.surgery {
    width: calc(100% - 2em);
  }

  section.surgery.area>header {
    padding-bottom: 0;
  }

  section.results.area.results>header.pad {
    margin-top: 0;
  }

  section.results table th, section.results table td {
    font-size: 95%;
  }

  .summary {
    width: 100%;
  }

  div.vbox-inline {
    padding: 1em !important;
  }

  div.vbox-inline img {
    float: none;
    width: 50%;
    margin: 0 auto;
  }

  div.vbox-inline div {
    margin: 0 auto;
  }

  div.vbox-inline h3 {
    margin-top: 1em;
    padding-bottom: 0;
  }


  section.contact {
    padding: 2em 1em 0.1em 1em;
  }

  section.results section div.scrollable-image {
    overflow-x: scroll;
  }


}

@media (max-width:340px) {
  header.hero div.content {
    background-position: 48% 0; /* 2021/12 */
    background-size: 120%; /* 2021/12 */
    height: 280px; /* 2021/12 */
  }

  header.hero div.content h1 {
    font-size: 1.5em;
    top: 65%; /* 2021/12 */
  }
}