@charset "UTF-8";

.content-header .content-header-bg,
.content-header::after{
  z-index: 2;
  position: relative;
}

/* ---------------------------
  section 1
--------------------------- */
.section-1{
  position: relative;
}
.section-1 > *{
  z-index: 1;
  position: relative;
}
.section-1 img{
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
}
.section-1::before{
  content: '';
  display: block;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height: calc(100% + (30vh + 180px));
  background: #F2F2F2;
  position: absolute;
  left: 0;
  top: -100px;
  transform: translate(0vw, -12vw);
  z-index: 0;
}
.section-1 > div:last-child{
  width: 94%;
  margin: 16px auto;
}




/* ---------------------------
  section 2
--------------------------- */
.section-2{
  position: relative;
  background: url("/en/who_we_are/common/img/at_a_glance/section_2_bg.jpg") no-repeat center center / cover;
  margin: 56px 0 0;
  padding: 64px 24px 40px;
  text-align: center;
  border-radius: 20px;
  overflow: hidden;
}
.section-2-wrap{
  position: relative;
}
.section-2-wrap::before{
  content: '';
  display: block;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height: 50%;
  background: #F2F2F2;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

/* 青いオーバーレイ */
.section-2::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 55, 157, 0.70) 0%, rgba(0, 55, 157, 0.70) 100%);
  z-index: 0;
  pointer-events: none;
}
.section-2 > *{
  position: relative;
  z-index: 1;
}
.section-2 .h4-basis{
  color: #A6EB37;
}
.section-2 .main-copy{
  color: #fff;
}
.section-2 .text-link{
  color: #fff;
}
.section-2  .text-link svg{
  color: #fff;
}

/* ---------------------------
  PC用ボーダー（980px以上）
--------------------------- */
@media screen and (min-width: 980px) {
  /* 共通：position relative */
  .section-1 .grid.numbers-col-2 > div:nth-child(1),
  .section-1 .grid.numbers-col-3 > div:nth-child(2),
  .section-1 .numbers-content-2,
  .section-1 .numbers-content-3,
  .section-1 .numbers-content-4 {
    position: relative;
  }
  
  /* 共通：ドットボーダーのスタイル */
  .section-1 .grid.numbers-col-3 > div:nth-child(2)::before,
  .section-1 .grid.numbers-col-3 > div:nth-child(2)::after,
  .section-1 .grid.numbers-col-2 > div:nth-child(1)::after,
  .section-1 .numbers-content-2::before,
  .section-1 .numbers-content-2::after,
  .section-1 .numbers-content-3::after,
  .section-1 .numbers-content-4::after {
    content: '';
    position: absolute;
  }
  
  /* 左右のボーダー（縦方向） */
  .section-1 .grid.numbers-col-3 > div:nth-child(2)::before,
  .section-1 .grid.numbers-col-3 > div:nth-child(2)::after,
  .section-1 .grid.numbers-col-2 > div:nth-child(1)::after {
    top: 0;
    bottom: 0;
    width: 3px;
    height: 100%;
    margin: auto;
    background-image: url('data:image/svg+xml;utf8,<svg width="3" height="8" viewBox="0 0 3 8" xmlns="http://www.w3.org/2000/svg"><circle cx="1.5" cy="1.5" r="1.5" fill="%230042BC"/></svg>');
    background-repeat: repeat-y;
    background-position: center top;
  }
  
  /* 左ボーダー */
  .section-1 .grid.numbers-col-3 > div:nth-child(2)::before {
    left: 0;
  }
  
  /* 右ボーダー */
  .section-1 .grid.numbers-col-3 > div:nth-child(2)::after,
  .section-1 .grid.numbers-col-2 > div:nth-child(1)::after {
    right: 0;
  }
  
  /* 上下のボーダー（横方向） */
  .section-1 .numbers-content-2::before,
  .section-1 .numbers-content-2::after,
  .section-1 .numbers-content-3::after,
  .section-1 .numbers-content-4::after {
    width: 94%;
    margin: 0 auto;
    left: 0;
    right: 0;
    height: 3px;
    background-image: url('data:image/svg+xml;utf8,<svg width="8" height="3" viewBox="0 0 8 3" xmlns="http://www.w3.org/2000/svg"><circle cx="1.5" cy="1.5" r="1.5" fill="%230042BC"/></svg>');
    background-repeat: repeat-x;
    background-position: left center;
  }
  
  /* 上ボーダー */
  .section-1 .numbers-content-2::before {
    top: 0;
  }
  
  /* 下ボーダー */
  .section-1 .numbers-content-2::after,
  .section-1 .numbers-content-3::after,
  .section-1 .numbers-content-4::after {
    bottom: 0;
  }


  /* 個別レイアウト調整 */
  .section-1 .numbers-content-1{
    grid-template-columns: auto auto auto;
    padding: 0 0 32px;
  }
  .section-1 .numbers-content-1 > div:first-child{
    padding-left: 0;
  }
  .section-1 .numbers-content-1 > div:last-child{
    padding-right: 0;
  }
  .section-1 .numbers-content-3 > div:first-child{
    padding: 0 20px 0 0;
  }
  .section-1 .numbers-content-3 > div:last-child{
    padding: 0 0 0 20px;
  }
  .section-1 .numbers-content-2{
    padding: 40px 0;
  }
  .section-1 .numbers-content-2 > div:first-child,
  .section-1 .numbers-content-2 > div:last-child{
    padding-top: 0;
  }
  .section-1 .numbers-content-3{
    grid-template-columns: auto auto auto;
    padding: 40px 0;
  }
  .section-1 .numbers-content-4{
    padding: 40px 0;
  }
  .section-1 .numbers-content-4.grid > div{
    padding: 0;
  }
  /* 画像調整 */
  .number-1-1{
    min-width: 100px;
  }
  .number-1-2{
    max-width: 360px;
    padding: 0 10px;
  }
  .number-1-3{
    max-width: 400px;
    max-height: 320px;
    margin: auto;
  }
  .number-2-1{
    padding: 0 0 0 20px;
    /* max-width: 560px; */
    max-width: 100%;
    margin: 0 auto 0 0;
  }
  .number-2-2{
    padding: 10px 0 0 40px;
    max-width: 540px;
    margin: 0 0 auto auto;
  }
  .number-3-1{
    padding: 10px 10px 0 0;
  }
  .number-3-2{
    margin: 0 auto auto;
    min-width: 140px;
    padding: 0 20px;
  }
  .number-3-3{
    padding: 0 0 0 20px;
    margin: 0 auto auto;
  }
  .section-1 .grid > div{
    padding: 24px 24px 0 24px;
    display: flex;
  }

}

/* ---------------------------
  SP用ボーダー（979px以下）
--------------------------- */
@media screen and (max-width: 979px) {
  .section-1::before{
    content: '';
    display: block;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height: calc(100% + (30vh + 80px));
    background: #F2F2F2;
    position: absolute;
    left: 0;
    top: -100px;
    transform: translate(0vw, -12vw);
    z-index: 0;
  }
  .section-1 > div:last-child{
    width: 100%;
    margin: 8px auto;
  }
  .grid {
    grid-template-columns: 1fr!important;
  }
  .section-1 .grid{
    gap: 0;
  }
  .section-1 .grid > div {
    position: relative;
    padding: 24px 20px;
  }
  .section-1 .grid > div::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 3px;
    margin: 0 auto;
    background-image: url('data:image/svg+xml;utf8,<svg width="8" height="3" viewBox="0 0 8 3" xmlns="http://www.w3.org/2000/svg"><circle cx="1.5" cy="1.5" r="1.5" fill="%230042BC"/></svg>');
    background-repeat: repeat-x;
    background-position: left center;
  }
  /* .numbers-content-1 > div:nth-child(1){
    padding: 0 20px 32px;
  }
  .numbers-content-1 > div:nth-child(2){
    padding: 24px 20px;
  }
  .numbers-content-1 > div:nth-child(3){
    padding: 24px 20px;
  }
  .numbers-content-2 > div:nth-child(1){
    padding: 24px 20px;
  }
  .numbers-content-2 > div:nth-child(2){
    padding: 24px 20px;
  }
  .numbers-content-3 > div:nth-child(1),
  .numbers-content-3 > div:nth-child(2),
  .numbers-content-3 > div:nth-child(3),
  .numbers-content-4 > div{
    padding: 24px 20px;
  } */
  
  .section-2{
    margin: 40px 0 0;
    padding: 42px 24px 32px;
  }
}