.sec_title{
  margin-bottom: 60px;
  text-align: center;
}
.sec_title span{
  font-size: 30px;
  position: relative;
  display: inline-block;
}
.sec_title span:after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: #68c239;
}



.main_area{
  position:relative;
  height: 450px;
  background: url(../img/company/header_image.jpg) center top no-repeat;
  background-size: cover;
}

.page_header{
  position: absolute;;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}
.page_header h2{
  margin-bottom: 10px;
}
.page_header h2 span{
  font-size: 40px;
  position: relative;
  display: inline-block;
}
.page_header h2 span:after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background: #fff;
}

.page_header h3{
  font-size: 90px;
  position: relative;
  white-space: nowrap;
  font-weight: 500;
  line-height: 1.2;
}
.page_header h3 + p{
  font-size: 20px;
  text-align: right;
  margin-right: -4em;
}

@media screen and (max-width: 768px) {
  .page_header {
    width: 100%;
    padding: 0 2em;
  }
  .page_header h2 {
    text-align: center;
  }
  .page_header h2 span {
    font-size: 24px;
    text-align: center;
  }
  .page_header h3 {
    font-size: 50px;
    white-space: inherit;
    text-align: center;
  }
  .page_header h3 + p {
    font-size: 18px;
    text-align: center;
    margin-right: 0;
  }

  .sec_title {
    margin-bottom: 20px;
    text-align: center;
  }
  .sec_title span {
    font-size:24px;
  }
}

#intro{
  padding: 4em 0;
}

#intro .container{
  max-width: 1000px;
  margin: 0 auto;
}

#intro .container p{
  line-height: 2;
}

@media screen and (max-width: 768px) {
  #intro{
    padding: 2em 0;
  }
}

#sec01{
  margin-bottom: 8em;
}

#sec01 .container, #sec02 .container{
  max-width: 1080px;
  margin: 0 auto;
}
#sec02{
  margin-bottom: 8em;
}

.table tr:not(:last-of-type){
  border-bottom: 1px solid #b3b3b3;
}

.table th{
  padding:1.5em 0;
  width: 20%;
}
.table td{
  padding:1.5em;
  width: 80%;
}

@media screen and (max-width: 768px) {
  #sec01, #sec02 {
    margin-bottom: 3em;
  }
  .table th, .table td {
    width: 100%;
    display: block;
    text-align: left;
    padding: .5em;
  }
  .table th{
    font-weight: 600;
    padding-bottom: 0;
  }
}


#topics{
  background: #68c239;
  padding:5em 0;
  margin-bottom: 8em;
}
#topics ul{
  align-items: stretch;
}
#topics ul li{
  width: 30%;
}

#topics ul li a{
  display: flex;
  align-items: center;
  position: relative;
  background: #fff url(../img/company/topics.png) left 20px center no-repeat;
  border: 1px solid #999999;
  padding: 4em 2.6em;
  font-weight: 600;
  height: 100%;
  letter-spacing: 1px;
}
#topics ul li a .more{
  position: absolute;
  right: 2em;
  bottom:1em;
  background: url(../img/company/more.png) right bottom no-repeat;
  background-size: contain;
  padding: 0 3em .2em 2em;
}

@media screen and (max-width: 768px) {
  #topics {
    padding: 2em 0;
    margin-bottom: 3em;
  }
  #topics ul li {
    width: 100%;
    margin-bottom: 1em;
  }
  #topics ul li a {
    padding: 1em 1em;
    font-weight: 600;
    height: 100%;
  }
  #topics ul li a .more {
    position: absolute;
    right: 1em;
    bottom: .4em;
    padding: 0 3em .2em 2em;
  }
}

#intro .container{
  display: flex;
}
.container-message{
      width: 80%;
    margin-right: 20px;
  }

@media screen and (max-width: 414px) {
    #intro .container{
        display: flex;
        flex-wrap: wrap;
}
    .president-img{
      margin:50px auto 0px auto;
    }

    .container-message{
      width: 100%;
      margin-right: 0px
}



