.l-section {
  margin-bottom: 47px;
}
@media screen and (max-width: 768px) {
  .l-section {
    margin-bottom: 41px; 
    padding: 0 30px;
  }
}
.l-section-map {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .l-section-map {
    padding: 56px 30px;
  }
}

.section_title {
  margin-bottom: 36px;
  text-align: center; 
  color: #0395dd;
  font-size: 36px;
}
@media screen and (max-width: 768px) {
  .section_title {
    margin-bottom: 13px; 
    font-size: 28px;
  }
}

.sub-title {
  color: #0395dd;
  font-size: 26px;
}
@media screen and (max-width: 768px) {
  .sub-title {
    font-size: 20px;
  }
}

.content-lg {
  margin: 0 auto; 
  max-width: 1120px;
}

.content-md {
  margin: 0 auto; 
  max-width: 840px;
}

@media screen and (max-width: 768px) {
  .section-txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  br.pc {
    display: none;
  }
}

br.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  br.sp {
    display: block;
  }
}

/* --------------------------------
   header
-------------------------------- */
.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page-title {
  color: #01427b;
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page-title {
    text-align: right; 
    font-size: 15px;
    line-height: 1;
  }
}

.table-list-wrap {
  border: 1px solid #d0d0d0;
}

.table-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; 
  border-bottom: 1px solid #d0d0d0;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .table-list {
    font-size: 12px;
  }
}
.table-list:last-of-type {
  border-bottom: none;
}
.table-list dt {
  padding: 12px 20px;
  border-right: 1px solid #d0d0d0;
  width: 25%; 
  background-color: #e6e6e6;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .table-list dt {
    width: 36%;
  }
}
.table-list dd {
  padding: 12px 20px;
  width: 75%;
}
@media screen and (max-width: 768px) {
  .table-list dd {
    padding: 12px; 
    width: 64%;
  }
}
.table-list dd span {
  display: block;
}

.lead_page {
  margin-bottom: 58px;
}
@media screen and (max-width: 768px) {
  .lead_page {
    margin-bottom: 37px;
  }
}

.lead_page_title {
  margin: 74px 0 18px;
}
@media screen and (max-width: 768px) {
  .lead_page_title {
    margin: 40px 0 22px;
  }
}

.lead-txt + .lead-txt {
  margin-top: 36px;
}
@media screen and (max-width: 768px) {
  .lead-txt + .lead-txt {
    margin-top: 28px;
  }
}

.mv {
  text-align: center;
}
.mv img {
  width: 100%;
}

/* --------------------------------
   program
-------------------------------- */
.program {
  margin-bottom: 73px;
}
@media screen and (max-width: 768px) {
  .program {
    margin-bottom: 45px;
  }
}

.program_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto 74px; 
  max-width: 1050px;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .program_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 auto 40px;
  }
}

.program_list_item {
  position: relative; 
  padding: 40px 0 0 90px;
  width: calc(50% - 4px);
  height: 190px;
}
.program_list_item:nth-child(even) {
  padding: 40px 0 0 180px;
}
@media screen and (max-width: 768px) {
  .program_list_item:nth-child(even) {
    padding: 20px;
  }
}
.program_list_item:nth-child(1) {
  border-top-left-radius: 18px; 
  background-color: #f7ebec;
}
.program_list_item:nth-child(2) {
  margin-left: 4px; 
  background-color: #edf8dc;
}
.program_list_item:nth-child(3) {
  margin-top: 4px; 
  background-color: #fffce0;
}
.program_list_item:nth-child(4) {
  margin-top: 4px;
  margin-left: 4px; 
  background-color: #e8fdff;
}
@media screen and (max-width: 768px) {
  .program_list_item {
    margin-bottom: 10px; 
    padding: 20px;
    border-top-left-radius: 18px;
    border-bottom-right-radius: 18px;
    width: 100%;
    height: auto;
  }
}

.program_list_item_title {
  position: absolute; 
  width: 150px;
  height: 150px;
}
@media screen and (max-width: 768px) {
  .program_list_item_title {
    position: static;
    margin-bottom: 5px; 
    width: auto;
    height: auto;
  }
}

.program_list_item_title-1 {
  right: 0;
  bottom: 0;
  border-top: 4px solid #fff; 
  border-left: 4px solid #fff;
  border-top-left-radius: 100%;
  background-color: #f2666a;
}
@media screen and (max-width: 768px) {
  .program_list_item_title-1 {
    border: none;
    background-color: transparent;
    text-align: center;
  }
}

.program_list_item_title-2 {
  left: 0;
  bottom: 0;
  border-top: 4px solid #fff; 
  border-right: 4px solid #fff;
  border-top-right-radius: 100%;
  background-color: #b5db2f;
}
@media screen and (max-width: 768px) {
  .program_list_item_title-2 {
    border: none;
    background-color: transparent;
    text-align: center;
  }
}

.program_list_item_title-3 {
  top: 0;
  right: 0;
  border-bottom: 4px solid #fff; 
  border-left: 4px solid #fff;
  border-bottom-left-radius: 100%;
  background-color: #e9db3c;
}
@media screen and (max-width: 768px) {
  .program_list_item_title-3 {
    border: none;
    background-color: transparent;
    text-align: center;
  }
}

.program_list_item_title-4 {
  top: 0;
  left: 0;
  border-right: 4px solid #fff;
  border-bottom: 4px solid #fff; 
  border-bottom-right-radius: 100%;
  background-color: #31bbe9;
}
@media screen and (max-width: 768px) {
  .program_list_item_title-4 {
    border: none;
    background-color: transparent;
    text-align: center;
  }
}

.program_list_item_title_inner {
  position: relative;
  height: 100%;
}
.program_list_item_title_inner span {
  position: absolute;
  margin: auto;
  height: 50%;
  text-align: center;
  color: #fff;
  font-size: 30px;
  font-weight: bold; 
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .program_list_item_title_inner span {
    position: static;
    font-size: 15px;
  }
}
.program_list_item-1 .program_list_item_title_inner span {
  right: 30px;
  bottom: 13px;
}
@media screen and (max-width: 768px) {
  .program_list_item-1 .program_list_item_title_inner span {
    color: #f2666a;
  }
}
.program_list_item-2 .program_list_item_title_inner span {
  bottom: 13px;
  left: 30px;
}
@media screen and (max-width: 768px) {
  .program_list_item-2 .program_list_item_title_inner span {
    color: #86a223;
  }
}
.program_list_item-3 .program_list_item_title_inner span {
  top: 23px; 
  right: 30px;
}
@media screen and (max-width: 768px) {
  .program_list_item-3 .program_list_item_title_inner span {
    color: #b6ab2f;
  }
}
.program_list_item-4 .program_list_item_title_inner span {
  top: 24px; 
  left: 30px;
}
@media screen and (max-width: 768px) {
  .program_list_item-4 .program_list_item_title_inner span {
    color: #2aa1c9;
  }
}

.program_list_item_attention {
  display: block;
  margin-top: 4px; 
  font-size: 12px;
}

.link-btn {
  display: block;
  margin: 0 auto;
  border: 2px solid #01427b;
  max-width: 350px;
  height: 56px;
  text-align: center;
  color: #01427b; 
  font-weight: bold;
  line-height: 56px;
}
.link-btn:hover {
  text-decoration: none;
}

/* --------------------------------
   flow
-------------------------------- */
.flow .sub-title {
  margin-bottom: 20px;
}

.flow_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 52px; 

  -webkit-box-pack: justify; 

      -ms-flex-pack: justify; 

          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .flow_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.flow_list_item {
  width: 400px;
}
@media screen and (max-width: 768px) {
  .flow_list_item {
    width: 100%;
  }
  .flow_list_item + .flow_list_item {
    margin-top: 35px;
  }
}
.flow_list_item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 12px 0 12px 34px; 
  border-bottom: 1px solid #d5d5d5;
}
@media screen and (max-width: 768px) {
  .flow_list_item dl {
    font-size: 12px;
  }
}
.flow_list_item dl dt {
  width: 20%;
}
.flow_list_item dl:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -8px;
  left: 44px;
  border-width: 8px 7px 0 7px;
  border-style: solid;
  border-color: #01427b transparent transparent transparent; 
  width: 0;
  height: 0;
}
.flow_list_item dl:last-of-type {
  border-bottom: none;
}
.flow_list_item dl:last-of-type:after {
  display: none;
}
.flow_list_item-right dl:after {
  border-color: #da0239 transparent transparent transparent;
}

.flow_list_item_title {
  margin-bottom: 13px; 
  padding: 12px 0 12px 28px;
  border-radius: 3px 3px 3px 3px;
  color: #fff;
  font-size: 24px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .flow_list_item_title {
    margin-bottom: 4px; 
    padding: 9px 0 9px 24px;
    font-size: 15px;
  }
}
.flow_list_item_title-left {
  background-color: #01427b;
}
.flow_list_item_title-right {
  background-color: #da0239;
}

.flow-box + .flow-box {
  margin-top: 70px;
}

.img-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 140px auto 120px;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;
}
.img-list-2 {
  margin: 45px auto 120px;
}
@media screen and (max-width: 768px) {
  .img-list {
    margin: 45px auto;
    padding: 0 30px; 

    -ms-flex-wrap: wrap; 

        flex-wrap: wrap;
  }
  .img-list li {
    margin-bottom: 15px; 
    width: 47.619%;
  }
  .img-list-2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .img-list-2 li {
    width: 100%;
  }
}

/* --------------------------------
   programDetail
-------------------------------- */
.card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto; 
  max-width: 1120px;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .card-list {
    font-size: 12px;
  }
}

.card-list-item {
  margin-bottom: 40px; 
  padding: 70px 30px;
  border-top-left-radius: 36%;
  border-bottom-right-radius: 36%;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .card-list-item {
    margin-bottom: 15px; 
    padding: 20px 20px;
    border-top-left-radius: 18%;
    border-bottom-right-radius: 18%;
  }
  .card-list-item p {
    font-size: 12px;
  }
}
.card-list-item-col3 {
  width: 350px;
}
.card-list-item-col2 {
  width: 530px;
}
.card-list-item:nth-child(1) {
  background-color: #e6549f;
}
.card-list-item:nth-child(2) {
  background-color: #fbaa32;
}
.card-list-item:nth-child(3) {
  background-color: #02a7a2;
}
.card-list-item:nth-child(4) {
  background-color: #8e3faf;
}
.card-list-item:nth-child(5) {
  background-color: #f34c4b;
}
.card-list-item:nth-child(6) {
  background-color: #4f30e6;
}
.card-list-item:nth-child(7) {
  background-color: #1e9efb;
}
.card-list-item:nth-child(8) {
  background-color: #00a761;
}

.card-list-item-title {
  margin-bottom: 35px; 
  text-align: center;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .card-list-item-title {
    margin-bottom: 18px; 
    font-size: 15px;
  }
}

.contact-box {
  padding-bottom: 30px; 
  border: 1px solid #d0d0d0;
  text-align: center;
  color: #4a4a4a;
}
@media screen and (max-width: 768px) {
  .contact-box {
    margin: 0 30px;
    padding-bottom: 26px;
  }
}

.contact-box-title {
  padding: 12px;
  background-color: #e6e6e6;
  font-size: 18px;
  font-weight: bold;
}

.contact-box-lead {
  margin: 32px auto 40px;
  font-size: 24px;
  font-weight: bold; 
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .contact-box-lead {
    margin: 16px auto 12px; 
    font-size: 18px;
  }
}
.contact-box-lead span {
  font-size: 18px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .contact-box-lead span {
    font-size: 12px;
  }
}

address {
  font-style: normal;
}
@media screen and (max-width: 768px) {
  address {
    font-size: 12px;
  }
}

.contact-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;
}
@media screen and (max-width: 768px) {
  .contact-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.contact-detail-num {
  color: #01427b; 
  font-size: 36px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .contact-detail-num {
    font-size: 18px;
  }
}
.contact-detail-num:first-child {
  margin-right: 25px;
}
@media screen and (max-width: 768px) {
  .contact-detail-num:first-child {
    margin-right: 0;
  }
}
.contact-detail-num span {
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .contact-detail-num span {
    font-size: 12px;
  }
}

.contact-time {
  color: #01427b;
}
@media screen and (max-width: 768px) {
  .contact-time {
    font-size: 10px;
  }
}

.link-evalu-btn {
  margin-bottom: 113px; 
  text-align: center;
}
@media screen and (max-width: 768px) {
  .link-evalu-btn {
    margin: 80px 0;
    font-size: 12px;
    font-weight: bold;
  }
}

.link-evalu {
  position: relative;
  padding-bottom: 20px;
  color: #01427b;
}
.link-evalu:hover {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .link-evalu {
    padding-bottom: 12px;
  }
}
.link-evalu:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  background-color: #01427b;
}

.card-list-inner-item li {
  padding-left: 1em;
  text-indent: -1em;
}