@charset "UTF-8";
/**************/
.content_box.first {
  margin: 0 auto; }
  .content_box.first p {
    margin-bottom: 60px;
    font: 1.8rem/ 2.2em "Noto Sans", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em; }
.content_box h3 {
  margin-bottom: 10px; }
.content_box ul {
  font: 1.7rem/1.3em "Noto Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  padding: 0 0 0 20px; }
.content_box .black,
.content_box .white {
  padding: 0 0 0 20px;
  position: relative; }
.content_box .black:before {
  position: absolute;
  content: "◯";
  display: block;
  left: 0;
  top: 0; }
.content_box .white:before {
  position: absolute;
  content: "●";
  display: block;
  left: 0;
  top: 0; }

.program_item {
  border: 1px solid #A8A7A7;
  padding: 30px;
  width: 100%;
  margin: 50px 0 0; }
  .program_item ul {
    padding: 0 0 15px;
    margin: 0 0 20px;
    border-bottom: #DCDCE0 1px solid; }
  .program_item dl {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    font: 1.7rem/1.8em "Noto Sans", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em; }
  .program_item dt {
    width: 80px; }
  .program_item dd {
    width: calc(100% - 80px);
    margin: 0 0 5px; }

.program_box01 {
  background-color: #E0F6FC;
  margin: 0 auto 20px;
  width: calc(100% - 100px);
  border-radius: 30px;
  padding: 100px 30px; }
  .program_box01 h2 {
    max-width: 1190px;
    width: 100%;
    margin: 0 auto 30px;
    height: 42px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }
    .program_box01 h2.program_ttl01 {
      background: url("../images/program/ttl_program01_pc.svg") left center no-repeat;
      background-size: contain; }
    .program_box01 h2.program_ttl02 {
      background: url("../images/program/ttl_program02_pc.svg") left center no-repeat;
      background-size: contain; }
  .program_box01 div {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    position: relative; }
    .program_box01 div.program01 {
      z-index: 10;
      background: url("../images/program/program01_pc.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 1190/478;
      width: 100%;
      max-width: 1221px;
      height: auto;
      margin: 0 auto; }
    .program_box01 div.program02 {
      z-index: 8;
      background: url("../images/program/program02_pc.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 1190/479;
      width: 100%;
      max-width: 1221px;
      height: auto;
      margin: -25px auto 0; }
    .program_box01 div.program03 {
      background: url("../images/program/program03_pc.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 1190/420;
      width: 100%;
      max-width: 1221px;
      height: auto;
      margin: -25px auto 70px; }
    .program_box01 div.program04 {
      background: url("../images/program/program04_pc.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 1190/420;
      width: 100%;
      max-width: 1221px;
      height: auto;
      margin: 0 auto; }

.program_box02 {
  background-color: #E3FEF4;
  margin: 0 auto 70px;
  width: calc(100% - 100px);
  border-radius: 30px;
  padding: 100px 30px; }
  .program_box02 h2 {
    max-width: 1190px;
    width: 100%;
    margin: 0 auto;
    height: 80px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: url("../images/program/ttl_program03_pc.svg") left center no-repeat;
    background-size: contain; }
  .program_box02 div {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    position: relative; }
    .program_box02 div.program05 {
      z-index: 10;
      background: url("../images/program/program05_pc.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 1190/368;
      width: 100%;
      max-width: 1221px;
      height: auto;
      margin: 0 auto; }

/*min-width:1920px*/
/*max-width:1280px*/
@media (max-width: 1024px) {
  .program_box01 {
    padding: 100px 30px; }
    .program_box01 h2 {
      height: 38px;
      max-width: 631px; }
      .program_box01 h2.program_ttl01 {
        background: url("../images/program/ttl_program01_pc.svg") left 12px center no-repeat;
        background-size: contain; }
      .program_box01 h2.program_ttl02 {
        background: url("../images/program/ttl_program02_pc.svg") left 12px center no-repeat;
        background-size: contain; }
    .program_box01 div.program01 {
      z-index: 10;
      background: url("../images/program/program01_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/785;
      max-width: 631px; }
    .program_box01 div.program02 {
      z-index: 8;
      background: url("../images/program/program02_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/810;
      max-width: 631px; }
    .program_box01 div.program03 {
      background: url("../images/program/program03_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/754;
      max-width: 631px; }
    .program_box01 div.program04 {
      background: url("../images/program/program04_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/754;
      max-width: 631px; }

  .program_box02 {
    padding: 100px 30px; }
    .program_box02 h2 {
      max-width: 631px;
      height: 78px;
      background: url("../images/program/ttl_program03_pc.svg") left 12px center no-repeat;
      background-size: contain; }
    .program_box02 div.program05 {
      z-index: 10;
      background: url("../images/program/program05_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/622;
      width: 100%;
      max-width: 631px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .program_box01 {
    width: calc(100% - 60px);
    border-radius: 30px;
    padding: 50px 20px 50px; }
    .program_box01 h2 {
      height: 38px;
      max-width: 631px; }
      .program_box01 h2.program_ttl01 {
        aspect-ratio: 642/42;
        max-width: 480px;
        width: calc(100% - 10px);
        margin: 0 0 20px 10px;
        background: url("../images/program/ttl_program01_pc.svg") left center no-repeat;
        background-size: contain; }
      .program_box01 h2.program_ttl02 {
        aspect-ratio: 642/42;
        max-width: 480px;
        width: calc(100% - 10px);
        margin: 0 0 20px 10px;
        background: url("../images/program/ttl_program02_pc.svg") left center no-repeat;
        background-size: contain; }
    .program_box01 div.program01 {
      z-index: 10;
      background: url("../images/program/program01_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/785;
      max-width: 631px; }
    .program_box01 div.program02 {
      z-index: 8;
      background: url("../images/program/program02_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/810;
      max-width: 631px; }
    .program_box01 div.program03 {
      background: url("../images/program/program03_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/754;
      max-width: 631px; }
    .program_box01 div.program04 {
      background: url("../images/program/program04_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/754;
      max-width: 631px; }

  .program_box02 {
    width: calc(100% - 60px);
    border-radius: 30px;
    padding: 50px 30px 50px; }
    .program_box02 h2 {
      aspect-ratio: 642/80;
      width: calc(100% - 10px);
      margin: 0 0 0 10px;
      height: auto;
      background: url("../images/program/ttl_program03_pc.svg") left center no-repeat;
      background-size: contain; }
    .program_box02 div.program05 {
      z-index: 10;
      background: url("../images/program/program05_tb.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 631/622;
      width: 100%;
      max-width: 631px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .content_box ul {
    font: 1.6rem/1.3em "Noto Sans", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em; }

  .program_item {
    padding: 20px;
    width: 100%; }
    .program_item dl {
      font: 1.6rem/1.8em "Noto Sans", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em; }
    .program_item dt {
      width: 70px; }
    .program_item dd {
      width: calc(100% - 70px);
      margin: 0 0 5px; }

  .program_box01 {
    width: calc(100% - 30px);
    border-radius: 30px;
    padding: 40px 15px 40px; }
    .program_box01 h2 {
      height: auto;
      max-width: 325px; }
      .program_box01 h2.program_ttl01 {
        aspect-ratio: 325/69;
        width: 100%;
        margin: 0 0 20px 0;
        background: url("../images/program/ttl_program01_sp.svg") left center no-repeat;
        background-size: contain; }
      .program_box01 h2.program_ttl02 {
        aspect-ratio: 325/93;
        width: 100%;
        margin: 0 0 20px 0;
        background: url("../images/program/ttl_program02_sp.svg") left center no-repeat;
        background-size: contain; }
    .program_box01 div.program01 {
      z-index: 10;
      background: url("../images/program/program01_sp.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 325/745;
      max-width: 325px; }
    .program_box01 div.program02 {
      z-index: 8;
      background: url("../images/program/program02_sp.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 325/755;
      max-width: 325px;
      margin: -15px auto 0; }
    .program_box01 div.program03 {
      background: url("../images/program/program03_sp.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 325/675;
      max-width: 325px;
      margin: -15px auto 40px; }
    .program_box01 div.program04 {
      background: url("../images/program/program04_sp.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 325/675;
      max-width: 325px; }

  .program_box02 {
    width: calc(100% - 30px);
    border-radius: 30px;
    padding: 40px 15px 40px; }
    .program_box02 h2 {
      aspect-ratio: 325/104;
      width: 100%;
      margin: 0 auto 10px;
      height: auto;
      background: url("../images/program/ttl_program03_sp.svg") left center no-repeat;
      background-size: contain; }
    .program_box02 div.program05 {
      z-index: 10;
      background: url("../images/program/program05_sp.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 325/621;
      width: 100%;
      max-width: 325px; } }
/*max-width:480px*/
