@charset "utf-8";



/* common
------------------------------------------------------------------------*/
#All_Wrap{
  color: #46626f;
}

sup{
font-size: 10px;
vertical-align: super;
}

figure {
  position: relative;
}

.sec01 h2,.sec02 h2,.sec05 h2 {
  width: auto;
  height: clamp(25px, 3.3vw, 40px);
  text-align: center;
}

/*
.sec03 h2,.sec04 h2 {
  width: auto;
  height: clamp(60px, 9.2vw, 110px);
}
*/


h2 img {
  width: auto;
  height: 100%;
}

.c-f-h3 {
  letter-spacing: .1em;
  font-size:  clamp(28px,2.5vw,30px);
  margin-bottom: 40px;
}

.c-f-lead {
  font-size:  clamp(19px,1.75vw,21px);
  margin-bottom: 20px;
  line-height: 1.8;
}

.c-f-text {
  line-height: 3;
  font-size: clamp(14px,1.25vw,15px);
}


/* mainwrap
-------------------------------------------------------------------------*/

#main_Wrap figcaption {
  bottom: 24%;
  right: 5px;
}

/* sec01
-------------------------------------------------------------------------*/

.sec01 {
  margin-top: -15%;
  padding-top: 15%;
  background: url('../img/sec01_bg.png') no-repeat;
  background-size: clamp(600px, 50%, 1000px);
  background-position: 0 0px;
  margin-bottom: 10%;
}

h2 {
  margin-bottom: 50px;
}

.c-sec-top {
  position: relative;
}

.sec01 .c-sec-top {
  text-align: center;
  padding-bottom: 10%
}


/*
.sec01 figcaption.cap_Txt {
  right: 5%;
  bottom: -20px;
}
*/

.sec01 figure::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 100px;
  background: #a0b3bd;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* sec02
-------------------------------------------------------------------------*/

.sec02 {
  background: url('../img/sec03_bg_top.png') no-repeat center bottom / 100% auto;
  padding-bottom: 40%;
}

.sec02 .c-sec-top {
  padding-bottom: 100px;
  padding-bottom: 12%;
  text-align: center;
}

.sec02 h3 {
  width: auto;
  height: clamp(25px, 2vw, 60px);
}

.sec02 h3 img {
  width: auto;
  height: clamp(25px, 2vw, 60px);
}

.sec02 .c-sec-middle {
  position: relative;
  margin-bottom: 5%;
}

.sec02 .c-sec-middle figure:not(.float-pic) {
  width: 80%;
  margin: 0 0 0 auto;
}

.sec02 .c-sec-bottom {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
} 

.sec02 .c-sec-bottom .c-f-lead {
    font-size: 19px;
    line-height: 1.6;
    margin-bottom: 16px;
}

.sec02 .c-sec-bottom .c-f-text {
    font-size: 13px;
    line-height: 2.5;
    margin-bottom: 30px;
}

.sec02 .c-sec-bottom .item-text {
  margin-right: 150px;
}

.float-pic {
  position: absolute;
}

.c-sec-top .float-pic {
  width: 20%;
  top: 53%;
  right: 0;
  transform: translate(0, -50%);
}
.c-sec-middle .float-pic {
  width: 22%;
  top: -40%;
  left: 8%;
}
.c-sec-bottom .float-pic {
  width: 25%;
  top: -20%;
  right: 5%;
}

/* sec03
-------------------------------------------------------------------------*/

.sec03 {
  position: relative;
  z-index:1;
  margin-top: -10%;
  margin-bottom: -1px;
  padding-top: 0%;
  padding-bottom: 36%;
  background: url('../img/sec03_bg.png') no-repeat center / cover;
}

.sec03::before {
  content: '';
  position: absolute;
  top: 13%;
  left: 0;
  width: 100%;
  height: 110%;
  background: url('../img/sec04_img01.png') no-repeat center / 100% auto;
  z-index: 1;
}
.sec03 .c-sec-top h2 {
  width: auto;
  height: clamp(60px, 9.2vw, 110px);
}

.sec03 .c-sec-top {
  position: relative;
  text-align: left;
  transform: translateY(-40%);
}

.u-sp {
  display: none;
}

/* sec04
-------------------------------------------------------------------------*/

.sec04-float-ttl {
  position: absolute;
  bottom:-5%;
  left: 50%;
  transform: translate(-50%,0);
  z-index: 2;
  width: 94%;
  max-width: 1200px;
  height: clamp(60px, 9.2vw, 110px);
}

.sec04 {
  padding-top: 0%;
  padding-bottom: 12%;
  position: relative;
  z-index: 0;
  background:url('../img/sec03_bg_btm.png') no-repeat bottom / 100% auto,
  url('../img/sec03_bg.png') no-repeat center / cover;
}


.sec04 .chart {
  width: 60%;
  margin-left: auto;
  margin-bottom: -5%;
}

.sec04 .c-sec-top {
  text-align: left;
  margin-bottom: 5%;
}


.sec04 .c-f-text {
  line-height: 2.5;
  font-size: clamp(14px,1.25vw,15px);
}

.sec04 .img-block {
  display: flex;
  position: relative;
  gap: 60px;
  max-width: 800px;
}

.sec04 .cap_Txt {
  bottom: -20px;
  left: 0;
}

/* sec05
-------------------------------------------------------------------------*/


.sec05 {
  position: relative;
  z-index:0;
  background: url('../img/sec05_bg_top.png') no-repeat top -1% center / 50% auto,
  url('../img/sec05_bg_btm.png') no-repeat bottom center / 100% auto,
  url('../img/sec05_bg.png') no-repeat center / cover;
  padding-top: 8%;
  padding-bottom: 10%;
  color: #fff;
}

.sec05 .sec-ttl .c-f-h3 {
  text-align: center;
  margin-bottom: 10%;
}

.sec05 .top.flex {
  flex-direction: row-reverse;
  gap: 40px;
  margin-bottom: max(350px, 20%);
}

.sec05 .c-sec-top {
  position: relative;
  width: 75%;
  text-align: left;
}

.sec05 .item-img {
  position: relative;
  width: 35%;
}

.sec05 .bottom.flex {
  gap: 40px;
  margin-bottom: 200px;
}

.sec05 .bottom.flex .c-sec-top {
  position: relative;
  width: 50%;
  text-align: left;
}

.sec05 .bottom.flex .item-img {
  position: relative;
  width: 50%;
}

.sec05 .bottom.flex .item-img .cap_Txt{
  top: 180%;
}

.float-pic02,.float-pic03,
.float-pic05,.float-pic06,.float-pic07 {
  position: absolute;
}

.float-pic01 {
  width: 100%;
  margin-left: auto;
}

.float-pic02 {
  width: 50%;
  top: 105%;
  right: 12%;
}

.float-pic03 {
  width: 55%;
  top: 105%;
  left: -30%;
}

.float-pic04 {
  width: 70%;
  transform: translateY(-50%);
}

.float-pic05 {
  width: 35%;
  top: 60%;
  left: 55%;
}

.float-pic06 {
  width: 35%;
  top: 95%;
  left: 10%;
}

.float-pic07 {
  width: 30%;
  bottom: 0;
  right: 5%;
}

.u-f-col {
  color: #46626f;
}


@media screen and (max-width: 1024px) {
  .sec02 .float-pic .cap_Txt {
    bottom: -3%;
  }
}


@media screen and (max-width: 767px) {

/* common
------------------------------------------------------------------------*/

  #main_Wrap {
    margin-bottom: 60px;
  }
  .inner {
    width: 90%;
  }

  .c-f-h3 {
  letter-spacing: .1em;
  font-size:  22px;
  margin-bottom: 30px;
  line-height: 1.5;
}

.c-f-lead {
  font-size:  18px;
  margin-bottom: 20px;
  line-height: 1.8;
}

.c-f-text {
  line-height: 2.5;
  font-size: 14px;
}


/* sec01
-------------------------------------------------------------------------*/

  .sec01 {
    margin-top: -28%;
    margin-bottom: 20%;
    padding-top: 20%;
    background-position: -150px 0px;
    background-size: 600px;
  }
  .sec01 figure::before {
    height: 60px;
  }
  .sec01 .c-sec-top {
    padding-bottom: 15%;
  }

  /* sec02
-------------------------------------------------------------------------*/

.sec02 .c-sec-top {
  padding-bottom: 20%;
}

.sec02 .c-sec-middle figure:not(.float-pic) {
  width: 100%;
  margin: 0;
}

.c-sec-top .float-pic {
  width: 20%;
  top: 83%;
  right: 0;
  transform: translate(0, -50%);
}
.sec02 .c-sec-middle {
  margin-bottom: 10%;
}
.c-sec-middle .float-pic {
  width: 25%;
  top: -50%;
  left: 0%;
}

.sec02 .float-pic .cap_Txt {
  bottom: min(-13px,-8%);
}

.sec02 .c-sec-bottom {
  position: relative;
  flex-direction: column;
  justify-content:unset;
  align-items: unset;
  gap: 20px;
}
.sec02 .c-sec-bottom h3{
  height:21px;
}
.sec02 .c-sec-bottom h3 img {
   height:21px;
}


.sec02 .c-sec-bottom .item-text {
  margin-right: 0px;
}

.c-sec-bottom .float-pic {
  width: 28%;
  top: -10%;
  right: 0%;
}

/* sec03
-------------------------------------------------------------------------*/
.sec03 {
  padding-bottom: 65%;
}
.sec03::before {
  content: '';
  background: url('../img/sec04_img01_sp.png') no-repeat center / 100% auto;
}

.sec03 .c-sec-top {
  transform: translateY(0%);
}

.sec03::before {
  top: 48%;
  height: 60%;
}

/* sec04
-------------------------------------------------------------------------*/

.sec04-float-ttl {
  bottom: 9%;
  left: 5%;
  transform: translate(0%, 0);
}


.sec04 {
  margin-bottom: 0%;
  padding-top: 0%;
  padding-bottom: 20%;
display: flex;
flex-direction: column;
}
.sec04 .inner{
  order: 2;
}

.sec04 .chart {
  width: 100%;
  margin-bottom: 10%;
}

.sec04 .c-sec-top {
  margin-bottom: 5%;
  order: 1;
}

.sec04 .c-f-text {
  margin: 0;
}

.sec04 .item-img {
  width: 100%;
}

.sec04 .img-block {
  transform: translateY(20%);
  gap: 10px;
  order: 3;
}



/* sec05
-------------------------------------------------------------------------*/

.sec05 {
  background: url('../img/sec05_bg_top.png') no-repeat top center / 60% auto,
  url('../img/sec05_bg_btm.png') no-repeat bottom center / 100% auto,
  url('../img/sec05_bg.png') no-repeat center / cover;
  padding-bottom: 20%;
  padding-top: 20%;
}
.sec05 h2 {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.sec05 h2 img {
  width: 100%;
  height: auto;
}


.sec05 div.inner > .c-f-h3 {
  text-align: left;
  margin-bottom: 10%;
}

.sec05 .top.flex {
  flex-direction: column;
  gap: 0%;
  margin-bottom: 30%;
}

.sec05 .bottom.flex {
  flex-direction: column;
  gap: 40px;
  margin-bottom: 20%;
}

.sec05 .item-img {
  position: relative;
  width: 100%;
  margin-bottom: 80%;
}

.sec05 .c-sec-top {
  width: 100%;
  margin-bottom: 10%;
}

.sec05 .bottom.flex .c-sec-top {
  width: 100%;
}

.sec05 .bottom.flex .item-img {
  width: 100%;
  margin-bottom: 30%;
}

.sec05 .bottom.flex .item-img .cap_Txt{
  top: 70%;
}


.float-pic02 {
  width: 35%;
  top: 110%;
  right: 15%;
}

.float-pic03 {
  width: 40%;
  top: 120%;
  left: 0%;
}

.float-pic07 {
  width: 50%;
  bottom: .5%;
  right: 5%;
}




}


@media screen and (max-width: 567px) {

.sec01 {
  background-size: 560px;
}

.sec03 {
  padding-bottom: 70%;
}

.sec03::before {
  top: 56%;
  height: 50%;
}

.u-sp {
  display: block;
}
.u-around-pc-tab {
  display: none;
}

.sec04-float-ttl {
  bottom: -2%;
  left: 5%;
}

}

@media screen and (max-width: 420px) {

.sec03 {
  padding-bottom: 80%;
}

.sec03::before {
  top: 55%;
  height: 50%;
}

.sec04-float-ttl {
  bottom: -1%;
  left: 5%;
}

}

