/*darkgray*/
/*red*/
/*orange*/
/*lightgray line*/
/*lightgray bg*/
#page_ttl {
  background-image: url("../images/company/header_company.jpg"); }

#concept_block h3 {
  margin-bottom: 6rem; }
  #concept_block h3 img {
    height: 40px;
    width: auto; }
  @media screen and (max-width: 520px) {
    #concept_block h3 img {
      width: 100%;
      height: auto; } }
#concept_block li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-bottom: 4rem; }
  #concept_block li div, #concept_block li li {
    min-height: 0%; }
  #concept_block li .pic {
    width: 60%; }
  #concept_block li .txtArea {
    width: 35%;
    text-align: left;
    position: relative; }
    #concept_block li .txtArea .bg_num {
      position: absolute;
      bottom: 8%;
      right: 3%;
      z-index: 0;
      color: #f7f7f7;
      font-size: 15rem;
      font-family: 'Ubuntu', sans-serif;
      font-weight: 300;
      /*bold500*/
      font-style: normal;
      font-weight: bold;
      letter-spacing: -0.05em;
      line-height: 1; }
    #concept_block li .txtArea h4 {
      position: relative;
      z-index: 1;
      font-size: 1.8rem; }
      #concept_block li .txtArea h4 span {
        color: #e7380d; }
    #concept_block li .txtArea p.lead {
      position: relative;
      z-index: 1; }
  #concept_block li:nth-child(odd) .pic {
    order: 2; }
  #concept_block li:nth-child(odd) .txtArea {
    order: 1; }
  @media screen and (max-width: 835px) {
    #concept_block li .pic {
      width: 100%; }
    #concept_block li .txtArea {
      width: 100%; }
      #concept_block li .txtArea .bg_num {
        bottom: 0;
        right: 0; }
    #concept_block li:nth-child(odd) .pic {
      order: 1; }
    #concept_block li:nth-child(odd) .txtArea {
      order: 2; } }

#message_block {
  background: #f7f7f7; }
  #message_block p.lead {
    line-height: 2.4; }
  #message_block .syomei {
    text-align: right; }
    #message_block .syomei img {
      height: 60px;
      width: auto; }

#history_block {
  background: #5a5a5a;
  color: #fff;
  padding-top: 7rem; }
  #history_block .pic {
    max-width: 760px;
    margin: auto; }
  @media screen and (max-width: 520px) {
    #history_block {
      padding-top: 4rem; } }

.outline_table {
  max-width: 760px;
  margin: auto; }
  .outline_table ul {
    margin: 0; }
  .outline_table table {
    width: 100%; }
  .outline_table th, .outline_table td {
    border-bottom: 1px solid #dbdcdc;
    font-size: 1.4rem;
    vertical-align: top;
    padding-top: 1rem;
    padding-bottom: 1rem; }
  .outline_table th {
    text-align: right;
    width: 150px;
    padding-right: 20px; }
  .outline_table td {
    text-align: left; }
  @media screen and (max-width: 520px) {
    .outline_table th, .outline_table td {
      display: block;
      width: 100%; }
    .outline_table th {
      text-align: left;
      border-bottom: none;
      padding-bottom: 0; } }

#gmap_block {
  background: #f7f7f7; }

#results_block .main_txt {
  background: #f7f7f7;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.3;
  padding: 1rem 0;
  margin-bottom: 3rem; }
  #results_block .main_txt b {
    font-size: 2em;
    font-weight: normal; }
  #results_block .main_txt p {
    display: inline-block;
    margin: 0.5rem 1rem; }
#results_block .photo li {
  width: 33.3333%; }
  #results_block .photo li img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 520px) {
    #results_block .photo li {
      width: 50%; } }

#resultsmap_block .pic {
  margin-top: -17rem; }
  @media screen and (max-width: 835px) {
    #resultsmap_block .pic {
      margin-top: -10%; } }

#resultslist_block {
  background: #f7f7f7; }
  #resultslist_block .flex ul, #resultslist_block .flex li {
    margin: 0; }
  #resultslist_block .flex.item2 ul:nth-of-type(1) {
    width: 54%; }
  #resultslist_block .flex.item2 ul:nth-of-type(2) {
    width: 40%; }
  @media screen and (max-width: 835px) {
    #resultslist_block .flex.item2 ul:nth-of-type(1) {
      width: 100%; }
    #resultslist_block .flex.item2 ul:nth-of-type(2) {
      width: 100%; } }
  #resultslist_block .flex.item2 li {
    width: 100%;
    text-align: left; }
    #resultslist_block .flex.item2 li h5 {
      font-size: 1.4rem;
      padding: 12px 10px;
      box-sizing: border-box;
      border: 1px solid #2d2d2d;
      line-height: 1; }
    #resultslist_block .flex.item2 li p {
      font-size: 1.3rem;
      margin: 0 auto 0.5rem;
      position: relative; }
      #resultslist_block .flex.item2 li p span {
        display: block;
        position: absolute;
        top: 0;
        right: 0; }
      @media screen and (max-width: 835px) {
        #resultslist_block .flex.item2 li p {
          padding-right: 3em; } }
