/* Scss Document */
/*  
---------------------------------------
company
---------------------------------------
*/
#company01 {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 20rem;
  background-size: cover; }
  @media (max-width: 999px) {
    #company01 {
      border-radius: 4rem;
      padding: 6rem 0 0;
      height: clamp(56rem, calc(32.0512820513vw + 43.9807692308rem), 76rem);
      max-height: 65rem; } }
  #company01 .inner12 {
    padding-bottom: 8rem;
    max-height: 54vw;
    min-height: 78rem; }
    @media (max-width: 999px) {
      #company01 .inner12 {
        padding-bottom: 0rem;
        max-height: inherit;
        min-height: inherit; } }
  #company01 .bgDeco {
    position: absolute;
    bottom: 0; }
  #company01 .txt {
    font-size: 3rem;
    font-weight: bold; }
    @media (max-width: 999px) {
      #company01 .txt {
        font-size: clamp(1.8rem, calc(0.3205128205vw + 1.6798076923rem), 2rem); } }
  #company01 .Clouds {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }
    #company01 .Clouds img {
      position: absolute;
      display: block;
      height: auto; }
    @media (max-width: 999px) {
      #company01 .Clouds {
        top: 36%; } }
  #company01 .cloud01 {
    top: 22%;
    left: 13%;
    width: 5.5%; }
    @media (max-width: 999px) {
      #company01 .cloud01 {
        top: 13%;
        left: 8%;
        width: 9.5%; } }
  #company01 .cloud02 {
    top: 11%;
    left: 24%;
    width: 4.5%; }
    @media (max-width: 999px) {
      #company01 .cloud02 {
        top: 7%;
        left: 23%;
        width: 7.5%; } }
  #company01 .cloud03 {
    top: 15%;
    right: 13%;
    width: 7%; }
    @media (max-width: 999px) {
      #company01 .cloud03 {
        top: 13%;
        right: 6%;
        width: 8%; } }

/*  
---------------------------------------
company02
---------------------------------------
*/
.companyTable {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  background: #fff;
  padding: 1rem;
  border-radius: 1rem; }
  .companyTable__row {
    display: grid;
    grid-template-columns: 22% 1fr; }
  .companyTable__head, .companyTable__body {
    display: flex;
    align-items: center;
    min-height: clamp(7rem, calc(1.0869565217vw + 5.9130434783rem), 8rem);
    padding: clamp(2rem, calc(0.5434782609vw + 1.4565217391rem), 2.5rem) clamp(2.5rem, calc(0.5434782609vw + 1.9565217391rem), 3rem); }
  .companyTable__head {
    background: #DFF1E1;
    border-radius: 1rem 0 0 1rem;
    font-weight: 700; }
  .companyTable__body {
    background: #F4FAF5;
    border-radius: 0 1rem 1rem 0;
    line-height: 2; }
  @media (max-width: 999px) {
    .companyTable {
      gap: .3rem; }
      .companyTable__row {
        grid-template-columns: 10rem 1fr; }
      .companyTable__head, .companyTable__body {
        min-height: 6rem;
        padding: 1.5rem; }
      .companyTable__head {
        border-radius: .8rem 0 0 .8rem; }
      .companyTable__body {
        border-radius: 0 .8rem .8rem 0;
        line-height: 1.8; } }

/*  
---------------------------------------
company03
---------------------------------------
*/
#company03 .inner8 {
  max-width: 86rem; }
  @media (max-width: 999px) {
    #company03 .inner8 {
      max-width: 536px; } }

.historyList {
  width: 100%; }

.historyItem {
  display: grid;
  grid-template-columns: 8rem 15rem 1fr;
  align-items: start;
  padding-bottom: clamp(6rem, calc(2.1739130435vw + 3.8260869565rem), 8rem); }
  .historyItem:last-child {
    padding-bottom: 0; }
    .historyItem:last-child .historyItem__line::after {
      display: none; }
  .historyItem__year {
    margin: -0.8rem 0 0;
    color: #2DA338;
    font-size: clamp(2.8rem, calc(0.652173913vw + 2.147826087rem), 3.4rem);
    font-weight: 700;
    line-height: 1; }
  .historyItem__line {
    position: relative;
    height: 100%;
    min-height: 3rem; }
    .historyItem__line span {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 50%;
      width: 1.6rem;
      height: 1.6rem;
      background: #2DA338;
      border-radius: 50%;
      transform: translateX(-50%); }
    .historyItem__line::after {
      content: "";
      position: absolute;
      top: 1.6rem;
      left: 50%;
      width: .1rem;
      height: calc(100% + clamp(6rem, calc(2.1739130435vw + 3.8260869565rem), 8rem));
      background: #2DA338;
      transform: translateX(-50%); }
  .historyItem__content {
    margin-top: -.5rem; }
  .historyItem__row {
    display: grid;
    grid-template-columns: clamp(5rem, calc(1.0869565217vw + 3.9130434783rem), 6rem) 1fr;
    gap: 0; }
    .historyItem__row:not(:last-child) {
      margin-bottom: clamp(2rem, calc(1.0869565217vw + 0.9130434783rem), 3rem); }
  .historyItem__month {
    margin: 0;
    color: #2DA338;
    font-weight: 700;
    line-height: 1.2; }
    .historyItem__month .en {
      font-size: 2.6rem;
      margin-right: 0.2rem; }
  .historyItem__txt {
    margin: 0;
    line-height: 1.8; }
    .historyItem__txt p {
      margin: 0; }
      .historyItem__txt p:not(:last-child) {
        margin-bottom: .8rem; }
  @media (max-width: 999px) {
    .historyItem {
      grid-template-columns: 6rem 3rem 1fr;
      padding-bottom: 5rem; }
      .historyItem__year {
        font-size: 2.2rem; }
      .historyItem__line span {
        width: 1.2rem;
        height: 1.2rem; }
      .historyItem__line::after {
        top: 1.2rem;
        height: calc(100% + 5rem); }
      .historyItem__content {
        margin-top: -.5rem; }
      .historyItem__row {
        display: block; }
        .historyItem__row:not(:last-child) {
          margin-bottom: 2.5rem; }
      .historyItem__month {
        margin-bottom: .5rem; }
        .historyItem__month .en {
          font-size: 2rem; }
      .historyItem__txt {
        line-height: 1.8; } }

/*  
---------------------------------------
company04
---------------------------------------
*/
#company04 .inner14 {
  background: #fff;
  padding: 12rem 0; }
  @media (max-width: 999px) {
    #company04 .inner14 {
      padding: 6rem 0 4rem; } }
@media (max-width: 999px) {
  #company04 .pb12 {
    padding-bottom: 0; } }

.sdgsBox__logo {
  width: clamp(65rem, calc(14.1304347826vw + 50.8695652174rem), 78rem);
  margin: 0 auto clamp(6rem, calc(2.1739130435vw + 3.8260869565rem), 8rem); }
  .sdgsBox__logo img {
    display: block;
    width: 100%;
    height: auto; }
@media (max-width: 999px) {
  .sdgsBox__logo {
    width: 90%;
    margin-bottom: 4rem; } }

.sdgsMessage {
  padding: clamp(5rem, calc(2.1739130435vw + 2.8260869565rem), 7rem) clamp(6rem, calc(2.1739130435vw + 3.8260869565rem), 8rem);
  background: #F7F7F7;
  border-radius: 2rem; }
  .sdgsMessage__txt {
    margin: 0;
    line-height: 2; }
  .sdgsMessage__sign {
    width: fit-content;
    margin: clamp(3rem, calc(1.0869565217vw + 1.9130434783rem), 4rem) 0 0 auto;
    text-align: right; }
    .sdgsMessage__sign p {
      margin: 0; }
      .sdgsMessage__sign p:not(:last-child) {
        margin-bottom: .8rem; }
  @media (max-width: 999px) {
    .sdgsMessage {
      padding: 3rem 2rem;
      border-radius: 1.5rem; }
      .sdgsMessage__txt {
        line-height: 1.9; }
      .sdgsMessage__sign {
        margin-top: 3rem; } }

.sdgsAction__ttl {
  margin: 0 0 clamp(4rem, calc(1.0869565217vw + 2.9130434783rem), 5rem);
  color: #2DA338;
  font-size: clamp(2.6rem, calc(0.652173913vw + 1.947826087rem), 3.2rem);
  font-weight: 700;
  text-align: center; }

.sdgsActionItem {
  position: relative;
  display: grid;
  grid-template-columns: 1fr clamp(40rem, calc(10.8695652174vw + 29.1304347826rem), 50rem);
  align-items: flex-start;
  gap: clamp(5rem, calc(2.1739130435vw + 2.8260869565rem), 7rem);
  padding: clamp(5rem, calc(1.0869565217vw + 3.9130434783rem), 6rem) clamp(2rem, calc(1.0869565217vw + 0.9130434783rem), 3rem); }
  .sdgsActionItem::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: .2rem;
    background: repeating-linear-gradient(to right, rgba(45, 163, 56, 0.5) 0, rgba(45, 163, 56, 0.5) 0.6rem, transparent 0.6rem, transparent 1.2rem); }
  .sdgsActionItem:first-of-type::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: .2rem;
    background: repeating-linear-gradient(to right, rgba(45, 163, 56, 0.5) 0, rgba(45, 163, 56, 0.5) 0.6rem, transparent 0.6rem, transparent 1.2rem); }
  .sdgsActionItem__head {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: clamp(2rem, calc(1.0869565217vw + 0.9130434783rem), 3rem); }
  .sdgsActionItem__num {
    flex-shrink: 0;
    margin: 0;
    color: transparent;
    font-size: clamp(2.8rem, calc(0.652173913vw + 2.147826087rem), 3.4rem);
    font-weight: 700;
    line-height: 1;
    -webkit-text-stroke: 0.12rem #2DA338; }
  .sdgsActionItem__ttl {
    margin: 0;
    font-size: clamp(2rem, calc(0.652173913vw + 1.347826087rem), 2.6rem);
    font-weight: 700;
    line-height: 1.5; }
  .sdgsActionItem__txt {
    margin: 0;
    line-height: 2; }
  .sdgsActionItem__icons {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .8rem; }
    .sdgsActionItem__icons img {
      display: block;
      width: 100%;
      height: auto; }
  @media (max-width: 999px) {
    .sdgsActionItem {
      display: block;
      padding: 4rem 0; }
      .sdgsActionItem__head {
        gap: 1rem;
        margin-bottom: 2rem; }
      .sdgsActionItem__num {
        font-size: 2.6rem; }
      .sdgsActionItem__ttl {
        font-size: clamp(1.8rem, calc(0.9615384615vw + 1.4394230769rem), 2.4rem); }
      .sdgsActionItem__txt {
        line-height: 1.9; }
      .sdgsActionItem__icons {
        grid-template-columns: repeat(4, 1fr);
        gap: .6rem;
        margin-top: 3rem; } }
