/* program
---------------------------------------------------------- */
.sec_program {
  background-color: #ebebeb;
  background-image: url(../images/common/bg_shape_sp.webp);
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 40px 0;
}
@media all and (min-width: 751px) {
  .sec_program {
    background-image: url(../images/common/bg_shape_pc.webp);
    background-size: 1273px auto;
    background-repeat: repeat-x;
    background-position: left top;
  }
}
@media all and (min-width: 751px) {
  .sec_program {
    padding: 50px 0 90px;
  }
}
@media all and (min-width: 751px) {
  .sec_program .inner {
    max-width: 890px;
  }
}
.sec_program .sec_ttl {
  text-align: center;
  margin-bottom: 18px;
}
@media all and (min-width: 751px) {
  .sec_program .sec_ttl {
    margin-bottom: 46px;
  }
}
.sec_program .sec_ttl .en {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  color: #fff;
  font-size: 17px;
  letter-spacing: 0.02em;
}
.sec_program .sec_ttl .jp {
  color: #fff;
  font-size: 22px;
}
@media all and (min-width: 751px) {
  .sec_program .sec_ttl .jp {
    font-size: 32px;
  }
}
.sec_program .program_item {
  background-color: #fff;
  padding: 30px 20px 30px;
}
@media all and (min-width: 751px) {
  .sec_program .program_item {
    padding: 50px 8% 60px;
  }
}
@media all and (min-width: 751px) {
  .sec_program .program_item .wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 1fr;
    grid-template-rows: auto 1fr;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
  }
}
.sec_program .program_item .head_area {
  text-align: center;
  margin-bottom: 20px;
}
@media all and (min-width: 751px) {
  .sec_program .program_item .head_area {
    text-align: left;
    grid-area: head;
  }
}
.sec_program .program_item .head_area .ttl_en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #a9161b;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  line-height: 1;
  font-size: 26px;
  gap: 7px;
  margin-bottom: 16px;
}
@media all and (min-width: 751px) {
  .sec_program .program_item .head_area .ttl_en {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 32px;
  }
}
.sec_program .program_item .head_area .ttl_en .num {
  font-size: 32px;
  margin-top: -3px;
}
@media all and (min-width: 751px) {
  .sec_program .program_item .head_area .ttl_en .num {
    font-size: 40px;
  }
}
.sec_program .program_item .head_area .ttl_jp {
  font-size: 18px;
  letter-spacing: 0.1em;
}
@media all and (min-width: 751px) {
  .sec_program .program_item .head_area .ttl_jp {
    font-size: 22px;
  }
}
.sec_program .program_item .head_area .ttl_jp span {
  color: #fff;
  background-color: #a9161b;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 2px 10px;
}
@media all and (min-width: 751px) {
  .sec_program .program_item .head_area .ttl_jp span {
    padding: 1px 17px;
  }
}
@media all and (min-width: 751px) {
  .sec_program .program_item .image {
    grid-area: img;
  }
}
@media all and (max-width: 750px) {
  .sec_program .program_item .text {
    margin-top: 20px;
  }
}
@media all and (min-width: 751px) {
  .sec_program .program_item .text {
    grid-area: text;
  }
}
.sec_program .program_item:not(:last-child) {
  margin-bottom: 30px;
}
@media all and (min-width: 751px) {
  .sec_program .program_item:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media all and (min-width: 751px) {
  .sec_program .program_item:nth-child(odd) .wrap {
        grid-template-areas: "head img" "text img";
    -ms-grid-columns: 1fr 52%;
    grid-template-columns: 1fr 52%;
  }
  .sec_program .program_item:nth-child(even) .wrap {
        grid-template-areas: "img head" "img text";
    -ms-grid-columns: 52% 1fr;
    grid-template-columns: 52% 1fr;
  }
  .sec_program .program_item:nth-child(even) .head_area {
    text-align: right;
  }
  .sec_program .program_item:nth-child(even) .head_area .ttl_en {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .sec_program .program_item .head_area {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .sec_program .program_item:nth-child(even) .wrap > .head_area {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .sec_program .program_item .image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .sec_program .program_item:nth-child(even) .wrap > .image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .sec_program .program_item .text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .sec_program .program_item:nth-child(even) .wrap > .text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}