@charset 'UTF-8';

#hero>div h2 img{
  width: 2.3rem;
}
@media screen and (min-width: 768px){
  #hero>div h2 img{
    width: 3.4rem;
  }
}

#director .container{
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}
#director .photo .image{
  text-align: center;
}
#director .photo p{
  padding: 5px;
  margin: -2.4rem 0 0 0;
  -webkit-transform: translateX(8.9rem);
  transform: translateX(8.9rem);
  position: relative;
  z-index: 0;
  border-radius: 8px;
  background: url(../images/bg_header_home.svg) no-repeat 50% 50%;
  background-size: cover;
  white-space: nowrap;
  overflow: hidden;
}
#director .photo p::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  padding-top: calc(61 / 325 * 100%);
  margin-right: 5px;
  width: 100%;
  border-radius: 8px;
  background-image:
    url(../images/txt_director.svg),
    url(../images/bg_about_director.svg),
    url(../images/bg_header_home.svg);
  background-repeat: no-repeat;
  background-position:
    19% 50%,
    right 28.5% top 50%,
    50% 50%;
  background-size:
    calc(200 / 315 * 100%) auto,
    calc(57 / 315 * 100%) auto,
    cover;
}
#director .photo p::after{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -10;
  margin: auto;
  background: rgba(106, 17, 17, 0.12);
}
#director .text{
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
#director .text .message{
  padding: 3.0rem 0;
}
#director .text .message div:not(:first-of-type){
  padding-top: 1em;
}
#director section{
  padding: 1.8rem 2.3rem;
  margin-top: .5rem;
  border-radius: 22px;
  background-color: rgb(254, 250, 235);
}
#director section h4{
  padding: .4rem;
  margin: 0;
  line-height: 1.67;
  letter-spacing: calc(0.9 / 18 * 1em);
  text-align: center;
  color: rgb(0, 104, 61);
  border-bottom: solid 1px rgb(0, 104, 61);
}
#director section ul{
  margin: 0;
  list-style: none;
  line-height: 1.88;
  font-size: 1.4rem;
  letter-spacing: calc(0.8 / 16 * 1em);
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
}
#director section ul:first-of-type{
  padding: 2.1rem .4rem 0 .4rem;
}
#director section ul:not(:first-of-type){
  padding: 1em .4rem 0 .4rem;
}
#director section ul:last-of-type{
  padding-bottom: 2.1rem;
}
#director .history .year{
  float: left;
}
#director .history li:not(.year){
  padding-left: 4.6em;
}
#director ul:not(.history) li{
  padding-left: 1.1em;
}
#director ul:not(.history) li::before{
  content: '◎';
  float: left;
  margin-right: .1em;
  margin-left: -1.1em;
}
#staff{
  padding-top: 0;
}
#staff .image{
  text-align: center;
  position: relative;
  left: 50%;
  width: 100vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#staff p{
  margin: 3.1rem 0;
  line-height: 1.88;
  letter-spacing: calc(0.8 / 16 * 1em);
  font-size: 1.4rem;
  text-align: left;
}
@media screen and (min-width: 768px){
  #director .container{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  #director .photo{
    flex-basis: calc(476 / 1100 * 100%);
  }
  #director .text{
    flex-basis: calc(570 / 1100 * 100%);
  }
  #director .photo .image{
    margin-bottom: 3.0rem;
  }
  #director .photo p{
    padding: 8px;
    margin: 0;
    -webkit-transform: none;
    transform: none;
  }
  #director .photo p::before{
    padding-top: calc(101 / 460 * 100%);
    margin-right: 8px;
    background-position:
      20% 50%,
      right 6% top 50%,
      50% 50%;
    background-size:
      calc(330 / 460 * 100%) auto,
      calc(94 / 460 * 100%) auto,
      cover;
  }
  #director .text .message{
    padding: 0 0 3.0rem 0;
    margin-top: -0.44em;
  }
  #director section{
    padding: 3.2rem 1.6rem;
    margin-top: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  #director section h4{
    padding: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.88;
    border-bottom: none;
    border-right: solid 1px rgb(112, 112, 112);
    flex-basis: calc(94 / 541 * 100%);
  }
  #director section h4+div{
    padding: 0 0 0 3.0rem;
    flex-basis: calc(447 / 541 * 100%);
    box-sizing: border-box;
  }
  #director section ul{
    font-size: 1.6rem;
  }
  #director section ul:first-of-type{
    padding: 0;
  }
  #director section ul:not(:first-of-type){
    padding: 1em 0 0 0;
  }
  #director section ul:not(:first-of-type) li{
    display: inline-block;
  }
  #director section ul:not(:first-of-type) li:not(:last-of-type){
    margin-right: 1em;
  }
  #staff .image{
    position: static;
    left: auto;
    width: auto;
    -webkit-transform: none;
    transform: none;
  }
  #staff p{
    font-size: 1.6rem;
    text-align: center;
  }
}
