body {
  font-family: 'Noto Sans JP', sans-serif;
}
.sp {
  display: none !important;
}
.pc {
  display: inline-block !important;
}
.pc-block {
  display: block !important;
}
img {
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;
}
.navbar {
  margin-bottom: 20px;
}
section.main .container {
  max-width: 1024px;
}
.colin-nav .nav-link {
  color: #000;
  font-weight: bold;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
  padding: 0 1.5rem .5rem;
  border-bottom: 3px solid transparent;
}
.colin-nav .nav-item.last {
  border-right: 0;
}
.navbar-brand img {
  max-width: 263px;
}
.colin-nav .nav-link:hover {
  border-bottom: 3px solid #00A1AE;
}
.colin-nav .nav-item.btn a {
  font-size: 1.25rem;
  font-weight: 500;
  color: #fff;
  background-color: #00A1AE;
  padding: 15px 20px;
  border-radius: 35px;
  text-decoration: none;
}
.mv-bg {
  background-image: url(../img/top-mv-bg.png), url(../img/botom-mv-bg.png);
  background-repeat: no-repeat;
  background-size: 35%;
  background-position: top center, bottom left;
}
h1.mv-ttl {
  position: relative;
  letter-spacing: -1px;
}
h1.mv-ttl::before {
  position: absolute;
  content: url(../img/h1-mv-dec.png);
  top: 0;
  transform: scale(.65);
    left: -40px;
}
h1.mv-ttl span {
  color: #00A1AE;
}
.step-ttl {
  font-size: 1.35rem;
}
.str-pt  {
  letter-spacing: -1px;
}
.prob-pt-ttl {
  font-size: 3.5rem;
  letter-spacing: -2px;
}
.mv-desc {
  background-color: #FFFBC9;
  padding: 24px 30px;
  border-radius: 30px;
  font-size: 1.2rem;
}
.mv-desc span {
  font-weight: bold;
  font-size: 1.25rem;
}
.dark-bg {
  background-color: #343434;
}
.fixed-cta {
  max-width: 1320px;
  margin: 0 auto;
  gap:12px;
}
.contact-txt {
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
}
.contact-txt span {
  font-size: 2rem;
  color: #FFF266;
}
.sec {
  padding: 6rem 0;
}
.lt-blue {
  background-color: #D5EEF0;
}
.dr-blue {
  background-color: #00A1AE;
  color: #fff;
}
.info-txt {
  display: inline-block;
  margin: 0 auto;
  text-align: left;
}
.info-txt span {
  font-weight: bold;
}
.red {
  color: #FF0000;
  font-weight: bold;
}
.txt-blue {
  color: #00A1AE;
  font-weight: bold;
}
.yellow {
  color: #FFEA00;
}
.kh-sec:before {
  position: absolute;
  content: 'しかし・・・';
  background-image: url('../img/kh-point.png');
  background-size: contain;
  width: 388px;
  height: 127px;
  top: -10%;
  left: calc(50% - 194px);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 20px;
  font-weight: bold;
  font-size: 35px;
}

.solve-sec {
  background-image: 
    url(../img/solve-bg-left.jpg),
    url(../img/solve-bg-right.jpg);
    background-position: top 40px left 10%, top 40px right 10%;
    background-repeat: no-repeat;
    background-size: auto 80%;
}
.points-ttl span {
    font-size: 2.25rem;
}
.reason-sec {
  background: #FFF;
}
.comp-table-cont {
  padding: 36px 24px;
  border-radius: 30px;
  border: 1px solid #E8E8E8;
  box-shadow: 6px 6px 10px rgba(0,0,0,.15);
  background-color: #fff;
}
.comp-table-cont-new {
  background-color: #f5f5f5;
}
.contact-btn {
  background-color: #00A1AE;
  color: #fff;
  border-radius: 10px;
  font-size: 32px;
  font-weight: bold;
  padding: 40px 100px 28px 100px;
  line-height: 100%;
}
.contact-btn2 {
  background-color: #00A1AE;
  color: #fff;
  border-radius: 10px;
  font-size: 32px;
  font-weight: bold;
  padding: 40px 100px 40px 100px;
  line-height: 100%;
}
.contact-btn:hover {
  color: #fff;
}
.light-gray-bg {
  background-color: #F4F4F4;
}
.footer {
  background-color: #000;
  padding-bottom: 12rem !important;
}
.footer .phone-link {
  color: #fff;
  text-decoration: none;
}
.footer .view-link {
  text-decoration: none;
  border-bottom: solid 1px #FFEA00;
  padding-bottom: 3px;
}
.footer .view-link:hover {
  color: #FFEA00;
}
.flex-even {
  flex: 1;
}
.point-ttl {
  color: #00A1AE;
  display: inline-block;
  margin: 0 auto;
  text-align: center;
  font-size: 1.75rem;
  font-family: futura-pt, sans-serif;
  font-weight: 600;
  font-style: normal;
  border-bottom: 8px solid #00A1AE;
  margin-bottom: 10px;
}
.point-ttl span {
  font-size: 2.5rem;
  font-weight: 700;
}
.point-desc {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
}
.solve-img {
  width: 80%;
}

.footer-wrap{

  max-width: 435px;
  margin: 0 auto;
}

/* MOBILE & TAB DESIGN */
@media (max-width: 767.98px) { 
  .col-results {
    font-size: 8px;
  }
  .col-diff {
    font-size: 12px;
  }
  h2 {
    font-size: 1rem;
  }
  h4 {
    font-size: calc(1.1rem + .3vw);
  }
  .end-txt {
    font-size: 1rem;
  }
  .sat-prod-ttl {
    width: 75%;
    margin: 0 auto;
  }
  .sat-prod-desc {
    font-size: 14px;
  }
  .steps-desc {
    font-size: .75rem !important;
  }
  .contact-btn2 {
    font-size: 12px;
    padding: 20px 50px 20px 50px;
  }
  .comp-table-cont {
    padding: 12px 0;
    border-radius: 12px;
  }
  .colin-nav .nav-link {
    padding: 0;
  }
  .result-ttl {
    font-size: 1rem;
  }
  .info-txt {
    font-size: .75rem;
  }
  li.nav-item {
   padding: 25px 0;
   width: 100% !important;
   border-bottom: 1px dashed #343434;
  }
  li.nav-item:last-child {
    border-bottom: none;
  }
  .colin-nav .nav-item.btn a {
    font-size: 1rem;
    font-weight: normal;
    padding: 12px 50px;
  }
  ul.navbar-nav {
    padding: 15px 40px;
  }
  .mv-ttl {
    font-size: 1.25rem;
    padding-top: 15px;
  }
  h1.mv-ttl::before {
    transform: scale(.3);
    left: -90px;
    top: -10px;
  }
  .point.sp {
    display: flex !important;
  }
  .point-ttl {
    font-size: 1rem;
    border-bottom: 3px solid #00A1AE;
  }
  .point-ttl span {
    font-size: 1.5rem;
  }
  .point-desc {
    text-align: left;
    font-size: 1rem;
  }
  .prob-pt-ttl {
    font-size: 1.25rem;
    letter-spacing: -1px;
  }
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  .pc-block {
    display: none !important;
  }
  .mv-desc {
    background-color: #fff;
    padding: 0;
    font-size: .7rem;
    padding: 15px 0 10px 0;
  }
  .mv-desc span {
    font-size: .9rem;
  }
  .contact-txt {
    font-size: 1rem;
  }
  .contact-txt span {
    font-size: 1.5rem;
  }
  .kh-sec:before {
    transform: scale(.75);
  }
  .sec {
    padding: 3rem 20px;
  }
  .small-txt {
    font-size: 10px;
  }
  .solve-sec {
    background-size: auto 60%;
    background-position: top 80px left 2%, top 80px right 2%;
  }
  .contact-btn {
    font-size: 12px;
    padding: 20px 50px 8px 50px;
  }
  .solve-img {
    width: 100%;
  }
  .str-pt {
      letter-spacing: 0;
      font-weight: normal;
      font-size: .9rem;
  } 
}

@media (min-width: 1400px) {
  .contact-txt {
    color: #fff;
    font-weight: bold;
    font-size: 1rem;
  }
  .contact-txt span {
    font-size: 1.5rem;
    color: #FFF266;
  }
}

/* new section */

.process-flow-box-item {
  flex-basis: 30%;
  border-radius: 30px;
  box-shadow: 6px 6px 10px rgba(0, 0, 0, .15);
  margin-bottom: 45px;
  padding: 25px 44px 28px;
  text-align: center;

}


.blue-right-arrow {
  position: relative;
}
.blue-right-arrow::after {
  content: "";
  border-style: solid;
  position: absolute;
  top: 50%;
  right: -34px;
  transform: translate(1px, -50%);
  width: 0px;
  height: 0px;
  border-color: transparent transparent transparent #00A1AE;
  border-width: 20px 0 20px 20px;
}

.pfbi-ttl {
  display: inline-block;
  text-align: center;
  color: #00A1AE;
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 48px;
  border-bottom: solid 6px #00A1AE;
  margin-bottom: 30px;
}

.pbfi-img {
  max-width: 150px;
  margin-bottom: 5px;
  min-height: 156px;
  max-height: 156px;
}

.pbfi-desc {
  text-align: left;
  font-size: 12px;
  margin-bottom: 10px;
}

a.pbfi-btn {
  display: block;
  text-align: center;
  background: #03a1ae;
  min-height: 30px;
  border-radius: 5px;
  font-size: 17px;
  line-height: 36px;
  text-decoration: none;
  color: #FFF;
}

.success-box-item {
  max-width: 1000px;
}

.slick-dots li.slick-active button:before {
  color: #03a1ae !important;
}

.slick-dots li button:before {
  font-size: 10px !important;
  line-height: 20px !important;
  top: 5px !important;
  color: #03a1ae !important;

}

.slick-prev:before {
  content: '' !important;
  border: solid #00A1AE;
  border-width: 0 10px 10px 0;
  display: inline-block;
  padding: 22px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  display: block;
}

.slick-prev {
  left: -50px;
}

.slick-next:before {
  content: '' !important;
  border: solid #00A1AE;
  border-width: 0 10px 10px 0;
  display: inline-block;
  padding: 22px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  display: block;
}

.slick-next {
  nav-right: -50px;
}

/* success */
.success-box-item{
  padding: 40px;
  border: solid 1px #707070;
  min-height: 376px;
}
.sbi-con1 {
  flex-basis: 33%;
}

.sbi-con2 {
  flex-basis: 63%;
}

.sbi-ttl{
  color: #00A1AE;
  margin-bottom: 30px;
  text-align: left;
  width: 100%;
}

.sbi-ttl span{
  position: relative;
  font-size: 30px;
  line-height: 36px;
  display: inline-block;
  margin-left: 50px;
}

.sbi-ttl .sbihouse::before{
  content: '' !important;
 background: url(../img/house.svg) no-repeat;
 background-size: 100% 100%;
 display: block;
 width: 34px;
 position: absolute;
 height: 34px;
 left: -45px;
 top: 0;
}

/*-- override --*/
.container-ttl {
  background:#00A1AE;
  text-align: center;
  /* padding:48px 24px; */
  padding:38px 24px 48px;
  margin-bottom:48px;
}
.container-ttl h2 {
  /* font-size:32px;
  line-height:38px; */
  font-size:58px;
  line-height:72px;
  color:#fff;
}
.container-ttl p {
  color:#fff;
  /* font-size:20px; */
  font-size:24px;
  line-height:45px;
  margin-top:12px;
  margin-bottom:0px;
}
.container-ttl p strong {
  /* font-size:26px; */
  font-size:32px;
  line-height:45px;
}

@media (max-width: 767.98px) {
  .container-ttl {
    padding: 24px 12px;
  }
  .container-ttl h2 {
    font-size:20px;
    line-height:30px;
    margin-bottom:0px;
  }
  .container-ttl p {
    font-size:14.4px;
  }
  .container-ttl p strong {
    font-size:18px;
  }
  .container-ttl p.cont-pc {
    display:none;
  }
}
.process-flow-box-item {
  border:1px solid #eee;
}

.sec-points {
  max-width:1200px!important;
}
.sec-points .row {
  gap:30px;
}
.sec-points .row .col-md-4 {
  flex-basis:calc(33.33% - 30px)!important;
}

.comp-table-cont-new .col-md-4 {
  padding:0px 6px!important;
}
/* .comp-table-cont-new .col-md-4:last-child {
  padding-right:0px!important;
} */

.reason-sec {
  background:#fff;
}
.reason-sec .py-5 {
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.cont-sp.sp-points-list {
  display:none;
}
.cont-sp.footer-cont {
  display:none;
}
.sp-lists-problems {
  display:none;
}


.sec-reason-tbl h2 br.br-sp {
  display:none;
}
.comp-table-sp {
  display:none;
}

.sec-success-sp {
  display:none;
}
.sec-flow .flowslider {
  display:none;
}

@media(max-width:767.98px) {
  .navbar .py-2 {
    padding-right: 3px !important;
    /* margin-left:10px!important; */
  }
  .navbar-brand img {
    max-width:125px;
    height:auto;
  }
  h1.mv-ttl {
    text-align:center;
    font-size:23px;
    position: relative;
    left: 6px;
    display: block;
    width: 350px;
    margin: 0 auto;
  }
  h1.mv-ttl::before {
    /* left:auto; */
    left: -38px;
  }
  .mv-desc {
    text-align: center;
  }

  .mv-bg {
    background:none!important;
  }
  .grid-sp-mv {
    /* background:orange; */
    padding-right:0px!important;
    padding-left:0px!important;
    background:url(../img/mv-sp-bg.png) no-repeat;
    background-position:right bottom;
  }
  .grid-sp-mv .mv-sp {
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .cont-sp.sp-points-list {
    display:block;
    padding-left:20px;
    padding-right:20px;
  }
  .cont-sp.footer-cont {
    display:block;
  }
  .cont-sp.footer-cont p.footer-txt {
    font-size: 18px;
    line-height: 28px;
    color: #fff;
    font-weight: 700;
    text-align: center;
    margin-bottom: 5px;
  }  
  .cont-sp.footer-cont p.footer-txt strong {
    color:#FFF266;
  }
  .fixed-bottom .cont-pc {
    display:none!important;
  }
  .fixed-bottom {
    padding:18px 0px!important;
  }
  .btn-fixedbottom {
    margin-top:10px!important;
  }
  .sec-points .row {
    gap:0px;
  }
  .sec-points .row .col-md-4 {
    flex-basis:100%!important;
  }

  .sec-problems {
    padding:28px 0px;
  }
  .sec-problems .cont-pc {
    display:none;
  }
  .sp-lists-problems {
    display:block;
    margin-left:20px;
    margin-right:20px;
  }
  .sp-lists-problems .list {
    background:#00A1AE;
    display:flex;
    flex-wrap: nowrap;
    align-items: center;
    gap:20px;
    padding:12px 18px 12px 25px;
    margin:10px 0px;
  }
  .sp-lists-problems .list .list-img {
    flex-basis:64px;
    text-align: center;
  }
  .sp-lists-problems .list p {
    flex-basis:calc(100% - 80px);
    color:#fff;
    font-size:15px;
    font-weight:700;
    text-align: center;
    margin:0px!important;
  }

  .sp-lists-problems .list:nth-child(1) img {
    width:auto;
    height:48px;
  }
  .sp-lists-problems .list:nth-child(2) img {
    width:auto;
    height:50px;
  }
  .sp-lists-problems .list:nth-child(3) img {
    width:auto;
    height:62px;
  }

  .sp-pointscont {
    flex-wrap: wrap;
    margin-left: 10px;
    margin-right: 10px;
  }
  .sp-pointscont .col-3 {
    flex-basis:100%!important;
  }
  .sp-pointscont .col-9 {
    flex-basis:100%!important;
    margin-left: 0px !important;
    text-align: center;
  }
  .sp-pointscont .col-9 .point-ttl {
    display:none!important;
  }
  .sp-pointscont .col-9 p {
    text-align: center;
    font-size:17px;
    margin-bottom: 6px;
    margin-top: 8px;
  }
  .sp-pointscont .col-9 p br {
    display:none;
  }

  .sp-pointscont + h4.str-pt {
    margin-top:0px!important;
    text-align: center;
    margin-bottom: 32px !important;
  }
  .sp-pointscont + h4 br {
    display:none;
  }

  .sec-reason-tbl {
    padding:24px!important;
  }
  .sec-reason-tbl .py-5:nth-child(1) {
    padding:0px!important;
  }
  .sec-reason-tbl h2 br.br-sp {
    display:block;
  }
  .sec-reason-tbl h2 {
    font-size:25px;
    line-height:29px;
    width: 100% !important;
  }
  .sec-reason-tbl h2 + h4 {
    font-size:18px;
    position:relative;
    border-bottom:1px solid #707070;
    height:10px;
    margin-top: 22px;
  }
  .sec-reason-tbl h2 + h4 span {
    background: #fff;
    position: absolute;
    top: -3px;
    left: 0px;
    right: 0px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 150px;
  }

  .comp-table-sp {
    display:block;
    overflow-x: scroll;
    overflow-y: hidden;
    /* padding:20px 0px; */
  }
/* 
  .comp-table-sp .tbl-sp {
    overflow-x: scroll;
    overflow-y: hidden;
    padding:20px 0px;
    background:orange;
  } */
  /* .comp-table-sp .tbl-sp {
    padding:80px 0px;
  } */
  .comp-table-sp .tbl-sp table {
    width:680px;
    border-collapse: collapse;
  }
  .comp-table-sp table td {
    border:1px solid #000000;
    width:198px;
  }
  .comp-table-sp table td.blank {
    border:0px!important;
    width:90px!important;
  }
  .comp-table-sp table td {
    font-size:13px;
    text-align: center;
  }
  .comp-table-sp table td.tdttl {
    font-size:15px;
    background:#0D0D0D;
    padding:8px 0px;
    color:#fff;
    font-weight:700;
  }
  .comp-table-sp table tr:nth-child(1) td.tdttl:nth-child(2) {
    color:#000;
  }
  .comp-table-sp table td.tdhead {
    font-size:15px;
    font-weight:700;
    color:#070707;
    width:90px!important;
    text-align: center;
  }
  /* .comp-table-sp tr:nth-child(1) td.tdttl {
    background:
  }  */
  .comp-table-sp table td:nth-child(2) {
    width:218px;
    padding-left:10px;
    padding-right:10px;
    background:#87D6DC!important;
  }
  .comp-table-sp table td:nth-child(3) {
    width:218px;
    padding-left:10px;
    padding-right:10px;
  }
  .comp-table-sp table td:nth-child(4) {
    width:218px;
    padding-left:10px;
    padding-right:10px;
  }

  .comp-table-sp table td:nth-child(2) span.symbol {
    color:#FFEA00;
    font-weight:900;
    font-size:30px;
  }

  .sec-stories {
    padding-top: 24px !important;
    padding-bottom:24px!important;
    background:#F5F5F5;
  }
  .sec-stories h2.sec-stories-ttl {
    position:relative;
    font-size:30px;
    height:36px;
    border-bottom: 1px solid #707070;
    margin-bottom:36px!important;
  }
  .sec-stories h2.sec-stories-ttl span {
    position:absolute;
    left:0px;
    right:0px;
    margin-left:auto;
    margin-right:auto;
    top: 8px;
    background: #F5F5F5;
    width: 160px;
  }
  .sec-stories h2.sec-stories-ttl + h5 {
    font-size:15px;
    line-height:20px;
    margin-bottom:16px!important;
  }

  .sec-stories .container:nth-child(1) {
    padding-left: 8px !important;
    padding-right:8px!important;
  }
  .success-cont-pc {
    display:none!important;
  }
  .sec-success-sp {
    display:block;
    padding:15px;
    border:2px solid #00A1AE;
    margin:20px 0px;
    background:#fff;
  }
  .sec-success-sp img.mainimg {
    width: 100%;
    height: 205px;
    object-fit: cover;
    object-position: center;
  }
  .sec-success-sp h3 {
    font-size:30px;
    color:#000000;
    padding-left:45px;
    margin:16px 0px;
  }

  .sec-success-sp h3.ichome {
    background:url(../img/ic-home.svg) no-repeat;
    background-position:left center;
  }
  .sec-success-sp h3.icinject {
    background:url(../img/icinject.svg) no-repeat;
    background-position:left center;
  }
  .sec-success-sp h3.icdrink {
    background:url(../img/ic-drink.svg) no-repeat;
    background-position:left center;
  }
  .sec-success-sp .ic-arrow {
    display:block;
    margin:12px auto;
  }
  .sec-success-sp .issue,
  .sec-success-sp .result {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items: center;
  }
  .sec-success-sp .issue .ttl {
    flex-basis:64px;
    height:64px;
    background:#343434;
    color:#fff;
    font-size:21px;
    font-weight:700;
    display:flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
  }
  .sec-success-sp .issue .txt {
    color:#000000;
    flex-basis:calc(100% - 74px);
    font-size:13px;
  }
  .sec-success-sp .result .ttl {
    flex-basis:64px;
    height:64px;
    background:#00A1AE;
    color:#fff;
    font-size:21px;
    font-weight:700;
    display:flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
  }
  .sec-success-sp .result .txt {
    color:#000000;
    flex-basis:calc(100% - 74px);
    font-size:13px;
  }
  .sec-success-sp span.txtred {
    color:#FF0404;
    font-weight:700;
  }
  .sec-stories .btn-contact-sp {
    display:none!important;
  }

  .sec-flow .cont-flow-pc {
    display:none!important;
  }
  .sec-flow {
    background:#fff;
    padding:24px 0px!important;
    overflow-x:hidden;
  }
  .sec-flow h2 {
    font-size:25px;
    line-height:30px;
    margin-bottom:22px!important;
  }
  /* .sec-flow .flowslider-item {
    width:100%!important;
  } */
  .sec-flow .flowslider {
    display:block;
  }
  .sec-flow .flowslider-cont {
    border-radius: 4px;
    border:1px solid #707070;
    padding:12px 15px;
    /* width: 234px !important; */
    width: 260px !important;
    margin: 0 auto;
    text-align: center;
    box-shadow: 4px 4px 6px rgb(0,0,0,.15);
  }
  .sec-flow .pbfi-desc {
    font-size:15px;
  }
  .sec-flow .pfbi-ttl {
    margin-bottom:14px;
  }
  .sec-flow .slick-dots li button:before {
    font-size:18px!important;
    border:1px solid #707070!important;
    border-radius: 50%!important;
  }
  .sec-flow .slick-dots li button:before {
    color:#fff!important;
  }
  .sec-flow .slick-dots li.slick-active button:before {
    opacity:1;
    color:#00A1AE!important;
  }


  .sec-info .py-5 {
    padding:0px 0px!important;
  }
  .sec-info h2 {
    font-size:31px;
  }

  .slick-next:before {
    display:none;
  }
  .slick-prev:before {
    display:none;
  }
  .blue-right-arrow::after {
    display:none;
  }

  .footer {
    padding: 24px 20px 186px !important;
  }
  .footer .logo-footer {
    width: 150px !important;
  }
  
}
@media(max-width:374px) {
  h1.mv-ttl {
    font-size: 19px;
    left: 0px;
    width: 300px;
  }
}

/* * {
  border:1px solid red;
} */



/* * {
  border:1px solid red;
} */