@charset "UTF-8";

table.overview{
  border:solid 1px #333;
  margin:0;
  border-collapse:collapse;
  width:100%;
}
table.overview th,
table.overview td{
  font-size:1em;
  text-align:center;
  vertical-align:middle;
  border:1px solid #333;
}
table.overview th{
  padding:.2em;
  background:#dae9f7;
}
table.overview th{
  width:40%;
}
table.overview th:first-child{
  width:20%;
}
table.overview td{
  padding: 1em .5em;
}
table.overview caption{
  caption-side:top;
  text-align:left;
}

.greeting{
  display:flex;
  flex-wrap:nowrap;
  margin:1em 0 0;
}
.greeting figure{
  flex:1 0 200px;
  text-align:center;
}
.greeting figure img{
  width:100%;
  max-width:100%;
}
.greeting > div{
  flex:1 1 auto;
  margin-left:1em;
}
.greeting > div h5{
  font-size:1em;
  font-weight:600;
}
.greeting > div p{
  margin:.5em 0 0;
}

.introduction{
  margin:1em 0 0;
}
.introduction h5{
  font-size:1em;
  font-weight:600;
}
.introduction p{
  margin:.5em 0 0;  
}

h4.emphasis{
  font-size:1em;
  margin-top:2em;
  padding:0;
  font-weight:600;
  border:none;
}
h4.emphasis + p{
  margin-top:.5em;
}

table.company_info{
  font-size:.9em;
  margin:.5em 0 2em;
}
table.company_info td{
  width:50%;
  padding:0 .5em;
  vertical-align:top;
}
table.company_info td:nth-child(n+2){
  border-left:1px solid #333;
}
table.company_info dl > div{
  margin-bottom:.25em;
  display:flex;
  display:-ms-flexbox;
  flex-wrap:nowrap;
  -ms-flex-wrap:nowrap;
}
table.company_info dl > div dt{
  width:4em;
  margin-right:.5em;
  flex:0 0 auto;
  text-align:justify;
  text-align-last:justify;
}
table.company_info dl > div dd{
  flex:1 1 auto;
}

br.sp_only{
  display:none;
}

/* ----- responsive ----- */
@media (max-width:560px) {
  table.overview{
    font-size:.9em;
  }
  .greeting{
    flex-flow:column;
    align-items:center;
  }
  .greeting figure{
    flex:0 1 auto;
    width:200px;
  }
  .greeting > div{
    margin-left:0;
    margin-top:.5em;
  }
  table.company_info tr{
    display:flex;
    display:-ms-flexbox;
    flex-wrap:wrap;
    -ms-flex-wrap:wrap;
  }
  table.company_info td{
    width:100%;
    padding-top:.5em;
    padding-bottom:.5em;
  }
  table.company_info td:nth-child(n+2){
    border-left:none;
    border-top:1px solid #333;
  }
  br.sp_only{
    display:initial;
  }
}



/* ----------------------------------------
Flex
---------------------------------------- */
.flex{
  display:flex;
  display:-ms-flexbox;
  flex-wrap:wrap;
  -ms-flex-wrap:wrap;
}
.jcSpBt{
  justify-content:space-between;
  -ms-flex-pack:justify;
}
.jcSpAr{
  justify-content:space-around;
  -ms-flex-pack:distribute;
}