html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  background-color: #E6F5FA;
}

img {
  max-width: 100%;
}

.pc-on {
  display: block;
}

.sp-on {
  display: none;
}

a:hover {
  opacity: 0.8;
  transition: all .2s ease;
}

.wrapper {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}

.header-flex{
      display: flex;
        justify-content: space-between;
        align-items: center;
}
.logo a{
      font-size: 18px;
        color: #0E7DD9;
        font-weight: bold;
}
.header-btn{
  width: 190px;
}
header{
  padding: 13px 0;
      background: #fff;
          position: fixed;
            z-index: 999;
            width: 100%;
}

.mainvisual {
  width: 100%;
  background-size: cover;
  position: relative;
  background: url(../img/mainvisu.jpg) center/cover no-repeat;
  height: 620px;
}
.main-p{
      font-size: 18px;
        color: #fff;
        line-height: 2;
        font-weight: 600;
            margin-bottom: 27px;
}
.main-d{
  padding-top: 85px;
}

main{
  background-image: url(../img/bg-repeat.svg);
    background-repeat: repeat;
    padding-top: 70px;
}

.catch{
      color: #0E7DD9;
        font-weight: 600;
        font-size: 19px;
        line-height: 2;
        text-align: center;
        margin: 75px 0;
}
.catch span{
  font-size: 27px;
    color: #fff;
    background: #FFA727;
    margin-right: 7px;
}

.section-w{
      background: #fff;
        border-radius: 20px;
}
.bgw{
    padding: 70px;
    text-align: center;
}
.section-p{
      font-size: 18px;
        color: #353736;
        line-height: 1.8;
            display: inline-block;
              text-align: left;
              margin-top: 45px;
}
.title{
      text-align: center;
        margin: 0 auto;
        display: block;
}
.sec-img{
      width: 960px;
      margin: 0 auto;
        margin-top: 40px;
}
.year{
      font-size: 21px;
        margin-top: 46px;
        font-weight: 600;
}
.year a{
      color: #46A1D6;
        text-decoration: underline;
}
.feature-flex{
      display: flex;
}
.title2{
      margin-top: 87px;
        margin-bottom: 23px;
}
.feature-flex img{
  width: 345px;
}
.feature-flex p{
      font-size: 20px;
        color: #0872E5;
        font-weight: 600;
        line-height: 1.5;
        margin-top: 10px;
}
.blue-bg{
      background: #B6E3F6;
        margin: 85px 0;
}
.blue-flex{
display: flex;
  align-items: center;
  padding: 52px 0;
}
.orihime-p{
      font-size: 32px;
        font-weight: bold;
        color: #0E7DD9;
        margin-bottom: 30px;
}
.desc{
      font-size: 18px;
        line-height: 1.5;
}
/* .left, .right{
  width: 50%;
} */
/* .right img{
  width: 305px;
} */

.wrapper2 {
  max-width: 810px;
  width: 90%;
  margin: 0 auto;
}

.right img{
      max-width: 305px;
}

.overview{
  margin-top: 67px;
      display: inline-block;
          max-width: 855px;
            width: 100%;

}
.o-title{
      font-size: 18px;
        color: #064070;
        font-weight: 600;
        background: #AEE0F1;
        display: inline-block;
        border-radius: 999px;
            margin-right: 11px;
          width: 115px;
            padding: 10px 0;
}
.o-text{
      font-size: 18px;
        line-height: 1.8;
        text-align: left;
}
.over-flex{
      display: flex;
        align-items: center;
          margin-bottom: 28px;
}

.over-flex2{
  align-items: start;
}
.title4{
  margin-top: 85px;
}
.list{
      text-align: left;
        line-height: 2;
            max-width: 855px;
              margin: 0 auto;
        margin-top: 60px;
}
.list li{
      list-style: disc;
      font-size: 18px;
}
.o-title2{
  width: 150px;
}

.cta {
  width: 100%;
  background-size: cover;
  position: relative;
  background: url(../img/cta.svg) center/cover no-repeat;
      margin-top: 75px;
        margin-bottom: 57px;
}
.cta-w{
      padding: 52px 0;
        text-align: center;
}
.caution{
      font-size: 12px;
        line-height: 2;
        text-align: center;
}
.contact-bg{
      background: #fff;
        padding: 35px 0;
        max-width: 640px;
        margin: 0 auto;
        text-align: center;
         margin-top: 64px;
}
.c-ta{
      font-size: 18px;
        font-weight: 600;
        margin-bottom: 23px;
}
.c-ta2{
      font-size: 18px;
        font-weight: 600;
}
.c-ta2 a{
      color: #000;
        text-decoration: underline;
}

footer{
  background: #444647;
  padding: 36px 0;
      margin-top: 73px;
}
.f-flex-li{
      display: flex;
        color: #fff;
}
.first{
  margin-right: 36px;
}

.f-flex-li li a{
  color: #fff;
}
.f-flex{
      display: flex;
        justify-content: space-between;
}
.copy{
      font-size: 14px;
        color: #fff;
        margin-top: 20px;
        text-align: center;
}

.main-btn:hover{
  transition: all .2s ease;
  opacity: 0.9;
}

.mi-btn{
      margin-top: 60px;
          margin-bottom: 10px;
            color: #0872e6;
            font-weight: 600;
            font-size: 15px;
}
.mi2-btn{
  margin-top: 10px;
}

.mi3-btn {
color: #fff;
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 10px;
}
.btn1{
  width: 475px;
}
.btn2{
  width: 365px;
}
.btn3{
  width: 475px;
}

.year-flex{
  display: flex;
  justify-content: center;
}
.year1{
  margin-right: 60px;
}

@media screen and (max-width: 814px) {
.catch {
    font-size: 17px;
    margin: 35px 0;
  }
    .catch span {
      font-size: 20px;
    }
.bgw {
  padding: 30px;
}
.sp-on{
  display: block !important;
}
.pc-on{
  display: none !important;
}
.section-p {
  font-size: 16px;
  margin-top: 25px;
}
.year {
  font-size: 18px;
  margin-top: 36px;
}
.title2 {
  margin-top: 57px;
      margin-bottom: 5px;
}
.feature-flex {
  display: block;
}
.feature-flex p {
  font-size: 18px;
}
.feature-flex img {
  margin-left: -13px;
}
.blue-bg {
  margin: 45px 0;
}
.blue-flex {
  display: block;
  padding: 42px 0 25px 0;
}
.orihime-p {
  font-size: 20px;
  text-align: center;
      margin-bottom: 20px;
}
.desc {
  font-size: 16px;
      margin-bottom: 20px;
}
.wrapper2 {
  width: 80%;
}
.right img {
  max-width: 215px;
      text-align: center;
        margin: 0 auto;
        display: block;
}
.overview {
  margin-top: 37px;
  text-align: left;
}
.o-title {
  font-size: 16px;
  text-align: center;
          margin-bottom: 5px;
      width: 100%;
}
.over-flex {
  display: block;
      margin-bottom: 20px;
}
.o-text {
  font-size: 16px;
}
.title4 {
  margin-top: 20px;
}
.list {
  margin-top: 20px;
      line-height: 1.7;
}
.list li {
  font-size: 16px;
  margin-left: 15px;
}
.cta {
  background: url(../img/cta-sp.svg) center / cover no-repeat;
  margin-top: 55px;
  margin-bottom: 39px;
}
.contact-bg {
  margin-top: 24px;
      padding: 25px 0;
}
.c-ta {
  font-size: 16px;
}
.c-ta2 {
  font-size: 16px;
  line-height: 1.5;
}
footer {
  padding: 36px 0;
  margin-top: 33px;
}
.f-flex-li {
  display: block;
  text-align: center;
}
.f-flex {
  display: block;
}
.first {
  margin-right: 0;
}
.f-flex-li li{
      text-align: center;
        margin-bottom: 20px;
}
.logo a {
  font-size: 15px;
  line-height: 1.5;
}
.header-btn {
  width: 170px;
}

.mainvisual {
  width: 100%;
  background-size: cover;
  position: relative;
  background: url(../img/sp-mm.jpg) center/cover no-repeat;
  height: 730px;
}
.main-d {
  padding-top: 25px;
}
.sp-main-key{
  width: 100%;
}
.sp-title{
 margin: 0 auto;
}
.sp-title-m {
margin: 0 auto;
  margin-top: 57px;
  margin-bottom: 5px;
}
.sp-title4{
  margin-top: 50px;
}
.mi3-btn{
  font-size: 15px;
}
.main-p {
  font-size: 16px;
  line-height: 1.5;
}

.year1{
  margin-right: 0;
}
.year-flex{
  display: block;
}
}


@supports (-webkit-touch-callout: none) {
  svg {
    width: 200%;
    height: 200%;
    transform: scale(0.5);
    transform-origin: top left;
  }
}