@charset "UTF-8";
/* //////////////////////////////////////////////////////////////////////////////// PC //////////////////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 769px) {
 body{
  background: #f2fafd;
 }
  header,main {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    background: url(../images/main-bg.webp) center top /min(calc(72vw / 12),72px);
  }
  .pc {
    display: inherit;
  }
  .sp {
    display: none;
  }
.kv h1 {
  padding-top: min(calc(120vw / 12),120px);
  width: calc(1000% / 12);
  margin: auto;
}
.ill01 {
  width: calc(260% / 12);
  top: min(calc(40vw / 12),40px);
  left:min(calc(40vw / 12),40px);
}
.ill02 {
  width: min(calc(128.4vw / 12),128.4px);
  position: absolute;
  top: min(calc(40vw / 12),40px);
  right: min(138px,calc(138vw / 12));
}
.ill03 {
  width: min(calc(47.48vw / 12),47.48px);
  position: absolute;
  top: min(calc(33.5vw / 12),33.5px);
  right: min(106px,calc(106vw / 12));
}
.ill04 {
  position: absolute;
  width: min(63.5px,calc(63.5vw / 12));
  left: min(143px,calc(143vw / 12));
  top: min(358px,calc(358vw / 12));
}.kv {
  height: min(436px,calc(436vw / 12));
}
header h2 {
  font-size: min(35px,calc(35vw / 12));
  display: flex;
  align-items: center;
  height: min(115px,calc(115vw / 12));
  position: relative;
  justify-content: center;
  padding-left: min(275px,calc(275vw / 12));
}
header h2 img {
  width: min(292px,calc(292vw / 12));
  height: min(144px,calc(114vw / 12));
  margin: auto;
  position: absolute;
  top: max(-35px, -2.91vw);
  left: min(148px,calc(148vw / 12));
}
.sec01 {
  padding: min(126px,calc(126vw / 12)) 0;
}
.sec01 h2{
  width: min(1000px,calc(1000vw / 12));
  margin: auto;
}
.sec01 .lead {
  line-height: 1.9;
  margin: 2em 0 1.5em;
  font-size: min(25px,calc(25vw / 12));
}
.sec01 .flex {
  width: min(1000px, calc(1000vw / 12));
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sec01 .flex .graph-box {
  width: min(475px,calc(475vw / 12));
  margin-bottom: min(45px,calc(45vw / 12));
}
.sec01 .note {
  font-size: min(17px,calc(17vw / 12));
}
.sec01 .flex .graph-box.last,.sec01 .flex .graph-box.lastpc{
  margin-bottom: min(20px,calc(20vw / 12));
}
.sec02 {
  padding: min(140px,calc(140vw / 12)) 0 min(100px,calc(100vw / 12));
}
.sec02 .inner {
    width: min(1000px, calc(1000vw / 12));
    margin-bottom: min(70px, calc(70vw / 12));
    padding-top: 2em;
  }
.sec02 .inner02{
    width: min(975px, calc(975vw / 12));
} 
.sec02 .inner .ttl {
  font-size: min(36px, calc(36vw / 12));
  line-height: min(80px, calc(80vw / 12));
  border-radius: min(15px, calc(15vw / 12));
}
.sec02 .inner .img {
  width: min(360px, calc(360vw / 12));
}
.sec02 .inner p {
  font-size: min(26px, calc(26vw / 12));
}
.sec02 .inner01 .img,.sec03 .inner01 .img {
    margin: 0 15px 0 0;
}
.sec02 .inner02 p {
  padding-left: 42%;
}
.sec02 .inner02 .ttl {
  margin-left: 18%;
}
.sec02 .inner .ttl {
  padding: 0 1em 0 0.8em;
}
.sec03 .ttl h2 {
  width: min(664px,calc(664vw / 12));
  padding-top: min(100px,calc(100vw / 12));
  margin-bottom: min(130px,(130vw / 12));
  margin-left: min(100px,calc(100vw / 12));
}

.sec03 .obi .obi-ttl,.sec03 .obi .obi-ttl .smaller {
  font-size: min(48px,calc(48vw / 12));
}
.sec03 .obi p.note {
  font-size: min(24px,calc(24vw / 12));
}
.sec03 .obi {
  padding: min(30px,calc(30vw / 12)) 0 min(30px,calc(30vw / 12));
}
.sec03 .obi img {
  width: min(379px,calc(379vw / 12));
}
.sec03 .obi img {
    width: min(379px,calc(379vw / 12));
    margin-left: min(44.6px,calc(44.6vw / 12));
  }
.sec03 .inner .lead {
  line-height: 1.9;
  font-size: min(25px,calc(25vw / 12));
}
.sec03 .inner {
  padding-top: min(75px,calc(75vw / 12));
}
.sec03 .inner .box {
  border-radius: min(20px,calc(20vw / 12));
  width: min(1000px,calc(1000vw / 12));
  margin: min(60px,calc(60vw / 12)) auto min(30px,calc(30vw / 12)) ;
  padding: min(70px,calc(70vw / 12)) min(90px,calc(90vw / 12));
}
.sec03 .inner .box .subttl {
  width: min(620px,calc(620vw / 12));
}
.sec03 .inner .box .flex .txt {
  width: min(562px,calc(562vw / 12));
  font-size: min(22px,calc(22vw / 12));
  line-height: 2.2;
}
.sec03 .inner .box .flex .img{
  width: min(210px,calc(210vw / 12));
}
.sec03 .inner .box .flex {
  margin-top: min(40px,calc(40vw / 12));
}
.sec03 .inner .note {
  font-size: min(22px, calc(22vw / 12));
}

  footer {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .foot_inner {
    width: 100%;
    padding: calc(50vw / 12) 0 calc(210vw / 12);
  }
  footer a {
    display: block;
    width: 15.15%;
  }
  .fixbtns {
    padding: min(calc(20vw / 12.8),20px) 0;
  }
  .fixbtns_button {
    font-size:  min(30px, calc(30vw / 12));
  }

  .fixbtns_button {
    border-radius: 1.5em;
    height: 3em;
    font-size: calc(22vw / 12.8);
  }
  .fixbtns_note {
    padding-top: 1em;
    line-height: 1.5em;
    font-size: 16px;
    text-align: center;
  }
  .fixbtns_note > p {
    line-height: inherit;
    font: inherit;
    font-size: 14px;
  }
.fixbtns_button > i {
  right: 0.5em;
}
.fixbtns_ttl{
    font-size: min(calc(39vw / 12.8),39px);
}
.fixbtns_button.col1{
  width: min(calc(480vw / 12.8),480px);
  margin: auto;
}

}
/* //////////////////////////////////////////////////////////////////////////////// PC 1280以上 //////////////////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 1280px) {

  .foot_inner {
    padding: 50px 0 210px;
  }
  footer a {
    display: block;
    width: 202px;
  }

}
