/*
$4ewsColor: 
    /*col01: #238561,
  col02: #67a2b7,
  col03: #d2843e,
  col04: #cf775b,
  col05: #cf9942,
  col06: #926c28,
  col07: #cc7175,
  col08: #608ea1,
  col09: #5b609a,
  col10: #487390,
  col11: #4e9386,
  col12: #79a153,
  col13: #817499
);
*/
/**/
main section {
  position: relative;
  width: 100%;
}
.list_set {
  position: relative;
}
@media screen and (min-width: 769px) {
  .list_set {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .list_set {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 769px) {
  #purpose_sec {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #purpose_sec {
    padding-bottom: 5rem;
  }
}

#vision_sec {
  background: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #vision_sec {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #vision_sec {
    padding-bottom: 8rem;
  }
}

.message_box {
  background: #fff;
  border: 1px solid #0068b2;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .message_box {
    border-radius: 0.6rem;
    width: 84rem;
    padding: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .message_box {
    border-radius: 1.2rem;
    width: 59rem;
    padding: 4rem;
  }
}
.message_box p {
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #0068b2;
}
@media screen and (min-width: 769px) {
  .message_box p {
    line-height: 1.5em;
    font-size: 2rem;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .message_box p {
    line-height: 1.5em;
    font-size: 3.6rem;
  }
}

.message_box_top {
  background: #0068b2;
}
@media screen and (min-width: 769px) {
  .message_box_top {
    border-radius: 0.6rem;
    width: 98rem;
    padding: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .message_box_top {
    border-radius: 1.2rem;
    width: 67rem;
    padding: 4rem;
  }
}
.message_box_top p {
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .message_box_top p {
    letter-spacing: 0.05em;
    line-height: 1.5em;
    font-size: 2.8rem;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .message_box_top p {
    letter-spacing: -0.01em;
    line-height: 1.563em;
    font-size: 4.8rem;
  }
}

#goal_set {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #goal_set {
    padding: 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  #goal_set {
    padding: 4rem 0;
  }
}
#goal_set p.ttl {
  padding-top: 0rem;
  font-weight: 500;
  color: #0068b1;
}
@media screen and (min-width: 769px) {
  #goal_set p.ttl {
    line-height: 1.5em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  #goal_set p.ttl {
    line-height: 1.5em;
    font-size: 4.4rem;
  }
}
#goal_set .goal_box {
  background: #fff;
  border: 1px solid #0068b2;
}
@media screen and (min-width: 769px) {
  #goal_set .goal_box {
    border-radius: 0.5rem;
    width: 70rem;
    margin: 1rem auto;
    padding: 1.5rem 0 3rem;
  }
}
@media screen and (max-width: 768px) {
  #goal_set .goal_box {
    border-radius: 1.2rem;
    width: 67rem;
    margin: 2rem auto;
    padding: 3rem 0;
  }
}
#goal_set .goal_box p.sub {
  background: #0068b2;
  margin: 0 auto;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  #goal_set .goal_box p.sub {
    border-radius: 2.4rem;
    width: 15rem;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  #goal_set .goal_box p.sub {
    border-radius: 4.6rem;
    width: 26rem;
    line-height: 1.643em;
    font-size: 2.8rem;
  }
}
#goal_set .goal_box .goals {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  #goal_set .goal_box .goals {
    margin-top: 2rem;
    padding-right: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  #goal_set .goal_box .goals {
    margin-top: 2.5rem;
    padding: 0 1rem;
  }
}
#goal_set .goal_box .goals p {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.3em;
}
@media screen and (min-width: 769px) {
  #goal_set .goal_box .goals p {
    row-gap: 0.8em;
    line-height: 1.3em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #goal_set .goal_box .goals p {
    flex-direction: column;
    row-gap: 0.4em;
    line-height: 1.3em;
    font-size: 3.2rem;
  }
}
#goal_set .goal_box .goals p span {
  translate: 0 -16%;
}
@media screen and (max-width: 768px) {
  #goal_set .goal_box .goals p span:first-of-type {
    width: 100%;
  }
}
#goal_set .goal_box .goals p strong {
  color: #0068b2;
}
@media screen and (min-width: 769px) {
  #goal_set .goal_box .goals p strong {
    font-size: 1.8em;
  }
}
@media screen and (max-width: 768px) {
  #goal_set .goal_box .goals p strong {
    font-size: 1.875em;
  }
}
#goal_set .goal_box .goals p + p {
  border-left: 1px solid #cfcfcf;
}
@media screen and (min-width: 769px) {
  #goal_set .goal_box .goals p + p {
    margin-left: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #goal_set .goal_box .goals p + p {
    margin-left: 3rem;
    padding-left: 3rem;
  }
}

#next_table1 .data_set table tr th,
#next_table1 .data_set table tr td {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  #next_table1 .data_set table tr th,
  #next_table1 .data_set table tr td {
    width: 20%;
  }
}

table th.bg_blur {
  background: #0068b2;
  color: #fff;
}

table td.bg_sky {
  background: #e6f1f7;
  color: #0068b2;
}
@media screen and (min-width: 769px) {
  table td.bg_sky {
    padding-left: 0;
    padding-right: 0;
  }
}

table td.bg_sky span,
table td sup {
  position: relative;
  display: inline-block;
  font-size: 65%;
  transform: translateY(-5%);
}

table td.bg_gr,
table th.bg_gr {
  background: #f6f6f6;
  color: #333333;
}

@media screen and (min-width: 769px) {
  .scroll_table_set {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .scroll_table_set {
    margin-top: 4rem;
  }
}

.scroll_table_set table tr th,
.scroll_table_set table tr td,
.clone_box table tr th,
.clone_box table tr td {
  text-align: center;
  vertical-align: middle;
}

@media screen and (min-width: 769px) {
  .scroll_table_set table tr th:nth-of-type(1),
  .scroll_table_set table tr th:nth-of-type(3) {
    width: 19%;
  }
}

@media screen and (min-width: 769px) {
  .scroll_table_set table tr th:nth-of-type(2) {
    width: 15%;
  }
}
@media screen and (max-width: 768px) {
  .scroll_table_set table tr th:nth-of-type(2) {
    width: 30rem;
  }
}

@media screen and (min-width: 769px) {
  .scroll_table_set table tr th:nth-of-type(4) {
    width: 36%;
  }
}
@media screen and (max-width: 768px) {
  .scroll_table_set table tr th:nth-of-type(4) {
    width: 60rem;
  }
}

@media screen and (min-width: 769px) {
  .scroll_table_set table tr th:nth-of-type(5) {
    width: 21%;
  }
}
@media screen and (max-width: 768px) {
  .scroll_table_set table tr th:nth-of-type(5) {
    width: 50rem;
  }
}

@media screen and (max-width: 768px) {
  .scroll_table_set table,
  .clone_box table {
    width: 230rem;
  }
}

@media screen and (max-width: 768px) {
  .scroll_table_set table th:first-of-type,
  .clone_box table th:first-of-type {
    width: 25rem !important;
    white-space: normal !important;
  }
}

@media screen and (max-width: 768px) {
  .clone_table_set .clone_box {
    width: 25.2rem !important;
  }
}

.clone_table_set .clone_box table th:first-of-type {
  opacity: 1 !important;
  border: #cfcfcf 1px solid !important;
}

.cap {
  position: relative;
  color: #8a8a8a;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .cap {
    line-height: 1.667em;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .cap {
    line-height: 1.667em;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    padding-top: 2rem;
    padding-left: 4.8rem;
    text-indent: -4.8rem;
  }
}

.measures_set {
  position: relative;
  width: 100%;
}

.measures_box {
  position: relative;
  background: #f7f7f7;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .measures_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3rem 4rem 3rem 0;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .measures_box {
    padding: 5rem 4rem;
    margin-top: 4rem;
  }
}

.measures_box:first-of-type {
  margin-top: 0 !important;
}

.measures_box dt {
  position: relative;
}
@media screen and (min-width: 769px) {
  .measures_box dt {
    width: 42rem;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .measures_box dt {
    padding-bottom: 4rem;
    text-align: center;
  }
}
.measures_box dt p {
  font-weight: 500;
  color: #0068b1;
}
@media screen and (min-width: 769px) {
  .measures_box dt p {
    line-height: 1.5em;
    font-size: 2.2rem;
    padding: 0 4rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  .measures_box dt p {
    line-height: 1.5em;
    font-size: 4rem;
    padding-bottom: 4rem;
  }
}
.measures_box dt figure {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .measures_box dt figure {
    width: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .measures_box dt figure {
    width: 30rem;
  }
}

.measures_box dd {
  position: relative;
}
@media screen and (min-width: 769px) {
  .measures_box dd {
    width: 66.5%;
    max-width: 74rem;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .measures_box dd {
    width: 100%;
    text-align: left;
  }
}

.measures_box .general_indent_list,
.measures_box .general_indent_list li:first-of-type {
  padding-top: 0;
}

.vision_set {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .vision_set {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0 2.6%;
  }
}
@media screen and (max-width: 768px) {
  .vision_set {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6rem;
  }
}

.vision_box {
  position: relative;
}
@media screen and (min-width: 769px) {
  .vision_box {
    display: flex;
    flex-direction: column;
    width: 31.6%;
    max-width: 38rem;
  }
}
@media screen and (max-width: 768px) {
  .vision_box {
    width: 100%;
  }
}

.vision_box dt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .vision_box dt {
    flex-shrink: 0;
    height: 10rem;
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .vision_box dt {
    min-height: 18rem;
    padding: 2rem 0;
  }
}
.vision_box dt p {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .vision_box dt p {
    line-height: 1.2em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .vision_box dt p {
    line-height: 1.2em;
    font-size: 4rem;
  }
}
.vision_box dt .s_font {
  display: block;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .vision_box dt .s_font {
    padding-top: 0.4rem;
    line-height: 1.5em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .vision_box dt .s_font {
    padding-top: 0.8rem;
    line-height: 1.5em;
    font-size: 2.4rem;
  }
}

#vision1 dt {
  background: #80b3d8;
}

#vision2 dt {
  background: #4d95c8;
}

#vision3 dt {
  background: #0068b2;
}

#vision1::before,
#vision2::before {
  content: "";
  position: absolute;
}
@media screen and (min-width: 769px) {
  #vision1::before,
  #vision2::before {
    left: 100%;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 5rem solid transparent;
    border-bottom: 5rem solid transparent;
    border-left: 3rem solid #80b3d8;
    border-right: 0;
  }
}
@media screen and (max-width: 768px) {
  #vision1::before,
  #vision2::before {
    left: 50%;
    transform: translateX(-50%);
    top: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 6rem solid transparent;
    border-left: 6rem solid transparent;
    border-top: 4rem solid #80b3d8;
    border-bottom: 0;
  }
}

@media screen and (min-width: 769px) {
  #vision2::before {
    border-left: 3rem solid #4d95c8;
  }
}
@media screen and (max-width: 768px) {
  #vision2::before {
    border-top: 4rem solid #4d95c8;
  }
}

.vision_box dd {
  position: relative;
  width: 100%;
  border: #cfcfcf 1px solid;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .vision_box dd {
    height: 100%;
    padding: 3rem 4rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .vision_box dd {
    padding: 5rem 6rem 6rem;
  }
}
@media screen and (min-width: 769px) {
  .vision_box dd .data_set {
    margin-top: 1.5rem;
  }
}

#vision3 dd {
  border: #0068b2 0.4rem solid !important;
  transform: translateY(-0.4rem);
}

.vision_box .data_set,
.vision_box .data_set table {
  width: 100%;
}

.vision_box .data_set table td,
.vision_box .data_set table th {
  vertical-align: middle;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .vision_box .data_set table td,
  .vision_box .data_set table th {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .vision_box .data_set table td,
  .vision_box .data_set table th {
    width: 27.5rem;
  }
}

@media screen and (min-width: 769px) {
  .vision_box .txt_box {
    min-height: 13.6rem;
  }
}
@media screen and (max-width: 768px) {
  .vision_box .txt_box {
    margin-bottom: 4rem;
  }
}
.vision_box .txt_box p.ttl {
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .vision_box .txt_box p.ttl {
    line-height: 1.5em;
    font-size: 2rem;
    padding-bottom: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .vision_box .txt_box p.ttl {
    line-height: 1.5em;
    font-size: 4rem;
    padding-bottom: 1rem;
  }
}

#vision3 .txt_box .general_txt {
  font-weight: 500;
  color: #0068b2 !important;
}

@media screen and (min-width: 769px) {
  .vision_box .data_set {
    min-height: 27.6rem;
  }
}
@media screen and (max-width: 768px) {
  .data_set table {
    display: table !important;
    border: none !important;
  }
}

@media screen and (max-width: 768px) {
  .data_set table td,
  .data_set table th {
    border: #cfcfcf 1px solid !important;
    display: table-cell !important;
  }
}

@media screen and (min-width: 769px) {
  .vision_box dt .plus {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .vision_box dt .plus {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3rem;
    background: #fff;
    border-radius: 50%;
    transition: 0.4s ease-in-out;
    width: 6rem;
    height: 6rem;
  }
}

.vision_box dt .plus:before,
.vision_box dt .plus:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #0068b2;
  transition: 0.4s ease-in-out;
  width: 2.4rem;
  height: 0.4rem;
}

.vision_box dt .plus:after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.vision_box.active dt .plus:after {
  transform: translate(-50%, -50%) rotate(0);
}

@media screen and (max-width: 768px) {
  #vision1 dt,
  #vision2 dt {
    cursor: pointer;
  }
}

@media screen and (min-width: 769px) {
  #vision1 dd,
  #vision2 dd {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  #vision1 dd,
  #vision2 dd {
    display: none;
  }
}