/* --------------------
   message
-------------------- */
#message{
  padding-top: 50px;
  padding-bottom: 50px;
  background-color: #F7F3EE;
}
#message h2{
  margin-bottom: 1.5em;
}
#message h3{
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 25px;
}
#message p+p{
  line-height: 2;
  margin-top: 1.25em;
}
#message figure{
  border-radius: 10px;
  overflow: hidden;
}
#message figure,
#message figure img{
  width: 100%;
}
@media screen and (max-width: 768px){
  #message figure{
    margin-bottom: 25px;
  }
  #message .txs-42{
    font-size: 1.75em;
  }
}
@media screen and (min-width: 769px){
  #message{
    padding-top: 140px;
    padding-bottom: 140px;
  }
  #message h3{
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1079px){
  #message .pc-img{
    display: none;
  }
}
@media screen and (min-width: 1080px){
  #message .contents{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  #message .textbox{
    width: 50%;
  }
  #message figure{
    width: 380px;
  }
  #message .sp-img{
    display: none;
  }
}


/* --------------------
   policy
-------------------- */
#policy{
  padding-top: 80px;
  padding-bottom: 80px;
}
#policy h2{
  margin-bottom: 1.5em;
}
#policy h3{
  font-weight: 700;
  line-height: 1.5;
}
#policy .contents+.contents{
  margin-top: 50px;
}
#policy .list{
  counter-reset: number 0;
  padding-left: 2em;
}
#policy .item{
  padding: 1.25em 0;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
}
#policy .item:before{
  width: 1.5em;
  height: 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  content: counter(number);
  counter-increment: number 1;
  top: ;
  left: -2em;
  background-color: #E79236;
  color: #fff;
  border-radius: 50%;
  position: absolute;
}
#policy .item+.item{
  border-top: solid 1px #E79236;
}
@media screen and (max-width: 768px){
  #policy h3{
    font-size: 1.5em;
  }
  #policy .item{
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 769px){
  #policy{
    padding-top: 120px;
    padding-bottom: 120px;
  }
  #policy .contents+.contents{
    margin-top: 100px;
  }
  #policy .list{
    padding-left: 3em;
  }
  #policy .item:before{
    width: 2em;
    height: 2em;
    left: -3em;
    top: 1em;
  }
}


/* --------------------
   outline
-------------------- */
#outline{
  background-color: #F7F3EE;
  padding-top: 70px;
  padding-bottom: 70px;
}
#outline h2{
  padding-left: 1.2em;
  position: relative;
  font-weight: 700;
  margin-bottom: 0.5em;
}
#outline h2:before{
  content: "";
  display: block;
  width: 0.4em;
  height: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #E79236;
}
#outline h3{
  margin-bottom: 1em;
  font-weight: 700;
}


#outline .flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}

#outline .table{
  width: 100%;
}
#outline .table dl{
  padding: 0.75em;
  background-color: #fff;
  border-left: solid 0.5em #E79236;
  display: flex;
  flex-wrap: wrap;
}
#outline .table dl+dl{
  margin-top: 0.5em;
}
#outline .table dt{
  width: 100%;
  font-weight: 700;
  color: #E79236;
}
#outline .table dd{
  width: 100%;
}
#outline .table dd .nowrap{
  white-space: nowrap;
  display: inline-block;
}


#outline figure{
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 20px;
  width: 100%;
}
#outline figure img{
  width: 100%;
}
@media screen and (max-width: 768px){
}
@media screen and (min-width: 769px){
  #outline{
    padding-top: 100px;
    padding-bottom: 140px;
  }
  #outline .photo{
    width: 70%;
  }
  #outline figure{
    margin-bottom: 30px;
  }
  #outline .table dt{
    width: 7.5em;
  }
  #outline .table dd{
    width: calc(100% - 7.5em);
  }
}
@media screen and (max-width: 1079px){
}
@media screen and (min-width: 1080px){
  #outline .photo{
    width: auto;
  }
  #outline figure{
    width: auto;
  }
  #outline .flex{
    gap: 80px;
    justify-content: space-between;
  }
  #outline .table{
    width: calc(50% - 40px);
  }
}





/* --------------------
   staff
-------------------- */
#staff-bana a{
  display: block;
  border: solid 3px #2F2006;
  border-radius: 10px;
  margin: 30px 0;
  padding: 5vw;
  background-color: #F7F3EE;
  position: relative;
}
#staff-bana a img{
  right:-2vw;
  bottom: 0;
  position: absolute;
}
#staff-bana a h2{
  font-weight: bold;
  position: relative;
  padding-left: 1.2em;
  margin-bottom:0.5em;
}
#staff-bana a h2:before{
  content: "";
  display: block;
  width: 0.4em;
  height: 1em;
  position: absolute;
  left: 0;
  background-color: #E79236;
  top: 0.25em;
  border-radius: 0.5em;
}
#staff-bana a h3{
  font-weight: 700;
  margin-bottom: 0.5em;
}
#staff-bana a p{
  font-weight: 700;
}
#staff-bana .text{
  max-width: 55%;
}
@media screen and (max-width: 768px){
  #staff-bana a img{
    max-width: 40vw;
  }
}
@media screen and (min-width: 769px){
  #staff-bana a{
    padding: 40px;
    border-radius: 20px;
  }
  #staff-bana a img{
    right: 35px;
  }
  #staff-bana .text{
    max-width: 50%;
  }
}
@media screen and (min-width: 1080px){
  #staff-bana a{
    padding: 40px 80px;
    border-radius: 20px;
  }
  #staff-bana a img{
    right: 70px;
  }
  #staff-bana .text{
    max-width: 580px;
  }
}
