main {
 margin-bottom: 0;
}

section {
 position: relative;
 width: 100%;
}
section h3.line {
 margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
 section h3.line {
  margin-bottom: 10px;
 }
}
section h3.line.bdb {
 padding: 60px 9%;
 border-bottom: 1px solid #c7c7c7;
}
@media screen and (max-width: 1024px) {
 section h3.line.bdb {
  padding: 30px 5%;
 }
}
section h3.line span {
 display: inline-block;
 position: relative;
 line-height: 1.3333333333;
 padding-left: 45px;
 color: var(--c_bl);
 font-size: 30px;
 letter-spacing: 0.06em;

 margin-block: calc((1em - 1lh) / 2);
}
@media screen and (max-width: 1024px) {
 section h3.line span {
  padding-left: 30px;
  font-size: 20px;
 }
}
section h3.line span:before {
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 left: 0;
 width: 30px;
 height: 2px;
 background: var(--c_bl);
}
@media screen and (max-width: 1024px) {
 section h3.line span:before {
  width: 20px;
 }
}
section .company_list .company_block {
 display: flex;
 justify-content: space-between;
}
@media screen and (max-width: 600px) {
 section .company_list .company_block {
  display: block;
 }
}
section .company_list .company_block.rev .company_img {
 order: -1;
}
section .company_list .company_block:not(:last-child) {
 margin-bottom: 130px;
}
@media screen and (max-width: 1024px) {
 section .company_list .company_block:not(:last-child) {
  margin-bottom: 60px;
 }
}
section .company_list .company_block .company_info {
 width: 49%;
}
@media screen and (max-width: 600px) {
 section .company_list .company_block .company_info {
  width: 100%;
  margin-bottom: 30px;
 }
}
section .company_list .company_block .company_info h4 {
 line-height: 1.5;
 margin-bottom: 30px;
 color: var(--c_bl);
 font-weight: 600;
 font-size: 30px;
 letter-spacing: -0.015em;
}
@media screen and (max-width: 1024px) {
 section .company_list .company_block .company_info h4 {
  margin-bottom: 15px;
  font-size: 22px;
 }
}
section .company_list .company_block .company_info p.desc {
 line-height: 1.7777777778;
 font-size: 18px;
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 section .company_list .company_block .company_info p.desc {
  font-size: 16px;
 }
}
section .company_list .company_block .company_info dl {
 display: grid;
 line-height: 1.7777777778;
 grid-template-columns: 110px 1fr;
 margin-top: 25px;
 border-top: 1px solid #d1d1d1;
 font-size: 18px;
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 section .company_list .company_block .company_info dl {
  grid-template-columns: 90px 1fr;
  font-size: 16px;
 }
}
section .company_list .company_block .company_info dl:has(a.bl_btn) dt:last-of-type {
 display: flex;
 align-items: center;
}
section .company_list .company_block .company_info dl dt {
 padding: 20px 0;
 border-bottom: 1px solid #d1d1d1;
 font-weight: 400;
}
section .company_list .company_block .company_info dl dd {
 padding: 20px 0;
 border-bottom: 1px solid #d1d1d1;
}
section .company_list .company_block .company_info dl dd a.bl_btn {
 width: 100%;
 max-width: 230px;
}
section .company_list .company_block .company_info dl dd a.bl_btn:after {
 right: 10px;
}
section .company_list .company_block .company_img {
 position: relative;
 width: 46%;
 overflow: hidden;
 align-self: flex-start;
}
@media screen and (max-width: 600px) {
 section .company_list .company_block .company_img {
  width: 100%;
 }
}
section .company_list .company_block .company_img:not(:has(.swiper-wrapper)) {
 border: 1px solid #d1d1d1;
}
section .company_list .company_block .company_img .swiper-wrapper {
 width: 100%;
}
section .company_list .company_block .company_img .swiper-pagination {
 position: static;
 margin-top: 30px;
 font-size: 0;
}
@media screen and (max-width: 1024px) {
 section .company_list .company_block .company_img .swiper-pagination {
  margin-top: 15px;
 }
}
section .company_list .company_block .company_img .swiper-pagination >span {
 width: 15px;
 height: auto;

 margin-inline: 10px;
 aspect-ratio: 1;
}
@media screen and (max-width: 1024px) {
 section .company_list .company_block .company_img .swiper-pagination >span {
  width: 12px;

  margin-inline: 5px;
 }
}
section.group_area {
 margin-bottom: 140px;

 padding-inline: 5%;
}
@media screen and (max-width: 1024px) {
 section.group_area {
  margin-bottom: 70px;
 }
}
section.group_area >.inner {
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
}
section.group_area >.inner .group {
 display: flex;
 justify-content: space-between;
 margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner .group {
  margin-bottom: 40px;
 }
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner .group {
  flex-direction: column;
 }
}
section.group_area >.inner .group .graph {
 width: 28%;
}
@media screen and (max-width: 600px) {
 section.group_area >.inner .group .graph {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
 }
 section.group_area >.inner .group .graph img {
  max-width: 70%;
 }
}
section.group_area >.inner .group .txt_area {
 width: 60%;
}
@media screen and (max-width: 600px) {
 section.group_area >.inner .group .txt_area {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
 }
}
section.group_area >.inner .group .txt_area p {
 width: 100%;
 line-height: 2;
 font-size: 18px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner .group .txt_area p {
  font-size: 16px;
 }
}
section.group_area >.inner .group .txt_area ul.group_logos {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-top: 50px;
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner .group .txt_area ul.group_logos {
  margin-top: 25px;
 }
}
@media screen and (max-width: 600px) {
 section.group_area >.inner .group .txt_area ul.group_logos {
  gap: 10px;
 }
}
section.group_area >.inner .group .txt_area ul.group_logos li img {
 height: 32px;
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner .group .txt_area ul.group_logos li img {
  height: 20px;
 }
}
@media screen and (max-width: 600px) {
 section.group_area >.inner .group .txt_area ul.group_logos li img {
  width: 100%;
  height: auto;
 }
}
section.group_area >.inner h3 {
 margin-bottom: 120px;
 text-align: center;
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner h3 {
  margin-bottom: 50px;
 }
}
section.group_area >.inner h3 img {
 width: 299px;
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner h3 img {
  width: 239.2px;
 }
}
section.oversea_area {
 margin-bottom: 150px;
 padding: 100px 5% 150px;
 background: #f9f9f9;
}
@media screen and (max-width: 1024px) {
 section.oversea_area {
  margin-bottom: 70px;

  padding-block: 50px;
 }
}
section.oversea_area >.inner {
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
}
section.oversea_area >.inner p.lead {
 line-height: 2;
 margin-bottom: 90px;
 font-size: 18px;
 text-align: center;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.oversea_area >.inner p.lead {
  margin-bottom: 45px;
  font-size: 16px;
 }
}
/*# sourceMappingURL=layout.css.map */