.sec_greeting {
  position: relative;
  z-index: 1;
}
.sec_greeting .btn_list {
  margin-bottom: 48px;
}
.sec_greeting .btn_list .btn_orange {
  width: 31.8%;
  margin: 0;
}
.sec_greeting .btn_list .btn_orange a::after {
  top: 45%;
  transform: rotate(90deg) translate(0px, -50%);
}
.sec_greeting .photo {
  position: relative;
}
.sec_greeting .photo::after {
  content: "";
  background: url(../img/company/txt_greeting.png) no-repeat;
  background-size: contain;
  width: min(48%, 533px);
  height: 96px;
  position: absolute;
  right: -4.5%;
  bottom: -5.8%;
}
.sec_greeting .content_ttl {
  line-height: 1.45;
  margin: 40px 0 25px;
}

.sec_achievement .content_ttl {
  padding: 1.7% 0 2.1%;
}
.sec_achievement .content_box {
  position: relative;
}
.sec_achievement .content_box::after {
  content: "";
  background: url(../img/company/txt_achievement.png) no-repeat;
  background-size: contain;
  width: min(29vw, 409px);
  height: 79px;
  position: absolute;
  right: -8%;
  bottom: -2.3%;
}
.sec_achievement .top_box {
  margin-top: -10px;
}
.sec_achievement .top_box .txt_box {
  width: 61.8%;
}
.sec_achievement .top_box .ttl {
  font-size: min(2.3vw, 27px);
  margin: -10px 0 16px;
}
.sec_achievement .top_box img {
  width: 35%;
}
.sec_achievement .achieve_list {
  margin-top: 50px;
}
.sec_achievement .achieve_list .ttl {
  font-size: min(2.5vw, 30px);
  padding: 1.1% 0 1.3%;
  background: #4c99d4;
  margin-bottom: 40px;
}
.sec_achievement .achieve_list .ttl span {
  position: relative;
}
.sec_achievement .achieve_list .ttl span::before {
  content: "";
  background: url(../img/company/icon_medal.png) no-repeat;
  background-size: contain;
  width: 25px;
  height: 40px;
  position: absolute;
  left: -41px;
  top: 4px;
}
.sec_achievement .achieve_list ul {
  gap: 30px 1.96%;
  position: relative;
}
.sec_achievement .achieve_list ul::after {
  content: none;
  background: url(../img/company/certificate_after.png.jpg) no-repeat;
  background-size: cover;
  width: 49.1%;
  height: 30%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.sec_achievement .achieve_list li {
  width: 23.53%;
}
.sec_achievement .achieve_list li .image {
  background: #fef7ed;
}
.sec_achievement .achieve_list li p {
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  background: #b98a4a;
  padding: 8% 0 8.8%;
}

.sec_company .book_box {
  margin-top: 50px;
  margin-bottom: 10px;
}
.sec_company .book_box .content {
  grid-template-columns: 137px 58%;
  position: relative;
}
.sec_company .book_box .content::after {
  content: "";
  background: url(../img/company/book_author.png) no-repeat left bottom;
  background-size: contain;
  width: 226px;
  width: min(23%, 226px);
  height: 300px;
  position: absolute;
  right: 2.5%;
  bottom: 0;
}
.sec_company .book_box .content .ttl {
  margin: -8px -40px 15px -15px;
}

.sec_info {
  position: relative;
  z-index: 1;
}

.company_table table {
  width: 100%;
  border: 1px solid #ccc;
  background: #fff;
}
.company_table th {
  width: 26.8%;
  color: #fff;
  background: #4c99d4;
  font-size: 19px;
  font-weight: bold;
  vertical-align: top;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 18px 0 21px 40px;
}
.company_table td {
  border-bottom: 1px solid #ccc;
  padding: 18px 40px 21px;
}
.company_table td a {
  padding-bottom: 3px;
  border-bottom: 1px solid #333;
}
.company_table td a:hover {
  color: var(--site-primary);
  border-bottom: 1px solid var(--site-primary);
}
.company_table td dl {
  margin-bottom: 25px;
}
.company_table td dl:first-of-type {
  margin-top: 3px;
}
.company_table td dt {
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 15px;
}
.company_table td dt a {
  padding-bottom: 5px;
}
.company_table td dd iframe {
  width: 100%;
  height: 224px;
  margin-top: 20px;
}
.company_table .normal_list li {
  margin-bottom: 5px;
}
.company_table .normal_list li a {
  display: inline-block;
  margin-bottom: 2px;
}
.company_table .dot_list {
  margin-top: 3px;
}
.company_table .dot_list li {
  margin-bottom: 10px;
}
.company_table .dot_list li a {
  display: inline-block;
  margin-bottom: 2px;
}
.company_table .dot_list li:last-child {
  margin-bottom: 5px;
}
.company_table .dot_list li::before {
  content: "";
  background: var(--site-primary);
  width: 8px;
  height: 8px;
  display: inline-block;
  margin: 0 10px 2px 0;
}
.company_table .medal {
  width: 274px;
}
.company_table .medal_txt {
  margin: 13px 0 6px;
}
.company_table .bnr_list {
  gap: 15px 2.7%;
  margin: 12px 0 10px;
}
.company_table .bnr_list li {
  width: 42.8%;
  margin: 0;
}
.company_table .bnr_list li a {
  padding: 0;
  border: none;
}
.company_table .notice_txt {
  font-size: 0.8em;
  background: #fbece9;
  color: var(--site-keycolor);
  padding: 4px 10px 6px;
  margin-top: 10px;
}
.company_table .sdgs_image img {
  width: 280px;
}


@media only screen and (max-width: 960px) {
  .sec_company .book_box .content {
    grid-template-columns: 137px 50%;
  }
  .sec_achievement .top_box {
    margin-top: -5px;
  }
  .sec_achievement .top_box .ttl {
    margin: -5px 0 15px;
  }
  .sec_achievement .achieve_list li p {
    font-size: 15px;
  }
  .company_table th {
    font-size: 17px;
    padding-left: 25px;
  }
  .company_table td dt {
    font-size: 17px;
  }
  .company_table .sdgs_image img {
    width: 200px;
  }
}
@media only screen and (max-width: 568px) {
  .sec_greeting.bg_sankaku_left::after {
    content: none;
  }
  .sec_greeting .lg_inner_space {
    margin: 0 auto;
  }
  .sec_greeting .btn_list {
    flex-direction: column;
    gap: 15px 0;
    margin-bottom: 35px;
  }
  .sec_greeting .btn_list .btn_orange {
    width: 100%;
  }
  .sec_greeting .btn_list .btn_orange a {
    padding: 11px 5% 13px;
  }
  .sec_greeting .box_wrapper {
    margin: 0 -5.3vw;
    width: auto;
    padding: 0 5.3vw 25px;
  }
  .sec_greeting .photo {
    margin: 0 -5.3vw;
  }
  .sec_greeting .photo::after {
    width: 267px;
    height: 48px;
    right: initial;
    left: 50%;
    bottom: -25px;
    transform: translateX(-50%);
  }
  .sec_greeting .content_ttl {
    line-height: 1.5;
    margin: 37px 0 8px;
  }
  .sec_company .book_box .content .ttl {
    margin: -10px 0 0 11%;
  }
  .company_table th, .company_table td {
    display: block;
    width: 100%;
  }
  .company_table th {
    font-size: 17px;
    padding: 8px 20px 9px;
    border-right: none;
  }
  .company_table td {
    font-size: 15px;
    line-height: 1.7;
    padding: 9px 20px 10px;
  }
  .company_table td dl {
    margin-bottom: 15px;
  }
  .company_table td dt {
    font-size: 15px;
    margin-bottom: 12px;
  }
  .company_table td dd iframe {
    height: 122px;
    margin-top: 12px;
  }
  .company_table .medal {
    width: 161px;
    display: block;
    margin: 8px auto 0;
  }
  .company_table .medal_txt {
    margin: 12px 0 4px;
  }
  .company_table .dot_list {
    margin-top: 2px;
  }
  .company_table .dot_list li {
    line-height: 1.8;
    margin-bottom: 6px;
    text-indent: -1.2em;
    padding-left: 1.2em;
  }
  .company_table .dot_list li a {
    display: inline;
  }
  .company_table .dot_list.media {
    margin-bottom: 3px;
  }
  .company_table .dot_list.media li {
    margin-bottom: 1px;
  }
  .company_table .normal_list {
    margin-bottom: 10px;
  }
  .company_table .normal_list li {
    margin-bottom: 7px;
  }
  .company_table .bnr_list {
    margin: 6px 0 10px;
  }
  .company_table .bnr_list li {
    width: 100%;
  }
  .company_table .notice_txt {
    margin-top: 5px;
  }
  .sec_achievement.bg_sankaku_left::after {
    content: none;
  }
  .sec_achievement .content_box {
    margin: 0 -5.3vw;
  }
  .sec_achievement .content_ttl {
    font-size: 23px;
    padding: 2% 0 2.6%;
  }
  .sec_achievement .content_box::after {
    width: 223px;
    height: 43px;
    right: 16px;
    bottom: -18px;
  }
  .sec_achievement .top_box {
    flex-direction: column-reverse;
    margin: 0;
  }
  .sec_achievement .top_box .txt_box {
    width: 100%;
  }
  .sec_achievement .top_box .ttl {
    font-size: 21px;
    text-align: center;
    margin: 14px 0 8px;
  }
  .sec_achievement .top_box img {
    width: 100%;
  }
  .sec_achievement .achieve_list {
    margin-top: 23px;
  }
  .sec_achievement .achieve_list .ttl {
    font-size: 21px;
    padding: 2.8% 0 3%;
    margin-bottom: 20px;
  }
  .sec_achievement .achieve_list .ttl span::before {
    width: 19px;
    height: 30px;
    left: -30px;
    top: 1px;
  }
  .sec_achievement .achieve_list ul {
    justify-content: space-between;
    gap: 15px 0;
  }
  .sec_achievement .achieve_list ul::after {
    content: "";
    position: relative;
    display: block;
    width: 100%;
    height: 41.8vw;
  }
  .sec_achievement .achieve_list li {
    width: 47.8%;
    display: flex;
    flex-direction: column;
  }
  .sec_achievement .achieve_list li p {
    font-size: 14px;
    padding: 5.5% 0 6.4%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 2;
  }
  .sec_company .book_box {
    margin-top: 30px;
  }
  .sec_company .book_box .box_ttl {
    align-items: flex-start;
    padding-left: 18px;
    position: relative;
  }
  .sec_company .book_box .box_ttl picture {
    width: 187px;
    padding-left: 4px;
  }
  .sec_company .book_box .box_ttl::after {
    content: "";
    background: url(../img/company/book_author_sp.png) no-repeat;
    background-size: contain;
    width: 101px;
    height: 104px;
    position: absolute;
    right: 8px;
    bottom: 0;
  }
  .sec_company .book_box .content {
    grid-template-columns: 32% auto;
  }
  .sec_company .book_box .content::after {
    content: none;
  }
  .company_table .sdgs_image img {
    width: 250px;
    display: block;
    margin: 10px auto;
  }
  
}