header {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100vh;
  transform: translate(-50%, 0);
  overflow: hidden;
}
header h1 {
  display: inline-block;
}
header h1 img {
  width: auto;
  height: 80px;
  margin: 20px;
}
header img#icon-menu {
  z-index: 100;
  cursor: pointer;
  position: absolute;
  right: 0;
  width: 43px;
  height: 49px;
  object-fit: cover;
  object-position: 0 100%;
  margin: 20px;
}
header img#icon-menu.close {
  object-position: 0 0;
}
header nav {
  z-index: 99;
  position: absolute;
  top: 0;
  right: -85%;
  width: 85%;
  height: 100vh;
  background: #FFFFFF;
  transition: all 0.6s;
}
header nav.active {
  right: 0;
  height: 100vh;
}
header nav ol {
  width: 90%;
  margin: 140px auto 0;
}
header nav ol li {
  position: relative;
  display: block;
  height: 50px;
  border-bottom: 1px solid #CCCCCC;
}
header nav ol li:first-child {
  border-top: 1px solid #CCCCCC;
}
header nav ol li:after {
  content: "";
  position: absolute;
  right: 20px;
  top: 15px;
  width: 10px;
  height: 19px;
  background-image: url("../images/li-after.png");
  background-repeat: no-repeat;
  background-size: contain;
}
header nav ol li a {
  display: block;
  width: 100%;
  height: 50px;
  text-indent: 1em;
  line-height: 50px;
  text-decoration: none;
}
header.type02 div {
  background-color: #6497BF;
}
header.type02 div h1 img {
  width: auto;
  height: 50px;
  margin: 10px 20px;
}
header.type02 div img#icon-menu {
  right: 0;
  width: 38px;
  height: 43px;
  object-fit: cover;
  object-position: 0 100%;
  margin: 10px 20px;
}
header.type02 div img#icon-menu.close {
  object-position: 0 0;
}

footer#line-navi {
  position: fixed;
  z-index: 10000;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.8);
}
footer#line-navi a img {
  width: auto;
  height: 70px;
  margin: 15px auto;
}

header, article {
  width: 640px;
  margin: 0 auto;
}
header img, article img {
  max-width: 100%;
}

@keyframes anime1 {
  from {
    transform: scale(1, 1);
  }
  to {
    transform: scale(1.1, 1.1);
  }
}
article#interview {
  background: #F2F1EB;
}
article#interview section {
  text-align: center;
  padding: 0 0 30px;
}
article#interview section img.part03 {
  width: 90%;
  margin: 20px 0 0;
}
article#interview section img.part04 {
  width: 70%;
  margin: 20px 0 40px;
}
article#interview section img.part05 {
  width: 90%;
}
article#ba {
  padding: 0 0 30px;
  background-color: #EAF2F6;
}
article#ba section p {
  width: 75%;
  margin: 70px auto 0;
  font-size: 12px;
  color: #DD4141;
}
article#ba section p a {
  color: #5A90B7;
}
article#technology {
  padding: 0 0 30px;
  background-color: #EAF2F6;
  background-image: url("../images/tec-bg.jpg");
  background-repeat: no-repeat;
  background-position: top 250px left;
  background-size: contain;
}
article#technology section ol:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
}
article#technology section ol li {
  float: left;
  display: inline-block;
  width: 50.5833333333%;
}
article#technology section ol li:nth-child(2n) {
  width: 49.4166666667%;
}
article#technology section img.tec02 {
  display: block;
  width: 50%;
  height: auto;
  margin: 100px auto 20px;
}
article#technology section img.tec05 {
  display: block;
  width: 70%;
  height: auto;
  margin: 30px auto;
}
article#technology section.video {
  width: 90%;
  margin: 0 auto;
}
article#technology section.video video {
  width: 100%;
}
article#clinic section {
  text-align: center;
}
article#clinic section img.clinic01 {
  margin: 0 0 30px;
}
article#clinic section img.clinic03, article#clinic section img.clinic09 {
  width: 90%;
  margin: 30px 0;
}
article#clinic section img.clinic04 {
  width: 70%;
  margin: 20px 0 10px;
}
article#clinic section img.clinic05 {
  width: 80%;
  margin: 0;
  animation: anime1 1s ease 0s infinite alternate;
}
article#clinic section img.clinic06 {
  position: relative;
  z-index: 2;
  width: 80%;
  margin: 0;
}
article#clinic section img.clinic07 {
  position: relative;
  z-index: 1;
  margin: -30px 0 0;
}
article#clinic section img.clinic08 {
  position: relative;
  z-index: 2;
  width: 90%;
  margin: -50px 0 0;
}
article#clinic section:nth-child(2) {
  background-color: #EAF2F6;
}
article#doctor section {
  text-align: center;
}
article#doctor section img.doctor03 {
  margin: -20px 0 0;
}
article#doctor section img.doctor04 {
  margin: -30px 0 0;
}
article#doctor section img.doctor05 {
  width: 80%;
  margin: 50px 0;
}
article#case {
  padding: 0 0 50px;
}
article#case section {
  text-align: center;
}
article#case section:first-child {
  background-color: #F2F1EB;
}
article#case section:nth-child(2) {
  padding-bottom: 20px;
  background-color: #EAF2F6;
}
article#case section:nth-child(3) {
  background-color: #FFFFFF;
}
article#case section:nth-child(4) {
  width: 90%;
  margin: 30px auto;
  padding: 30px;
  background-color: #E0F1FA;
}
article#case section:nth-child(4) div {
  padding-bottom: 20px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
article#case section:nth-child(4) div footer {
  margin: 15px auto 0;
  text-align: center;
  font-size: 10px;
}
article#case section:nth-child(5) ul {
  width: 80%;
  margin: 0 auto;
}
article#case section:nth-child(5) ul li {
  list-style-type: disc;
  text-align: left;
  font-size: 10px;
}
article#case section img.case01 {
  width: 80%;
  margin: 50px 0 20px;
}
article#case section img.case02 {
  margin: 0 0 20px;
}
article#case section img.case03 {
  width: 90%;
  margin: 30px 0;
}
article#case section img.case04 {
  position: relative;
  z-index: 1;
}
article#case section img.case05 {
  position: relative;
  z-index: 2;
  width: 90%;
  margin: -100px 0 0;
}
article#case section img.case06 {
  width: 80%;
  margin: 30px 0 0;
}
article#case section img.case07 {
  width: 80%;
  margin: 130px 0 0;
}
article#case section img.case08 {
  width: 70%;
  margin: 30px 0 20px;
}
article#case section img.case09 {
  position: relative;
  z-index: 2;
  width: 80%;
  margin: 0;
}
article#case section img.case10 {
  position: relative;
  z-index: 1;
  margin: -40px 0 0;
}
article#case section img.case11 {
  width: 95%;
  margin: 30px 0 20px;
}
article#case section img.case12 {
  width: 85%;
  margin: 0;
  animation: anime1 1s ease 0s infinite alternate;
}
article#case section footer {
  width: 80%;
  margin: 20px auto 0;
  font-size: 10px;
  text-align: left;
}
article#price section {
  text-align: center;
}
article#price section:nth-child(2) {
  width: 90%;
  margin: 20px auto 50px;
  text-align: left;
  font-size: 10px;
}
article#price section img.price02 {
  width: 80%;
  margin: 50px 0 30px;
}
article#price section img.price04 {
  position: relative;
  margin: -40px 0 0;
}
article#price section img.price05 {
  width: 90%;
  margin: 20px 0;
}
article#whitening {
  background-color: #f2f1eb;
}
article#whitening section {
  background-color: #f2f1eb;
  text-align: center;
}
article#whitening section:nth-child(2) {
  background-color: #FFFFFF;
}
article#whitening section:nth-child(2) div {
  width: 90%;
  margin: 0 auto 30px;
  padding: 20px;
  background-color: #e0f1fa;
  border-top: none;
  box-shadow: none;
}
article#whitening section:nth-child(2) div div {
  width: 100%;
  margin: 0;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
article#whitening section div {
  position: relative;
  width: 90%;
  background-color: #FFFFFF;
  border-top: 5px solid #6497BF;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
article#whitening section div.w1 {
  margin: -250px auto 50px;
}
article#whitening section div.w2 {
  margin: 50px auto;
}
article#whitening section div footer {
  width: 85%;
  margin: 10px auto;
  padding: 0 0 30px;
  text-align: left;
  font-size: 10px;
}
article#whitening section div footer.center {
  width: 100%;
  text-align: center;
  margin: 15px auto 0;
  padding: 0;
}
article#whitening section img.whitening02 {
  position: absolute;
  top: -40px;
  right: 10px;
  width: 20%;
}
article#whitening section img.whitening03 {
  width: 85%;
  margin: 30px 0 20px;
}
article#whitening section img.whitening04 {
  width: 85%;
  margin: 20px 0;
}
article#whitening section img.whitening05 {
  width: 80%;
  margin: 20px 0;
}
article#whitening section img.whitening06 {
  width: 85%;
  margin: 0 0 30px;
}
article#whitening section img.whitening08 {
  width: 20%;
  margin: 50px 0 30px;
}
article#whitening section img.whitening10 {
  width: 80%;
  margin: 0 0 20px;
}
article#whitening section img.whitening15 {
  position: relative;
  z-index: 2;
  width: 70%;
  margin: 0;
}
article#whitening section img.whitening16 {
  position: relative;
  z-index: 1;
  margin: -150px 0 0;
}
article#whitening section img.whitening17 {
  width: 80%;
  margin: 20px 0;
}
article#whitening section img.whitening18 {
  position: relative;
  z-index: 2;
  width: 80%;
  margin: 0;
}
article#whitening section img.whitening19 {
  margin: -50px 0 30px;
}
article#whitening section img.whitening21 {
  margin: 20px 0 0;
  animation: anime1 1s ease 0s infinite alternate;
}
article#attention {
  padding-bottom: 100px;
}
article#attention ul {
  width: 90%;
  margin: 0 auto;
}
article#attention ul li {
  list-style-type: disc;
  font-size: 10px;
}
article h1 {
  margin: 30px 0;
  text-align: center;
}
article h1 img {
  width: 40%;
  height: auto;
}
article h2 {
  margin: 40px 0;
  text-align: center;
}
article h2 img {
  width: 60%;
  height: auto;
}
article hr {
  width: 30px;
  height: 1px;
  border: none;
  background-color: #6497BF;
}
article ul.interview li {
  display: block;
  width: 450px;
  margin-left: 30px;
  padding: 20px;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
article ul.interview li img.iv-detail {
  width: 100%;
  height: 168px;
  object-fit: cover;
  object-position: 0 0;
}
article ul.interview li img.active {
  height: auto;
}
article ul.interview li button.more {
  position: relative;
  width: 300px;
  height: 60px;
  margin-top: 20px;
  border-radius: 30px;
  background-color: #EFEFEF;
  border: none;
  cursor: pointer;
  font-size: 14px;
}
article ul.interview li button.more:after {
  position: absolute;
}
article ul.interview .slide-arrow {
  position: absolute;
  z-index: 100000;
  width: 20px;
  height: auto;
  top: 50%;
}
article ul.interview .prev-arrow {
  left: 70px;
}
article ul.interview .next-arrow {
  right: 70px;
}
article ul.before_after li {
  display: block;
  width: 450px;
  margin-left: 30px;
  padding: 20px;
  background-color: #FFFFFF;
  text-align: center;
  border-radius: 20px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
article ul.before_after li img.ba-detail {
  display: none;
  width: 100%;
  height: auto;
}
article ul.before_after li img.active {
  display: block;
}
article ul.before_after li button.more {
  position: relative;
  width: 300px;
  height: 60px;
  margin: 20px 0;
  border-radius: 30px;
  background-color: #6497BF;
  color: #FFFFFF;
  border: none;
  cursor: pointer;
  font-size: 14px;
}
article ul.before_after li button.more:after {
  position: absolute;
}
article ul.before_after .slide-arrow {
  position: absolute;
  z-index: 100000;
  width: 20px;
  height: auto;
  top: 50%;
}
article ul.before_after .prev-arrow {
  left: 70px;
}
article ul.before_after .next-arrow {
  right: 70px;
}
article ul.slick-dots li {
  display: inline-block;
  width: 20px;
  margin-left: 0;
  padding: 0;
  background-color: initial;
  border-radius: initial;
  box-shadow: none;
}
article ul.slick-list {
  width: 100%;
}

@media only screen and (max-width: 640px) {
  header h1 img {
    height: 60px;
    margin: 10px;
  }
  header img#icon-menu {
    width: 35px;
    height: 40px;
    object-position: 0 100%;
    margin: 15px;
  }
  header img#icon-menu.close {
    object-position: 0 0;
  }
  header nav ol {
    margin: 80px auto 0;
  }
  header.type02 div h1 img {
    height: 32px;
    margin: 14px 20px;
  }
  header.type02 div img#icon-menu {
    width: 29px;
    height: 33px;
    margin: 14px 20px;
  }
  header, article {
    width: 100%;
  }
  header img.mv02, article img.mv02 {
    margin-top: 10px;
  }
  footer#line-navi {
    height: 90px;
  }
  footer#line-navi a img {
    height: 70px;
    margin: 10px auto;
  }
  article h1 {
    margin: 20px 0 10px;
  }
  article h2 {
    margin: 20px 0 10px;
  }
  article#ba section p {
    font-size: 10px;
  }
  article#technology {
    background-position: top 150px left;
  }
  article#technology section img.tec02 {
    margin: 50px auto 20px;
  }
  article#case section img.case05 {
    margin: -50px 0 0;
  }
  article#case section img.case07 {
    margin: 30px 0 0;
  }
  article#case section img.case10 {
    margin: -20px 0 0;
  }
  article#whitening section div.w1 {
    margin: -150px auto 50px;
  }
  article#whitening section div.w1 p {
    font-size: 12px;
  }
  article#whitening section img.whitening02 {
    top: -25px;
  }
  article#whitening section img.whitening19 {
    margin: -20px 0 30px;
  }
  article ul.interview li {
    width: 240px;
  }
  article ul.interview li button.more {
    width: 150px;
    height: 40px;
    margin-top: 20px;
    border-radius: 20px;
    font-size: 12px;
  }
  article ul.interview .slide-arrow {
    width: 10px;
  }
  article ul.interview .prev-arrow {
    left: 50px;
  }
  article ul.interview .next-arrow {
    right: 50px;
  }
  article ul.before_after li {
    width: 250px;
  }
  article ul.before_after li button.more {
    width: 150px;
    height: 40px;
    margin-top: 20px;
    border-radius: 20px;
    font-size: 12px;
  }
  article ul.before_after .slide-arrow {
    width: 10px;
  }
  article ul.before_after .prev-arrow {
    left: 50px;
  }
  article ul.before_after .next-arrow {
    right: 50px;
  }
  article ul.slick-dots li {
    width: 20px;
  }
}/*# sourceMappingURL=style.css.map */vh;
  padding-bottom: 4vh;
}
.cta-area .mb-m {
  margin-bottom: 3vh !important;
}
.cta-area .mt-m {
  margin-top: 3vh !important;
}
.cta-area .cta-box {
  padding: 0.5em 0;
  border: 2px solid #001e5a;
  width: 90%;
  margin: auto;
}
@media screen and (max-width: 560px) {
  .cta-area .cta-box {
    padding: 0.5em 0;
  }
}
.cta-area .cta-box .inner {
  width: 96%;
  background-color: #001e5a;
  padding: 1em;
}
.cta-area .img-m {
  width: 70% !important;
  margin: 1em auto;
}
.cta-area .txt {
  font-size: 0.5em;
}
.cta-area .txt p {
  font-size: 1.2em;
}
.cta-area .txt small {
  display: block;
  font-size: 0.9em;
  text-align: left;
}
.cta-area .caution {
  background-color: #fff;
  width: 86%;
  margin: auto;
  font-size: 0.4em;
  color: #696969;
}
@media screen and (max-width: 560px) {
  .cta-area .caution {
    font-size: 0.5em;
    line-height: 1.5;
  }
}
.cta-area .caution div {
  margin: 1.5em 1.5em 1.5em 2em;
}
.cta-area .caution ul {
  padding: 1em 1.5em 1em 2em;
}
.cta-area .caution ul li {
  list-style-type: none;
}
.cta-area .caution ul li:before {
  content: "・";
  margin-left: -1em;
}

/*-------------foot-fix-------------*/
#foot-fix {
  z-index: 10;
  border: 4px solid #001e5a;
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  #foot-fix {
    font-size: 0.8em;
  }
}

.fixed-bottom {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background-color: #fff;
  padding: 0.5em;
  box-sizing: border-box;
  display: none;
  max-width: 560px;
}
.fixed-bottom .inner {
  max-width: 560px;
  text-align: center;
  padding: 0;
  position: relative;
  width: 90%;
}
.fixed-bottom .inner img {
  display: flex;
  align-items: center;
  vertical-align: middle;
  height: 2em;
  margin: 0 auto;
}
.fixed-bottom .inner:after {
  content: "";
  background-image: url("../images/_svg/foot-btn_arrow.svg");
  height: 1.5em;
  width: 1.5em;
  position: absolute;
  top: 0.3em;
  right: 0;
}

footer {
  padding-bottom: 3em;
}
footer #logo {
  width: 40%;
  margin: 2em auto;
}
footer .copy {
  font-size: 0.4em;
  color: #fff;
  padding: 0 0 2em;
}/*# sourceMappingURL=style.css.map */tion: relative;
}
.p4_cta h2 span:before,
.p4_cta h2 span:after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  background: #2db4ff;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: rotate(-35deg);
}
.p4_cta h2 span:after {
  left: auto;
  right: 0;
  transform: rotate(35deg);
}
.p4_cta .howto_detail {
  padding-bottom: 10.6666666667vw;
}
.p4_cta .howto_detail .wrap.a {
  font-size: 4.2666666667vw;
  margin-top: 2em;
  margin-bottom: 1.5em;
}
.p4_cta .howto_detail .wrap.a ul {
  font-weight: bold;
  text-align: left;
  padding-left: 16vw;
}
.p4_cta .howto_detail .wrap.a li span {
  text-decoration: underline;
}
.p4_cta .howto_detail .wrap.a + figure {
  margin-bottom: 2em;
}
.p4_cta .howto_detail .btn_area {
  margin-top: -2em;
  margin-bottom: 5.3333333333vw;
}
.p4_cta .howto_detail .btn_area + .note {
  padding: 0 6.6666666667vw;
}

.p4_dentition .sec1 {
  padding: 8vw 0 0;
  background-image: repeating-linear-gradient(90deg, #cfeafd, #cfeafd 1px, transparent 1px, transparent 14px), repeating-linear-gradient(0deg, #cfeafd, #cfeafd 1px, #fff 1px, #fff 14px);
}
.p4_dentition .sec1 .wrap {
  padding: 0 4vw;
}
.p4_dentition .sec1 .h {
  margin-bottom: 11.2vw;
}
.p4_dentition .sec1 .inner {
  background: #fff;
  border: 0.6666666667vw solid #62c7ff;
  padding: 4vw;
  padding-top: 0;
  font-size: 3.7333333333vw;
  font-weight: bold;
}
.p4_dentition .sec1 h2 {
  background: #63c6fd;
  color: #fff;
  font-size: 5.0666666667vw;
  font-weight: normal;
  line-height: 1;
  padding: 8vw 0;
  margin-top: -16.8vw;
  margin-bottom: 5.3333333333vw;
  position: relative;
  z-index: 1;
}
.p4_dentition .sec1 h2:before {
  content: "";
  display: block;
  border: 1px solid #fff;
  position: absolute;
  top: 2.1333333333vw;
  left: 2.1333333333vw;
  bottom: 2.1333333333vw;
  right: 2.1333333333vw;
}
.p4_dentition .sec1 h2 em {
  font-weight: normal;
  display: block;
  font-size: 8vw;
  margin-top: 1.8666666667vw;
}
.p4_dentition .sec1 h2 em span {
  font-size: 0.8333333em;
}
.p4_dentition .sec1 figure {
  margin: 5.3333333333vw 0 4vw;
}
.p4_dentition .sec1 .list {
  display: flex;
  justify-content: center;
  color: #0148a8;
  line-height: 1.2;
  margin: 1em 0;
}
.p4_dentition .sec1 .list li {
  background: #e5fdff;
  margin: 0 1.0666666667vw;
  padding: 0.2em 0.5em;
  border-radius: 6.6666666667vw;
}
.p4_dentition .sec1 .list li:first-child {
  margin-left: 0;
}
.p4_dentition .sec1 .list li:last-child {
  margin-right: 0;
}
.p4_dentition .sec1 .box {
  border: 0.2666666667vw solid #0148a8;
  padding: 2.6666666667vw;
  padding-top: 0;
  margin-top: 8vw;
}
.p4_dentition .sec1 .box h3 {
  margin-top: -0.8em;
  margin-bottom: 0.8em;
}
.p4_dentition .sec1 .box h3 span {
  display: inline-block;
  font-size: 4.2666666667vw;
  color: #0148a8;
  line-height: 1.2;
  background: #fff;
  padding: 0 0.5em;
}
.p4_dentition .sec1 .box .a {
  text-align: left;
  margin-left: 1em;
}
.p4_dentition .sec1 .box .a li {
  line-height: 1.4;
  text-indent: -1em;
  margin-bottom: 0.4em;
}
.p4_dentition .sec1 .box p {
  text-align: left;
  font-size: 0.7em;
  line-height: 1.4;
  padding-left: 9.3333333333vw;
  margin-bottom: 1em;
  position: relative;
}
.p4_dentition .sec1 .box p:before {
  content: "";
  display: block;
  width: 2.9333333333vw;
  height: 2.9333333333vw;
  box-sizing: border-box;
  border-left: 0.2666666667vw solid #3c4747;
  border-bottom: 0.2666666667vw solid #3c4747;
  position: absolute;
  top: 0.1em;
  left: 4.2666666667vw;
}
.p4_dentition .sec2 {
  font-size: 3.2vw;
  font-weight: bold;
  padding: 6.6666666667vw 0 10.6666666667vw;
  /*		h3{
  			display: inline-block;
  			font-size: calc(100vw / ( 750 / 30 ));
  			line-height: 1.2;
  			padding: 0 1em;
  			position: relative;

  			&:before,
  			&:after{
  				content: "";
  				display: block;
  				width: calc(100vw / ( 750 / 2 ));
  				height: 1em;
  				background: #3c4747;
  				position: absolute;
  				bottom: 0;
  				left: 0;
  				transform: rotate(-30deg);
  			}
  			&:after{
  				left: auto;
  				right: 0;
  				transform: rotate(30deg);
  			}
  		}
  		.btn + p{
  			font-size: calc(100vw / ( 750 / 20 ));
  			font-weight: normal;
  			line-height: 1.4;
  		}*/
}
.p4_dentition .sec2 p {
  line-height: 2.4;
  margin: 0 0 2em;
}
.p4_dentition .sec2 .u_line {
  display: inline-block;
  border-bottom: 0.2666666667vw solid #3c4747;
}
.p4_dentition .sec2 .note {
  max-width: 82.6666666667vw;
  margin: 0 auto;
}

/*=======================================
	p5
=======================================*/
.p5_commit {
  background: #eef5ff;
  padding-bottom: 12vw;
}
.p5_commit section {
  background: #fff;
  padding: 5.3333333333vw 4vw;
  margin-bottom: 5.3333333333vw;
}
.p5_commit section .title {
  position: relative;
}
.p5_commit section .title .num {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 26.6666666667vw;
  font-weight: bold;
  line-height: 1;
  font-style: italic;
  color: #e5f6ff;
  position: absolute;
  top: 0;
  left: -0.15em;
}
.p5_commit section .title h2 {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 7.2vw;
  font-weight: bold;
  color: #0148a8;
  position: relative;
  z-index: 1;
  padding-left: 1.5em;
}
.p5_commit section .title p {
  font-size: 4vw;
  font-weight: bold;
  color: #3c4747;
  line-height: 1.4;
  margin: 0.5em 0 0;
}
.p5_commit section .title:after {
  content: "";
  display: block;
  width: 9.3333333333vw;
  height: 1.3333333333vw;
  background: #0148a8;
  margin: 5.3333333333vw auto;
}
.p5_commit section p,
.p5_commit section figure {
  margin-bottom: 1.5em;
}
.p5_commit .sec1 .title + p {
  text-align: left;
  max-width: 74.6666666667vw;
  margin: 0 auto 5.3333333333vw;
}
.p5_commit .sec1 .flex {
  display: flex;
  margin-bottom: 8vw;
}
.p5_commit .sec1 .flex figure {
  width: 33.3333333333vw;
}
.p5_commit .sec1 .flex .txt {
  width: 56vw;
  background: #fff;
  box-sizing: border-box;
  padding: 4vw 3.2vw;
  box-shadow: 2px 0 6px rgba(0, 0, 0, 0.1);
  margin-top: 8vw;
  margin-left: -4.5333333333vw;
  text-align: left;
  position: relative;
}
.p5_commit .sec1 .flex .txt:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-right: 0.2666666667vw solid #7f7f7f;
  border-bottom: 0.2666666667vw solid #7f7f7f;
  position: absolute;
  bottom: -1.8666666667vw;
  right: -1.8666666667vw;
  z-index: 1;
}
.p5_commit .sec1 .flex h3 {
  font-size: 4.5333333333vw;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.p5_commit .sec1 .flex h3 span {
  font-size: 0.67em;
}
.p5_commit .sec1 .flex p {
  font-size: 2.9333333333vw;
  margin-bottom: 0;
}
.p5_commit .sec1 .flex:nth-child(even) {
  flex-direction: row-reverse;
}
.p5_commit .sec1 .flex:nth-child(even) .txt {
  margin-left: auto;
  margin-right: -4.5333333333vw;
}
.p5_commit .sec1 .flex:nth-child(even) .txt:after {
  border-right: none;
  border-left: 0.2666666667vw solid #7f7f7f;
  right: auto;
  left: -1.8666666667vw;
}
.p5_commit .sec1 .flex + figure {
  margin: 13.3333333333vw 0 9.3333333333vw;
}
.p5_commit .sec1 .flex + figure figcaption {
  font-size: 1.8666666667vw;
  color: #a3a3a3;
  line-height: 1;
  text-align: right;
  margin-top: 1em;
}
.p5_commit .sec2 p {
  line-height: 2;
}
.p5_commit .sec3 {
  margin-bottom: 0;
}
.p5_commit .sec3 p {
  line-height: 2;
}

.p5_clinic .sec1 {
  background: #e1fdfe;
  padding: 14.6666666667vw 0 22.6666666667vw;
}
.p5_clinic .sec1 .wrap {
  padding: 0 4vw;
}
.p5_clinic .sec1 .inner {
  background: #fff;
  font-family: "Yu Mincho", "YuMincho", serif;
  padding: 6.6666666667vw 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.p5_clinic .sec1 h2 {
  background: #63c7fe;
  color: #fff;
  font-size: 7.3333333333vw;
  font-weight: bold;
  line-height: 1.2;
  padding: 4vw 0 3.2vw;
  margin-bottom: 5.3333333333vw;
}
.p5_clinic .sec1 h2 span {
  font-size: 0.654em;
  display: block;
}
.p5_clinic .sec1 p {
  line-height: 2;
  font-weight: bold;
}
.p5_clinic .sec1 figure {
  max-width: 52.8vw;
  margin: 2em auto 0;
}
.p5_clinic .sec2 {
  padding-bottom: 10.6666666667vw;
}
.p5_clinic .sec2 h2 {
  display: inline-block;
  background: #0148a8;
  color: #fff;
  font-size: 4.6666666667vw;
  font-weight: bold;
  border-radius: 1.3333333333vw;
  padding: 0.5em 1em;
  margin-top: -9.8666666667vw;
  margin-bottom: 8.5333333333vw;
  position: relative;
}
.p5_clinic .sec2 h2 span {
  position: relative;
}
.p5_clinic .sec2 h2 span:after {
  content: "";
  display: block;
  width: 94%;
  height: 1.3333333333vw;
  background: #ffff6d;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p5_clinic .sec2 h2:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 1.6vw solid transparent;
  border-top: 2.9333333333vw solid #0148a8;
  position: absolute;
  bottom: -4vw;
  left: 50%;
  transform: translateX(-50%);
}
.p5_clinic .sec2 .a {
  padding: 0 4vw;
  margin-bottom: 4.8vw;
}
.p5_clinic .sec2 .a + p {
  max-width: 77.3333333333vw;
  margin: 0 auto;
  font-size: 3.2vw;
  text-align: left;
  color: #0148a8;
}
.p5_clinic .sec2 .a + p span {
  color: #a3a3a3;
}
.p5_clinic .sec2 .note {
  text-align: right;
  padding-right: 9.3333333333vw;
}
.p5_clinic .sec2 .b {
  margin: 8vw 0 6.6666666667vw;
  padding: 0 2.6666666667vw;
}
.p5_clinic .sec2 .b figcaption {
  font-size: 1.8666666667vw;
  line-height: 1;
  text-align: right;
  color: #a3a3a3;
}
.p5_clinic .sec2 .box {
  max-width: 81.3333333333vw;
  margin: 0 auto 6.6666666667vw;
  border: 1px solid #0148a8;
}
.p5_clinic .sec2 .box h3 {
  background: #0148a8;
  color: #fff;
  font-size: 3.2vw;
  line-height: 1.2;
  padding: 0.8em 0;
}
.p5_clinic .sec2 .box .inner {
  padding: 4vw 5.3333333333vw;
  color: #0148a8;
  font-weight: bold;
}
.p5_clinic .sec2 .box h4 {
  position: relative;
  margin-bottom: 0.2em;
}
.p5_clinic .sec2 .box h4:after {
  content: "";
  display: block;
  width: 100%;
  height: 0.4vw;
  background: #0148a8;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.p5_clinic .sec2 .box h4 span {
  font-size: 3.2vw;
  line-height: 1.2;
  display: inline-block;
  background: #fff;
  padding: 0 1em;
  position: relative;
  z-index: 1;
}
.p5_clinic .sec2 .box p {
  font-size: 2.6666666667vw;
  text-align: left;
}
.p5_clinic .sec2 .box p:first-of-type {
  margin-bottom: 1em;
}
.p5_clinic .sec2 .btn_area h3 {
  line-height: 1.6;
}
.p5_clinic .sec2 .btn_area h3:before, .p5_clinic .sec2 .btn_area h3:after {
  height: 2.5em;
  bottom: 0.2em;
}

.p5_flow {
  border-top: 1.3333333333vw solid #0148a8;
  padding: 10.6666666667vw 0;
}
.p5_flow h2 {
  font-size: 6.6666666667vw;
  font-weight: bold;
  color: #63c7fe;
  line-height: 1.2;
}
.p5_flow h2:after {
  content: "";
  display: block;
  width: 9.3333333333vw;
  height: 1.3333333333vw;
  background: #63c7fe;
  margin: 0.5em auto 1em;
}
.p5_flow h2 + p {
  font-size: 4.2666666667vw;
  font-weight: bold;
  margin-bottom: 5.3333333333vw;
}
.p5_flow .outer {
  position: relative;
}
.p5_flow .outer:after {
  content: "";
  display: block;
  width: 6.6666666667vw;
  height: 100%;
  background: #e5fdfe;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p5_flow section {
  max-width: 78.6666666667vw;
  margin: 0 auto 14.6666666667vw;
  border-radius: 1.0666666667vw;
  box-shadow: 0 0.5333333333vw 1.8666666667vw rgba(0, 0, 0, 0.25);
  background: #fff;
  position: relative;
  z-index: 1;
}
.p5_flow section h3 {
  background: #63c7fe;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 5.3333333333vw;
  font-weight: bold;
  line-height: 1.2;
  padding: 1em 0 0.5em;
  border-radius: 1.0666666667vw 1.0666666667vw 0 0;
}
.p5_flow section h3 span {
  font-size: 1.375em;
  font-weight: normal;
  font-style: italic;
  margin-right: 0.2em;
  position: relative;
  bottom: -0.05em;
}
.p5_flow section h3 span:before {
  content: "step";
  font-size: 4.4vw;
  position: absolute;
  top: -1em;
  left: -0.25em;
}
.p5_flow section .inner {
  text-align: left;
  padding: 5.3333333333vw;
}
.p5_flow section p {
  font-size: 3.2vw;
  line-height: 2;
  margin-bottom: 1em;
}
.p5_flow .sec2 figure {
  position: relative;
}
.p5_flow .sec2 figure:after {
  content: "";
  display: block;
  width: 28.9333333333vw;
  height: 16.9333333333vw;
  background: url("../images/p5_flow_2b.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -1.6vw;
  right: 3.4666666667vw;
}
.p5_flow .sec3 figure {
  position: relative;
}
.p5_flow .sec3 figure:after {
  content: "";
  display: block;
  width: 34.1333333333vw;
  height: 20.5333333333vw;
  background: url("../images/p5_flow_3b.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -2.8vw;
  right: -8.2666666667vw;
}
.p5_flow .sec4 {
  margin-bottom: 8vw;
}
.p5_flow .btn_area {
  margin-bottom: 6.6666666667vw;
}
.p5_flow .btn_area + .note {
  padding: 0 5.3333333333vw;
}

/*=======================================
	p6
=======================================*/
.p6_entrust .sec1 {
  margin-bottom: 6.6666666667vw;
}
.p6_entrust .sec1 .note {
  margin-top: -12vw;
  padding: 0 5.3333333333vw;
}
.p6_entrust .sec2 {
  background: #dffcfd;
  padding-bottom: 6.6666666667vw;
}
.p6_entrust .sec2 figure {
  margin-bottom: 10.6666666667vw;
}
.p6_entrust .sec2 ul {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 4.8vw;
  font-weight: bold;
  color: #0148a8;
  text-align: left;
  padding: 0 2.6666666667vw;
  margin-bottom: 5.3333333333vw;
}
.p6_entrust .sec2 li {
  position: relative;
  padding-left: 6.6666666667vw;
  margin-bottom: 0.3em;
}
.p6_entrust .sec2 li span {
  display: block;
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", sans-serif;
  font-size: 1.8666666667vw;
  font-weight: normal;
  color: #a3a3a3;
  text-align: right;
  line-height: 1;
}
.p6_entrust .sec2 li:before {
  content: "";
  display: block;
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  background: url("../images/icon_check.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0.3em;
  left: 0;
}
.p6_entrust .sec2 .wrap figure {
  max-width: 48vw;
  margin: 0 auto;
}

.p6_think .sec1 .c {
  max-width: 78.6666666667vw;
  margin: 10.6666666667vw auto;
}
.p6_think .sec2 .wrap {
  background: url("../images/p6_chance_bg.jpg") no-repeat center top;
  background-size: cover;
  padding: 0 4vw;
  padding-bottom: 12vw;
}
.p6_think .sec2 .outer {
  background: #fff;
  margin-top: -14.6666666667vw;
  position: relative;
  z-index: 1;
  box-shadow: 0 0.5333333333vw 1.8666666667vw rgba(0, 0, 0, 0.25);
}
.p6_think .sec2 h2 {
  background: #63c6fd;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 7.3333333333vw;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.5em 0;
}
.p6_think .sec2 h2 span {
  display: block;
  font-size: 0.69em;
}
.p6_think .sec2 .inner {
  padding: 5.3333333333vw;
}
.p6_think .sec2 .inner > p {
  margin-bottom: 1.3em;
  font-size: 3.7333333333vw;
  font-weight: bold;
  line-height: 1.8;
}
.p6_think .sec2 .inner > p em {
  font-size: 1.2857em;
  color: #2db4ff;
}
.p6_think .sec2 .inner figure {
  margin-bottom: 2em;
}
.p6_think .sec2 .inner .btn_area {
  margin-bottom: 5.3333333333vw;
}
.p6_think .sec2 ul.a {
  font-size: 3.7333333333vw;
  font-weight: bold;
  text-align: left;
  padding-left: 10.6666666667vw;
}

.p6_faq {
  padding: 10.6666666667vw 0;
}
.p6_faq h2 {
  font-size: 6vw;
  font-weight: bold;
  color: #63c7fe;
  line-height: 1.2;
}
.p6_faq h2:after {
  content: "";
  display: block;
  width: 9.3333333333vw;
  height: 1.3333333333vw;
  background: #63c7fe;
  margin: 0.5em auto 1em;
}
.p6_faq .wrap {
  padding: 0 5.3333333333vw;
}
.p6_faq dl {
  text-align: left;
}
.p6_faq dt {
  background: #63c7fe;
  color: #fff;
  border-radius: 0.625vw;
  padding: 1em 12.5vw 1em 9.375vw;
  margin-bottom: 3.125vw;
  position: relative;
  cursor: pointer;
}
.p6_faq dt:before {
  content: "Q.";
  position: absolute;
  top: 1em;
  left: 4.6875vw;
}
.p6_faq dt:after {
  content: "";
  display: block;
  width: 2.1875vw;
  height: 2.1875vw;
  border-right: 0.3125vw solid #fff;
  border-bottom: 0.3125vw solid #fff;
  box-sizing: border-box;
  position: absolute;
  top: 48%;
  right: 4.6875vw;
  transform: translateY(-50%) rotate(45deg);
}
.p6_faq dt.open:after {
  top: 52%;
  transform: translateY(-50%) rotate(-135deg);
}
.p6_faq dd {
  padding: 0 1em 2em;
  font-size: 3.75vw;
}
.p6_faq dd p,
.p6_faq dd .note {
  margin-bottom: 4.6875vw;
}

.p6_msg {
  background: #e1fdfe;
  padding: 12vw 0;
}
.p6_msg .wrap {
  padding: 0 4vw;
}
.p6_msg .outer {
  background: #fff;
  padding: 6.6666666667vw 0;
  box-shadow: 0 0.5333333333vw 1.8666666667vw rgba(0, 0, 0, 0.25);
}
.p6_msg h2 {
  background: #63c7fe;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 7.3333333333vw;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.2em 0;
}
.p6_msg h2 span {
  display: block;
  font-size: 0.69em;
}
.p6_msg .inner {
  padding: 6.6666666667vw 1.3333333333vw 0;
}
.p6_msg .inner p {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: bold;
}
.p6_msg .inner figure {
  max-width: 52.8vw;
  margin: 9.3333333333vw auto;
}
.p6_msg .inner .u_line {
  text-decoration: underline;
}
.p6_msg .btn_area p {
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", sans-serif;
  font-weight: normal;
}

/*=======================================
	footer
=======================================*/
footer .sec1 {
  padding: 10.6666666667vw 0;
}
footer .sec1 .wrap {
  padding: 0 6.6666666667vw;
}
footer .sec1 ul {
  font-size: 2.4vw;
  line-height: 1.4;
  text-align: left;
}
footer .sec1 li {
  margin: 0 0 0.5em;
  padding-left: 1.3em;
  position: relative;
}
footer .sec1 li:before {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  background: #3c4747;
  border-radius: 50%;
  position: absolute;
  top: 0.35em;
  left: 0;
}
footer .sec2 {
  background: #63c6fd;
  color: #fff;
  padding: 13.3333333333vw 0 14.6666666667vw;
  font-size: 2.4vw;
}
footer .sec2 a {
  color: #fff;
}
footer .sec2 figure {
  max-width: 72vw;
  margin: 0 auto 5.3333333333vw;
}
footer .sec2 ul li {
  margin-top: 2em;
}

/*=======================================
	fixed_bnr
=======================================*/
footer .sec2 {
  padding-bottom: 21.3333333333vw;
}

.top-menu-sp {
  position: fixed;
  bottom: 0;
  z-index: 99998;
  width: 100%;
}

.top-menu-sp .nav-social {
  font-size: 0;
}

.top-menu-sp .nav-social .nav-item {
  display: inline-block;
  vertical-align: middle;
}

.top-menu-sp .nav-social .nav-item.link__contact {
  background-color: #32c332;
  width: 40%;
}

.top-menu-sp .nav-social .nav-item.link__reservation {
  background-image: linear-gradient(to right, #00b7ed, #53d3fa);
  width: 100%;
}

.top-menu-sp .nav-social .nav-item .nav-link {
  color: #fff;
  text-align: center;
  display: block;
  height: 60px;
  line-height: 60px;
  text-decoration: none;
  font-size: 4.2666666667vw;
}

.top-menu-sp .nav-social .nav-item .nav-link span:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  margin-right: 0.5em;
}

.top-menu-sp .nav-social .nav-item .nav-link span.forBook:before {
  background: url(../images/kirelign-icon-reservation.png) center no-repeat;
  background-size: contain;
}

/******************************************************************************************

	pc size

******************************************************************************************/
@media only screen and (min-width: 640px) {
  .sp_only,
  .sp_only_inline {
    display: none;
  }
  .pc_only {
    display: block;
  }
  .pc_only_inline {
    display: inline;
  }
  .wrap {
    max-width: 640px;
    padding: 0 17.0666px;
    /*	margin: 0 auto;*/
  }
  .contents {
    max-width: 640px;
    font-size: 22.18658px;
  }
  .note {
    font-size: 11.94662px;
  }
  .btn_area h3 {
    font-size: 25.5999px;
  }
  .btn_area h3:before, .btn_area h3:after {
    width: 2px;
  }
  .btn_area .btn + p {
    font-size: 17.0666px;
  }
  /*=======================================
  	p1
  =======================================*/
  .p1_mv .sec1 .wrap {
    padding-top: 17.0666px;
    padding-bottom: 17.0666px;
  }
  .p1_mv .sec2 {
    padding-top: 59.7331px;
  }
  .p1_mv .sec2 .wrap {
    bottom: 145.0661px;
  }
  .p1_mv .sec3 {
    margin-top: -85.333px;
  }
  .p1_worries .sec2 {
    margin-top: -136.5328px;
    padding-bottom: 85.333px;
  }
  .p1_worries .sec2 .wrap p {
    font-size: 27.30656px;
    margin: 25.5999px 0 42.6665px;
  }
  .p1_worries .sec2 .wrap figure {
    margin-bottom: 119.4662px;
  }
  .p1_worries .sec2 .box {
    padding: 17.0666px;
  }
  .p1_worries .sec2 .box figure {
    padding: 0 63.14642px;
    margin: -85.333px 0 0;
  }
  .p1_worries .sec2 .box p {
    margin: 42.6665px 0 25.5999px;
  }
  .p1_feature .sec1 {
    padding-bottom: 51.1998px;
  }
  .p1_feature .sec1 figure {
    padding: 0 8.5333px;
    margin-bottom: 46.07982px;
  }
  .p1_feature .sec1 figure.a {
    margin-top: -153.5994px;
  }
  /*=======================================
  	p2
  =======================================*/
  .p2_reason .sec1 {
    margin-bottom: 59.7331px;
  }
  .p2_reason .sec1 p {
    font-size: 32.42654px;
  }
  .p2_reason .sec1 .loop {
    margin: 59.7331px 0;
  }
  .p2_reason .sec1 .loop li {
    width: 2074px;
    margin-right: 26px;
  }
  .p2_reason .sec2 .h {
    margin-bottom: 46.07982px;
  }
  .p2_reason .sec2 .wrap {
    padding: 0 25.5999px;
  }
  .p2_reason .sec2 section {
    border-radius: 4.26665px;
    margin-bottom: 68.2664px;
  }
  .p2_reason .sec2 .head {
    padding: 25.5999px 0 25.5999px 153.5994px;
  }
  .p2_reason .sec2 .head:before {
    width: 135.67947px;
    height: 150.18608px;
    top: -12.79995px;
    left: 17.0666px;
  }
  .p2_reason .sec2 .head h3 {
    font-size: 46.07982px;
  }
  .p2_reason .sec2 .head p {
    font-size: 23.89324px;
  }
  .p2_reason .sec2 .inner {
    padding: 25.5999px 34.1332px;
  }
  .p2_reason .sec2 .num3 .head h3 {
    font-size: 40.95984px;
  }
  .p2_reason .sec2 .num3 .note {
    margin-bottom: 34.1332px;
  }
  .p2_reason .sec2 .num3 .btn_result {
    margin: 0 -17.0666px;
  }
  .p2_reason .sec2 .num3 .change_b p {
    font-size: 23.89324px;
  }
  .p2_price .sec2 .wrap {
    padding: 0 34.1332px;
  }
  .p2_price .sec2 .txt {
    padding: 34.1332px 0 17.0666px;
  }
  .p2_price .sec2 p {
    font-size: 27.30656px;
    margin-bottom: 30.71988px;
  }
  /*=======================================
  	p3
  =======================================*/
  .p3_merit .box {
    border: 8.5333px solid #e5f6ff;
    padding: 25.5999px;
  }
  .p3_merit p {
    font-size: 20.47992px;
  }
  .p3_merit .sec1 {
    margin-bottom: 76.7997px;
  }
  .p3_merit .sec1 .box {
    margin-top: -97.27962px;
  }
  .p3_merit .sec1 .l {
    font-size: 27.30656px;
  }
  .p3_merit .sec2 .h {
    margin-bottom: 25.5999px;
  }
  .p3_merit .sec2 section {
    margin-bottom: 30.71988px;
  }
  .p3_merit .sec2 h2 {
    max-width: 563.1978px;
    margin: 0 auto 25.5999px;
  }
  .p3_merit .sec2 .a figure {
    max-width: 440.31828px;
  }
  .p3_merit .sec2 .b {
    margin-bottom: 76.7997px;
  }
  .p3_merit .sec2 .b h2 {
    max-width: 383.9985px;
  }
  .p3_merit .sec2 .b figure {
    max-width: 354.98528px;
  }
  .p3_needs .sec2 {
    padding-bottom: 68.2664px;
  }
  .p3_needs .sec2 h2 span {
    font-size: 38.39985px;
    padding: 22.18658px 25.5999px;
  }
  .p3_needs .sec2 h2 span:after {
    border: 10.23996px solid transparent;
    border-top: 16.21327px solid #0148a8;
    bottom: -23.03991px;
  }
  .p3_needs .sec2 .txt {
    margin-bottom: 25.5999px;
  }
  .p3_needs .sec2 .txt p {
    font-size: 40.95984px;
  }
  .p3_needs .sec2 .txt .s {
    font-size: 27.30656px;
  }
  .p3_needs .sec2 figure {
    max-width: 554.6645px;
    margin: 0 auto 34.1332px;
    padding: 22.18658px;
  }
  .p3_needs .sec2 figure figcaption {
    font-size: 40.95984px;
    margin-top: 20.47992px;
  }
  .p3_needs .sec2 figure + p {
    font-size: 27.30656px;
  }
  .p3_needs .sec2 figure + p:after {
    width: 102.3996px;
    height: 46.07982px;
    margin: 11.94662px auto;
  }
  .p3_anxiety {
    padding: 76.7997px 0;
  }
  .p3_anxiety section {
    margin-bottom: 42.6665px;
  }
  .p3_anxiety h2 {
    font-size: 45.22649px;
    border-radius: 5.11998px 5.11998px 0 0;
    padding: 34.1332px 25.5999px;
  }
  .p3_anxiety h2 .s {
    font-size: 17.0666px;
  }
  .p3_anxiety .inner {
    border: 5.97331px solid #b7e4fd;
    padding: 34.1332px;
    border-radius: 0 0 5.11998px 5.11998px;
  }
  .p3_anxiety .inner p {
    font-size: 23.89324px;
  }
  .p3_anxiety .sec1 .b {
    max-width: 235.51908px;
  }
  /*=======================================
  	p4
  =======================================*/
  .p4_case {
    padding-bottom: 68.2664px;
  }
  .p4_case .title {
    padding: 34.1332px 0;
  }
  .p4_case .title p {
    border: 2px solid #3c4747;
    padding: 170.666px 51.1998px 34.1332px;
    font-size: 20.47992px;
    margin-top: -157.01272px;
  }
  .p4_case section {
    margin-bottom: 51.1998px;
  }
  .p4_case section .wrap {
    padding: 0 34.1332px;
  }
  .p4_case .h {
    border: 17.0666px solid #e5fdff;
    padding: 25.5999px 42.6665px;
    margin-bottom: 25.5999px;
  }
  .p4_case .h h2 {
    font-size: 25.5999px;
  }
  .p4_case .h p {
    font-size: 20.47992px;
  }
  .p4_case .slick-slide {
    border-radius: 6.82664px;
    padding: 30.71988px;
    margin: 0 10.23996px;
  }
  .p4_case .slick-slide > p {
    font-size: 20.47992px;
    border-radius: 8.5333px;
    margin-bottom: 30.71988px;
  }
  .p4_case .slick-dots {
    margin-top: 27.30656px;
  }
  .p4_case .slick-dots li {
    width: 11.94662px;
    height: 11.94662px;
    margin: 0 6.82664px;
  }
  .p4_case .slick-arrow {
    width: 44.37316px;
    height: 44.37316px;
    left: 13.65328px;
  }
  .p4_case .slick-arrow.next {
    left: auto;
    right: 13.65328px;
  }
  .p4_case .slick-arrow:after {
    width: 13.65328px;
    height: 13.65328px;
  }
  .p4_case .flex dl {
    font-size: 22.18658px;
  }
  .p4_case .flex dt, .p4_case .flex dd {
    margin-bottom: 1em;
  }
  .p4_case .flex dt {
    width: 136.5328px;
    font-size: 22.18658px;
  }
  .p4_case .flex dd {
    width: 295.25218px;
    font-size: 22.18658px;
  }
  .p4_case .flex dd span {
    font-size: 17.0666px;
  }
  .p4_case .flex ul {
    font-size: 20.47992px;
  }
  .p4_case .flex h4 {
    width: 136.5328px;
  }
  .p4_case .attention {
    max-width: 494.9314px;
    font-size: 15.35994px;
  }
  .p4_cta > figure {
    margin-top: -34.1332px;
  }
  .p4_cta .howto {
    padding: 42.6665px 0 51.1998px;
  }
  .p4_cta h2 span {
    font-size: 42.6665px;
    padding: 0 25.5999px;
  }
  .p4_cta .howto_detail {
    padding-bottom: 68.2664px;
  }
  .p4_cta .howto_detail .wrap.a {
    font-size: 27.30656px;
  }
  .p4_cta .howto_detail .wrap.a ul {
    padding-left: 102.3996px;
  }
  .p4_cta .howto_detail .btn_area {
    margin-bottom: 34.1332px;
  }
  .p4_cta .howto_detail .btn_area + .note {
    padding: 0 42.6665px;
  }
  .p4_dentition .sec1 {
    padding: 51.1998px 0 0;
  }
  .p4_dentition .sec1 .wrap {
    padding: 0 25.5999px;
  }
  .p4_dentition .sec1 .h {
    margin-bottom: 71.67972px;
  }
  .p4_dentition .sec1 .inner {
    border: 4.26665px solid #62c7ff;
    padding: 25.5999px;
    font-size: 23.89324px;
  }
  .p4_dentition .sec1 h2 {
    font-size: 32.42654px;
    padding: 51.1998px 0;
    margin-top: -107.51958px;
    margin-bottom: 34.1332px;
  }
  .p4_dentition .sec1 h2:before {
    top: 13.65328px;
    left: 13.65328px;
    bottom: 13.65328px;
    right: 13.65328px;
  }
  .p4_dentition .sec1 h2 em {
    font-size: 51.1998px;
    margin-top: 11.94662px;
  }
  .p4_dentition .sec1 figure {
    margin: 34.1332px 0 25.5999px;
  }
  .p4_dentition .sec1 .list li {
    margin: 0 6.82664px;
    border-radius: 42.6665px;
  }
  .p4_dentition .sec1 .box {
    border: 2px solid #0148a8;
    padding: 17.0666px;
    margin-top: 51.1998px;
  }
  .p4_dentition .sec1 .box h3 span {
    font-size: 27.30656px;
  }
  .p4_dentition .sec1 .box p {
    padding-left: 59.7331px;
  }
  .p4_dentition .sec1 .box p:before {
    width: 18.77326px;
    height: 18.77326px;
    border-left: 2px solid #3c4747;
    border-bottom: 2px solid #3c4747;
    left: 27.30656px;
  }
  .p4_dentition .sec2 {
    font-size: 20.47992px;
    padding: 42.6665px 0 68.2664px;
  }
  .p4_dentition .sec2 .u_line {
    border-bottom: 2px solid #3c4747;
  }
  .p4_dentition .sec2 .note {
    max-width: 529.0646px;
  }
  /*=======================================
  	p5
  =======================================*/
  .p5_commit {
    padding-bottom: 76.7997px;
  }
  .p5_commit section {
    padding: 34.1332px 25.5999px;
    margin-bottom: 34.1332px;
  }
  .p5_commit section .title .num {
    font-size: 170.666px;
  }
  .p5_commit section .title h2 {
    font-size: 46.07982px;
  }
  .p5_commit section .title p {
    font-size: 25.5999px;
  }
  .p5_commit section .title:after {
    width: 59.7331px;
    height: 8.5333px;
    margin: 34.1332px auto;
  }
  .p5_commit .sec1 .title + p {
    max-width: 477.8648px;
    margin: 0 auto 34.1332px;
  }
  .p5_commit .sec1 .flex {
    margin-bottom: 51.1998px;
  }
  .p5_commit .sec1 .flex figure {
    width: 213.3325px;
  }
  .p5_commit .sec1 .flex .txt {
    width: 358.3986px;
    padding: 25.5999px 20.47992px;
    margin-top: 51.1998px;
    margin-left: -29.01322px;
  }
  .p5_commit .sec1 .flex .txt:after {
    border-right: 2px solid #7f7f7f;
    border-bottom: 2px solid #7f7f7f;
    bottom: -11.94662px;
    right: -11.94662px;
  }
  .p5_commit .sec1 .flex h3 {
    font-size: 29.01322px;
  }
  .p5_commit .sec1 .flex p {
    font-size: 18.77326px;
  }
  .p5_commit .sec1 .flex:nth-child(even) .txt {
    margin-right: -29.01322px;
  }
  .p5_commit .sec1 .flex:nth-child(even) .txt:after {
    border-left: 2px solid #7f7f7f;
    left: -11.94662px;
  }
  .p5_commit .sec1 .flex + figure {
    margin: 85.333px 0 59.7331px;
  }
  .p5_commit .sec1 .flex + figure figcaption {
    font-size: 11.94662px;
  }
  .p5_clinic .sec1 {
    padding: 93.8663px 0 145.0661px;
  }
  .p5_clinic .sec1 .wrap {
    padding: 0 25.5999px;
  }
  .p5_clinic .sec1 .inner {
    padding: 42.6665px 0;
  }
  .p5_clinic .sec1 h2 {
    font-size: 46.93315px;
    padding: 25.5999px 0 20.47992px;
    margin-bottom: 34.1332px;
  }
  .p5_clinic .sec1 figure {
    max-width: 337.91868px;
  }
  .p5_clinic .sec2 {
    padding-bottom: 68.2664px;
  }
  .p5_clinic .sec2 h2 {
    font-size: 29.86655px;
    border-radius: 8.5333px;
    margin-top: -63.14642px;
    margin-bottom: 54.61312px;
  }
  .p5_clinic .sec2 h2 span:after {
    height: 8.5333px;
  }
  .p5_clinic .sec2 h2:after {
    border: 10.23996px solid transparent;
    border-top: 18.77326px solid #0148a8;
    bottom: -25.5999px;
  }
  .p5_clinic .sec2 .a {
    padding: 0 25.5999px;
    margin-bottom: 30.71988px;
  }
  .p5_clinic .sec2 .a + p {
    max-width: 494.9314px;
    font-size: 20.47992px;
  }
  .p5_clinic .sec2 .note {
    padding-right: 59.7331px;
  }
  .p5_clinic .sec2 .b {
    margin: 51.1998px 0 42.6665px;
    padding: 0 17.0666px;
  }
  .p5_clinic .sec2 .b figcaption {
    font-size: 11.94662px;
  }
  .p5_clinic .sec2 .box {
    max-width: 520.5313px;
    margin: 0 auto 42.6665px;
  }
  .p5_clinic .sec2 .box h3 {
    font-size: 20.47992px;
  }
  .p5_clinic .sec2 .box .inner {
    padding: 25.5999px 34.1332px;
  }
  .p5_clinic .sec2 .box h4:after {
    height: 2.55999px;
  }
  .p5_clinic .sec2 .box h4 span {
    font-size: 20.47992px;
  }
  .p5_clinic .sec2 .box p {
    font-size: 17.0666px;
  }
  .p5_flow {
    border-top: 8.5333px solid #0148a8;
    padding: 68.2664px 0;
  }
  .p5_flow h2 {
    font-size: 42.6665px;
  }
  .p5_flow h2:after {
    width: 59.7331px;
    height: 8.5333px;
  }
  .p5_flow h2 + p {
    font-size: 27.30656px;
    margin-bottom: 34.1332px;
  }
  .p5_flow .outer:after {
    width: 42.6665px;
  }
  .p5_flow section {
    max-width: 503.4647px;
    margin: 0 auto 93.8663px;
    border-radius: 6.82664px;
    box-shadow: 0 3.41332px 11.94662px rgba(0, 0, 0, 0.25);
  }
  .p5_flow section h3 {
    font-size: 34.1332px;
    border-radius: 6.82664px 6.82664px 0 0;
  }
  .p5_flow section h3 span:before {
    font-size: 28.15989px;
  }
  .p5_flow section .inner {
    padding: 34.1332px;
  }
  .p5_flow section p {
    font-size: 20.47992px;
  }
  .p5_flow .sec2 figure:after {
    width: 185.17261px;
    height: 108.37291px;
    top: -10.23996px;
    right: 22.18658px;
  }
  .p5_flow .sec3 figure:after {
    width: 218.45248px;
    height: 131.41282px;
    top: -17.91993px;
    right: -52.90646px;
  }
  .p5_flow .sec4 {
    margin-bottom: 51.1998px;
  }
  .p5_flow .btn_area {
    margin-bottom: 42.6665px;
  }
  .p5_flow .btn_area + .note {
    padding: 0 34.1332px;
  }
  /*=======================================
  	p6
  =======================================*/
  .p6_entrust .sec1 {
    margin-bottom: 42.6665px;
  }
  .p6_entrust .sec1 .note {
    margin-top: -76.7997px;
    padding: 0 34.1332px;
  }
  .p6_entrust .sec2 {
    padding-bottom: 42.6665px;
  }
  .p6_entrust .sec2 figure {
    margin-bottom: 68.2664px;
  }
  .p6_entrust .sec2 ul {
    font-size: 30.71988px;
    padding: 0 17.0666px;
    margin-bottom: 34.1332px;
  }
  .p6_entrust .sec2 li {
    padding-left: 42.6665px;
  }
  .p6_entrust .sec2 li span {
    font-size: 11.94662px;
  }
  .p6_entrust .sec2 li:before {
    width: 29.01322px;
    height: 29.01322px;
  }
  .p6_entrust .sec2 .wrap figure {
    max-width: 307.1988px;
  }
  .p6_think .sec1 .c {
    max-width: 503.4647px;
    margin: 68.2664px auto;
  }
  .p6_think .sec2 .wrap {
    padding: 0 25.5999px;
    padding-bottom: 76.7997px;
  }
  .p6_think .sec2 .outer {
    margin-top: -93.8663px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  }
  .p6_think .sec2 h2 {
    font-size: 46.93315px;
  }
  .p6_think .sec2 .inner {
    padding: 34.1332px;
  }
  .p6_think .sec2 .inner > p {
    font-size: 23.89324px;
  }
  .p6_think .sec2 .inner .btn_area {
    margin-bottom: 34.1332px;
  }
  .p6_think .sec2 ul.a {
    font-size: 23.89324px;
    padding-left: 68.2664px;
  }
  .p6_faq {
    padding: 68.2664px 0;
  }
  .p6_faq h2 {
    font-size: 38.39985px;
  }
  .p6_faq h2:after {
    width: 59.7331px;
    height: 8.5333px;
  }
  .p6_faq .wrap {
    padding: 0 34.1332px;
  }
  .p6_faq dt {
    border-radius: 3.41332px;
    padding: 1em 68.2664px 1em 51.1998px;
    margin-bottom: 17.0666px;
  }
  .p6_faq dt:before {
    left: 25.5999px;
  }
  .p6_faq dt:after {
    width: 11.94662px;
    height: 11.94662px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    right: 25.5999px;
  }
  .p6_faq dd {
    font-size: 20.47992px;
  }
  .p6_faq dd p,
  .p6_faq dd .note {
    margin-bottom: 25.5999px;
  }
  .p6_msg {
    padding: 76.7997px 0;
  }
  .p6_msg .wrap {
    padding: 0 25.5999px;
  }
  .p6_msg .outer {
    padding: 42.6665px 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  }
  .p6_msg h2 {
    font-size: 46.93315px;
  }
  .p6_msg .inner {
    padding: 42.6665px 8.5333px 0;
  }
  .p6_msg .inner figure {
    max-width: 337.91868px;
    margin: 59.7331px auto;
  }
  /*=======================================
  	footer
  =======================================*/
  footer .sec1 {
    padding: 68.2664px 0;
  }
  footer .sec1 .wrap {
    padding: 0 42.6665px;
  }
  footer .sec1 ul {
    font-size: 15.35994px;
  }
  footer .sec2 {
    padding: 85.333px 0 93.8663px;
    font-size: 15.35994px;
  }
  footer .sec2 figure {
    max-width: 460.7982px;
    margin: 0 auto 34.1332px;
  }
  /*=======================================
  	fixed_bnr
  =======================================*/
  .top-menu {
    width: 100%;
  }
  .top-menu-sp .nav-social {
    font-size: 0;
  }
  .top-menu-sp .nav-social .nav-item {
    display: inline-block;
    vertical-align: middle;
  }
  .top-menu-sp .nav-social .nav-item.link__contact {
    background-color: #32c332;
    width: 40%;
  }
  .top-menu-sp .nav-social .nav-item.link__reservation {
    background-image: linear-gradient(to right, #00b7ed, #53d3fa);
    width: 100%;
  }
  .top-menu-sp .nav-social .nav-item .nav-link {
    color: #fff;
    text-align: center;
    display: block;
    height: 60px;
    line-height: 60px;
    text-decoration: none;
    font-size: 20px;
  }
  .top-menu-sp .nav-social .nav-item .nav-link span:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
    margin-right: 0.5em;
  }
  .top-menu-sp .nav-social .nav-item .nav-link span.forBook:before {
    background: url(../images/kirelign-icon-reservation.png) center no-repeat;
    background-size: contain;
  }
}/*# sourceMappingURL=style.css.map */1000px;
}

.mt1000 {
  margin-top: 1000px;
}

.mb1000 {
  margin-bottom: 1000px;
}

.ml1000 {
  margin-left: 1000px;
}

.mr1000 {
  margin-right: 1000px;
}

.m1000 {
  margin: 1000px;
}

.py1000 {
  padding-top: 1000px;
  padding-bottom: 1000px;
}

.pt1000 {
  padding-top: 1000px;
}

.pb1000 {
  padding-bottom: 1000px;
}

.pl1000 {
  padding-left: 1000px;
}

.pr1000 {
  padding-right: 1000px;
}

.p1000 {
  padding: 1000px;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.m0 {
  margin: 0px;
}

.p0 {
  padding: 0px;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.inline-block {
  display: inline-block;
}

.block {
  display: block;
}

.footer {
  position: relative;
  background-color: #00a9e0;
  padding: 0;
}
.footer_inner {
  padding: 5.33333vw 10px;
}
.footer_logo {
  display: block;
  width: 100%;
  text-align: center;
  max-width: 244px;
}
.footer_copyright {
  display: block;
  color: #FFF;
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
}
.footer_nav {
  text-align: center;
}
.footer_nav li {
  display: inline-block;
  font-size: 14px;
}
.footer_nav li::after {
  content: "　|　";
  color: #6dcdff;
}
.footer_nav li:last-child::after {
  display: none;
}
.footer_nav a {
  color: #fff;
  transition: all 0.6s ease;
}
body:not(.mobile) .footer_nav a:hover {
  color: #fff;
  text-decoration: underline;
  opacity: 0.65;
}

section {
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top;
}

.padding {
  padding: 0 10px;
}

.fv {
  background-image: url("../img/bg_fv.png");
  width: 100%;
}

.fv2 {
  background-image: url("../img/bg_fv2.png");
  background-repeat: repeat-y;
  padding: 0 10px;
}

.sec3 {
  background-image: url("../img/bg_sec3.png");
  background-repeat: repeat-y;
}

.sec4 {
  background-image: url("../img/bg_sec4.png");
  background-repeat: repeat-y;
  padding: 0 10px;
}

.sec5 {
  background-color: #f4b3bd;
}

.sec7, .sec9, .sec10, .sec16 {
  background-image: url("../img/bg_sec7.png");
  background-repeat: repeat-y;
}

.sec11, .step {
  background-color: #e9597e;
  border: 3px solid white;
}

.sec13 {
  background-image: url("../img/bg_sec13.png");
  background-repeat: repeat-y;
  border-bottom: 2px solid #e9597e;
}

.sec14 {
  border-top: 2px solid #e9597e;
}

.sec14, .sec15 {
  background-color: #f4b3bd;
}

.box {
  position: relative;
  margin-bottom: 35px;
  border-radius: 20px;
  border: 1px solid #00a9e0;
}

.box_title {
  position: relative;
  height: clamp(100px, 16vw, 150px);
  display: flex;
  align-items: center;
  color: #00a9e0;
  padding: 0 clamp(40px, 10vw, 120px) 0 clamp(40px, 10vw, 120px);
  border-radius: 20px 20px 0 0;
  background: url("..//img/bg_stripe.webp") center center/40px auto repeat;
}
.box_title:not(.active) {
  border-radius: 20px;
}
.box_title span {
  font-size: clamp(0.8rem, 2.4vw, 1.4rem);
  line-height: 1.5;
  letter-spacing: -0.02em;
  font-weight: 500;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.box_title span.small {
  font-size: 0.8em;
}
.box_title::before {
  content: "Q";
  font-size: clamp(1rem, 5vw, 2rem);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 4vw;
  transform: translateY(-50%);
}
.box_title::after {
  content: "";
  width: 2vw;
  height: 2vw;
  position: absolute;
  top: 50%;
  right: 30px;
  border-right: 1px solid #00a9e0;
  border-bottom: 1px solid #00a9e0;
  transform: translateY(-50%) rotate(45deg);
}
.box_title:hover {
  opacity: 0.75;
  cursor: pointer;
}

.box_inner {
  max-width: 750px;
  width: 84.8%;
  margin: 0 auto;
}
.box_inner p {
  margin: 4vw;
  font-size: clamp(0.8rem, 2.4vw, 1.4rem);
  line-height: 1.6;
  letter-spacing: -0.02em;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.fv {
  position: relative;
}
.fv .fv_label {
  position: absolute;
  max-width: 340px;
  width: 45vw;
  height: auto;
  box-sizing: border-box;
  bottom: -5%;
  right: 2%;
}

.kllogo {
  width: 40vw;
  max-width: 718px;
}

.announce {
  background-color: white;
  border-radius: 5vw;
}

.arrow {
  width: 20vw;
  max-width: 160px;
}

.point {
  width: 20vw;
  max-width: 160px;
}

.cta {
  max-width: 90vw;
}

.qa {
  width: 33vw;
}

.subtopic {
  display: inline-block;
  padding-inline-start: 5%;
  margin-block-start: 0;
  margin-block-end: 0;
}
.subtopic li {
  list-style: none;
}
.subtopic li p {
  margin-block-start: 0;
}
.subtopic li::marker {
  content: "※";
}/*# sourceMappingURL=style.css.map */ margin-top: 100px;
  }
  .sec .box.plan .box_tit {
    top: -63px;
  }
  .sec .box.plan .fee {
    border-radius: 20px 20px 0 0;
  }
  .sec .box.plan_01 .pic {
    right: 5px;
    width: 47.5%;
  }
  .sec .box.plan_01 .txt_wrap {
    margin: 50px auto;
  }
  .sec .box.plan_02 .wrap_01 {
    margin-bottom: 0;
  }
  .sec .box.plan_02 .wrap_01 .box.txt {
    width: 52%;
    padding: 20px 10px 20px 15px;
  }
  .sec .box.plan_02 .wrap_01 .box.txt p {
    font-size: 2rem;
  }
  .sec .box.plan_02 .wrap_02 .txt p {
    font-size: 3rem;
  }
  .sec .box.plan_02 .wrap_02 .txt + P {
    margin-top: 60px;
  }
  .sec .box.plan_03 .box_inner {
    padding-bottom: 20px;
  }
  .sec .box.plan_03 .txt_wrap .wrap_01 .pic {
    width: 36%;
    right: -5%;
  }
  .sec .box.plan_03 .txt_wrap .wrap_01 p {
    margin: 20px 0;
  }
  .sec .box.plan_04 .box_inner {
    padding: 50px 0 20px;
  }
  .sec .box.faq {
    margin-bottom: 35px;
  }
  .sec .box.faq .box_tit {
    font-size: 2.2rem;
    padding: 0 65px 0 75px;
    height: 110px;
  }
  .sec .box.faq .box_tit.lg {
    height: 155px;
  }
  .sec .box.faq .box_tit:not(.active) {
    border-radius: 20px;
  }
  .sec .box.faq .box_tit::before {
    left: 30px;
  }
  .sec .box.faq .box_tit::after {
    right: 30px;
    width: 20px;
    height: 20px;
  }
  .sec_hero {
    height: 1106px;
    min-height: 1106px;
    background-image: url(../img/hero_visual_pc.jpg);
  }
  .sec_hero .hero_point > div {
    top: 40px;
  }
  .sec_hero .hero_point .point_01 {
    left: 50px;
  }
  .sec_hero .hero_point .point_02 {
    right: 50px;
  }
  .sec_hero .hero_txt .txt_02 {
    top: 15px;
    right: 45px;
  }
  .sec_hero .hero_btm .txt {
    top: -80px;
  }
  .sec_hero .hero_btm .txt_01 p {
    font-size: 25px;
  }
  .sec_hero .hero_btm .txt_02 p {
    font-size: 18px;
  }
  .sec_hero .hero_btm .txt_02 p small {
    font-size: 66%;
  }
  .sec_hero .hero_btm .txt > div {
    -webkit-box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.5);
  }
  .sec_hero .hero_btm .txt > div p span.fee small {
    font-size: 66%;
    bottom: -15px;
  }
  .sec_hero.mv2 {
    background-image: url(../img/hero_visual_pc_210511.jpg);
  }
  .sec_hero.mv2 .hero_point > div {
    top: 22px;
  }
  .sec_hero.mv2 .hero_txt .txt_01 small {
    font-size: 1.2rem;
  }
  .sec_hero.mv2 .hero_btm .txt {
    top: -78px;
  }
  .sec_movie .sec_inner {
    padding: 85px 0 0;
  }
  .sec_movie .movie_cnt .movie {
    border-width: 2px;
  }
  .sec_movie .movie_cnt .txt_01 {
    top: -26px;
    left: -15px;
  }
  .sec_movie .movie_cnt .txt_02 {
    top: -26px;
    right: -15px;
  }
  .sec_movie .movie_cnt .txt_03 {
    bottom: -26px;
    left: -15px;
  }
  .sec_movie .movie_cnt .txt_04 {
    bottom: -26px;
    right: -15px;
  }
  .sec_movie .attention_txt {
    top: 10px;
    font-size: 11px;
    letter-spacing: 0;
  }
  .cv_wrap .cv_po {
    top: -45px;
  }
  .cv_wrap .cv_po.po_01 {
    left: -25px;
  }
  .cv_wrap .cv_po.po_02 {
    right: -25px;
  }
  .cv_wrap .cv_btn a {
    border-radius: 20px;
  }
  .cv_wrap .cv_btn a::before {
    top: -5px;
    border-radius: 20px;
  }
  .cv_wrap .cv_btn a::after {
    right: 30px;
    width: 20px;
    height: 20px;
  }
  .cv_wrap .cv_btn a img {
    border-radius: 20px;
  }
  .cv_wrap p {
    margin-top: 15px;
  }
  .cv_wrap p small {
    font-size: 60%;
  }
  .sec_cta {
    padding-bottom: 40px;
  }
  .sec_c1 {
    padding: 40px 0 70px;
  }
  .sec_c1 .comic_list li {
    margin-top: 30px;
  }
  .sec_c2 .sec_tit {
    margin-bottom: 50px;
  }
  .sec_c2 .wrap_01 .txt_box_fuki .tit {
    font-size: 3.4rem;
  }
  .sec_c2 .wrap_01 .txt_box_fuki li {
    margin-top: 20px;
    font-size: 2.6rem;
    padding-left: 50px;
    background-size: 30px auto;
    background-position: left 10px;
  }
  .sec_c3 {
    padding-top: 40px;
  }
  .sec_c3 .sec_head .head_pic {
    left: 25px;
  }
  .sec_c3 .point_cnt {
    margin-top: 60px;
    padding-bottom: 40px;
  }
  .sec_c3 .point_cnt .icon {
    top: -30px;
    left: -30px;
  }
  .sec_c3 .point_cnt .tit {
    margin-bottom: 25px;
  }
  .sec_c3 .point_cnt p {
    margin-top: 25px;
  }
  .sec_c3 .point_cnt p small {
    font-size: 62.5%;
  }
  .sec_c3 .point_cnt.point_02 .img .fuki {
    right: -30px;
  }
  .sec_c3 .point_cnt.point_03 .img .fuki {
    top: -18px;
    left: -18px;
  }
  .sec_c4 {
    padding-top: 40px;
  }
  .sec_c4 .fuki_tit {
    margin-bottom: 15px;
  }
  .sec_c4 .txt_wrap p {
    margin-right: -6%;
    margin-left: -6%;
  }
  .sec_c5 {
    padding-top: 126px;
  }
  .sec_c5 .sec_head_ico {
    top: -28px;
  }
  .sec_c5 .sec_head_01 {
    margin-bottom: 40px;
  }
  .sec_c5 .sec_head_01 .head_pic {
    left: 15px;
  }
  .sec_c5 .box_tit {
    top: -46px;
  }
  .sec_c5 .box.box_01 {
    margin-top: 40px;
  }
  .sec_c5 .box.box_02 {
    margin-top: 100px;
  }
  .sec_c6 {
    padding: 60px 0 0;
  }
  .sec_c6 .sec_head .head_pic {
    top: -35px;
    right: 5px;
  }
  .sec_c6 .box.whitening {
    margin-top: 60px;
  }
  .sec_c6 .box.whitening .img_wrap {
    margin: 30px auto 40px;
  }
  .sec_c6 .box.whitening .img_wrap .fuki_01 {
    bottom: -20px;
    left: -40px;
  }
  .sec_c6 .box.whitening .img_wrap .fuki_02 {
    top: -20px;
    right: -20px;
  }
  .sec_c6 .box.whitening .txt_wrap.wrap_01 p {
    margin: 20px -5%;
  }
  .sec_c6 .box.whitening .toku_wrap {
    margin: 80px 0 40px;
  }
  .sec_c6 .box.whitening .toku_wrap p {
    margin: 30px auto;
  }
  .sec_c6 .box.whitening .toku_wrap .box_po {
    top: -60px;
    width: 90%;
    text-align: center;
  }
  .sec_c7 .case_list {
    margin-bottom: 60px;
  }
  .sec_c7 .case_after {
    margin-top: 80px;
  }
  .sec_c7 .case_after::before {
    top: -50px;
    border-width: 30px 30px 0 30px;
  }
  .sec_c7 .case_fee ul {
    padding: 30px 0 30px 15px;
    width: 100%;
  }
  .sec_c7 .case_fee li div {
    width: 105px;
    font-size: 1.8rem;
  }
  .sec_c7 .case_fee li div span {
    padding: 10px 0;
    width: 100px;
  }
  .sec_c7 .case_fee li div small {
    margin-top: 9px;
  }
  .sec_c7 .case_fee li p {
    padding-left: 10px;
    font-size: 2.6rem;
  }
  .sec_c7 .case_fee li p span.fee small {
    bottom: -25px;
  }
  .sec_c7 .case_fee li p small:not(.att) {
    margin-top: 8px;
  }
  .sec_c7 .case_attention {
    border-radius: 20px;
    padding: 20px 0 30px;
  }
  .sec_c7 .case_attention p,
  .sec_c7 .case_attention li {
    font-size: 1.4rem;
  }
  .sec_c7 .case_attention ul {
    margin: 10px 0;
  }
  .sec_c7 .box {
    margin: 30px 0 60px;
    padding-top: 80px;
  }
  .sec_c7 .box + .box {
    margin-top: 90px;
  }
  .sec_c7 .box .box_tit {
    top: -32px;
    width: 80%;
    text-align: center;
  }
  .sec_c7 .box .case_attention {
    border-radius: 0 0 20px 20px;
  }
  .sec_c7 .txt_wrap.tp {
    margin-bottom: 80px;
  }
  .sec_c7 .txt_wrap.tp p + p {
    margin-top: 20px;
  }
  .sec_c7 .txt_wrap.wrap_01 {
    margin: -30px 0 60px;
  }
  .sec_c7 .txt_wrap.wrap_01 p small.att {
    margin-top: 10px;
  }
  .sec_c7 .more_wrap {
    margin: 40px 0;
  }
  .sec_c7 .more_btn span,
  .sec_c7 .more_btn a {
    border-bottom-width: 5px;
    border-radius: 20px;
    height: 100px;
    font-size: 2.8rem;
  }
  .sec_c7 .more_btn span::after,
  .sec_c7 .more_btn a::after {
    right: 30px;
    width: 20px;
    height: 20px;
  }
  .sec_c8 {
    padding-top: 50px;
    padding-bottom: 20px;
  }
  .sec_c8 .fuki_tit {
    margin-bottom: 15px;
  }
  .sec_c8 .img_wrap.img_01 {
    margin: 40px 0;
  }
  .sec_c8 .img_wrap.img_01 .fuki {
    bottom: 20px;
    left: 20px;
    font-size: 1.6rem;
  }
  .sec_c8 .img_wrap.img_02 {
    margin: 40px 0 60px;
  }
  .sec_c8 .img_wrap.img_02 .pic_03 {
    bottom: -30px;
    left: -40px;
  }
  .sec_c8 .txt_wrap p .att {
    margin-top: 20px;
  }
  .sec_c8 .info_wrap {
    margin: 70px 0 50px;
  }
  .sec_c8 .info_wrap .img {
    margin: 0 0 30px 30px;
  }
  .sec_c8 .info_wrap .txt .name {
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
  .sec_c8 .info_wrap .txt .name small {
    margin-top: 5px;
  }
  .sec_c8 .info_wrap .txt .name b {
    margin-top: 25px;
  }
  .sec_c8 .slide_wrap .tit {
    margin-bottom: 40px;
  }
  .sec_c8 .slide_wrap .slider p {
    font-size: 1.4rem;
  }
  .sec_c9 {
    padding: 70px 0;
  }
  .sec_c9 .sec_head .head_pic {
    top: -24px;
    right: 20px;
  }
  .sec_c10 .sec_inner {
    margin-bottom: 65px;
  }
  .sec_c10 .head_img {
    margin-bottom: 130px;
  }
  .sec_c10 .head_img .txt_att {
    bottom: -85px;
  }
  .sec_c10 .sec_tit_fuki {
    margin-bottom: -20px;
  }
  .sec_c10 .sec_tit_fuki::after {
    border-width: 16px 16px 0 16px;
  }
  .sec_c11 .txt_wrap p small.att {
    margin-top: 20px;
  }
  .sec_c11 .txt_wrap .txt p + p {
    margin-top: 30px;
  }
  .sec_c11 .cnt_01 .txt_wrap {
    margin: 100px 0 150px;
  }
  .sec_c11 .cnt_01 .txt_wrap .img .fuki {
    top: -75px;
    left: -20px;
  }
  .sec_c11 .cnt_01 .box_tit {
    top: -80px;
  }
  .sec_c11 .cnt_02 .txt_wrap {
    margin-bottom: 115px;
  }
  .sec_c11 .cnt_02 .txt_wrap .img .fuki {
    top: -90px;
    right: -20px;
  }
  .sec_c11 .cnt_02 .txt_wrap .txt {
    padding-right: 25px;
  }
  .sec_c11 .cnt_02 .box_po {
    top: -45px;
  }
  .sec_c11 .cnt_02 .box_inner {
    margin: 50px auto;
  }
  .sec_c11 .cnt_02 .box_inner .pic {
    width: 50%;
    bottom: -5%;
    right: 0;
  }
  .sec_c11 .cnt_02 .box_inner p {
    margin: 30px 0;
  }
  .sec_c11 .cnt_02 .box_inner p:first-of-type {
    margin-right: -10%;
  }
  .sec_c11 .cnt_03 {
    margin: 90px auto 100px;
  }
  .sec_c11 .cnt_03 .txt_wrap p {
    margin: 50px auto;
  }
  .sec_c12 .box {
    margin: 50px auto 70px;
  }
  .sec_c12 .box_num {
    top: -30px;
    left: -30px;
  }
  .sec_c12 .box_inner {
    padding: 40px 0 0;
  }
  .sec_c12 .box .img_wrap {
    border-radius: 20px;
  }
  .sec_c12 .box .txt_wrap p small.att {
    margin-top: 20px;
  }
  .sec_c12 .box .txt_wrap.attention {
    padding-top: 20px;
  }
  .sec_c12 .box .txt_wrap.attention p {
    font-size: 1.6rem;
  }
  .sec_c12 .box.reason_01 .fuki {
    top: -13px;
    left: -5px;
  }
  .sec_c12 .box.reason_02 .fuki {
    right: -5px;
    width: 31%;
  }
  .sec_c12 .box.reason_03 .img_wrap,
  .sec_c12 .box.reason_04 .img_wrap,
  .sec_c12 .box.reason_05 .img_wrap {
    margin-top: 30px;
  }
  .sec_c12 .box.reason_03 .fuki,
  .sec_c12 .box.reason_04 .fuki,
  .sec_c12 .box.reason_05 .fuki {
    top: -70px;
    left: -20px;
    width: 34%;
  }
  .sec_c12 .box.reason_07 .img_wrap {
    margin-top: 60px;
  }
  .sec_c12 .box.reason_07 .fuki {
    top: -80px;
    left: -20px;
  }
  .sec_c13 {
    padding-top: 50px;
  }
  .sec_c13 .head_pic {
    right: 25px;
  }
  .sec_c13 .txt_wrap p small.att {
    margin-top: -20px;
  }
  .sec_c14 .sec_head {
    margin-top: 30px;
  }
  .sec_c14 .txt_wrap.wrap_01 {
    padding-left: 200px;
  }
  .sec_c14 .txt_wrap.wrap_01 .img {
    left: -25px;
  }
  .sec_c14 .txt_wrap.wrap_01 p + p {
    margin-top: 20px;
  }
  .sec_c15 {
    margin-bottom: 80px;
  }
  .sec_c15 .sec_head {
    margin-top: 190px;
  }
  .sec_c15 .sec_head .head_pic {
    top: -170px;
  }
  .sec_c15 .clinic_map {
    margin: 60px 0 50px;
  }
  .sec_c15 .clinic_cnt {
    border-radius: 20px;
  }
  .sec_c15 .clinic_cnt img {
    border-radius: 20px 20px 0 0;
  }
  .sec_c15 .clinic_cnt p {
    font-size: 2.6rem;
    height: 60px;
  }
  .sec_c15 .txt_wrap p small.att {
    margin-top: 20px;
  }
  .sec_c15 .txt_wrap .sec_tit_fuki .pic {
    left: -30px;
  }
  .sec_c16 .txt_wrap.wrap_01 .img {
    left: -24px;
  }
  .sec_c16 .txt_wrap.wrap_02 {
    margin: 50px auto;
  }
  .sec_c16 .txt_wrap.wrap_02 p small.att {
    margin-top: -20px;
  }
  .sec_c16 .cv_wrap {
    margin: 70px auto 60px;
  }
  .sec_c16 .box {
    margin-top: 70px;
  }
  .sec_c16 .box_tit .num {
    top: -40px;
    left: -30px;
  }
  .sec_c16 .box_att small {
    font-size: 54.16%;
    margin-top: 10px;
  }
  .sec_c17 .sec_head {
    margin-top: 30px;
  }
  .sec_c17 .txt_wrap.wrap_01 {
    margin-bottom: 80px;
  }
  .sec_c17 .box.box_01 {
    display: inline-block;
    margin-right: auto;
    margin-left: auto;
  }
  .sec_c17 .box.box_02 {
    margin-bottom: 90px;
  }
  .sec_c17 .box.box_02 .box_tit {
    top: -40px;
  }
  .sec_c17 .box.box_02 .box_inner {
    padding-top: 60px;
  }
  .sec_c18 .txt_wrap.wrap_01 p {
    margin: 20px 0;
    font-size: 2rem;
  }
  .sec_c19 {
    margin: 50px auto 80px;
  }
  .sec_c19 .toku_wrap p {
    margin: 30px auto;
  }
  .sec_c19 .toku_wrap.toku_01 .txt_wrap {
    margin: 50px auto;
  }
  .sec_c19 .toku_wrap.toku_03 {
    margin: 70px 0 50px;
  }
  .sec_c19 .toku_wrap.toku_03 .box_po {
    top: -70px;
  }
  .sec_c19 .toku_wrap.toku_03 .txt_wrap + .txt_wrap {
    margin-top: 40px;
  }
  .sec_c19 .toku_wrap.toku_04 .txt_wrap {
    margin: 40px auto;
  }
  .sec_c19 .cv_wrap {
    margin-top: 90px;
  }
  .sec_c20 {
    margin: 60px auto 80px;
  }
  .sec_c21 {
    margin: 60px auto;
  }
  .sec_c21 .cv_wrap {
    margin-top: 80px;
  }
  .type_line .cta_line .cv_btn a {
    border-radius: 20px;
  }
  .type_line .cta_line .cv_btn a::before {
    top: -5px;
    border-radius: 20px;
  }
  .type_line .cta_line .cv_btn a::after {
    right: 30px;
    width: 20px;
    height: 20px;
  }
  .type_line .cta_line .cv_btn a img {
    border-radius: 20px;
  }
  .type_line .cta_line .cv_btn + .att {
    margin-top: 20px;
  }
  .type_line .cta_line .cta_arr.arr_01 {
    height: 90px;
  }
  .type_line .cta_line .cta_arr.arr_02 {
    height: 70px;
  }
  .type_line .cta_line_01 {
    padding: 15px 0 30px;
  }
  .type_line .cta_line_01 .img_wrap .fuki {
    margin-right: -26px;
  }
  .type_line .cta_line_02 {
    padding: 50px 0 0;
  }
  .type_line .cta_line_02 .img_wrap .pic {
    margin-left: -20px;
  }
  .type_line .cta_line_02 .img_wrap .fuki {
    margin-right: -20px;
  }
  .type_line .sec_c22 {
    padding-top: 56px;
  }
  .type_line .sec_c22 .wrap_01 {
    margin-bottom: 40px;
  }
  .type_line .sec_c22 .wrap_01 figcaption {
    font-size: 12px;
  }
  .type_line .sec_c22 .wrap_02 {
    margin-bottom: 30px;
  }
  .type_line .sec_c22 .wrap_02 .txt_wrap p {
    font-size: 2rem;
  }
  .type_line .sec_c23 {
    margin-bottom: 80px;
  }
  .type_line .sec_c23 .txt_wrap .txt_01 {
    margin: -20px -5%;
  }
  .type_line .sec_c23 .cta_line {
    margin: -40px auto;
  }
  .sec_east {
    padding-bottom: 0;
  }
  .sec_east .sec_head_01 .head_pic {
    position: absolute;
    width: 36.56%;
    bottom: 0;
    left: 1vw;
  }
  .sec_east .pic {
    text-align: center;
    margin: 2vw 0;
  }
  .sec_east li {
    font-size: 2rem;
    margin-bottom: 30px;
    padding-left: 60px;
  }
  .sec_east li::before {
    width: 40px;
    height: 40px;
  }
}
@media not screen, screen and (min-width: 1025px) {
  .vsp1024 {
    display: none;
  }
}
@media screen and (min-width: 1025px), print {
  .slick-arr {
    font-size: 1.6rem;
    width: 50px;
    height: 50px;
    line-height: 50px;
  }
  .sec_tit_stripe {
    background-size: 80px auto;
  }
  .sec_tit_stripe2 {
    background-size: 80px auto;
  }
  .sec_c7 .case_fee li p {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .vpc1024 {
    display: none;
  }
}
@media screen and (max-width: 813px) and (orientation: landscape) {
  .sec p {
    font-size: 2rem;
  }
  .sec .check_list li {
    font-size: 2rem;
  }
  .sec .box.faq .box_tit {
    font-size: 2rem;
  }
  .sec_hero {
    height: 150vw;
    min-height: 150vw;
  }
}
@media screen and (max-width: 767px) {
  .vpc767 {
    display: none;
  }
  .js-slider-clinic .slick-arr.next {
    right: 5%;
  }
  .sec_hero.mv2 {
    background-image: url(../img/hero_visual_sp_210511.jpg);
  }
  .sec_c7 .txt_wrap.tp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    min-height: 36.586638vw;
  }
}
@media screen and (max-width: 375px) {
  .sec_hero {
    max-height: 667px;
  }
}
@-webkit-keyframes flash {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  50% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  to {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  50% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  to {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
}
@-webkit-keyframes arrDown {
  0% {
    top: -5%;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 18%;
    opacity: 0;
  }
}
@keyframes arrDown {
  0% {
    top: -5%;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 18%;
    opacity: 0;
  }
}
@-webkit-keyframes arrUp {
  0% {
    top: 5%;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: -18%;
    opacity: 0;
  }
}
@keyframes arrUp {
  0% {
    top: 5%;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: -18%;
    opacity: 0;
  }
}
.notice {
  text-align: center;
  transform: translateY(-100%);
  height: 0;
  overflow: hidden;
  animation: notice 1s forwards;
  animation-delay: 2s;
}
@keyframes notice {
  0% {
    transform: translateY(-100%);
    height: 0;
  }
  100% {
    transform: translateY(0);
    height: auto;
  }
}

/*# sourceMappingURL=style.css.map */