@charset "UTF-8";
/* **************************************


     追加


***************************************/
/*最小値:$value+0.2 → 可変（$value + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px,2560px:12px））→ 最大値:$value + 1.2*/
/* =============================================================================


 about


============================================================================= */
.company {
  padding: 120px 0;
}
.company .inner {
  max-width: 1300px;
  width: 1300px;
}

.company-ttl {
  font-size: clamp(4.8rem, 4.6rem + 0.625vw * 1, 5.8rem);
  font-weight: bold;
  margin-bottom: 48px;
  padding-left: 2.5em;
}

.company-chart {
  --row-height: 140px;
  --step-width: 160px;
  margin-inline: auto;
  position: relative;
}
.company-chart:before {
  inset: 0;
  background: linear-gradient(28.3deg, rgb(181, 224, 247) 8%, rgb(113, 145, 181) 37.17%, rgb(32, 51, 103) 65.96%);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 800px;
}

.company-item {
  --first-width: 164px;
  --increase: 174px;
  --side-inset: calc(var(--increase) / 2);
  display: grid;
  grid-template-columns: 800px 1fr;
  margin: auto;
  min-height: var(--row-height);
  position: relative;
}
.company-item:before {
  background: #fff;
  bottom: -6px;
  content: "";
  height: 12px;
  left: 0;
  position: absolute;
  width: 100%;
}
.company-item:after {
  background: #203367;
  bottom: -1px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.company-shape {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}
.company-shape p {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  position: relative;
  text-align: center;
  text-shadow: 0 0 8px rgba(32, 51, 103, 0.9), 0 0 20px rgba(32, 51, 103, 0.8), 0 0 40px rgba(32, 51, 103, 0.6);
  z-index: 2;
}

.company-content {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 24px 0;
}
.company-item:nth-of-type(1) .company-content ul {
  margin-left: -300px;
}
.company-item:nth-of-type(2) .company-content ul {
  margin-left: -220px;
}
.company-item:nth-of-type(3) .company-content ul {
  margin-left: -150px;
}
.company-item:nth-of-type(4) .company-content ul {
  margin-left: -80px;
}
.company-item:nth-of-type(5) .company-content ul {
  padding-left: 20px;
}
.company-content li {
  line-height: 1.9;
  text-indent: -1em;
}
.company-content li:before {
  content: "●";
}

.company-item--01 .company-shape {
  position: relative;
  width: calc(var(--step-width) * 1);
  z-index: 2;
}
.people-list {
  gap: 0 3em;
  display: grid;
  grid-template-columns: auto 1fr;
}

/* =============================================================================


    number


============================================================================= */
.number {
  position: relative;
}
.number:before {
  background: transparent -webkit-gradient(linear, left top, left bottom, color-stop(23%, #b5e0f7), color-stop(31%, #acd6ee), color-stop(46%, #95bbd8), color-stop(66%, #7090b4), color-stop(88%, #3d5583), to(#203367)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #b5e0f7 23%, #acd6ee 31%, #95bbd8 46%, #7090b4 66%, #3d5583 88%, #203367 100%) 0% 0% no-repeat padding-box;
  content: "";
  height: 100%;
  left: 50%;
  opacity: 0.53;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}

.number-list {
  /*   grid-template-rows: repeat(2, 1fr); */
  gap: 10px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-left: -50px;
  padding: 80px 0;
  width: calc(100% + 100px);
}

.number-item {
  gap: 20px;
  background: #fff;
  -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  padding: 20px;
}

.number-item-ttl {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.number-item-img {
  margin: auto;
  width: 100px;
}

.number-txtbox {
  font-size: 1.8rem;
  text-align: center;
}

.data_number {
  color: #203367;
  font-family: "Host Grotesk", "Noto Serif JP", sans-serif;
  font-size: 5rem;
  font-style: italic;
  font-weight: 600;
  font-weight: 900;
  text-align: center;
}
.data_number > span {
  font-size: 70%;
}

.yukyu {
  gap: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10px;
}

.yukyu-data_number {
  color: #203367;
  font-family: "Host Grotesk", "Noto Serif JP", sans-serif;
  font-size: 4rem;
  font-style: italic;
  font-weight: 600;
  font-weight: 900;
  text-align: center;
}
.yukyu-data_number > span {
  font-size: 70%;
}

.employee-gendar {
  gap: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 8px;
}
.employee-gendar span {
  color: #203367;
  font-family: "Host Grotesk", "Noto Serif JP", sans-serif;
  font-size: 2rem;
  font-style: italic;
  font-weight: 900;
}

.result-data_top {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.result-data_number {
  color: #203367;
  font-family: "Host Grotesk", "Noto Serif JP", sans-serif;
  font-size: 4rem;
  font-style: italic;
  font-weight: 900;
}

.result-data_unit {
  font-size: 1.8rem;
}

.result-data_gender div {
  gap: 0 0.5em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.result-data_gender div dd span {
  color: #203367;
  font-family: "Host Grotesk", "Noto Serif JP", sans-serif;
  font-size: 2rem;
  font-style: italic;
  font-weight: 900;
}

.result-data_bottom {
  font-size: 1.4rem;
}

/* =============================================================================


    plan


============================================================================= */
.work {
  padding: 60px 0;
}

.work-ttl,
.number-ttl {
  font-size: clamp(4.4rem, 4.2rem + 0.625vw * 1, 5.4rem);
  font-weight: bold;
  text-align: center;
}
.work-ttl > span,
.number-ttl > span {
  border-bottom: 1px solid #000;
  padding: 0 0.15em;
}
.work-ttl > span > span,
.number-ttl > span > span {
  display: inline-block;
  font-size: 70%;
}

.number-ttl span {
  background: #fff;
  border: none;
}

.work-list {
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 40px auto 0;
  max-width: 960px;
}

.work-content {
  display: none;
}
.work-content.is-active {
  display: block;
}

.work-itemlink {
  background: #8f99b3;
  border: 1px solid #8f99b3;
  color: #fff;
  display: block;
  font-size: 2.6rem;
  font-weight: bold;
  position: relative;
  text-align: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.work-itemlink:hover {
  background: #fff;
  color: #000;
}
.work-itemlink:before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  width: 100%;
}
.work-item.is-active .work-itemlink {
  background: #fff;
  border: 1px solid #fff;
  color: #000;
}
.work-item.is-active .work-itemlink:before {
  border-bottom: 4px solid #203367;
  height: 4px;
}

.work-contentbox {
  gap: 50px;
  display: grid;
  grid-template-columns: 600px 1fr;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}

.work-content-ttl {
  font-size: clamp(3.4rem, 3.2rem + 0.625vw * 1, 4.4rem);
  font-weight: bold;
}

.work-content-txt {
  font-size: 1.8rem;
  line-height: 2;
  margin-top: 1.2em;
}

/* =============================================================================


    plan


============================================================================= */
.plan {
  padding: 60px 0 120px;
}

.plan-list {
  gap: 80px 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 70px;
}

.plan-item {
  gap: 0;
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

.plan-item-ttl {
  background: #203367;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  padding: 0.25em 0;
  position: relative;
  text-align: center;
}
.plan-item-ttl:before, .plan-item-ttl:after {
  background: #fff;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
}
.plan-item-ttl:after {
  background: inherit;
  left: calc(100% - 1px);
}
.plan-item:nth-of-type(1) .plan-item-ttl:before {
  display: none;
}

.plan-item-txtbox {
  background: #e9ebf0;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 20px;
  padding: 26px;
  position: relative;
}

@media screen and (max-width: 1300px){
  .company .inner {
    width: 100%;
  }
}

@media (max-width: 1128px){
  .company-ttl {
    font-size: clamp(3.4rem, 3.2rem + 0.625vw * 1, 4.4rem);
  }
  .company-chart:before {
    width: 60%;
  }
  .company-item {
    grid-template-columns: 60% 1fr;
  }
  .company-item:nth-of-type(1) .company-content ul {
    margin-left: -40%;
  }
  .company-item:nth-of-type(2) .company-content ul {
    margin-left: -35%;
  }
  .company-item:nth-of-type(3) .company-content ul {
    margin-left: -20%;
  }
  .company-item:nth-of-type(4) .company-content ul {
    margin-left: -5%;
  }
  .people-list {
    display: block;
  }
  .number-list {
    margin-left: 0;
    width: 100%;
  }
  .number-item-ttl {
    font-size: 1.6rem;
  }
  .number-txtbox {
    font-size: 1.6rem;
  }
  .data_number {
    font-size: 4rem;
  }
  .yukyu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .yukyu-data_number {
    font-size: 3rem;
  }
  .employee-gendar {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .result-data_top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
  }
  .result-data_number {
    font-size: 3.2rem;
  }
  .result-data_bottom {
    font-size: 1.2rem;
  }
  .work-ttl,
  .number-ttl {
    font-size: clamp(3.4rem, 3.2rem + 0.625vw * 1, 4.4rem);
  }
  .work-itemlink {
    font-size: 2rem;
  }
  .work-contentbox {
    grid-template-columns: 50% 1fr;
  }
  .work-content-ttl {
    font-size: clamp(2.4rem, 2.2rem + 0.625vw * 1, 3.4rem);
  }
  .work-content-txt {
    font-size: 1.6rem;
  }
  .plan-list {
    gap: 60px 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 1000px){
  .work-contentbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media (max-width: 767px){
  .company {
    padding: 60px 0 60px;
  }
  .company-ttl {
    font-size: clamp(2.4rem, 2.2rem + 0.625vw * 1, 3.4rem);
    margin-bottom: 28px;
    padding-left: 0;
  }
  .company-chart {
    --row-height: auto;
    width: 100%;
  }
  .company-chart:before {
    display: none;
  }
  .company-item {
    display: block;
  }
  .company-item::before, .company-item::after {
    display: none;
  }
  .company-shape {
    background: linear-gradient(135deg, rgb(32, 51, 103) 0%, rgb(113, 145, 181) 55%, rgb(181, 224, 247) 100%);
    min-height: auto;
    padding: 14px 12px;
  }
  .company-shape p {
    font-size: 1.8rem;
  }
  .company-item:nth-of-type(1) .company-content ul {
    margin-left: 0;
  }
  .company-item:nth-of-type(2) .company-content ul {
    margin-left: 0;
  }
  .company-item:nth-of-type(3) .company-content ul {
    margin-left: 0;
  }
  .company-item:nth-of-type(4) .company-content ul {
    margin-left: 0;
  }
  .company-item--01 .company-shape {
    width: 100%;
  }
  .company-content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 12px 20px 20px;
  }
  .company-content ul {
    padding-left: 1.2em;
  }
  .number-list {
    grid-template-columns: repeat(2, 1fr);
    padding-top: 40px;
  }
  .number-item-ttl {
    font-size: 1.4rem;
  }
  .number-txtbox {
    font-size: 1.4rem;
  }
  .data_number {
    font-size: 2.6rem;
  }
  .yukyu-data_number {
    font-size: 2.4rem;
  }
  .result-data_number {
    font-size: 2.4rem;
  }
  .work-ttl,
  .number-ttl {
    font-size: clamp(2.4rem, 2.2rem + 0.625vw * 1, 3.4rem);
  }
  .work-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .work-item {
    width: calc(33.333333% - 10px);
  }
  .work-itemlink {
    font-size: 1.6rem;
  }
  .work-content-ttl {
    font-size: 2rem;
  }
  .work-content-txt {
    font-size: 1.4rem;
  }
  .plan {
    padding: 40px 0 60px;
  }
  .plan-list {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 32px;
  }
  .plan-item-ttl:before, .plan-item-ttl:after {
    display: none;
  }
  .plan-item-txtbox {
    font-size: 1.4rem;
  }
  .plan-item-txtbox:before {
    background: #203367;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    content: "";
    height: 30px;
    left: 50%;
    position: absolute;
    top: calc(100% + 15px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 40px;
  }
  .plan-item:nth-last-of-type(1) .plan-item-txtbox:before {
    display: none;
  }
}

/*# sourceMappingURL=about.css.map*/