@charset "utf-8";

/*--------------------------------------
　fixed_toc
---------------------------------------*/
.fixed_toc {
  position: fixed;
  top: 20%;
  right: 0;
  width: 280px;
  height: auto;
  z-index: 1;
  transition: all 0.5s ease;
  transform: translateX(100%);
  -ms-transform: translateX(100%);
  -webkit-transform: translateX(100%);
}

.fixed_toc.is-open {
  transform: translateX(0);
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateZ(0);
  -ms-transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

.fixed_toc .fixed_toc_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 100%;
  background: #052c66;
  width: 60px;
  height: 120px;
  padding: 2rem 0 4rem;
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.2em;
  border-radius: 10px 0 0 10px;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-family: "Noto Sans JP vertical";
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 100;
}

.fixed_toc .fixed_toc_ttl::before,
.fixed_toc .fixed_toc_ttl::after {
  content: "";
  position: absolute;
  bottom: 30px;
  left: 50%;
  background: #fff;
  width: 18px;
  height: 2px;
  margin-left: -8px;
  transition: all 0.4s;
}

.fixed_toc .fixed_toc_ttl::after {
  transform: rotate(90deg);
}

.fixed_toc.is-open .fixed_toc_ttl::before {
  display: none;
}

.fixed_toc.is-open .fixed_toc_ttl::after {
  transform: rotate(180deg);
}

.fixed_toc .fixed_toc_block {
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  max-height: calc(100vh - 60rem);
  padding: 3rem 3rem 3rem;
  border: 1px solid #052c66;
  border-radius: 0 0 0 20px;
  border-right: none;
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 99;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.fixed_toc .fixed_toc_block::-webkit-scrollbar {
  display: none;
}

.fixed_toc ul {
  margin: 0 0 0;
}

.fixed_toc ul li {
  padding: 2rem 0 2rem;
  font-size: 1.6rem;
  border-bottom: 1px solid #052c66;
  position: relative;
}

.fixed_toc ul li:first-child {
  padding: 0 0 2rem;
}

.fixed_toc ul li a {
  font-weight: 900;
}

@media screen and (max-width: 768px) {
  .fixed_toc {
    top: 60px;
    right: 0;
    width: calc(100% - 60px);
    height: 62%;
  }

  .fixed_toc .fixed_toc_ttl {
    width: 40px;
    height: 80px;
    padding: 1rem 0 2rem;
    font-size: 1.5rem;
    border-radius: 5px 0 0 5px;
  }

  .fixed_toc .fixed_toc_ttl::before,
  .fixed_toc .fixed_toc_ttl::after {
    bottom: 15px;
    width: 12px;
    height: 1px;
    margin-left: -6px;
  }

  .fixed_toc .fixed_toc_block {
    max-height: calc(100vh - 20.8rem);
    padding: 2.5rem 2rem 2.5rem;
    border: 1px solid #052c66;
    border-radius: 0 0 0 10px;
    border-right: none;
  }

  .fixed_toc ul li {
    padding: 1.5rem 0 1.5rem;
    font-size: 1.4rem;
  }

  .fixed_toc ul li:first-child {
    padding: 0 0 1.5rem;
  }
}


/*--------------------------------------
　MV
---------------------------------------*/
.mv_home {
  width: 100%;
  min-width: 1100px;
  padding: 10rem 3rem 7.5rem;
  position: relative;
  z-index: 0;
}

.mv_home::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("/wp/wp-content/uploads/mv_bg.png") left top no-repeat;
  background-size: contain;
  width: 750px;
  height: 710px;
  box-sizing: border-box;
  z-index: -1;
}

.mv_block {
  max-width: 1580px;
  margin: auto;
}

.mv_txtBox {
  max-width: 50%;
}

.mv_ttl {
  color: #052c66;
  font-size: 3.6vw;
  position: relative;
  line-height: 1.3;
}

.mv_ttl span {
  display: inline-block;
}

.mv_ttl span.l-paren {
  margin-left: -0.5em;
}

.mv_ttl span.r-paren {
  margin-right: -2.2rem;
}

.mv_ttl span.blue {
  background: -webkit-linear-gradient(0deg, #5da7fb, #2378da);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #2378da;
  font-size: 3.8vw;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.mv_ttl span.txt_bold {
  font-size: 6.6rem;
  background: -webkit-linear-gradient(0deg, #1066c9, #4faee0, #e79607);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.mv_txt {
  margin: 3rem 0 0;
  font-size: 1vw;
  line-height: 2;
}

.mv_home p.operation {
  margin: 5rem 0 0;
  color: #888;
  text-align: left;
}

.mv_img_wrap {
  position: absolute;
  top: 100px;
  left: 52%;
  max-width: 50%;
  margin: 0 0 0 auto;
}

.mv_img_left {
  margin: 0 2rem 0 0;
}

.mv_img_right {
  position: absolute;
  top: 0;
  left: 410px;
}

.mv_img_right .mv_img:nth-child(1) {
  margin: 0 0 2rem;
}

.slider-wrapper {
  border-radius: 30px;
  position: relative;
  overflow: hidden;
}

.mv_img01 .slider-wrapper {
  width: 390px;
  height: 610px;
}

.mv_img02 .slider-wrapper {
  width: 300px;
  height: 350px;
}

.mv_img03 .slider-wrapper {
  width: 300px;
  height: 240px;
}

.slider-wrapper .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
  z-index: 1;
}

.slider-wrapper .slide.active {
  opacity: 1;
  z-index: 1;
  animation: parallaxMove 5.5s ease-out forwards;
}

@keyframes parallaxMove {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-15%);
  }
}

.mv_home01 {
  background-image: url("/wp/wp-content/uploads/mv_img01.jpg");
  background-size: 100% auto;
  background-position: center center;
}

.mv_home02 {
  background-image: url("/wp/wp-content/uploads/mv_img02.jpg");
  background-size: 100% auto;
  background-position: center center;
}

.mv_home03 {
  background-image: url("/wp/wp-content/uploads/mv_img03.jpg");
  background-size: 100% auto;
  background-position: center center;
}

.mv_home04 {
  background-image: url("/wp/wp-content/uploads/mv_img04.jpg");
  background-size: 100% auto;
  background-position: center center;
}

.mv_home05 {
  background-image: url("/wp/wp-content/uploads/mv_img05.jpg");
  background-size: 100% auto;
  background-position: center center;
}

.mv_home06 {
  background-image: url("/wp/wp-content/uploads/mv_img06.jpg");
  background-size: 100% auto;
  background-position: center center;
}

.slider-wrapper .mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #287ddd;
  transform: translateY(100%);
  z-index: 2;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .mv_home {
    min-width: 100%;
    padding: 11rem 1.5rem 0;
  }

  .mv_home::after {
    width: 80%;
    height: 0;
    padding-top: calc(80%*710/750);
  }

  .mv_block {
    max-width: 100%;
  }

  .mv_txtBox {
    max-width: 100%;
  }

  .mv_ttl {
    font-size: 8.3vw;
  }

  .mv_ttl span.blue {
    font-size: 9.3vw;
  }

  .mv_ttl span.txt_bold {
    font-size: 10.3vw;
  }

  .mv_txt {
    margin: 2rem 0 0;
    font-size: 1.5rem;
    line-height: 1.8;
  }

  .mv_home p.operation {
    margin: 1.5rem 0 0;
  }

  .mv_img_wrap {
    display: flex;
    justify-content: space-between;
    position: relative;
    top: 0;
    left: 0;
    max-width: 100%;
    margin: 2rem 0 0 0;
  }

  .mv_img_left {
    width: 50%;
    margin: 0 1rem 0 0;
  }

  .mv_img_right {
    width: 50%;
    position: relative;
    top: 0;
    left: 0;
  }

  .mv_img_right .mv_img:nth-child(1) {
    margin: 0 0 1rem;
  }

  .slider-wrapper {
    border-radius: 15px;
  }

  .mv_img01 .slider-wrapper {
    width: 100%;
    height: 270px;
  }

  .mv_img02 .slider-wrapper {
    width: 100%;
    height: 170px;
  }

  .mv_img03 .slider-wrapper {
    width: 100%;
    height: 90px;
  }

  .mv_home01 {
    background-image: url("/wp/wp-content/uploads/mv_img01.jpg");
    background-size: cover;
    background-position: center center;
  }

  .mv_home02 {
    background-image: url("/wp/wp-content/uploads/mv_img02.jpg");
    background-size: cover;
    background-position: center center;
  }

  .mv_home03 {
    background-image: url("/wp/wp-content/uploads/mv_img03.jpg");
    background-size: cover;
    background-position: center center;
  }

  .mv_home04 {
    background-image: url("/wp/wp-content/uploads/mv_img04.jpg");
    background-size: cover;
    background-position: center center;
  }

  .mv_home05 {
    background-image: url("/wp/wp-content/uploads/mv_img05.jpg");
    background-size: cover;
    background-position: center center;
  }

  .mv_home06 {
    background-image: url("/wp/wp-content/uploads/mv_img06.jpg");
    background-size: cover;
    background-position: center center;
  }
}


/*--------------------------------------
　Main Index
---------------------------------------*/
.contents_top {
  width: 100%;
  min-width: 1100px;
  margin: auto;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  contain: paint;
}

.sec {
  width: 100%;
  min-width: 1100px;
  margin: auto;
  box-sizing: border-box;
  position: relative;
}

.sec_inner {
  max-width: 1100px;
  margin: auto;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .contents_top {
    min-width: 100%;
  }

  .sec {
    min-width: 100%;
  }

  .sec_inner {
    max-width: 100%;
  }
}


/*--------------------------------------
　border-radius
---------------------------------------*/
.br20 {
  border-radius: 20px;
}

.br30 {
  border-radius: 30px;
}

@media screen and (max-width: 768px) {
  .br20 {
    border-radius: 10px;
  }

  .br30 {
    border-radius: 15px;
  }
}


/*--------------------------------------
　toc_home
---------------------------------------*/
.toc_home {
  padding: 4rem 0 0;
}

.toc_home .toc_home_inner {
  background: #f4f4f4;
  max-width: 1000px;
  margin: auto;
  padding: 3rem 7rem 3rem;
}

.toc_home .toc_ttl_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.toc_home .toc_ttl {
  font-size: 2.4rem;
}

.toc_home .toc_acc {
  background: #052c66;
  width: 100px;
  padding: 1rem 1.5rem;
  line-height: 1;
  border-radius: 100px;
  position: relative;
}

.toc_home .toc_acc::before,
.toc_home .toc_acc::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  background: #fff;
  width: 12px;
  height: 2px;
  margin-top: -1px;
  transition: all 0.4s;
}

.toc_home .toc_acc::after {
  transform: rotate(90deg);
}

.toc_home .toc_ttl_wrap.open .toc_acc::before {
  display: none;
}

.toc_home .toc_ttl_wrap.open .toc_acc::after {
  transform: rotate(180deg);
}

.toc_home .toc_acc span {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1;
}

.toc_home .toc_acc span::after {
  content: "OPEN";
}

.toc_home .toc_ttl_wrap.open .toc_acc span::after {
  content: "CLOSE";
}

.toc_home .toc_accContent {
  display: none;
  margin: 3rem 0 0;
}

.toc_home .toc_list {
  display: flex;
  flex-wrap: wrap;
}

.toc_home .toc_list li {
  width: 45%;
  margin: 0 0 2rem;
}

.toc_home .toc_list li:last-child {
  margin: 0 0 0;
}

.toc_home .toc_list li a {
  display: block;
  padding: 0 0 0 2rem;
  font-size: 1.4rem;
  font-weight: 900;
  position: relative;
}

.toc_home .toc_list li a::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  background: #267bdc;
  width: 10px;
  height: 1px;
}

@media screen and (max-width: 768px) {
  .toc_home {
    padding: 3rem 2rem 0;
  }

  .toc_home .toc_home_inner {
    max-width: 100%;
    padding: 2rem 2rem 2rem;
  }

  .toc_home .toc_ttl {
    font-size: 1.6rem;
  }

  .toc_home .toc_acc {
    width: 80px;
    padding: 8px 1rem;
  }

  .toc_home .toc_acc::before,
  .toc_home .toc_acc::after {
    right: 8px;
    width: 10px;
    height: 1px;
  }

  .toc_home .toc_acc span {
    font-size: 1rem;
  }

  .toc_home .toc_accContent {
    margin: 2rem 0 0;
  }

  .toc_home .toc_list li {
    width: 100%;
    margin: 0 0 1.5rem;
  }

  .toc_home .toc_list li:last-child {
    margin: 0 0 1.5rem;
  }

  .toc_home .toc_list li a::before {
    width: 8px;
  }

  .toc_home .toc_list li:nth-child(1) {
    order: 1;
  }

  .toc_home .toc_list li:nth-child(2) {
    order: 5;
  }

  .toc_home .toc_list li:nth-child(3) {
    order: 2;
  }

  .toc_home .toc_list li:nth-child(4) {
    order: 6;
  }

  .toc_home .toc_list li:nth-child(5) {
    order: 3;
  }

  .toc_home .toc_list li:nth-child(6) {
    order: 7;
  }

  .toc_home .toc_list li:nth-child(7) {
    order: 4;
  }
}


/*--------------------------------------
　Title
---------------------------------------*/
.fs34 {
  font-size: 3.4rem;
}

.fs36 {
  font-size: 3.6rem;
}

.fs38 {
  font-size: 3.8rem;
}

.tc {
  text-align: center;
}

.sec_ttl01 a {
  display: inline-block;
  padding: 0 5rem 0 0;
  position: relative;
}

.tc .sec_ttl01 a {
  padding: 0 5rem 0 5rem;
}

.sec_ttl01 a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  background: url("img/arrow-bl03.png") left top no-repeat;
  background-size: contain;
  width: 34px;
  height: 34px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .fs34 {
    font-size: 2.2rem;
  }

  .fs36 {
    font-size: 2.2rem;
  }

  .fs38 {
    font-size: 2.2rem;
  }

  .sec_ttl01 a {
    padding: 0 4rem 0 0;
  }

  .tc .sec_ttl01 a {
    padding: 0 4rem 0 4rem;
  }

  .sec_ttl01 a::after {
    width: 22px;
    height: 22px;
  }
}


/*--------------------------------------
　テキスト
---------------------------------------*/
.contents_top p {
  margin: 3rem 0 3rem;
  font-size: 1.4rem;
  line-height: 2;
}

p.txt {
  margin: 3rem 0 3rem;
  font-size: 1.6rem;
  text-align: justify;
  line-height: 2;
}

p.lead {
  margin: 3rem 0 0 !important;
  font-size: 1.6rem;
  text-align: center;
  line-height: 2;
}

p.caption {
  margin: 1rem 0 0 0 !important;
  padding: 0 0 0.5rem 0;
  font-size: 1rem;
  line-height: 1.3;
}

.sec p {
  margin: 0 0 0;
}

@media screen and (max-width: 768px) {
  .contents_top p {
    margin: 2rem 0 2rem;
    line-height: 1.8;
  }

  p.txt {
    margin: 2rem 0 2rem;
    line-height: 1.8;
  }

  p.lead {
    margin: 2rem 0 0 !important;
    line-height: 1.8;
    text-align: justify;
  }

  p.caption {
    margin: 1rem 0 0 0 !important;
    padding: 0 0 0.5rem 0;
    font-size: 1rem;
    line-height: 1.3;
  }

  .sec p {
    margin: 0 0 0;
  }
}


/*--------------------------------------
　sv_parts
---------------------------------------*/
.contents_top .sv_parts {
  max-width: 1060px;
  margin: 14rem 0 0 auto;
}

.contents_top .sv_parts01 .sv_ttl_wrap {
  padding: 4rem 2rem 8rem;
}

.contents_top .sv_parts01 .sv_image {
  position: absolute;
  top: calc(100% - 60px);
  left: 50%;
  transform: translate(-50%, 0);
  width: 170px;
  margin: auto;
}

.contents_top .sv_parts01 .sv_image img {
  display: block;
  border-radius: 50%;
}

.contents_top .sv_parts01 .name {
  margin: 1rem 0 0;
  text-align: center;
}

.contents_top .sv_parts01 .btn-web a {
  margin: 4rem auto 0;
}

@media screen and (max-width: 768px) {
  .contents_top .sv_parts {
    max-width: calc(100% - 4rem);
    margin: 10rem auto 0 auto;
  }

  .contents_top .sv_parts01 {
    max-width: 100%;
  }

  .contents_top .sv_parts01 .sv_ttl_wrap {
    margin: 0 0 1.5rem;
    padding: 3rem 2rem 2rem;
  }

  .contents_top .sv_parts01 .sv_image {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    width: 100%;
    margin: 1.5rem 0 -3rem;
  }

  .contents_top .sv_parts01 .sv_image img {
    display: block;
    border-radius: 50%;
  }

  .contents_top .sv_parts01 .sv_image .image {
    width: 40%;
    order: 2;
  }

  .contents_top .sv_parts01 .name {
    margin: 0 0 0;
    padding: 1.5rem 1rem 1rem 0;
    color: #fff;
    font-size: 1.3rem;
    text-align: right;
    border-bottom: 1px solid rgba(255, 255, 2, 0.4);
    order: 1;
  }

  .contents_top .sv_parts01 .btn-web a {
    margin: 1.5rem auto 0;
  }
}


/*--------------------------------------
　sec01
---------------------------------------*/
.sec01 {
  padding: 8rem 0 8rem;
  position: relative;
  z-index: 0;
}

.sec01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: url("img/sec01_bg.png") center top no-repeat;
  background-size: 100% auto;
  width: 1440px;
  height: 473px;
  margin: auto;
  box-sizing: border-box;
  z-index: -1;
}

.sec01 .eng_ttl {
  max-width: 70px;
  margin: 0 auto 1rem;
}

@media screen and (max-width: 768px) {
  .sec01 {
    padding: 4rem 2rem 4rem;
  }

  .sec01::after {
    background: url("img/sec01_bg_sp.png") center top no-repeat;
    background-size: contain;
    width: 100%;
    height: 0;
    padding-top: calc(100%*967/750);
  }

  .sec01 .eng_ttl {
    max-width: 18%;
    margin: 0 auto 5px;
  }
}


/*--------------------------------------
　sec02
---------------------------------------*/
.sec02 {
  padding: 6rem 0 0;
  position: relative;
  z-index: 0;
}

.sec02::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: #d4e8ff;
  width: calc(100% - 10rem);
  height: calc(100% - 10rem);
  box-sizing: border-box;
  border-radius: 30px;
  z-index: -1;
}

.sec02 .eng_ttl {
  max-width: 460px;
  margin: 0 auto -3rem;
}


.sec02_merit {
  margin: 9rem 0 0;
}

.sec02_merit .merit_block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 13rem;
  position: relative;
}

.sec02_merit .merit_block::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 45px solid transparent;
  border-top: 35px solid #029a75;
  margin-top: 7rem;
  z-index: 1;
}

.sec02_merit .merit_item {
  display: flex;
  align-items: center;
}

.sec02_merit .merit_item:nth-child(1) {
  width: 40%;
}

.sec02_merit .merit_item:nth-child(2) {
  width: 60%;
}

.sec02_merit .item_inner {
  width: 100%;
  padding: 0 0 4rem;
  position: relative;
}

.sec02_merit .merit_item:nth-child(1) .item_inner {
  background: #e4f0fd;
  border-radius: 20px 0 0 20px;
}

.sec02_merit .merit_item:nth-child(2) .item_inner {
  background: #fff;
  height: calc(100% + 80px);
  border-radius: 20px;
}

.sec02_merit .item_inner::before {
  content: "";
  position: absolute;
  top: -50px;
  right: 50px;
  box-sizing: border-box;
}

.sec02_merit .merit_item:nth-child(1) .item_inner::before {
  background: url("/wp/wp-content/uploads/sec02_illust01.png") left top no-repeat;
  background-size: contain;
  width: 100px;
  height: 110px;
}

.sec02_merit .merit_item:nth-child(2) .item_inner::before {
  background: url("/wp/wp-content/uploads/sec02_illust02.png") left top no-repeat;
  background-size: contain;
  width: 150px;
  height: 170px;
}

.sec02_merit .merit_item:nth-child(1) .item_inner::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -30px;
  border: 30px solid transparent;
  border-left: 30px solid #e4f0fd;
  z-index: 1;
}

.sec02_merit .merit_ttl {
  display: inline-block;
  padding: 1.2rem 3rem;
  font-size: 2rem;
  border-radius: 20px 0 20px 0;
}

.sec02_merit .merit_item:nth-child(1) .merit_ttl {
  background: #8f8f8f;
}

.sec02_merit .merit_item:nth-child(2) .merit_ttl {
  background: linear-gradient(-90deg, #4494f0, #1066c9);
}

.sec02_merit .list_wrap {
  display: flex;
  align-items: center;
  height: 100%;
}

.sec02_merit .merit_item:nth-child(1) .merit_list {
  margin: 3rem 0 0;
  padding: 0 4rem;
}

.sec02_merit .merit_item:nth-child(2) .merit_list {
  margin: -3rem 0 0;
  padding: 0 7rem;
}

.sec02_merit .merit_list li {
  margin: 0 0 2rem;
  font-weight: 900;
  position: relative;
}

.sec02_merit .merit_item:nth-child(1) .merit_list li {
  padding: 0 0 0 2.5rem;
  font-size: 1.6rem;
}

.sec02_merit .merit_item:nth-child(2) .merit_list li {
  padding: 0 0 0 5rem;
  color: #052c66;
  font-size: 2rem;
}

.sec02_merit .merit_list li:last-child {
  margin: 0 0 0;
}

.sec02_merit .merit_item:nth-child(1) .merit_list li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  background: url("img/sec02_icon01.png") left top no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
  box-sizing: border-box;
}

.sec02_merit .merit_item:nth-child(2) .merit_list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 36px;
  height: 36px;
  box-sizing: border-box;
}

.sec02_merit .merit_item:nth-child(2) .merit_list li:nth-child(1)::before {
  background: url("img/sec02_icon02.png") left top no-repeat;
  background-size: contain;
}

.sec02_merit .merit_item:nth-child(2) .merit_list li:nth-child(2)::before {
  background: url("img/sec02_icon03.png") left top no-repeat;
  background-size: contain;
}

.sec02_merit .merit_item:nth-child(2) .merit_list li:nth-child(3)::before {
  background: url("img/sec02_icon04.png") left top no-repeat;
  background-size: contain;
}

.sec02_merit .merit_item:nth-child(2) .merit_list li:nth-child(4)::before {
  background: url("img/sec02_icon05.png") left top no-repeat;
  background-size: contain;
}

.sec02_merit .merit_item:nth-child(2) .merit_list li:nth-child(5)::before {
  background: url("img/sec02_icon06.png") left top no-repeat;
  background-size: contain;
}

.sec02_merit .bottom_txtBox {
  background: #287ddd;
  padding: 6rem 6rem 6rem;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.sec02_merit .bottom_txtBox::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("img/sec02_bg.png") center center no-repeat;
  background-size: 100% auto;
  width: 816px;
  height: 816px;
  margin: auto;
  z-index: -1;
}

.sec02_merit .bottom_txt {
  font-size: 2rem;
  text-align: center;
  line-height: 2;
}

.sec02_merit .bottom_txt .large {
  font-size: 2.8rem;
}

@media screen and (max-width: 768px) {
  .sec02 {
    padding: 3rem 2rem 0;
  }

  .sec02::after {
    width: 100%;
    height: calc(100% - 8rem);
    border-radius: 15px;
  }

  .sec02 .eng_ttl {
    max-width: 80%;
    margin: 0 auto -1.5rem;
  }


  .sec02_merit {
    margin: 5rem 0 0;
  }

  .sec02_merit .merit_block {
    display: block;
    margin: 0 0 6rem;
  }

  .sec02_merit .merit_block::after {
    border: 25px solid transparent;
    border-top: 20px solid #029a75;
    margin-top: 2rem;
  }

  .sec02_merit .merit_item {
    display: block;
  }

  .sec02_merit .merit_item:nth-child(1) {
    width: calc(100% - 4rem);
    margin: auto;
  }

  .sec02_merit .merit_item:nth-child(2) {
    width: 100%;
  }

  .sec02_merit .item_inner {
    padding: 0 0 3.5rem;
  }

  .sec02_merit .merit_item:nth-child(1) .item_inner {
    border-radius: 10px 10px 0 0;
  }

  .sec02_merit .merit_item:nth-child(2) .item_inner {
    height: auto;
    border-radius: 10px;
  }

  .sec02_merit .item_inner::before {
    top: -30px;
    right: 15px;
  }

  .sec02_merit .merit_item:nth-child(1) .item_inner::before {
    width: 25%;
    height: 0;
    padding-top: calc(25%*110/100);
  }

  .sec02_merit .merit_item:nth-child(2) .item_inner::before {
    width: 25%;
    height: 0;
    padding-top: calc(25%*170/150);
  }

  .sec02_merit .merit_item:nth-child(1) .item_inner::after {
    display: none;
  }

  .sec02_merit .merit_ttl {
    padding: 8px 2rem;
    font-size: 1.5rem;
    border-radius: 10px 0 10px 0;
  }

  .sec02_merit .merit_item:nth-child(1) .merit_ttl {}

  .sec02_merit .merit_item:nth-child(2) .merit_ttl {
    font-size: 1.7rem;
  }

  .sec02_merit .list_wrap {
    display: block;
    height: auto;
  }

  .sec02_merit .merit_item:nth-child(1) .merit_list {
    margin: 2rem 0 0;
    padding: 0 1.5rem;
  }

  .sec02_merit .merit_item:nth-child(2) .merit_list {
    margin: 3rem 0 0;
    padding: 0 2rem;
  }

  .sec02_merit .merit_list li {
    margin: 0 0 1.5rem;
  }

  .sec02_merit .merit_item:nth-child(1) .merit_list li {
    padding: 0 0 0 2rem;
    font-size: 1.4rem;
  }

  .sec02_merit .merit_item:nth-child(2) .merit_list li {
    padding: 0 0 0 4rem;
    font-size: 1.5rem;
  }

  .sec02_merit .merit_item:nth-child(1) .merit_list li::before {
    top: 4px;
    width: 14px;
    height: 14px;
  }

  .sec02_merit .merit_item:nth-child(2) .merit_list li::before {
    width: 30px;
    height: 30px;
  }

  .sec02_merit .bottom_txtBox {
    padding: 2.5rem 2rem 2.5rem;
  }

  .sec02_merit .bottom_txtBox::after {
    width: 100%;
    height: 100%;
  }

  .sec02_merit .bottom_txt {
    font-size: 1.5rem;
  }

  .sec02_merit .bottom_txt .large {
    font-size: 1.8rem;
  }
}


/*--------------------------------------
　sec03
---------------------------------------*/
.sec03 {
  margin: 16rem 0 0;
}

.sec03 .eng_ttl {
  max-width: 340px;
  margin: 0 0 3rem;
}

.sec03_upper {
  background: url("img/sec03_bg01.jpg") center center no-repeat;
  background-size: cover;
  padding: 8rem 0 11rem;
  border-radius: 30px 30px 0 0;
}

.sec03_upper .flexBox {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sec03_upper .sec_ttl01 {
  width: 45%;
}

.sec03_upper p.lead {
  width: 50%;
  margin: 0 0 0 !important;
  text-align: justify;
}


.sec03_change_wrap {
  margin: 0 0 12rem;
  position: relative;
}

.sec03_change_wrap::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 45px solid transparent;
  border-top: 35px solid #052c66;
  margin-top: 5rem;
  z-index: 1;
}

.sec03_change {
  margin: -3rem 0 0;
  padding: 8rem 0 8rem;
  position: relative;
  z-index: 0;
}

.sec03_change::before,
.sec03_change::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  z-index: -1;
}

.sec03_change::before {
  left: 0;
  background: #f1f6fb;
  border-radius: 0 30px 30px 0;
}

.sec03_change::after {
  right: 0;
  background: url("img/sec03_bg02.png") left top no-repeat;
  background-size: cover;
  border-radius: 30px 0 0 30px;
}

.sec03_change .change_block {
  display: flex;
  justify-content: space-between;
}

.sec03_change .change_item {
  width: 460px;
  text-align: center;
}

.sec03_change .change_item:nth-child(2) {
  width: calc(100% - 920px);
  margin-top: 12rem;
}

.sec03_change .change_ttl01 {
  margin: 0 0 7rem;
  font-size: 3rem;
  position: relative;
}

.sec03_change .change_ttl01::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 25px solid transparent;
  margin-top: 2rem;
  z-index: 1;
}

.sec03_change .change_item:nth-child(1) .change_ttl01::after {
  border-top: 20px solid #d5d5d5;
}

.sec03_change .change_item:nth-child(3) .change_ttl01::after {
  border-top: 20px solid #029a75;
}

.sec03_change .change_box {
  background: #fff;
  margin: 0 0 2rem;
  border-radius: 20px;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.04);
  position: relative;
}
.sec03_change .change_item .change_box ul li {
    margin: 0 0 0.5rem 0;
    padding: 0 0 0 2rem;
    font-size: 1.5rem;
    line-height: 1.8;
    position: relative;
    text-align: left;
}
.sec03_change .change_item .change_box ul li::before {
    content: "";
    display: block;
    position: absolute;
    top: 12px;
    left: 0;
    background: rgba(2, 154, 117, 0.6);
    width: 6px;
    height: 6px;
    box-sizing: border-box;
    border-radius: 50%;
}
.sec03_change .change_box:last-child {
  margin: 0 0 0;
}

.sec03_change .change_item:nth-child(1) .change_box {
  padding: 3rem 3rem 3rem;
}

.sec03_change .change_item:nth-child(2) .change_box {
  background: none;
  padding: 0 0 0;
  border-radius: 0;
  box-shadow: none;
}

.sec03_change .change_item:nth-child(3) .change_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem 1rem 3rem 3rem;
}

.sec03_change .change_item:nth-child(3) .txtBox {
  width: calc(100% - 110px);
}

.sec03_change .change_item:nth-child(3) .link {
  width: 90px;
  height: 90px;
}

.sec03_change .change_item:nth-child(3) .link a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border: 2px solid #eaeaea;
  border-radius: 50%;
  position: relative;
}

.sec03_change .change_item:nth-child(3) .link a::after {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 50%;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  border-bottom: solid 2px #287ddd;
  border-right: solid 2px #287ddd;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sec03_change .change_ttl02 {
  padding: 0 0 2rem;
  font-size: 2rem;
  border-bottom: 1px solid #e7e9eb;
  position: relative;
	margin-bottom: 1rem;
}

.sec03_change .change_ttl02::before,
.sec03_change .change_ttl02::after {
  content: "";
  position: absolute;
  bottom: -3px;
  background: none;
  width: 5px;
  height: 5px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid #e7e9eb;
}

.sec03_change .change_ttl02::before {
  left: -5px;
}

.sec03_change .change_ttl02::after {
  right: -5px;
}

.sec03_change .txt {
  margin: 2rem 0 0;
  text-align: center;
}

.sec03_change .num {
  width: 68px;
  margin: auto;
  position: relative;
}

.sec03_change .num::before,
.sec03_change .num::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  width: 42px;
  height: 2px;
  z-index: 1;
}

.sec03_change .num::before {
  right: calc(100% + 14px);
}

.sec03_change .num::after {
  left: calc(100% + 14px);
}

.sec03_change .change_item:nth-child(2) .change_box:nth-child(1) .num::before,
.sec03_change .change_item:nth-child(2) .change_box:nth-child(1) .num::after {
  background: #9fcaf5;
}

.sec03_change .change_item:nth-child(2) .change_box:nth-child(2) .num::before,
.sec03_change .change_item:nth-child(2) .change_box:nth-child(2) .num::after {
  background: #7bb0e5;
}

.sec03_change .change_item:nth-child(2) .change_box:nth-child(3) .num::before,
.sec03_change .change_item:nth-child(2) .change_box:nth-child(3) .num::after {
  background: #528ac4;
}

.sec03_change .change_item:nth-child(2) .change_box:nth-child(4) .num::before,
.sec03_change .change_item:nth-child(2) .change_box:nth-child(4) .num::after {
  background: #3c7abe;
}

.sec03_change .change_ttl03 {
  margin: 1rem 0 0;
  font-size: 2.2rem;
}


.sec03_situation {
  position: relative;
}

.sec03_situation .situation_ttl01 {
  max-width: 1100px;
  margin: auto;
  font-size: 3rem;
  z-index: 1;
}

.sec03_situation .page_link {
  max-width: 1100px;
  margin: 4rem auto 0;
  z-index: 3;
}

.sec03_situation .page_link ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.sec03_situation .page_link li {
  width: 250px;
  margin: 0 1rem;
}

.sec03_situation .page_link li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 2rem 4rem 2rem 2rem;
  color: #052c66;
  font-size: 1.8rem;
  font-weight: 900;
  border: 2px solid #eaeaea;
  border-radius: 10px;
  position: relative;
}

.sec03_situation .page_link li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-bottom: solid 2px #052c66;
  border-right: solid 2px #052c66;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sec03_situation .page_link li img {
  width: 40px;
  margin-right: 1rem;
}

.sec03_situation .situation_block {
  margin: 20rem 0 0;
}

.sec03_situation .situation_item {
  margin: -10rem 0 20rem;
  padding: 10rem 0 10rem;
  position: relative;
  z-index: 0;
}

.sec03_situation .situation_item::after {
  content: "";
  position: absolute;
  top: 100px;
  background-color: #d2e6fd;
  background-image: radial-gradient(#b9cbdf 1.5px, transparent 1.5px);
  background-size: 60px 60px;
  background-position: center top;
  width: calc(100% - 7rem);
  height: calc(100% - 10rem);
  z-index: -1;
}

.sec03_situation .situation_item:nth-child(odd)::after {
  left: 0;
  border-radius: 0 0 30px 0;
}

.sec03_situation .situation_item:nth-child(even)::after {
  right: 0;
  border-radius: 0 0 0 30px;
}

.sec03_situation .upper {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.sec03_situation .txtBox {
  width: 45%;
  position: relative;
}

.sec03_situation .situation_item:nth-child(even) .txtBox {
  margin: 0 0 0 auto;
}

.sec03_situation .eng {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 340px;
  margin: auto;
}

.sec03_situation .num {
  width: 72px;
  margin: -3.5rem auto 0;
  position: relative;
}

.sec03_situation .situation_ttl02 {
  margin: 2rem 0 5rem;
  font-size: 3.4rem;
  text-align: center;
  position: relative;
}

.sec03_situation .situation_ttl02::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 18px solid transparent;
  border-top: 16px solid #45b2a1;
  margin-top: 1.5rem;
  z-index: 1;
}

.sec03_situation .upper .sub_wrap {
  position: relative;
  z-index: 0;
}

.sec03_situation .upper .sub_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #297cdc;
  width: calc(100% - 10px);
  height: 1px;
  z-index: -1;
}

.sec03_situation .upper .sub {
  font-size: 1.8rem;
  text-align: center;
  position: relative;
}

.sec03_situation .upper .sub span {
  display: inline-block;
  background: linear-gradient(-90deg, #4494f0, #1066c9);
  padding: 1rem 2rem;
  border-radius: 100px;
  line-height: 1;
}

.sec03_situation .upper .sub::before,
.sec03_situation .upper .sub::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  background: none;
  width: 5px;
  height: 5px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid #297cdc;
}

.sec03_situation .upper .sub::before {
  left: 0;
}

.sec03_situation .upper .sub::after {
  right: 0;
}

.sec03_situation .situation_ttl03 {
  margin: 2rem 0 0;
  font-size: 3.2rem;
  text-align: center;
}

.sec03_situation .txt {
  margin: 3rem 0 0;
}

.sec03_situation .imgBox {
  padding: 4rem 6rem;
  position: absolute;
  top: -100px;
  z-index: 0;
}

.sec03_situation .imgBox::after {
  content: "";
  position: absolute;
  top: 0;
  background: #f7f7f7;
  width: 100vw;
  height: 100%;
  box-sizing: border-box;
  box-shadow: 12px 12px 35px 0 rgba(0, 0, 0, 0.08);
  z-index: -1;
}

.sec03_situation .situation_item:nth-child(odd) .imgBox {
  left: 50%;
}

.sec03_situation .situation_item:nth-child(even) .imgBox {
  right: 50%;
}

.sec03_situation .situation_item:nth-child(odd) .imgBox::after {
  left: 0;
  border-radius: 30px 0 0 30px;
}

.sec03_situation .situation_item:nth-child(even) .imgBox::after {
  right: 0;
  border-radius: 0 30px 30px 0;
}

.sec03_situation .imgBox .image {
  width: 550px;
}

.sec03_situation .imgBox img {
  mix-blend-mode: multiply;
  border-radius: 30px;
}

.sec03_situation .bottom {
  background: #287ddd;
  margin: 8rem 0 0;
  padding: 0 0 4rem;
}

.sec03_situation .bottom_block {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.sec03_situation .bottom_block::after {
  content: "";
  position: absolute;
  top: 55px;
  left: 50%;
  transform: translate(-50%, 0);
  background: #fff;
  width: 2px;
  height: calc(100% - 5rem);
}

.sec03_situation .bottom_item {
  width: 50%;
  padding: 0 6rem;
}

.sec03_situation .bottom .sub {
  font-size: 2rem;
  text-align: center;
  position: relative;
  top: -25px;
}

.sec03_situation .bottom .sub span {
  display: inline-block;
  background: #fff;
  padding: 1rem 2rem;
  border-radius: 6px;
}

.sec03_situation .list {
  margin: 1rem 0 0;
}

.sec03_situation .list li {
  margin: 0 0 2rem;
  padding: 0 0 0 2rem;
  font-size: 1.8rem;
  position: relative;
}

.sec03_situation .list li:last-child {
  margin: 0 0 0;
}

.sec03_situation .list li::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  background: none;
  width: 10px;
  height: 10px;
  box-sizing: border-box;
  border: 2px solid #fff;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .sec03 {
    margin: 8rem 0 0;
  }

  .sec03 .eng_ttl {
    max-width: 50%;
    margin: 0 0 1.5rem;
  }

  .sec03_upper {
    padding: 4rem 2rem 10rem;
    border-radius: 15px 15px 0 0;
  }

  .sec03_upper .flexBox {
    display: block;
  }

  .sec03_upper .sec_ttl01 {
    width: 100%;
  }

  .sec03_upper p.lead {
    width: 100%;
    margin: 2rem 0 0 !important;
  }


  .sec03_change_wrap {
    margin: 0 0 7rem
  }

  .sec03_change_wrap::after {
    border: 25px solid transparent;
    border-top: 20px solid #052c66;
    margin-top: 3rem;
  }

  .sec03_change {
    margin: -6rem 0 0;
    padding: 0 0 0;
  }

  .sec03_change::before,
  .sec03_change::after {
    display: none;
  }

  .sec03_change .change_block {
    display: block;
  }

  .sec03_change .change_item {
    width: calc(100% - 2rem);
    padding: 3rem 2rem 3rem;
  }

  .sec03_change .change_item:nth-child(1) {
    background: #f1f6fb;
    margin: 0 0 2rem;
    border-radius: 0 15px 15px 0;
  }

  .sec03_change .change_item:nth-child(2) {
    width: 100%;
    margin-top: 0;
    display: none;
  }

  .sec03_change .change_item:nth-child(3) {
    background: url("img/sec03_bg02.png") center center no-repeat;
    background-size: cover;
    margin: 0 0 0 auto;
    border-radius: 15px 0 0 15px;
  }

  .sec03_change .change_ttl01 {
    margin: 0 0 4.5rem;
    font-size: 2rem;
  }

  .sec03_change .change_ttl01::after {
    border: 20px solid transparent;
    margin-top: 1.5rem;
  }

  .sec03_change .change_item:nth-child(1) .change_ttl01::after {
    border-top: 15px solid #d5d5d5;
  }

  .sec03_change .change_item:nth-child(3) .change_ttl01::after {
    border-top: 15px solid #029a75;
  }

  .sec03_change .change_box {
    margin: 0 0 1.5rem;
    border-radius: 10px;
  }

  .sec03_change .change_item:nth-child(1) .change_box {
    padding: 1.5rem 2rem 1.5rem;
  }

  .sec03_change .change_item:nth-child(3) .change_box {
    display: block;
    padding: 1.5rem 2rem 1.5rem;
  }

  .sec03_change .change_item:nth-child(3) .txtBox {
    width: 100%;
  }

  .sec03_change .change_item:nth-child(3) .link {
    width: 90%;
    height: auto;
    margin: 1.5rem auto 0;
  }

  .sec03_change .change_item:nth-child(3) .link a {
    display: block;
    padding: 1.5rem 4rem;
    border: 1px solid #eaeaea;
    border-radius: 100px;
  }

  .sec03_change .change_item:nth-child(3) .link a::after {
    top: 50%;
    bottom: inherit;
    left: inherit;
    right: 15px;
    width: 6px;
    height: 6px;
    margin-left: 0;
    margin-top: -3px;
    border-bottom: solid 1px #287ddd;
    border-right: solid 1px #287ddd;
  }

  .sec03_change .change_ttl02 {
        margin: 1rem 0 1rem;
        padding: 0 0 1.5rem;
        font-size: 2rem;
    }

  .sec03_change .txt {
    margin: 1rem 0 0;
  }

  .sec03_change .num_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .sec03_change .num {
    width: 40px;
    margin: 0;
  }

  .sec03_change .num::before,
  .sec03_change .num::after {
    display: none;
  }

  .sec03_change .change_ttl03 {
    margin: 0 1rem 0;
    font-size: 1.4rem;
  }


  .sec03_situation .situation_ttl01 {
    max-width: 100%;
    font-size: 2rem;
  }

  .sec03_situation .page_link {
    max-width: 100%;
    margin: 2rem auto 0;
    padding: 0 2rem;
  }

  .sec03_situation .page_link ul {
    justify-content: space-between;
  }

  .sec03_situation .page_link li {
    width: calc((100% / 2) - 5px);
    margin: 0 0 1rem;
  }

  .sec03_situation .page_link li a {
    padding: 1.5rem 2rem 1.5rem 1rem;
    font-size: 1.2rem;
    font-size: 3.2vw;
    border: 1px solid #eaeaea;
    border-radius: 5px;
  }

  .sec03_situation .page_link li a::after {
    right: 12px;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-bottom: solid 1px #052c66;
    border-right: solid 1px #052c66;
  }

  .sec03_situation .page_link li img {
    width: 24px;
    margin-right: 3px;
  }

  .sec03_situation .situation_block {
    margin: 5rem 0 0;
  }

  .sec03_situation .situation_item {
    margin: 0 0 6rem;
    padding: 0 4rem 5rem 2rem;
  }

  .sec03_situation .situation_item:nth-child(odd) {
    padding: 0 4rem 4rem 2rem;
  }

  .sec03_situation .situation_item:nth-child(even) {
    padding: 0 2rem 4rem 4rem;
  }

  .sec03_situation .situation_item::after {
    top: 0;
    background-image: radial-gradient(#b9cbdf 1px, transparent 1px);
    background-size: 30px 30px;
    width: calc(100% - 2rem);
    height: 100%;
  }

  .sec03_situation .situation_item:nth-child(odd)::after {
    border-radius: 0 15px 15px 0;
  }

  .sec03_situation .situation_item:nth-child(even)::after {
    border-radius: 15px 0 0 15px;
  }

  .sec03_situation .upper {
    display: block;
  }

  .sec03_situation .txtBox {
    width: 100%;
  }

  .sec03_situation .situation_item:nth-child(even) .txtBox {
    margin: 0 0 0 0;
  }

  .sec03_situation .eng {
    top: 10px;
    width: 80%;
  }

  .sec03_situation .num {
    width: 50px;
    margin: 0 auto 0;
    top: -25px;
  }

  .sec03_situation .situation_ttl02 {
    margin: 0 0 3rem;
    font-size: 1.8rem;
  }

  .sec03_situation .situation_ttl02::after {
    border: 12px solid transparent;
    border-top: 10px solid #45b2a1;
    margin-top: 1rem;
  }

  .sec03_situation .upper .sub_wrap::after {
    width: calc(100% - 6px);
  }

  .sec03_situation .upper .sub {
    font-size: 1.4rem;
  }

  .sec03_situation .upper .sub span {
    padding: 1rem 1.5rem;
  }

  .sec03_situation .upper .sub::before,
  .sec03_situation .upper .sub::after {
    width: 3px;
    height: 3px;
  }

  .sec03_situation .situation_ttl03 {
    margin: 1.5rem 0 0;
    font-size: 2rem;
  }

  .sec03_situation .txt {
    margin: 2rem 0 0;
  }

  .sec03_situation .imgBox {
    position: relative;
    top: inherit;
    background: #f7f7f7;
    margin: 2rem 0 0;
    padding: 1.5rem 2rem;
    border-radius: 15px;
    box-shadow: 12px 12px 35px 0 rgba(0, 0, 0, 0.08);
  }

  .sec03_situation .imgBox::after {
    display: none;
  }

  .sec03_situation .situation_item:nth-child(odd) .imgBox {
    left: inherit;
  }

  .sec03_situation .situation_item:nth-child(even) .imgBox {
    right: inherit;
  }

  .sec03_situation .imgBox .image {
    width: 100%;
  }

  .sec03_situation .imgBox img {
    border-radius: 0;
  }

  .sec03_situation .bottom {
    background: none;
    margin: 5rem 0 0;
    padding: 0 0 0;
  }

  .sec03_situation .bottom_block {
    display: block;
  }

  .sec03_situation .bottom_block::after {
    display: none;
  }

  .sec03_situation .bottom_item {
    background: #287ddd;
    width: 100%;
    margin: 0 0 3rem;
    padding: 0 2rem 3rem;
    border-radius: 10px;
  }

  .sec03_situation .bottom_item:last-child {
    margin: 0 0 0;
  }

  .sec03_situation .bottom .sub {
    font-size: 1.5rem;
    top: -15px;
  }

  .sec03_situation .bottom .sub span {
    padding: 8px 1.5rem;
    border-radius: 3px;
  }

  .sec03_situation .list {
    margin: 0 0 0;
  }

  .sec03_situation .list li {
    margin: 0 0 1.2rem;
    padding: 0 0 0 2rem;
    font-size: 1.4rem;
  }

  .sec03_situation .list li::before {
    top: 8px;
    width: 8px;
    height: 8px;
    border: 1px solid #fff;
  }
}


/*--------------------------------------
　sec04
---------------------------------------*/
.sec04 {
  margin: 16rem 0 0;
  padding: 6rem 0 0;
  position: relative;
  z-index: 0;
}

.sec04::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: url("img/sec04_bg01.jpg") center center no-repeat;
  background-size: cover;
  width: calc(100% - 10rem);
  height: calc(100% - 18rem);
  box-sizing: border-box;
  border-radius: 30px;
  z-index: -1;
}

.sec04 .eng_ttl {
  max-width: 440px;
  margin: 0 auto -3rem;
}


.sec04_value {
  margin: 10rem 0 0;
}

.sec04_value .value_block {
  height: 770px;
  position: relative;
  z-index: 0;
}

.sec04_value .value_block::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("img/sec04_bg02.png") left top no-repeat;
  background-size: contain;
  width: 765px;
  height: 765px;
  box-sizing: border-box;
  z-index: -1;
}

.sec04_value .value_item {
  background: #fff;
  width: 440px;
  padding: 2.5rem 2rem 4rem;
  text-align: center;
  border: 2px solid #ddd;
  border-radius: 20px;
  box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.08);
  position: absolute;
}

.sec04_value .value_item:nth-child(1) {
  top: -40px;
  left: 50%;
  transform: translate(-50%, 0);
}

.sec04_value .value_item:nth-child(2) {
  top: 220px;
  left: -55px;
}

.sec04_value .value_item:nth-child(3) {
  top: 220px;
  right: -55px;
}

.sec04_value .value_item:nth-child(4) {
  top: 490px;
  left: 25px;
}

.sec04_value .value_item:nth-child(5) {
  top: 490px;
  right: 25px;
}

.sec04_value .icon {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #052c66;
  width: 80px;
  height: 80px;
  font-size: 2rem;
  line-height: 1.3;
  border-radius: 50%;
}

.sec04_value .value_item:nth-child(1) .icon {
  top: calc(100% - 30px);
  left: 50%;
  transform: translate(-50%, 0);
}

.sec04_value .value_item:nth-child(2) .icon {
  top: 50%;
  left: calc(100% - 30px);
  transform: translate(0, -50%);
}

.sec04_value .value_item:nth-child(3) .icon {
  top: 50%;
  right: calc(100% - 30px);
  transform: translate(0, -50%);
}

.sec04_value .value_item:nth-child(4) .icon {
  bottom: calc(100% - 30px);
  right: -10px;
}

.sec04_value .value_item:nth-child(5) .icon {
  bottom: calc(100% - 30px);
  left: -10px;
}

.sec04_value .value_ttl {
  font-size: 2.5rem;
}

.sec04_value .txt {
  margin: 2rem 0 0;
  text-align: center;
}

.sec04_value .bottom_txtBox {
  background: linear-gradient(-90deg, #4494f0, #1066c9);
  margin: 10rem 0 0;
  padding: 5rem 8rem 5rem;
  position: relative;
}

.sec04_value .bottom_txtBox .cc {
  margin: 0 0 4rem;
  font-size: 2.8rem;
  text-align: center;
}

.sec04_value .bottom_txtBox p.txt {
  text-align: justify;
}

@media screen and (max-width: 768px) {
  .sec04 {
    margin: 8rem 0 0;
    padding: 4rem 2rem 0;
  }

  .sec04::after {
    width: 100%;
    height: calc(100% - 18rem);
    box-sizing: border-box;
    border-radius: 15px;
  }

  .sec04 .eng_ttl {
    max-width: 75%;
    margin: 0 auto -1.5rem;
  }


  .sec04_value {
    margin: 6rem 0 0;
  }

  .sec04_value .value_block {
    height: auto;
  }

  .sec04_value .value_block::after {
    display: none;
  }

  .sec04_value .value_item {
    width: 100%;
    margin: 0 0 5rem;
    padding: 4rem 2rem 3rem;
    border: 1px solid #ddd;
    border-radius: 10px;
    position: relative;
  }

  .sec04_value .value_item:last-child {
    margin: 0 0 0;
  }

  .sec04_value .value_item:nth-child(1) {
    top: inherit;
    left: inherit;
    transform: translate(0, 0);
  }

  .sec04_value .value_item:nth-child(2) {
    top: inherit;
    left: inherit;
  }

  .sec04_value .value_item:nth-child(3) {
    top: inherit;
    right: inherit;
  }

  .sec04_value .value_item:nth-child(4) {
    top: inherit;
    left: inherit;
  }

  .sec04_value .value_item:nth-child(5) {
    top: inherit;
    right: inherit;
  }

  .sec04_value .icon {
    width: 70px;
    height: 70px;
    font-size: 1.8rem;
  }

  .sec04_value .value_item:nth-child(1) .icon {
    top: inherit;
    bottom: calc(100% - 35px);
    left: 50%;
    transform: translate(-50%, 0);
  }

  .sec04_value .value_item:nth-child(2) .icon {
    top: inherit;
    bottom: calc(100% - 35px);
    left: 50%;
    transform: translate(-50%, 0);
  }

  .sec04_value .value_item:nth-child(3) .icon {
    top: inherit;
    bottom: calc(100% - 35px);
    right: inherit;
    left: 50%;
    transform: translate(-50%, 0);
  }

  .sec04_value .value_item:nth-child(4) .icon {
    bottom: calc(100% - 35px);
    right: inherit;
    left: 50%;
    transform: translate(-50%, 0);
  }

  .sec04_value .value_item:nth-child(5) .icon {
    bottom: calc(100% - 35px);
    left: 50%;
    transform: translate(-50%, 0);
  }

  .sec04_value .value_ttl {
    font-size: 1.6rem;
  }

  .sec04_value .txt {
    margin: 1rem 0 0;
  }

  .sec04_value .bottom_txtBox {
    margin: 10rem 0 0;
    padding: 2.5rem 2rem 2.5rem;
  }

  .sec04_value .bottom_txtBox .cc {
    margin: 0 0 2rem;
    font-size: 1.6rem;
  }
}


/*--------------------------------------
　sec05
---------------------------------------*/
.sec05 {
  margin: 16rem 0 0;
}

.sec05_inner {
  background-color: #f4f4f4;
  background-image: url("img/sec05_bg01.png"), url("img/sec05_bg02.png");
  background-position: right top, left top;
  background-repeat: no-repeat, no-repeat;
  background-size: 380px auto, 860px auto;
  padding: 8rem 0 16rem;
  border-radius: 60px;
}

.sec05 .eng_ttl {
  max-width: 690px;
  margin: 0 0 3rem;
}


.sec05_upper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sec05_upper .sec_ttl01 {
  width: 45%;
}

.sec05_upper p.lead {
  width: 50%;
  margin: 0 0 0 !important;
  text-align: justify;
}


.sec05_guidelines {
  margin: 8rem auto 20rem;
}

.sec05_guidelines .guidelines_item {
  display: flex;
  justify-content: space-between;
  max-width: 900px;
  margin: 0 auto 3rem;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.04);
}
/* 
.sec05_guidelines .guidelines_item:nth-child(2) {
    margin: 0 0 3rem 10rem;
}

.sec05_guidelines .guidelines_item:nth-child(3) {
  margin: 0 0 3rem auto;
}

.sec05_guidelines .guidelines_item:nth-child(4) {
  margin: 0 0 3rem 10rem;
}

.sec05_guidelines .guidelines_item:nth-child(5) {
  margin: 0 0 0 0;
}
 */
.sec05_guidelines .iconBox {
  display: flex;
  align-items: center;
  background: #287ddd;
  width: 120px;
  padding: 2rem 0;
  border-radius: 12px 0 0 12px;
}

.sec05_guidelines .icon {
  width: 70px;
  margin: auto;
}

.sec05_guidelines .txtBox {
  display: flex;
  align-items: center;
  background: #fff;
  width: calc(100% - 120px);
  padding: 3rem 3rem;
  border-radius: 0 12px 12px 0;
}

.sec05_guidelines .guidelines_ttl {
  font-size: 2.2rem;
}

.sec05_guidelines .txt {
  margin: 1rem 0 0;
}

.sec05_guidelines .bottom_txtBox {
  margin: 8rem 0 0;
  padding: 5rem 8rem 5rem;
  position: relative;
  z-index: 0;
}

.sec05_guidelines .bottom_txtBox::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("img/sec05_bg03.jpg") left top no-repeat;
  background-size: cover;
  width: 100vw;
  height: 100%;
  box-sizing: border-box;
  border-radius: 30px 0 0 30px;
  z-index: -1;
}

.sec05_guidelines .bottom_txtBox .cc_wrap {
  position: relative;
}

.sec05_guidelines .bottom_txtBox .cc_wrap::before,
.sec05_guidelines .bottom_txtBox .cc_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  background: none;
  width: 6px;
  height: 6px;
  box-sizing: border-box;
  border: 1px solid #fff;
  border-radius: 50%;
  z-index: 1;
}

.sec05_guidelines .bottom_txtBox .cc_wrap::before {
  left: -6px;
}

.sec05_guidelines .bottom_txtBox .cc_wrap::after {
  right: -6px;
}

.sec05_guidelines .bottom_txtBox .cc {
  display: flex;
  align-items: center;
  font-size: 2.6rem;
  text-align: center;
  position: relative;
}

.sec05_guidelines .bottom_txtBox .cc::before,
.sec05_guidelines .bottom_txtBox .cc::after {
  content: "";
  display: block;
  flex: 1;
  border-top: 1px solid #fff;
}

.sec05_guidelines .bottom_txtBox .cc::before {
  margin-right: 2rem;
}

.sec05_guidelines .bottom_txtBox .cc::after {
  margin-left: 2rem;
}

.sec05_guidelines .bottom_txtBox .txt {
  margin: 3rem 0 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sec05 {
    margin: 8rem 0 0;
  }

  .sec05_inner {
    background-image: url("img/sec05_bg01.png"), url("img/sec05_bg02.png");
    background-position: right top, left top 50px;
    background-repeat: no-repeat, no-repeat;
    background-size: 30% auto, 70% auto;
    padding: 4rem 2rem 5rem;
    border-radius: 30px;
  }

  .sec05 .eng_ttl {
    max-width: 90%;
    margin: 0 0 1.5rem;
  }


  .sec05_upper {
    display: block;
  }

  .sec05_upper .sec_ttl01 {
    width: 100%;
  }

  .sec05_upper p.lead {
    width: 100%;
    margin: 2rem 0 0 !important;
  }


  .sec05_guidelines {
    margin: 4rem 0 10rem;
  }

  .sec05_guidelines .guidelines_item {
    display: block;
    background: #fff;
    max-width: 100%;
    margin: 0 0 2rem 0;
    padding: 0 0 2rem;
    border-radius: 6px;
  }

  .sec05_guidelines .guidelines_item:nth-child(2) {
    margin: 0 0 2rem 0;
  }

  .sec05_guidelines .guidelines_item:nth-child(3) {
    margin: 0 0 2rem 0;
  }

  .sec05_guidelines .guidelines_item:nth-child(4) {
    margin: 0 0 2rem 0;
  }

  .sec05_guidelines .guidelines_item:nth-child(5) {
    margin: 0 0 0 0;
  }

  .guidelines_ttl_wrap {
    display: flex;
    justify-content: space-between;
  }

  .sec05_guidelines .iconBox {
    display: block;
    align-items: center;
    background: none;
    width: inherit;
    padding: 0 0;
    border-radius: 0;
  }

  .sec05_guidelines .icon.pc_only {
    display: none;
  }

  .sec05_guidelines .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #287ddd;
    width: 70px;
    margin: 0;
    padding: 1.2rem 0;
    border-radius: 6px;
  }

  .sec05_guidelines .icon img {
    display: block;
    width: 50%;
    margin: auto;
  }

  .sec05_guidelines .txtBox {
    display: block;
    align-items: center;
    background: none;
    width: 100%;
    padding: 0 0;
    border-radius: 0;
  }

  .sec05_guidelines .guidelines_ttl {
    display: flex;
    align-items: center;
    width: calc(100% - 70px);
    padding: 1.2rem 1.5rem;
    font-size: 1.7rem;
  }

  .sec05_guidelines .txt {
    margin: 1.5rem 0 0;
    padding: 0 2rem;
  }

  .sec05_guidelines .bottom_txtBox {
    margin: 4rem 0 0;
    padding: 3rem 0 3rem 2rem;
  }

  .sec05_guidelines .bottom_txtBox::after {
    background: url("img/sec05_bg03_sp.jpg") left top no-repeat;
    background-size: cover;
    border-radius: 15px 0 0 15px;
  }

  .sec05_guidelines .bottom_txtBox .cc_wrap {
    padding: 0 0 1.5rem;
    border-bottom: 1px solid #fff;
  }

  .sec05_guidelines .bottom_txtBox .cc_wrap::before,
  .sec05_guidelines .bottom_txtBox .cc_wrap::after {
    top: inherit;
    bottom: -2px;
    transform: translate(0, 0);
    width: 3px;
    height: 3px;
  }

  .sec05_guidelines .bottom_txtBox .cc_wrap::before {
    left: -3px;
  }

  .sec05_guidelines .bottom_txtBox .cc_wrap::after {
    right: -3px;
  }

  .sec05_guidelines .bottom_txtBox .cc {
    display: block;
    font-size: 1.7rem;
  }

  .sec05_guidelines .bottom_txtBox .cc::before,
  .sec05_guidelines .bottom_txtBox .cc::after {
    display: none;
  }

  .sec05_guidelines .bottom_txtBox .txt {
    margin: 1.5rem 0 0;
    padding: 0 0;
    text-align: justify;
  }


  .sec05 .sv_parts {
    max-width: 100%;
  }
}


/*--------------------------------------
　sec06
---------------------------------------*/
.sec06 {
  padding: 20rem 0 0;
  position: relative;
  z-index: 0;
}

.sec06::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: url("img/sec06_bg.png") left top no-repeat;
  background-size: 100% auto;
  width: 1620px;
  height: 910px;
  box-sizing: border-box;
  z-index: -1000;
}

.sec06 .eng_ttl {
  max-width: 370px;
  margin: 0 auto 3rem;
}


.sec06_case {
  margin: 6rem 0 0;
}

.tab_parts .tabArea {
  display: flex;
  justify-content: center;
}

.tab_parts .tabArea li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 290px;
  margin: 0 1rem;
  padding: 3rem 5rem 3rem;
  font-size: 1.8rem;
  text-align: center;
  border-radius: 10px 10px 0 0;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  opacity: .7;
}

.tab_parts .tabArea li:nth-child(1) {
  background: none;
}

.tab_parts .tabArea li:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    /* left: -2.9rem; */
    /* width: 25rem; */
    width: 290px;
    height: 13rem;
    /* background: #447bd9; */
    /* background-size: 29.8rem 15rem; */
    opacity: .7;
    border-radius: 10px 10px 0 0;
}

.tab_parts .tabArea li:nth-child(1):before {
    background: #447bd9 url(/wp/wp-content/uploads/sec06_num01_tab.png) left 0 no-repeat;
    background-size: 60px auto;
	    opacity: 1;
}
.tab_parts .tabArea li:nth-child(2):before {
    background: #477fcc url(/wp/wp-content/uploads/sec06_num02_tab.png) left 0 no-repeat;
    background-size: 60px auto;
	    opacity: 1;
}
.tab_parts .tabArea li:nth-child(3):before {
    background: #4170ab url(/wp/wp-content/uploads/sec06_num03_tab.png) left 0 no-repeat;
    background-size: 60px auto;
	    opacity: 1;
}

li.cl-wh.fb.active {
  top: -2.5rem;
  font-size: 2.4rem;
  opacity: 1;
}

.tab_parts .tabArea li::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 26px;
  box-sizing: border-box;
  background: url(img/arrow-tab01.png) 50% 0 no-repeat;
  background-size: contain;
  top: 68%;
}

.tab_parts .tabArea li.active::after {
  top: 8rem;
}

.tab_parts .tabArea li:hover {
  opacity: 0.6;
}

.tabContents {
  display: none;
  background: #fff;
  padding: 5rem 8rem 6rem;
  border-radius: 30px;
  position: relative;
}

.tabContents.show {
  display: block;
}

.tabContents:nth-child(1) {
  border: 2px solid #287ddd;
}

.tabContents:nth-child(2) {
  border: 2px solid #477fcc;
}

.tabContents:nth-child(3) {
  border: 2px solid #4170ab;
}

.sec06_case .eng01 {
  position: absolute;
  top: 15px;
  right: 30px;
  max-width: 470px;
}

.sec06_case .ttl01_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 2rem;
  border-bottom: 2px solid #f1f1f1;
  position: relative;
}

.sec06_case .case_txt {
  font-size: 3.2rem;
}

.sec06_case .case_txt img {
  display: block;
  width: 66px;
}

.sec06_case .case_ttl01_box {
  width: calc(100% - 106px);
}

.sec06_case .case_ttl01_box .sub span {
  display: inline-block;
  background: linear-gradient(-90deg, #4494f0, #1066c9);
  padding: 1rem 2rem;
  font-size: 2rem;
  line-height: 1;
  border-radius: 100px;
}

.sec06_case .case_ttl01 {
  margin: 1rem 0 0;
  font-size: 2.6rem;
}

.sec06_case .case_item {
  margin: 4rem 0 0;
}

.sec06_case .case_box {
  display: flex;
  justify-content: space-between;
  margin: 0 0 2rem;
}

.sec06_case .case_box:last-child {
  margin: 0 0 0;
}

.sec06_case .case_ttl02_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f1f1f1;
  width: 140px;
  min-height: 140px;
  text-align: center;
  border-radius: 12px;
}

.sec06_case .case_box:nth-child(3) .case_ttl02_wrap {
  background: #d2e6fd;
}

.sec06_case .eng02 {
  margin: auto;
}

.sec06_case .case_box:nth-child(1) .eng02 {
  width: 35px;
}

.sec06_case .case_box:nth-child(2) .eng02 {
  width: 90px;
}

.sec06_case .case_box:nth-child(3) .eng02 {
  width: 56px;
}

.sec06_case .case_ttl02 {
  font-size: 2rem;
  line-height: 1.4;
}

.sec06_case .tab_parts .txtBox {
  display: flex;
  align-items: center;
  width: calc(100% - 150px);
  padding: 3rem 4rem;
  border: 2px solid #f1f1f1;
  border-radius: 12px;
}

.sec06_case .tab_parts .txtBox ul li {
  margin: 0 0 0.5rem 0;
  padding: 0 0 0 2rem;
  font-size: 1.5rem;
  line-height: 1.8;
  position: relative;
}

.sec06_case .tab_parts .txtBox ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  background: rgba(2, 154, 117, 0.6);
  width: 6px;
  height: 6px;
  box-sizing: border-box;
  border-radius: 50%;
}

.sec06_case .tab_parts .cc {
  font-size: 2rem;
}

.sec06_case .tab_parts .txt {
  margin: 1rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec06 {
    margin: 4rem 0 0;
    padding: 5rem 2rem 0;
  }

  .sec06::after {
    background: url("img/sec06_bg_sp.png") left top no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: 0;
    padding-top: calc(100%*735/750);
  }

  .sec06 .eng_ttl {
    max-width: 60%;
    margin: 0 auto 1.5rem;
  }


  .sec06_case {
    margin: 2rem 0 0;
  }

  .sec06_case .sp_txt {
    margin: 0 0 1rem;
    font-size: 1.4rem;
    text-align: center;
  }

  .tab_parts .tabArea {
    display: flex;
    justify-content: space-between;
    margin: 0 0 3rem;
  }

  .tab_parts .tabArea li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc((100% / 3) - 5px);
    margin: 0 0;
    padding: 1.5rem 2rem 1.5rem;
    font-size: 1.3rem;
    border-radius: 5px;
    box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.12);
    opacity: .7;
  }

  .tab_parts .tabArea li:before {
    content: none;
  }

  .tab_parts .tabArea li:nth-child(2):before {
    content: none;
  }

  .tab_parts .tabArea li:nth-child(3):before {
    content: none;
  }

      .tab_parts .tabArea li:nth-child(1) {
        background: #287ddd url(/wp/wp-content/uploads/sec06_num01_tab.png) left 0 no-repeat;
        background-size: 36px auto;
    }

  .tab_parts .tabArea li:nth-child(2) {
    background: #477fcc url(/wp/wp-content/uploads/sec06_num02_tab.png) left 0 no-repeat;
	  background-size: 36px auto;
  }

  .tab_parts .tabArea li:nth-child(3) {
    background: #4170ab url(/wp/wp-content/uploads/sec06_num03_tab.png) left 0 no-repeat;
	  background-size: 36px auto;
  }

  li.cl-wh.fb.active {
    top: 0;
    font-size: 1.3rem;
    opacity: 1;
  }

  .tab_parts .tabArea li::after {
    top: calc(100% - 8px);
    left: 50%;
    right: inherit;
    transform: translate(-50%, 0);
    width: 16px;
    height: 16px;
    border-radius: 50%;
  }

  .tab_parts .tabArea li.active::after {
    top: 88%;
  }

  .tab_parts .tabArea li:nth-child(1)::after {
    border: 1px solid #287ddd;
  }

  .tab_parts .tabArea li:nth-child(2)::after {
    border: 1px solid #477fcc;
  }

  .tab_parts .tabArea li:nth-child(3)::after {
    border: 1px solid #4170ab;
  }

  .tabContents {
    padding: 2rem 2rem 4rem;
    border-radius: 15px;
  }

  .tabContents:nth-child(1) {
    border: 1px solid #287ddd;
  }

  .tabContents:nth-child(2) {
    border: 1px solid #477fcc;
  }

  .tabContents:nth-child(3) {
    border: 1px solid #4170ab;
  }

  .sec06_case .eng01 {
    top: 5px;
    right: 10px;
    max-width: 70%;
  }

  .sec06_case .ttl01_wrap {
    display: block;
    padding: 0 0 0;
    border-bottom: none;
  }

  .sec06_case .sub_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 1.5rem;
    border-bottom: 1px solid #f1f1f1;
  }

  .sec06_case .case_txt {
    font-size: 2.2rem;
    width: 35%;
  }

  .sec06_case .case_txt img {
    display: inline-block;
    vertical-align: middle;
    width: 36px;
    margin: -4px 0 0 5px;
  }

  .sec06_case .case_txt.pc_only {
    display: none;
  }

  .sec06_case .case_ttl01_box {
    width: 100%;
  }

  .sec06_case .case_ttl01_box .sub {
    width: 65%;
  }

  .sec06_case .case_ttl01_box .sub span {
    display: inline-block;
    background: linear-gradient(-90deg, #4494f0, #1066c9);
    padding: 8px 1.5rem;
    font-size: 1.5rem;
  }

  .sec06_case .case_ttl01 {
    font-size: 1.7rem;
  }

  .sec06_case .case_item {
    margin: 3rem 0 0;
  }

  .sec06_case .case_box {
    display: block;
    margin: 0 0 3rem;
  }

  .sec06_case .case_ttl02_wrap {
    display: block;
    width: 100%;
    min-height: inherit;
    padding: 1rem 2rem;
    text-align: left;
    border-radius: 6px;
  }

  .sec06_case .case_ttl02_inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .sec06_case .eng02 {
    display: flex;
    align-items: center;
    margin: 0;
    order: 2;
  }

  .sec06_case .case_box:nth-child(1) .eng02 {
    width: 35px;
  }

  .sec06_case .case_box:nth-child(2) .eng02 {
    width: 90px;
  }

  .sec06_case .case_box:nth-child(3) .eng02 {
    width: 56px;
  }

  .sec06_case .case_ttl02 {
    margin-right: 1rem;
    font-size: 1.5rem;
    order: 1;
  }

  .sec06_case .tab_parts .txtBox {
    display: block;
    width: 100%;
    margin: 8px 0 0;
    padding: 2rem 2rem;
    border: 1px solid #f1f1f1;
    border-radius: 6px;
  }

  .sec06_case .tab_parts .cc {
    font-size: 1.5rem;
  }

  .sec06_case .tab_parts .txt {
    margin: 1rem 0 0;
  }
}


/*--------------------------------------
　sec07
---------------------------------------*/
.sec07 {
  background-color: #d2e6fd;
  background-image: radial-gradient(#b9cbdf 1.5px, transparent 1.5px);
  background-size: 60px 60px;
  background-position: center top;
  margin: 16rem 0 0;
  padding: 12rem 0 18rem;
  border-radius: 60px 0 0 0;
}

.sec07 .eng_ttl {
  max-width: 460px;
  margin: 0 auto 3rem;
}


.sec07_reason {
  margin: 8rem 0 0;
}

.sec07_reason .reason_item {
  margin: 0 0 4rem;
}

.sec07_reason .reason_item:last-child {
  margin: 0 0 0;
}

.sec07_reason .reason_ttl_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}

.sec07_reason .reason_item:nth-child(odd) .reason_ttl_wrap {
  padding: 4rem 8rem 4rem 0;
}

.sec07_reason .reason_item:nth-child(even) .reason_ttl_wrap {
  padding: 4rem 0 4rem 8rem;
}

.sec07_reason .reason_ttl_wrap::after {
  content: "";
  position: absolute;
  top: 0;
  background: linear-gradient(-90deg, #4494f0, #1066c9);
  width: 100vw;
  height: 100%;
  z-index: -1;
}

.sec07_reason .reason_item:nth-child(odd) .reason_ttl_wrap::after {
  right: 0;
  border-radius: 0 30px 30px 0;
}

.sec07_reason .reason_item:nth-child(even) .reason_ttl_wrap::after {
  left: 0;
  border-radius: 30px 0 0 30px;
}

.sec07_reason .num {
  width: 70px;
}

.sec07_reason .reason_ttl {
  width: calc(100% - 80px);
  padding: 0 0 0 4rem;
  font-size: 2.8rem;
  position: relative;
}

.sec07_reason .reason_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  background: #fff;
  width: 30px;
  height: 2px;
  box-sizing: border-box;
}

.sec07_reason .reason_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: -3rem 0 0;
  position: relative;
  z-index: 0;
}

.sec07_reason .reason_item:nth-child(odd) .reason_box {
  padding: 8rem 8rem 5rem 0;
}

.sec07_reason .reason_item:nth-child(even) .reason_box {
  padding: 8rem 0 5rem 8rem;
}

.sec07_reason .reason_box::after {
  content: "";
  position: absolute;
  top: 0;
  background: #fff;
  width: 100vw;
  height: 100%;
  z-index: -1;
}

.sec07_reason .reason_item:nth-child(odd) .reason_box::after {
  right: 0;
  border-radius: 0 0 30px 0;
}

.sec07_reason .reason_item:nth-child(even) .reason_box::after {
  left: 0;
  border-radius: 0 0 0 30px;
}


.sec07_reason .reason_box .imgBox {
  width: 400px;
}

.sec07_reason .reason_item:nth-child(even) .imgBox {
  order: 2;
}

.sec07_reason .reason_box .txtBox {
  width: calc(100% - 450px);
}

.sec07_reason .reason_item:nth-child(even) .txtBox {
  order: 1;
}

.sec07_reason .txt {
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  .sec07 {
    background-image: radial-gradient(#b9cbdf 1px, transparent 1px);
    background-size: 30px 30px;
    margin: 8rem 0 0;
    padding: 5rem 2rem 6rem;
    border-radius: 60px 0 0 0;
  }

  .sec07 .eng_ttl {
    max-width: 65%;
    margin: 0 auto 1.5rem;
  }


  .sec07_reason {
    margin: 4rem 0 0;
  }

  .sec07_reason .reason_item {
    margin: 0 0 3rem;
  }

  .sec07_reason .reason_item:nth-child(odd) .reason_ttl_wrap {
    padding: 2rem 2rem 2rem 0;
  }

  .sec07_reason .reason_item:nth-child(even) .reason_ttl_wrap {
    padding: 2rem 0 2rem 2rem;
  }

  .sec07_reason .reason_item:nth-child(odd) .reason_ttl_wrap::after {
    border-radius: 0 15px 15px 0;
  }

  .sec07_reason .reason_item:nth-child(even) .reason_ttl_wrap::after {
    border-radius: 15px 0 0 15px;
  }

  .sec07_reason .num {
    width: 40px;
  }

  .sec07_reason .reason_ttl {
    width: calc(100% - 50px);
    padding: 0 0 0 2rem;
    font-size: 1.8rem;
  }

  .sec07_reason .reason_ttl::before {
    width: 15px;
    height: 1px;
  }

  .sec07_reason .reason_box {
    margin: -1.5rem 0 0;
  }

  .sec07_reason .reason_item:nth-child(odd) .reason_box {
    padding: 4rem 2rem 3rem 0;
  }

  .sec07_reason .reason_item:nth-child(even) .reason_box {
    padding: 4rem 0 3rem 2rem;
  }

  .sec07_reason .reason_item:nth-child(odd) .reason_box::after {
    border-radius: 0 0 15px 0;
  }

  .sec07_reason .reason_item:nth-child(even) .reason_box::after {
    border-radius: 0 0 0 15px;
  }


  .sec07_reason .reason_box .imgBox {
    width: 100%;
    margin: 2rem 0 0;
  }

  .sec07_reason .reason_item:nth-child(odd) .imgBox {
    order: 2;
  }

  .sec07_reason .reason_item:nth-child(even) .imgBox {
    order: 2;
  }

  .sec07_reason .reason_box .txtBox {
    width: 100%;
  }

  .sec07_reason .reason_item:nth-child(odd) .txtBox {
    order: 1;
  }

  .sec07_reason .reason_item:nth-child(even) .txtBox {
    order: 1;
  }

  .sec07_reason .txt {
    font-size: 1.4rem;
  }
}


/*--------------------------------------
　sec08
---------------------------------------*/
.sec08 {
  margin: 16rem 0 0;
}

.sec08 .sec_inner {
  padding: 10rem 0 0;
  position: relative;
  z-index: 0;
}

.sec08 .sec_inner::after {
  content: "";
  position: absolute;
  top: 0;
  right: 200px;
  background: url("img/sec08_bg.jpg") right center no-repeat;
  background-size: cover;
  width: 100vw;
  height: calc(100% - 100px);
  min-width: 1100px;
  border-radius: 0 30px 30px 0;
  z-index: -1;
}

.sec08 .eng_ttl {
  max-width: 720px;
  margin: 0 0 3rem;
}


.sec08_knowledge {
  margin: 8rem 0 0;
}

.sec08_knowledge .knowledge_block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sec08_knowledge .knowledge_item {
  width: calc((100% / 2) - 2rem);
}

.sec08_knowledge .knowledge_item a {
  display: block;
  background: #fff;
  padding: 3rem 4rem 5rem;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.04);
  border-radius: 20px;
  position: relative;
}

.sec08_knowledge .knowledge_item a::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: url("img/arrow-bl05.png") center center no-repeat;
  background-size: cover;
  width: 70px;
  height: 70px;
  border-radius: 0 0 20px 0;
}

.sec08_knowledge .knowledge_ttl_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 2rem;
  border-bottom: 1px solid rgba(152, 160, 169, 0.3);
}

.sec08_knowledge .icon {
  width: 62px;
}

.sec08_knowledge .knowledge_ttl {
  width: calc(100% - 82px);
  font-size: 2rem;
}

.sec08_knowledge .txt {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec08 {
    margin: 8rem 0 0;
  }

  .sec08 .sec_inner {
    padding: 5rem 2rem 0;
  }

  .sec08 .sec_inner::after {
    right: 35px;
    height: calc(100% - 50px);
    min-width: 100%;
    border-radius: 0 15px 15px 0;
  }

  .sec08 .eng_ttl {
    max-width: 90%;
    margin: 0 0 1.5rem;
  }


  .sec08_knowledge {
    margin: 4rem 0 0;
  }

  .sec08_knowledge .knowledge_block {
    display: block;
  }

  .sec08_knowledge .knowledge_item {
    width: 100%;
    margin: 0 0 2rem;
  }

  .sec08_knowledge .knowledge_item:last-child {
    margin: 0 0 0;
  }

  .sec08_knowledge .knowledge_item a {
    padding: 2rem 2rem 4rem;
    border-radius: 10px;
  }

  .sec08_knowledge .knowledge_item a::after {
    width: 50px;
    height: 50px;
    border-radius: 0 0 10px 0;
  }

  .sec08_knowledge .knowledge_ttl_wrap {
    padding: 0 0 1.5rem;
  }

  .sec08_knowledge .icon {
    width: 55px;
  }

  .sec08_knowledge .knowledge_ttl {
    width: calc(100% - 70px);
    font-size: 1.7rem;
  }

  .sec08_knowledge .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　sec09
---------------------------------------*/
.sec09 {
  padding: 14rem 0 15rem;
}

.sec09 .eng_ttl {
  max-width: 890px;
  margin: 0 auto 3rem;
}


.sec09_smartsafety {
  margin: 8rem 0 0;
}

.sec09_smartsafety .smartsafety_block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sec09_smartsafety .smartsafety_item {
  width: calc((100% / 3) - 1.5rem);
}

.sec09_smartsafety .smartsafety_item a {
  display: block;
  background: #edf5ff;
  padding: 3rem 3rem 5rem;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.04);
  border-radius: 20px;
  position: relative;
}

.sec09_smartsafety .smartsafety_item a::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: url("img/arrow-bl05.png") center center no-repeat;
  background-size: cover;
  width: 70px;
  height: 70px;
  border-radius: 0 0 20px 0;
}

.sec09_smartsafety .smartsafety_ttl {
  display: flex;
  align-items: center;
  padding: 0 0 1.5rem 2rem;
  font-size: 2rem;
  border-bottom: 1px solid rgba(152, 160, 169, 0.5);
  position: relative;
}

.sec09_smartsafety .smartsafety_ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #287ddd 0%, #287ddd 50%, #a6d0ff 50%, #a6d0ff 100%);
  width: 8px;
  height: calc(100% - 1.5rem);
}

.sec09_smartsafety .smartsafety_ttl::after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: -6px;
  background: none;
  width: 6px;
  height: 6px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid rgba(152, 160, 169, 0.5);
}

.sec09_smartsafety .txt {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec09 {
    padding: 7rem 2rem 6rem;
  }

  .sec09 .eng_ttl {
    max-width: 90%;
    margin: 0 auto 1.5rem;
  }


  .sec09_smartsafety {
    margin: 4rem 0 0;
  }

  .sec09_smartsafety .smartsafety_block {
    display: block;
  }

  .sec09_smartsafety .smartsafety_item {
    width: 100%;
    margin: 0 0 2rem;
  }

  .sec09_smartsafety .smartsafety_item:last-child {
    margin: 0 0 0;
  }

  .sec09_smartsafety .smartsafety_item a {
    padding: 2rem 2rem 4rem;
    border-radius: 10px;
  }

  .sec09_smartsafety .smartsafety_item a::after {
    width: 40px;
    height: 40px;
    border-radius: 0 0 10px 0;
  }

  .sec09_smartsafety .smartsafety_ttl {
    padding: 0 0 1.5rem 1.5rem;
    font-size: 1.7rem;
  }

  .sec09_smartsafety .smartsafety_ttl::before {
    width: 4px;
  }

  .sec09_smartsafety .smartsafety_ttl::after {
    bottom: -2px;
    right: -4px;
    background: none;
    width: 4px;
    height: 4px;
  }

  .sec09_smartsafety .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　sec10
---------------------------------------*/
.sec10 .sec_inner {
  padding: 10rem 0 10rem;
  position: relative;
  z-index: 0;
}

.sec10 .sec_inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 230px;
  background: url("img/sec10_bg.jpg") center center no-repeat;
  background-size: cover;
  width: 100vw;
  height: 100%;
  min-width: 1100px;
  border-radius: 30px 0 0 30px;
  z-index: -1;
}

.sec10 .eng_ttl {
  max-width: 420px;
  margin: 0 0 3rem;
}


.sec10_basic {
  margin: 6rem 0 0;
}

.sec10_basic .basic_item {
  background: #fff;
  max-width: 940px;
  margin: 0 0 3rem auto;
  padding: 4rem 4rem 4rem 6rem;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.04);
  border-radius: 20px;
  position: relative;
}

.sec10_basic .basic_item:last-child {
  margin: 0 0 0 auto;
}

.sec10_basic .icon {
  position: absolute;
  top: 50%;
  left: -40px;
  transform: translate(0, -50%);
  width: 80px;
}

.sec10_basic .basic_ttl {
  padding: 0 0 2rem;
  font-size: 2.4rem;
  border-bottom: 1px solid rgba(152, 160, 169, 0.3);
  position: relative;
}

.sec10_basic .basic_ttl::after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: -6px;
  background: none;
  width: 6px;
  height: 6px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid rgba(152, 160, 169, 0.3);
}

.sec10_basic .basic_ttl a {
  display: inline-block;
  padding: 0 4rem 0 0;
  position: relative;
}

.sec10_basic .basic_ttl a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  background: url("img/arrow-bl04.png") left top no-repeat;
  background-size: contain;
  width: 26px;
  height: 26px;
  box-sizing: border-box;
}

.sec10_basic .txt {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec10 .sec_inner {
    padding: 6rem 2rem 6rem;
  }

  .sec10 .sec_inner::after {
    left: 75px;
    min-width: 100%;
    border-radius: 15px 0 0 15px;
  }

  .sec10 .eng_ttl {
    max-width: 55%;
    margin: 0 0 1.5rem;
  }


  .sec10_basic {
    margin: 4rem 0 0;
  }

  .sec10_basic .basic_item {
    max-width: calc(100% - 2rem);
    margin: 0 0 2rem auto;
    padding: 2rem 2rem 2rem 4rem;
    border-radius: 10px;
  }

  .sec10_basic .icon {
    top: 20px;
    left: -25px;
    transform: translate(0, 0);
    width: 50px;
  }

  .sec10_basic .basic_ttl {
    padding: 0 0 1.5rem;
    font-size: 1.5rem;
  }

  .sec10_basic .basic_ttl::after {
    bottom: -2px;
    right: -4px;
    width: 4px;
    height: 4px;
  }

  .sec10_basic .basic_ttl a {
    padding: 0 3rem 0 0;
  }

  .sec10_basic .basic_ttl a::after {
    width: 16px;
    height: 16px;
  }

  .sec10_basic .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　sec11
---------------------------------------*/
.sec11 {
  padding: 12rem 0 0;
}

.sec11 .eng_ttl {
  max-width: 410px;
  margin: 0 0 -2rem;
}

.sec11_examples {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sec11_examples .txtBox {
  background: url("img/sec11_bg.jpg") center center no-repeat;
  background-size: cover;
  width: calc(100% - 470px);
  padding: 5rem 7rem 5rem;
  border-radius: 30px 0 0 30px;
}

.sec11_examples .txt {
  margin: 3rem 0 0;
}

.sec11_examples .link a {
  display: block;
  background: #fff;
  max-width: 400px;
  margin: 4rem auto 0;
  padding: 2.8rem 5rem;
  box-sizing: border-box;
  color: #287ddd;
  font-size: 1.6rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
  border-radius: 100px;
  border: 2px solid #287ddd;
  text-decoration: none !important;
  position: relative;
  z-index: 1;
}

.sec11_examples .link a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  background: url("img/arrow-bl02.png") left top no-repeat;
  background-size: contain;
  width: 26px;
  height: 8px;
  box-sizing: border-box;
  transition: all 0.3s ease;
}

.sec11_examples .imgBox {
  width: 470px;
}

.sec11_examples .imgBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 30px 30px 0;
}

@media screen and (max-width: 768px) {
  .sec11 {
    padding: 6rem 2rem 0;
  }

  .sec11 .eng_ttl {
    max-width: 90%;
    margin: 0 0 -1.5rem;
  }

  .sec11_examples .txtBox {
    background: url("img/sec11_bg_sp.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    margin: -10rem 0 0;
    padding: 5rem 2rem 4rem;
    border-radius: 0 0 15px 15px;
    order: 2;
  }

  .sec11_examples .sec_ttl {
    font-size: 2rem;
  }

  .sec11_examples .txt {
    margin: 1.5rem 0 0;
  }

  .sec11_examples .link a {
    max-width: 90%;
    margin: 3rem auto 0;
    padding: 1.8rem 4rem;
    font-size: 1.4rem;
    font-weight: 900;
    border: 1px solid #287ddd;
  }

  .sec11_examples .link a::after {
    right: 15px;
    width: 19px;
    height: 6px;
  }

  .sec11_examples .imgBox {
    width: 100%;
    order: 1;
    position: relative;
    z-index: 1;
  }

  .sec11_examples .imgBox img {
    width: 100%;
    height: auto;
    border-radius: 15px 15px 0 0;
  }
}


/*--------------------------------------
　sec12
---------------------------------------*/
.sec12 {
  padding: 14rem 0 16rem;
}

.sec12 .eng_ttl {
  max-width: 840px;
  margin: 0 auto 3rem;
}


.sec12_maintenance {
  margin: 6rem 0 0;
}

.sec12_maintenance .maintenance_block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sec12_maintenance .maintenance_item {
  background: #edf5ff;
  width: calc((100% - 6rem) / 3);
  margin: 0 0 3rem 0;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.04);
  border-radius: 20px;
}

.sec12_maintenance .maintenance_item:nth-of-type(3n-1):nth-last-of-type(1) {
  margin: 0 auto 3rem 3rem;
}

.sec12_maintenance .maintenance_ttl {
  display: flex;
  align-items: center;
  background: #287ddd;
  width: calc(100% - 70px);
  padding: 1.5rem 3rem;
  font-size: 2.4rem;
  border-radius: 20px 0 20px 0;
}

.sec12_maintenance .item_inner {
  padding: 3rem 3rem 4rem;
}

.sec12_maintenance .imgBox img {
  border-radius: 12px;
}

.sec12_maintenance .txt {
  margin: 2rem 0 0;
}

.sec12_maintenance .btn-link a {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec12 {
    padding: 8rem 2rem 8rem;
  }

  .sec12 .eng_ttl {
    max-width: 90%;
    margin: 0 auto 1.5rem;
  }


  .sec12_maintenance {
    margin: 4rem 0 0;
  }

  .sec12_maintenance .maintenance_block {
    display: block;
  }

  .sec12_maintenance .maintenance_item {
    width: 100%;
    margin: 0 0 2rem 0;
    border-radius: 10px;
  }

  .sec12_maintenance .maintenance_item:nth-of-type(3n-1):nth-last-of-type(1) {
    margin: 0 0 2rem 0;
  }

  .sec12_maintenance .maintenance_item:last-child {
    margin: 0 0 0 0;
  }

  .sec12_maintenance .maintenance_ttl {
    display: block;
    width: calc(100% - 80px);
    padding: 1.2rem 2rem;
    font-size: 1.7rem;
    border-radius: 10px 0 10px 0;
  }

  .sec12_maintenance .item_inner {
    padding: 2rem 2rem 3rem;
  }

  .sec12_maintenance .imgBox img {
    border-radius: 6px;
  }

  .sec12_maintenance .txt {
    margin: 1.5rem 0 0;
  }

  .sec12_maintenance .btn-link a {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　sec13
---------------------------------------*/
.sec13 {
  padding: 12rem 0 12rem;
  position: relative;
  z-index: 0;
}

.sec13::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: url("img/sec13_bg.jpg") center center no-repeat;
  background-size: cover;
  width: calc(100% - 10rem);
  height: 100%;
  box-sizing: border-box;
  border-radius: 30px;
  z-index: -1;
}

.sec13 .eng_ttl {
  max-width: 660px;
  margin: 0 auto 3rem;
}


.sec13_solutions {
  margin: 10rem 0 0;
}

.sec13_solutions .solutions_item {
  display: flex;
  justify-content: space-between;
  background: #fff;
  max-width: 1020px;
  margin: 0 0 8rem auto;
  box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.04);
  border-radius: 20px;
}

.sec13_solutions .solutions_item:last-child {
  margin: 0 0 0 auto;
}

.sec13_solutions .imgBox {
  width: 370px;
}

.sec13_solutions .solutions_item:nth-child(odd) .imgBox {
  margin: -4rem 0 0 -8rem;
}

.sec13_solutions .solutions_item:nth-child(even) .imgBox {
  margin: -4rem -8rem 0 0;
  order: 2;
}

.sec13_solutions .txtBox {
  width: calc(100% - 330px);
}

.sec13_solutions .solutions_item:nth-child(odd) .txtBox {
  padding: 4rem 6rem 8rem 0;
}

.sec13_solutions .solutions_item:nth-child(even) .txtBox {
  padding: 4rem 0 8rem 6rem;
  order: 1;
}

.sec13_solutions .solutions_ttl {
  padding: 0 0 2rem;
  font-size: 2.6rem;
  border-bottom: 1px solid rgba(152, 160, 169, 0.3);
  position: relative;
}

.sec13_solutions .solutions_ttl::after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: -6px;
  background: none;
  width: 6px;
  height: 6px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid rgba(152, 160, 169, 0.3);
}

.sec13_solutions .solutions_ttl a {
  display: block;
  padding: 0 4rem 0 0;
  position: relative;
}

.sec13_solutions .solutions_ttl a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  background: url("img/arrow-bl03.png") left top no-repeat;
  background-size: contain;
  width: 26px;
  height: 26px;
  box-sizing: border-box;
}

.sec13_solutions .txt {
  margin: 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec13 {
    padding: 5rem 2rem 6rem;
  }

  .sec13::after {
    width: 100%;
    border-radius: 15px;
  }

  .sec13 .eng_ttl {
    max-width: 75%;
    margin: 0 auto 1.5rem;
  }


  .sec13_solutions {
    margin: 6rem 0 0;
  }

  .sec13_solutions .solutions_item {
    display: block;
    max-width: calc(100% - 2rem);
    margin: 0 0 6rem auto;
    border-radius: 10px;
  }

  .sec13_solutions .solutions_item:nth-child(even) {
    margin: 0 0 6rem 0;
  }

  .sec13_solutions .solutions_item:last-child {
    margin: 0 0 0 auto;
  }

  .sec13_solutions .imgBox {
    width: 80%;
    position: relative;
    top: -30px;
  }

  .sec13_solutions .solutions_item:nth-child(odd) .imgBox {
    margin: 0 0 0 -2rem;
  }

  .sec13_solutions .solutions_item:nth-child(even) .imgBox {
    margin: 0 -2rem 0 auto;
  }

  .sec13_solutions .txtBox {
    width: 100%;
    margin: -3rem 0 0;
  }

  .sec13_solutions .solutions_item:nth-child(odd) .txtBox {
    padding: 2rem 2rem 3rem 2rem;
  }

  .sec13_solutions .solutions_item:nth-child(even) .txtBox {
    padding: 2rem 2rem 3rem 2rem;
  }

  .sec13_solutions .solutions_ttl {
    padding: 0 0 1.5rem;
    font-size: 1.7rem;
  }

  .sec13_solutions .solutions_ttl::after {
    bottom: -2px;
    right: -4px;
    width: 4px;
    height: 4px;
  }

  .sec13_solutions .solutions_ttl a {
    padding: 0 3rem 0 0;
  }

  .sec13_solutions .solutions_ttl a::after {
    width: 16px;
    height: 16px;
  }

  .sec13_solutions .txt {
    margin: 1.5rem 0 0;
  }
}


/*--------------------------------------
　sec14
---------------------------------------*/
.sec14 {
  padding: 12rem 0 12rem;
  position: relative;
  z-index: 0;
}

.sec14::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: url("img/sec14_bg.png") center top no-repeat;
  background-size: 100% auto;
  width: 1440px;
  height: 473px;
  margin: auto;
  box-sizing: border-box;
  opacity: 0.2;
  z-index: -1;
}

.sec14 .eng_ttl {
  max-width: 540px;
  margin: 0 0 3rem;
}


.sec14_system {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sec14_system .boxL {
  width: 50%;
}

.sec14_system .boxR {
  width: 42%;
}

.sec14_system .btn-internal a {
  margin: 3rem auto 0;
}

@media screen and (max-width: 768px) {
  .sec14 {
    padding: 8rem 2rem 8rem;
  }

  .sec14::after {
    background: url("img/sec14_bg_sp.png") center top no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    opacity: 1;
  }

  .sec14 .eng_ttl {
    max-width: 60%;
    margin: 0 0 1.5rem;
  }


  .sec14_system {
    display: block;
  }

  .sec14_system .boxL {
    width: 100%;
  }

  .sec14_system .boxR {
    width: 100%;
    margin: 2rem 0 0;
  }

  .sec14_system .btn-internal a {
    margin: 2rem auto 0;
  }
}