@charset "UTF-8";
/*====================================================================================
1. START MAIN VISUAL SECTION.
====================================================================================*/
.main_mv {
  background: var(--bg-main);
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main_mv {
    margin-top: var(--headerH);
    padding-bottom: 5.5rem;
    height: calc(100vh - var(--headerH));
  }
}
@media only screen and (max-width: 767px) {
  .main_mv {
    padding-bottom: 3rem;
  }
}
.main_mv:after {
  clear: both;
  display: block;
  content: "";
}
@media only screen and (min-width: 768px) {
  .main_mv .slide_mv {
    width: calc(100% - 43.5rem);
    float: right;
    border-radius: 6rem 0 0 6rem;
    overflow: hidden;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv .slide_mv {
    width: calc(100% - 10rem);
    float: right;
    height: 17rem;
    border-radius: 3rem 0 0 3rem;
    overflow: hidden;
    margin-top: 3rem;
  }
}
.main_mv .slide_mv .splide__track {
  height: 100%;
}
.main_mv .slide_mv .splide__slide {
  width: 100%;
  height: 100%;
  position: relative;
}
.main_mv .slide_mv .splide__slide img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  display: block;
}
.main_mv .slide_mv img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  .main_mv .slide_mv .splide__pagination {
    gap: 1.2rem;
    bottom: 2.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv .slide_mv .splide__pagination {
    gap: 0.5rem;
    bottom: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .main_mv .slide_mv .splide__pagination li {
    width: 1.2rem;
    height: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv .slide_mv .splide__pagination li {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.main_mv .slide_mv .splide__pagination li button {
  width: 100%;
  height: 100%;
  display: block;
  padding: 0;
  margin: 0;
  opacity: 1;
  background: #f7eeeb;
}
.main_mv .slide_mv .splide__pagination li button.is-active {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  background: #bc9b8c;
}
.main_mv_txt {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .main_mv_txt {
    left: 15.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv_txt {
    left: 1.5rem;
    width: 15rem;
  }
}
.main_mv_txt span {
  font-weight: 500;
  display: block;
  margin-bottom: 0.5rem;
  line-height: 1;
  text-shadow:
    3px 0 0 #fff,
    -3px 0 0 #fff,
    0 3px 0 #fff,
    0 -3px 0 #fff,
    2px 2px 0 #fff,
    -2px -2px 0 #fff,
    2px -2px 0 #fff,
    -2px 2px 0 #fff;
}
@media only screen and (min-width: 768px) {
  .main_mv_txt span {
    font-size: 6.4rem;
    margin-bottom: 4.3rem;
  }
}
@media only screen and (max-width: 1300px) {
  .main_mv_txt span {
    font-size: 4rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv_txt span {
    font-size: 2rem;
    margin-bottom: 1rem;
    line-height: 1;
  }
}

.bg_line {
  width: 100%;
  height: auto;
  display: block;
}

.block01 {
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .block01 .in-block01 {
    padding-top: 5.4rem;
    padding-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .in-block01 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.block01 .in-block01 .icon1 {
  position: absolute;
  z-index: 9;
}
@media only screen and (min-width: 768px) {
  .block01 .in-block01 .icon1 {
    width: 17.2rem;
    height: 21.2rem;
    top: -13.9rem;
    left: 8.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .in-block01 .icon1 {
    width: 7rem;
    top: -2rem;
    left: 2rem;
  }
}
.block01 .in-block01 .icon2 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block01 .in-block01 .icon2 {
    width: 31.9rem;
    height: 21.2rem;
    top: -31.2rem;
    right: -12rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .in-block01 .icon2 {
    width: 11rem;
    height: 7.5rem;
    top: -7rem;
    right: 1rem;
  }
}
.block01 .inner {
  background: #fffbe9;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block01 .inner {
    border-radius: 4rem;
    padding: 3.8rem 8.6rem 5.9rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 24.2rem;
  }
  .block01 .inner .cm-title {
    text-align: left;
    margin: 0;
    width: 28rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-top: 1.5rem;
  }
  .block01 .inner .cm-title .en {
    margin-left: 0.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .inner {
    border-radius: 2rem;
    padding: 2rem;
  }
}
.block01 .inner ul {
  padding: 0;
  width: 100%;
  margin: 0;
}
.block01 .inner ul li {
  list-style-type: none;
  padding: 0;
}
.block01 .inner ul a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  border-bottom: 0.1rem dotted #b2aba4;
}
@media only screen and (min-width: 768px) {
  .block01 .inner ul a {
    padding: 2.2rem 2.1rem 2.1rem;
  }
  .block01 .inner ul a:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .inner ul a {
    padding: 1.5rem 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.block01 .inner ul a .date {
  font-size: 1.4rem;
  color: #9b9b9b;
  font-weight: 700;
  width: 8.8rem;
}
.block01 .inner ul a .cat {
  width: auto;
  min-width: 8.5rem;
  height: auto;
  min-height: 2rem;
  padding: 0.15rem 0.8rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
  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;
  border-radius: 1rem;
  font-size: 1.2rem;
  background: #5ebfe5;
  color: #fff;
  margin-top: 0.3rem;
}
.block01 .inner ul a p {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
}
@media only screen and (min-width: 768px) {
  .block01 .inner ul a p {
    margin: -0.3rem 0 0 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .inner ul a p {
    width: 100%;
    margin: 1rem 0 0;
    flex: auto;
  }
}
.block01 .inner .block01_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  font-weight: 500;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .block01 .inner .block01_btn {
    position: absolute;
    left: 8.9rem;
    top: 17.7rem;
  }
  .block01 .inner .block01_btn:hover span {
    background: #4f3b17;
  }
  .block01 .inner .block01_btn:hover span:before {
    background: #f0e7e3;
  }
  .block01 .inner .block01_btn:hover span:after {
    border: solid #f0e7e3;
    border-width: 0 0.1rem 0.1rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .inner .block01_btn {
    margin: 2rem 0 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
.block01 .inner .block01_btn span {
  border: 1px solid #5ebfe5;
  background: #5ebfe5;
  border-radius: 50%;
  display: block;
  position: relative;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (min-width: 768px) {
  .block01 .inner .block01_btn span {
    width: 5.4rem;
    height: 5.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .inner .block01_btn span {
    width: 3rem;
    height: 3rem;
  }
}
.block01 .inner .block01_btn span:before {
  content: "";
  width: 1.4rem;
  height: 0.1rem;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.block01 .inner .block01_btn span:after {
  content: "";
  border: solid #fff;
  border-width: 0 0.1rem 0.1rem 0;
  display: inline-block;
  padding: 0.4rem;
  position: absolute;
  margin-left: 0.1rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

.block02 {
  background: #b9e3f5;
  text-align: center;
  color: #000;
}
.block02 .in-block02 {
  display: block;
}
@media only screen and (min-width: 768px) {
  .block02 .in-block02 {
    margin-top: -1.7rem;
    padding-bottom: 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02 .in-block02 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.block02 .icon1 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block02 .icon1 {
    width: 7.3rem;
    height: 14rem;
    left: 16.9rem;
    top: -5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02 .icon1 {
    width: 4rem;
    height: 7.5rem;
    left: 3rem;
    top: -5rem;
  }
}
.block02 .icon2 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block02 .icon2 {
    width: 12.5rem;
    height: 15.1rem;
    right: 11.7rem;
    top: -11rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02 .icon2 {
    width: 7rem;
    height: 8.7rem;
    right: 2rem;
    top: -3rem;
  }
}
.block02 .txt {
  text-align: center;
  line-height: 1.6666666667;
}
@media only screen and (min-width: 768px) {
  .block02 .txt {
    font-size: 2.4rem;
    margin: 2.8rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .block02 .txt {
    font-size: 1.5rem;
    margin: 0;
  }
}
.block02-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .block02-list {
    gap: 4.5rem;
    margin-top: 4.6rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02-list {
    margin-top: 2rem;
    gap: 4rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-right: 2rem;
    margin-bottom: 3rem;
  }
}
.block02-list .item {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block02-list .item {
    width: calc(33.3333333333% - 3rem);
    padding-bottom: 3.5rem;
  }
  .block02-list .item:nth-child(2) {
    margin-top: 4.1rem;
  }
  .block02-list .item:nth-child(3) {
    margin-top: 8.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02-list .item {
    width: 100%;
    padding-bottom: 3.5rem;
  }
}
.block02-list .item .img {
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .block02-list .item .img {
    border-radius: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02-list .item .img {
    border-radius: 2rem;
  }
}
.block02-list .item .img img {
  display: block;
  width: 100%;
}
.block02-list .item p {
  width: 22rem;
  height: 6.6rem;
  border-radius: 0 4rem 4rem 2rem;
  background: #fff;
  right: -2rem;
  bottom: 0;
  position: absolute;
  font-weight: 700;
  line-height: 1.625;
  text-align: center;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .block02-list .item p {
    padding-top: 0.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02-list .item p {
    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;
  }
}

.block03 {
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .block03 {
    margin-top: -4rem;
  }
}
.block03 .icon1 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block03 .icon1 {
    top: -21.5rem;
    left: -7.5rem;
    width: 33.9rem;
    height: 20.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03 .icon1 {
    top: -5.3rem;
    left: 0rem;
    width: 15rem;
    height: 9.3rem;
  }
}
.block03 .icon2 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block03 .icon2 {
    top: 3.9rem;
    left: 23.8rem;
    width: 12.4rem;
    height: 15.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03 .icon2 {
    top: 2.6rem;
    left: 3rem;
    width: 5rem;
    height: 6.3rem;
  }
}
.block03 .icon3 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block03 .icon3 {
    top: 7.6rem;
    right: 30.1rem;
    width: 9.4rem;
    height: 12.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03 .icon3 {
    top: -0.4rem;
    right: 5rem;
    width: 4rem;
    height: 5.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .block03 .in-block03 {
    padding-top: 9.4rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03 .in-block03 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.block03_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .block03_list {
    gap: 6rem;
    margin-top: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03_list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem;
  }
}
.block03_list .item {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .block03_list .item {
    width: calc(50% - 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .block03_list .item {
    width: 100%;
  }
}
.block03_list .item .img {
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .block03_list .item .img {
    border-radius: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03_list .item .img {
    border-radius: 2rem;
  }
}
.block03_list .item .img img {
  width: 100%;
  display: block;
}
.block03_list .item .ttl {
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .block03_list .item .ttl {
    font-size: 2.4rem;
    margin: 1.5rem 0 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03_list .item .ttl {
    font-size: 1.8rem;
    margin: 1rem 0 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .block03_list .item p {
    margin: 0 0 2rem;
    padding: 0 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03_list .item p {
    margin: 0 0 1rem;
    padding: 0 2rem;
  }
}

.block04 {
  background: #fef198;
}
.block04 .icon1 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block04 .icon1 {
    width: 16.6rem;
    height: 22.7rem;
    top: -11.1rem;
    left: 1.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .block04 .icon1 {
    width: 7rem;
    height: 9.8rem;
    top: -5rem;
    left: 1.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .block04 .in-block03 {
    padding-bottom: 5rem;
    padding-top: 5.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block04 .in-block03 {
    padding: 3rem 1.2rem;
  }
}
.block04 .item {
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .block04 .item {
    height: 38.5rem;
    padding: 6rem 10.7rem;
    border-radius: 9rem;
  }
}
@media only screen and (max-width: 767px) {
  .block04 .item {
    border-radius: 3rem;
    padding: 2rem;
    text-align: center;
  }
}
.block04 .item:after {
  content: "";
  clear: both;
  display: block;
}
.block04 .item .item_ct {
  text-align: center;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .block04 .item .item_ct {
    width: 46.4rem;
  }
}
.block04 .item .ttl {
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .block04 .item .ttl {
    font-size: 3.2rem;
    margin: 0 0 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .block04 .item .ttl {
    font-size: 2.4rem;
    margin: 0 0 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .block04 .item p {
    margin: 0 0 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .block04 .item p {
    margin: 0 0 2rem;
  }
}
.block04 .item.item1 {
  background: url(../images/banner1.webp) no-repeat center center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .block04 .item.item1 .item_ct {
    float: right;
  }
}
.block04 .item.item2 {
  background: url(../images/banner2.webp) no-repeat center center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .block04 .item.item2 {
    margin-top: 5rem;
    padding: 7.6rem 11.3rem;
  }
  .block04 .item.item2 .item_ct {
    float: left;
  }
}
@media only screen and (max-width: 767px) {
  .block04 .item.item2 {
    margin-top: 2rem;
  }
}

.block05 {
  background: #fff;
}
.block05 .in-block05 {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block05 .in-block05 {
    padding-bottom: 9rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .in-block05 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.block05 .in-block05 .icon1 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block05 .in-block05 .icon1 {
    width: 17.2rem;
    height: 21.2rem;
    top: -28rem;
    right: 3.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .in-block05 .icon1 {
    width: 8rem;
    height: 10.1rem;
    top: -6rem;
    right: 0rem;
  }
}
.block05 .in-block05 .icon2 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block05 .in-block05 .icon2 {
    width: 20.6rem;
    height: 18.5rem;
    top: -15rem;
    left: -10.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .in-block05 .icon2 {
    width: 10rem;
    height: 9.2rem;
    top: -5rem;
    left: 1rem;
  }
}
.block05 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .block05 .inner {
    gap: 3.6rem 3rem;
    padding-top: 6.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .inner {
    gap: 3rem;
  }
}
.block05 .item {
  text-decoration: none;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block05 .item {
    padding: 3.4rem 2.5rem 6rem;
    width: calc(33.3333333333% - 2rem);
    height: 35.5rem;
  }
  .block05 .item:hover .icon {
    background: var(--co-main);
  }
  .block05 .item:hover .icon:before {
    background: #fff;
  }
  .block05 .item:hover .icon:after {
    border: solid #fff;
    border-width: 0 0.1rem 0.1rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .item {
    width: 100%;
    padding: 3rem 2rem;
  }
}
.block05 .item .title {
  font-weight: 500;
  margin: 0 0 1rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .block05 .item .title {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .item .title {
    font-size: 2rem;
  }
}
.block05 .item .title span {
  display: block;
}
.block05 .item .ct {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .block05 .item .ct {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .item .ct {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .block05 .item .ct .img {
    width: 28rem;
    height: 20rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 4rem;
    overflow: hidden;
    position: relative;
  }
  .block05 .item .ct .img img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .item .ct .img {
    width: 100%;
    border-radius: 2rem;
    overflow: hidden;
  }
  .block05 .item .ct .img img {
    width: 100%;
    display: block;
  }
}
.block05 .item .ct p {
  width: 100%;
  text-align: left;
  margin: 0;
}
.block05 .item .icon {
  background: #fff;
  border-radius: 50%;
  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;
  position: absolute;
  right: 0;
  bottom: -0.1rem;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media only screen and (min-width: 768px) {
  .block05 .item .icon {
    width: 5.4rem;
    height: 5.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .item .icon {
    width: 4rem;
    height: 4rem;
  }
}
.block05 .item .icon:before {
  content: "";
  width: 1.4rem;
  height: 0.1rem;
  background: var(--co-main);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.block05 .item .icon:after {
  content: "";
  border: solid #4f3b17;
  border-width: 0 0.1rem 0.1rem 0;
  display: inline-block;
  padding: 0.4rem;
  position: absolute;
  margin-left: 0.1rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.block05 .item1 {
  background: url(../images/bg1.webp) no-repeat center center;
  background-size: 100% 100%;
}
@media only screen and (min-width: 768px) {
  .block05 .item1 {
    padding: 4.6rem 4.5rem 6rem;
    width: calc(50% - 2.5rem);
    height: 37.8rem;
  }
  .block05 .item1 .title {
    margin: 0 0 2rem;
  }
  .block05 .item1 .icon {
    bottom: 0.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .item1 {
    width: 100%;
  }
}
.block05 .item2 {
  background: url(../images/bg2.webp) no-repeat center center;
  background-size: 100% 100%;
}
@media only screen and (min-width: 768px) {
  .block05 .item2 {
    padding: 4.6rem 4.5rem 6rem;
    width: calc(50% - 2.5rem);
    height: 37.8rem;
    margin-left: 2rem;
  }
  .block05 .item2 .title {
    margin: 0 0 2rem;
  }
  .block05 .item2 .icon {
    bottom: 0.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .item2 {
    width: 100%;
  }
}
.block05 .item3 {
  background-image: url("data:image/svg+xml,%3Csvg width='361' height='355' viewBox='0 0 361 355' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.264311 101.398C0.26431 129.705 -0.929179 140.268 1.7561 170.265C3.13979 185.722 8.32041 219.274 4.14309 242.511C0.860964 256.876 -0.332516 270.396 0.860969 291.943C5.93336 333.347 32.1904 338.417 35.4725 340.53C54.5685 342.642 59.3425 341.58 75.4548 348.98C101.951 361.147 120.609 351.937 129.759 346.867C137.875 341.797 150.248 341.375 155.419 341.797H217.482C225.836 341.797 249.706 345.6 272.084 344.332L315.349 345.6C350.557 341.797 360.204 306.167 361 287.296V264.058L359.807 237.441L358.911 209.557V188.01L356.823 149.563L355.928 59.9941C354.436 8.87236 333.251 5.06992 317.736 2.53509H303.414L288.793 1.68997L273.576 0C257.464 0 237.672 1.54927 222.256 2.53509C181.975 3.80246 189.434 8.44989 164.371 10.985C116.332 13.5198 73.5651 11.1257 58.149 8.44991C15.6604 4.05598 2.85014 44.0802 1.7561 63.7965L0.264311 101.398Z' fill='%23F1E5E4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
}
@media only screen and (min-width: 768px) {
  .block05 .item3 {
    padding-top: 3rem;
  }
  .block05 .item3 .title {
    line-height: 1.1;
  }
}
.block05 .item4 {
  background-image: url("data:image/svg+xml,%3Csvg width='361' height='355' viewBox='0 0 361 355' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.264311 101.398C0.26431 129.705 -0.929179 140.268 1.7561 170.265C3.13979 185.722 8.32041 219.274 4.14309 242.511C0.860964 256.876 -0.332516 270.396 0.860969 291.943C5.93336 333.347 32.1904 338.417 35.4725 340.53C54.5685 342.642 59.3425 341.58 75.4548 348.98C101.951 361.147 120.609 351.937 129.759 346.867C137.875 341.797 150.248 341.375 155.419 341.797H217.482C225.836 341.797 249.706 345.6 272.084 344.332L315.349 345.6C350.557 341.797 360.204 306.167 361 287.296V264.058L359.807 237.441L358.911 209.557V188.01L356.823 149.563L355.928 59.9941C354.436 8.87236 333.251 5.06992 317.736 2.53509H303.414L288.793 1.68997L273.576 0C257.464 0 237.672 1.54927 222.256 2.53509C181.975 3.80246 189.434 8.44989 164.371 10.985C116.332 13.5198 73.5651 11.1257 58.149 8.44991C15.6604 4.05598 2.85014 44.0802 1.7561 63.7965L0.264311 101.398Z' fill='%23D4ECED'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
}
.block05 .item5 {
  background-image: url("data:image/svg+xml,%3Csvg width='361' height='355' viewBox='0 0 361 355' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.264311 101.398C0.26431 129.705 -0.929179 140.268 1.7561 170.265C3.13979 185.722 8.32041 219.274 4.14309 242.511C0.860964 256.876 -0.332516 270.396 0.860969 291.943C5.93336 333.347 32.1904 338.417 35.4725 340.53C54.5685 342.642 59.3425 341.58 75.4548 348.98C101.951 361.147 120.609 351.937 129.759 346.867C137.875 341.797 150.248 341.375 155.419 341.797H217.482C225.836 341.797 249.706 345.6 272.084 344.332L315.349 345.6C350.557 341.797 360.204 306.167 361 287.296V264.058L359.807 237.441L358.911 209.557V188.01L356.823 149.563L355.928 59.9941C354.436 8.87236 333.251 5.06992 317.736 2.53509H303.414L288.793 1.68997L273.576 0C257.464 0 237.672 1.54927 222.256 2.53509C181.975 3.80246 189.434 8.44989 164.371 10.985C116.332 13.5198 73.5651 11.1257 58.149 8.44991C15.6604 4.05598 2.85014 44.0802 1.7561 63.7965L0.264311 101.398Z' fill='%23E5DEF2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%; /* hoặc contain */
  background-position: center;
}
.block05 .block05-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .block05 .block05-btn {
    gap: 3rem;
    margin-top: 7.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .block05-btn {
    gap: 2rem;
    margin-top: 4rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.block05 .block05-btn a {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .block05 .block05-btn a {
    width: 47rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05 .block05-btn a {
    width: 100%;
    text-align: center;
  }
}

.block06 {
  background: #b9e3f5;
}
.block06 .in-block06 {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block06 .in-block06 {
    margin-top: -1rem;
    padding-bottom: 8.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06 .in-block06 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.block06 .in-block06 .icon1 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block06 .in-block06 .icon1 {
    width: 23.6rem;
    height: 20rem;
    top: -10.2rem;
    left: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06 .in-block06 .icon1 {
    width: 12rem;
    height: 10.4rem;
    top: -7rem;
    left: -1rem;
  }
}
.block06 .in-block06 .icon2 {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block06 .in-block06 .icon2 {
    width: 11.9rem;
    height: 15.1rem;
    top: -10rem;
    right: 16.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06 .in-block06 .icon2 {
    width: 5rem;
    height: 6.5rem;
    top: -3rem;
    right: 2rem;
  }
}
.block06_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .block06_list {
    gap: 2.5rem 5.7rem;
    margin-top: 3.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06_list {
    gap: 3rem;
  }
}
.block06_list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .block06_list .item {
    width: calc(50% - 2.85rem);
  }
}
@media only screen and (max-width: 767px) {
  .block06_list .item {
    width: 100%;
    gap: 2rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.block06_list .item .video {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .block06_list .item .video {
    width: 26rem;
    height: 14.5rem;
    border-radius: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06_list .item .video {
    width: 100%;
    border-radius: 2rem;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    height: 19rem;
  }
}
.block06_list .item .video iframe {
  width: 100%;
  height: 100%;
  display: block;
}
@media only screen and (max-width: 767px) {
  .block06_list .item .ct {
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
@media only screen and (min-width: 768px) {
  .block06_list .item .ttl {
    margin: -0.5rem 0 2.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06_list .item .ttl {
    margin: 0 0 1rem;
  }
}
.block06_list .item .ttl span {
  font-weight: 500;
  line-height: 1.75;
}
@media only screen and (min-width: 768px) {
  .block06_list .item .ttl span {
    font-size: 2.4rem;
    border-bottom: 0.4rem dotted #b2aba4;
  }
}
@media only screen and (max-width: 767px) {
  .block06_list .item .ttl span {
    font-size: 1.8rem;
    border-bottom: 0.2rem dotted #b2aba4;
  }
}
.block06_list .item p {
  margin: 0;
}
