@charset 'UTF-8';

.cmn_header h1{
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
  letter-spacing: .2em;
  text-indent: .2em;
}

/*  system  */
#sys{
  padding-top: 11.2rem;
}
@media screen and (min-width: 768px){
  #sys .container{
    display: -webkit-box;
    display: flex;
  }
  #sys .text{
    padding-right: calc(42 / 1200 * 100%);
    flex-basis: 77.7rem;
    box-sizing: border-box;
  }
  #sys .photo{
    flex-basis: 42.3rem;
  }
}
#sys h3{
  padding-bottom: .4em;
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  color: rgb(11, 16, 87);
  border-bottom: solid 1px rgb(11, 16, 87, 0.5);
  position: relative;
  white-space: nowrap;
}
#sys h3::after{
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 13.6rem;
  height: .4rem;
  background-color: rgb(11, 16, 87);
}
#sys .desc{
  padding-top: 2.2rem;
  padding-bottom: 2.2rem;
}
@media screen and (min-width: 768px){
  #sys .desc{
    padding-bottom: 0;
  }
}
#sys .desc p{
  margin: 0;
  font-size: 1.6rem;
  line-height: 2.2;
  letter-spacing: 0.05em;
}
#sys .photo .image{
  height: 100%;
  text-align: center;
}
#sys .photo img{
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 65%;
  object-position: 65% 50%;
  width: 100%;
  height: 100%;
  max-width: 323px;
  border-radius: 20px;
}
@media screen and (min-width: 768px){
  #sys .photo img{
    max-width: none;
  }
}
#sys .sig{
  padding-top: 1.0rem;
  margin: 0 auto;
  max-width: 323px;
}
@media screen and (min-width: 768px){
  #sys .sig{
    margin: 0;
    max-width: none;
  }
}
#sys .sig p{
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 3.0rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: right;
}
#sys .sig .post{
  font-size: calc(18 / 30 * 100%);
}

/*  doctor  */
#doctor table{
  margin-top: 6.0rem;
  width: 100%;
  border-collapse: collapse;
  background-color: rgb(255, 255, 255, 0.8);
}
#doctor td,
#doctor th{
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  box-sizing: border-box;
}
#doctor th{
  font-weight: normal;
}
#doctor thead th{
  background-color: rgb(222, 222, 222);
  border-bottom: solid 1px rgb(255, 255, 255);
  white-space: nowrap;
}
#doctor .container div{
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  box-sizing: border-box;
}
#doctor thead .container{
  display: -webkit-box;
  display: flex;
  border-left: solid 1px rgb(255, 255, 255);
  -webkit-box-pack: center;
  justify-content: center;
}
#doctor tbody .container div:last-of-type{
  padding-top: 0;
}
#doctor tbody .container div:last-of-type.null{
  display: none;
}
#doctor tbody th{
  background-color: rgb(237, 233, 237);
  box-sizing: border-box;
  text-align: start;
}
#doctor tbody th span{
  display: block;
}
#doctor tbody tr:not(:last-of-type) th{
  border-bottom: solid 1px rgb(255, 255, 255);
}
#doctor tbody tr:not(:last-of-type) td{
  border-bottom: solid 1px rgb(203, 194, 208);
}
#doctor th:first-of-type,
#doctor .container div{
  padding: 1.1rem 1.6rem;
}
@media screen and (min-width: 768px){
  #doctor th:first-of-type{
    padding: 1.1rem min(28 / 1280 * 100vw, 2.8rem);
  }
}
#doctor tbody td ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 768px){
  #doctor .container{
    display: -webkit-box;
    display: flex;
  }
  #doctor thead .container{
    border-left: none;
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  #doctor tbody .container{
    min-height: 11.4rem;
  }
  #doctor thead .container div{
    border-left: solid 1px rgb(255, 255, 255);
  }
  #doctor .container div:first-of-type{
    -webkit-box-flex: 1;
    flex-grow: 1;
  }
  #doctor .container div:last-of-type{
    flex-basis: 20.6rem;
    flex-shrink: 0;
    white-space: nowrap;
  }
  #doctor tbody .container div:not(:first-of-type){
    border-left: solid 1px rgb(203, 194, 208);
  }
  #doctor tbody .container div:last-of-type.null{
    display: block;
  }
  #doctor tbody .container div:last-of-type{
    padding-top: 1.1rem;
  }
  #doctor th:first-of-type,
  #doctor .container div{
    padding: 1.1rem 2.8rem;
  }
  #doctor tbody th{
    width: calc(240 / 1200 * 100%);
    text-align: center;
  }
  #doctor tbody th span{
    display: inline-block;
  }
  #doctor tbody td ul{
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
  }
  #doctor tbody td li{
    padding-right: 2em;
  }
}
