﻿html, body {
    width: 100%;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

html {
    font-size: 62.5% !important;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    scroll-behavior: auto;
}



img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
    -ms-interpolation-mode: bicubic;
}

a {
    display: block;
}

th, td {
    border: 1px solid #e5e5e5;
    padding: 8px 13px;
}

caption, th, td {
    text-align: left;
    font-weight: 400;
    vertical-align: middle;
}

audio,canvas,video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0
}

.lp-wrap {
    width: 100%;
    text-align: center;
    /* font-size: 3.73vw; */
}


.single-lp .lp-wrap {
    padding: 0;
    width: auto;
    margin: 0;
}
.single-lp .lp-wrap a {
    cursor: pointer;
}
#lp-content {
    position: relative;
    margin: 0 auto;
    color: #333333;
    max-width: 830px;
}
#lp-content section {
    position: relative;
    display: block;
}
#lp-content section span.em {
    font-weight: 800;
}
#lp-content section span.red {
    color: #e85c5c;
}
#lp-content section span.marker {
    background: #FFF8A3;
    font-weight: bold;
}

section .inner{
  width: 95%;
    margin: 0 auto;
    padding: 20px 0;
}
#lp-content section .section-heading {
    font-size: 2.8rem;
    font-weight: bold;
}
#lp-content section h1 {
    font-size: 2.8rem;
    font-weight: bold;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
.video-note {
    text-align: right;
    font-size: 12px;
}
@media screen and (max-width:767px) {
    .video-note { font-size: 2.9vw; }
}
.txt-left {
  text-align: left !important;
}
.txt-right {
  text-align: right !important;
}
.txt-yellow {
  color: #E5B800;
}
.txt-red {
  color: #e85c5c;
}
span.border {/* display: inline-block; */background: linear-gradient(transparent 50%, #FFE947 50%);}
.em {
  font-weight: bold !important;
}
.link {color: #000; text-decoration: underline;}
.pc {display: block;}
.sp {display: none;}

@media screen and (max-width:767px) {
  section .inner {/* width: 90%; */}
  .pc {display: none;}
  .sp {display: block;}
  
}


/*----------- header -----------*/
header {background: #fff;height: 60px;display: flex;align-items: center;padding-left: 20px;}
header .logo {height: 50px;}

@media screen and (max-width:767px) {
  header {height: 44px;}
  header .logo {height: 30px;}
}

/*----------- KV -----------*/
.kv .kv-img {width: 100%;height: auto;object-fit: cover;}

/*KV下のスライダー*/
.autoplay-wrapper {
    width: 100%;
    overflow-x: hidden;
    background-color: #1bbeb1;
    padding: 10px 0;
}
.autoplay-slider {
    width: 100%;
    display: flex;
    min-width: 100%;
    width: min-content;
  animation: 20s linear infinite sliderAnimation;
}
.slide {
    background: #fff;
    border-radius: 5px;
    padding: 10px;
    margin: 0 5px;
    height: 60px;
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes sliderAnimation {
  100% {
    transform: translateX(-50%);
  }
}

.slide img {
  width: auto;
  height: 40px;
  object-fit: contain;
}



@media screen and (max-width:767px) {
  .autoplay-wrapper {bottom: 2px;}
  .slide {
    width: 100px;
    height: 40px;
  }
  .slide img {
    height: 30px;
  }
}

@media screen and (max-width:466px) {
  .autoplay-slider {
    padding: 7px 0;
  }
  .slide {
    width: 80px;
    height: 35px;
    margin: 0 3px;
  }
  .slide img {
    height:25px;
  }

}

p.note {
  font-size: 12px;
}
p.note.txt-right {
  font-size: 0.75em;
}
.reviews-img {
  max-width: 360px;
  margin: 0 auto 15px;
  width: 100%;
}
.affiliate-notice {
  font-size: 11px;
  color: #888;
  text-align: right;
  padding: 4px 8px 0;
}

@media screen and (max-width:767px) {
  p.note {
    font-size: 10px;
  }
}

.updated-date {text-align: right;font-size: 14px;font-family: "Noto Sans JP", sans-serif; margin: 10px 0 0 0;}
@media screen and (max-width:767px) {
  .updated-date {font-size: 3.3vw;width: 96%;margin: 2px auto 0;}
}



/*----------- post -----------*/
.post {
  /* background: -moz-linear-gradient(top, #D5DBE9, #FFF);
  background: -webkit-linear-gradient(top, #D5DBE9, #FFF);
  background: linear-gradient(to bottom, #D5DBE9, #FFF); */
}
.post-wrapper {
    border: 8px solid #CAD1DD;
    background: #fff;
    border-radius: 20px;
    padding: 20px 20px 20px;
    margin: 30px 0 0;
}
.post-wrapper .section-heading {
  border-bottom: 3px dashed #BCC8E5;
  padding-bottom: 10px;
}
.post-wrapper .section-heading span {
  font-size: 3.4rem;
  color: #993399;
}
li.trend_list {
  display: flex;
  justify-content: space-between;
  padding: 2rem 0;
}
li.trend_list:not(:last-of-type) {
  border-bottom:1px solid #CAD1DD;
  
}
li.trend_list .img-wrapper {
  flex-basis: 20%;
}
li.trend_list .img-wrapper img {
  border-radius: 1rem;
}
li.trend_list .txt-wrapper {
  flex-basis: 75%;
  text-align: left;
}
li.trend_list .txt-wrapper h2 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 1rem;
}
li.trend_list .txt-wrapper p {
  font-size: 1.8rem;
}


@media screen and (max-width:767px) {
  .post-wrapper {background-size: 55%;background-position: 30% -10%;padding: 3vw;}
  .post-wrapper .section-heading {font-size: 4.5vw !important;margin: 0 auto 2%;padding-bottom: 2%;}
  .post-wrapper .section-heading span {font-size: 4.8vw;}
    li.trend_list {padding: 3vw 0;}
    li.trend_list .img-wrapper {flex-basis: 25%;}
    li.trend_list .txt-wrapper {flex-basis: 72%;}
    li.trend_list .txt-wrapper h2 {font-size: 3.6vw;margin-bottom: 1vw;}
    li.trend_list .txt-wrapper p {
        font-size: 3.2vw;
    }
}

/*----------- selected -----------*/
.selected h1 {display: flex; align-items: center; justify-content: center; position: relative; display: inline-block;margin-bottom: 20px;}
.selected h1::before {
  content: '';
    background-image: url(../img/svg/icon-dash.svg);
    position: absolute;
    left: -40px;
    width: 40px;
    background-repeat: no-repeat;
    height: 50px;
    background-size: 18px;
    top: 20px;
}
.selected h1::after {
  content: '';
    background-image: url(../img/svg/icon-dash.svg);
    position: absolute;
    right: -40px;
    width: 40px;
    background-repeat: no-repeat;
    height: 50px;
    background-size: 18px;
    top: 20px;
    transform: scale(-1, 1);
    
}
.selected h1 img {width: 180px; margin-right: 20px;}
.selected p {font-size: 10px;text-align: left;}
.selected .img-wrapper {margin-bottom: 10px;}

@media screen and (max-width:767px) {
  .selected h1 {font-size: 4.1vw !important;margin: 0 auto 3vw;}
  .selected h1:before {background-size: 3vw;width: 3vw;height: 8vw;top: 0;left: -5vw;}
  .selected h1:after {background-size: 3vw;width: 3vw;height: 8vw;top: 0;right: -5vw;}
  .selected h1 img {width: 22vw;margin-right: 1vw;}
  .selected p {font-size: 1.95vw;}
  
}

/*----------- ranking-new -----------*/
.img-ranking-new-ttl2 {
  display: block;
  max-width: 480px;
  width: 75vw;
  margin: 15px auto 0;
}
.ranking-new {
    background: transparent linear-gradient(339deg, #FAD2D2 0%, #FDEBF5 45%, #E7EDFA 100%) 0% 0% no-repeat padding-box;
    border-radius: 100px 100px;margin-top: 110px;padding-bottom: 50px;}
.ranking-new span.bg-star {position: absolute;width: 100%;top: -30px;left: 50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
.ranking-new span.bg-star img {width: 100%;}
/*
.ranking-new {
    background: transparent linear-gradient(339deg, #FAD2D2 0%, #FDEBF5 45%, #E7EDFA 100%) 0% 0% no-repeat padding-box;
    border-radius: 100px 100px 0px 0px;margin-top: 80px;padding-bottom: 170px;}
*/
/* .ranking-new h1 {margin: 30px 0 110px;position: relative;} */
.ranking-new .section-heading {margin: -40px auto 70px;position: relative;}
.ranking-new .section-heading > img {width: 400px;}
.ranking-new .section-heading span {position: absolute;top: -32%;left: 50%; -webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
.ranking-new .section-heading span img {width: 220px;}
.ranking-wrapper {position: relative;}
.ranking-wrapper img.ichioshi {position: absolute; width: 155px;top: -30%;left: 36%;}
ul.ranking-new-wrapper {display: flex;align-items: flex-end;justify-content: space-between;}
ul.ranking-new-wrapper li {background: #fff;padding: 20px;border-radius: 20px;position: relative;}
ul.ranking-new-wrapper li:first-of-type {flex-basis: 38%;}
ul.ranking-new-wrapper li:nth-of-type(2) {flex-basis: 30%;}
ul.ranking-new-wrapper li:nth-of-type(3) {flex-basis: 30%;}
ul.ranking-new-wrapper li:first-of-type::before {
  content: '';
  background-image: url(img/svg/img-no1.svg);
  background-repeat: no-repeat;
    height: 130px;
    background-size: 255px;
    position: absolute;
    z-index: 10;
    width: 250px;
    left: -30px;
    top: -100px;
}
ul.ranking-new-wrapper li:nth-of-type(2)::before {
  content: '';
  background-image: url(img/svg/img-no2.svg);
  background-repeat: no-repeat;
    height: 130px;
    background-size: 230px;
    position: absolute;
    z-index: 10;
    width: 250px;
    left: -20px;
    top: -95px;
}
ul.ranking-new-wrapper li:nth-of-type(3)::before {
  content: '';
  background-image: url(img/svg/img-no3.svg);
  background-repeat: no-repeat;
    height: 130px;
    background-size: 230px;
    position: absolute;
    z-index: 10;
    width: 250px;
    left: -20px;
    top: -87px;
}
ul.ranking-new-wrapper dl {/* border-bottom: 1px solid #D5DBE9; */border-top: 1px solid #D5DBE9;padding: 10px 0;}
ul.ranking-new-wrapper dt {text-align: left;font-weight: bold;font-size: 16px;}
ul.ranking-new-wrapper dd {padding: 3px 0;display: flex;align-items: center;justify-content: space-between;}
ul.ranking-new-wrapper dd div {display: flex;align-items: center;}
ul.ranking-new-wrapper dd img {width: 22px;}
ul.ranking-new-wrapper dd p {text-align: right;font-weight: bold;}
ul.ranking-new-wrapper li .logo {height: 50px;display: flex;align-items: center;justify-content: center;margin: 12px 0;}
ul.ranking-new-wrapper li .thumbnail {border-radius: 10px; overflow: hidden;}
ul.ranking-new-wrapper li:first-of-type .thumbnail img {width: 100%;}

ul.ranking-new-wrapper li:first-of-type .logo img {height: 55px;}
ul.ranking-new-wrapper li:last-of-type .logo {height: 45px;}
ul.ranking-new-wrapper li:not(:first-of-type) .logo img {height: 40px;object-fit: contain;} 
ul.ranking-new-wrapper li:first-of-type dt {font-size: 18px;}
ul.ranking-new-wrapper li:first-of-type dd img {width: 25px;}


@media screen and (max-width:767px) {
  .ranking-new {margin-top: 15vw;border-radius: 7vw;padding-bottom: 0;}
/* 	.ranking-new h1 {margin: 6vw 0 10vw;} */
  .ranking-new .section-heading {margin: -4vw 0 15vw;}

  .ranking-new .section-heading>img {width: 67vw;}
  .ranking-new .section-heading span {top: -55%;}
    .ranking-new .section-heading span img {width: 160px;}
  .ranking-wrapper img.ichioshi {width: 19.5vw;top: -14vw;left: 35vw;}
  ul.ranking-new-wrapper li {padding: 2vw;border-radius: 4vw;}
  ul.ranking-new-wrapper li:first-of-type::before { 
    background-size: 33vw;
    width: 33vw;
    height: 17vw;
    top: -13vw;
    left: -1vw;
  }
  ul.ranking-new-wrapper li:nth-of-type(2)::before {
    background-size: 22.5vw;
      width: 23vw;
      height: 12vw;
      top: -9vw;
      left: -1vw;
  }
  ul.ranking-new-wrapper li:nth-of-type(3)::before {
    background-size: 22.5vw;
    width: 23vw;
    height: 12vw;
      top: -8.5vw;
      left: -1vw;
  }
  ul.ranking-new-wrapper li .thumbnail {border-radius: 2vw;}
  ul.ranking-new-wrapper li:nth-of-type(2) .thumbnail,
  ul.ranking-new-wrapper li:nth-of-type(3) .thumbnail {height: 22vw;}
  ul.ranking-new-wrapper li:nth-of-type(2) .thumbnail img,
  ul.ranking-new-wrapper li:nth-of-type(3) .thumbnail img {width: 100%; height: 100%; object-fit: cover; /* border-radius: 2vw; */}
  ul.ranking-new-wrapper dl {padding: 1vw 0;}
  ul.ranking-new-wrapper dt {font-size: 2.4vw;padding: 1px 0;}
  ul.ranking-new-wrapper dd {}
  ul.ranking-new-wrapper dd img {width: 2.5vw;} 
  ul.ranking-new-wrapper dd p {font-size: 3vw;}
  ul.ranking-new-wrapper li .logo {height: 8vw;margin: 1vw 0;}
  ul.ranking-new-wrapper li:first-of-type .logo {height: 8vw;margin: 1vw 0;}
  ul.ranking-new-wrapper li:first-of-type .logo img {height: 8vw;}
  ul.ranking-new-wrapper li:last-of-type .logo {height: 8vw;}
  ul.ranking-new-wrapper li:not(:first-of-type) .logo img {height: 6vw;}
  
  ul.ranking-new-wrapper li:first-of-type dt {font-size: 3vw;}
  ul.ranking-new-wrapper li:first-of-type dd img {width: 3vw;}
}


/*----------- cospa -----------*/
.cospa .btn_2 {margin-top: 16px;}
.cospa .more-btn {margin: 8px 0 16px;}
/*
.cospa {background: transparent linear-gradient(180deg, #F0F5FF 0%, #FEF0F7 37%, #FFF0F6 41%, #FFFBF4 90%, #FFFDF4 100%) 0% 0% no-repeat padding-box;
  border-radius: 100px;margin-top: -90px;padding-bottom: 40px;}
*/
.cospa .section-heading {margin: 10px 0 40px;position: relative;}
#ranking-compare .inner {padding-top: 5px;}
.cospa .section-heading > img {max-width: 480px;
  width: 100%;}
.cospa .section-heading span {position: absolute;top: -45%;left: 50%; -webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
.cospa .section-heading span img {width: 160px;}
.cospa ul li {background: #fff; border-radius: 20px; padding: 30px;box-shadow: 0px 1px 6px #00000029;margin: 20px 0;position: relative;}
.cospa ul li:first-of-type {border: 4px solid #D4AA02;}
.cospa ul li:not(:first-of-type){width: 95%; margin: 20px auto;}
/*
.cospa ul li:first-of-type::before {
  content: '';
  background-image: url(//www.remvy.jp/wp-content/themes/remvy/css/../img/lp/best3/new/svg/symbol-hanamaru.svg);
  background-repeat: no-repeat;
    height: 68px;
    background-size: 69px;
    position: absolute;
    z-index: 10;
    width: 71px;
    right: 12px;
    top: 7px;
}
*/
/* .cospa ul li .cospa-wrapper {display: flex;justify-content: space-between;} */
.cospa ul li .img-wrapper {flex-basis: 30%;}
.cospa ul li .img-wrapper .img-hikaku {/* height: 50px; */width: 100%; margin-bottom: 10px;margin-right: auto;display: block;}
.cospa ul li .thumbnail img {width: 100%;}
.cospa ul li .txt-wrapper {flex-basis: 70%;padding-left: 30px;}
.cospa ul li h2 {font-weight: bold;font-size: 40px;text-align: left;margin-bottom: 5px;}
.cospa ul li h2 a {color: #0022af; text-decoration: underline;position: relative;}
.cospa ul li h2 a:after {
    content: '';
    width: 12px;
    height: 12px;
    border: 0;
    border-top: solid 3px #0022af;
    border-right: solid 3px #0022af;
    transform: rotate(45deg);
    position: absolute;
    top: 4px;
    right: -30px;
    bottom: 0;
    margin: auto;
}
.cospa ul li p.tag {border-top: 1px solid #eaeaea;border-bottom: 1px solid #eaeaea;font-weight: bold;font-size: 25px;text-align: left;padding: 8px 5px;margin-bottom: 10px;}
.cospa ul li p.tag span {background: #eaeaea;padding: 1px 10px;border-radius: 5px;margin-left: 10px;}
.cospa table {width: 100%;border: none;margin: 0;}
/* .cospa table tr:last-of-type td {color: #FF5757;font-size: 45px;} */
table.cospa-table tr:last-of-type td span {font-size: 30px;}
table.cospa-table th {border: none;padding: 3px 0;}
table.cospa-table th span {/* width: 110px; */background: #F0F0F0; display: block; border-radius: 30px;display: block;font-weight: bold;text-align: center;padding: 7px 10px;}
table.cospa-table td {text-align: right; padding: 3px 13px;border: none;line-height: 1.2;}
table.cospa-table td:first-of-type {font-size: 30px;font-family: "Oswald", sans-serif;font-weight: bold;line-height: 1.1;} 
table.cospa-table td:first-of-type span {font-size: 20px;}
table.cospa-table td.txt {font-family: "Noto Sans JP", sans-serif;font-size: 25px;}

/*
table.cospa-table td:last-of-type {font-size: 25px;font-family: "Oswald", sans-serif;font-weight: bold;text-decoration : line-through;color: #E85C5C;}
table.cospa-table td:last-of-type span {color: #2E3540;}
*/
table.cospa-table tr:last-of-type td:first-of-type {font-size: 40px; color: #E5639C;}

.cospa ul li .cospa-wrapper + img {width: 53%;margin-left: auto;display: block;}
/*
.cospa .fukidashi {
  background-image: url(//www.remvy.jp/wp-content/themes/remvy/css/../img/lp/best3/new/svg/img-fukidashi.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 100% 50%;
    width: 60%;
    margin-left: auto;
    display: flex;
    justify-content: center;
    padding: 20px 8px 10px;
}
*/
.cospa .fukidashi img {width: 100%;}
.cospa .fukidashi p {font-size: 16px; font-weight: bold;}
.cospa .fukidashi p span.txt01 {background: #E5639C; color: #fff;padding: 1px 5px;display: inline-block;margin: 0 5px;}
.cospa .fukidashi p span.txt02 {background: linear-gradient(transparent 0%, #F5EFF7 0%);}

.hikaku-box {display: grid; grid-template-columns: 1fr 1fr 1fr;margin-top: 10px;}
.hikaku-box dl {border: 1px solid #e3e3e3;}
.hikaku-box dt {font-weight: bold; background: #e7edfa; padding: .5em;}
.hikaku-box dd {padding: .4em .8em;}
.hikaku-box .symbol {width: 30px; margin: .2em auto .2em; display: block;}
.hikaku-box .symbol + br {display: none;}

/* フレイア summary-grid */
.summary-grid {display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, auto); margin-top: 10px;}
.summary-cell {border: 1px solid #e3e3e3; text-align: center;}
.summary-label {font-weight: bold; background: #e7edfa; padding: .5em;}
.summary-cell .symbol {width: 30px; margin: .4em auto 0; display: block;}
.summary-value {padding: .4em .5em .8em;}
a.summary-link {color: #0000EE; text-decoration: none; font-size: .95em; font-weight: bold;}
a.summary-link .summary-link-text {text-decoration: underline;}


/* ランキング内タブ */
.rank-info-tabs {display: flex; gap: 4px; margin: 16px 20px 0; background: #efefef; border-radius: 50px; padding: 4px;}
.rank-info-tabs .tab-btn {flex: 1; padding: .55em .4em; font-size: 1.3rem; font-weight: bold; border: none; border-radius: 50px; background: transparent; color: #aaa; cursor: pointer; transition: background .2s, color .2s; display: flex; align-items: center; justify-content: center; gap: 4px;}
.rank-info-tabs .tab-btn.active {background: #e874a7; color: #fff; box-shadow: 0 2px 6px rgba(232,116,167,.35);}
.rank-info-tabs .tab-icon {width: 18px; height: 18px; object-fit: contain; filter: grayscale(1) opacity(.5);}
.rank-info-tabs .tab-btn.active .tab-icon {filter: brightness(0) invert(1);}
[data-tab-panel] {display: none;}
[data-tab-panel].active {display: block;}

/* 比較表 */
table.clinic-hikaku h1 {
    max-width: 700px;
    margin: 0 auto 0.5em;
    padding: 0.25em;
    font-weight: bold;
    color: #FF4F85;
}
table.clinic-hikaku {
    margin: auto;
    width: max-content;
    font-family: "Noto Sans JP", sans-serif;
}

table.clinic-hikaku colgroup.no1 {border: 5px solid #D4AA00;}
table.clinic-hikaku thead img {
    display: block;
    text-align: center;
    margin: 0 auto 10px;
    height: 40px;
}
table.clinic-hikaku thead a span {
    color: #0022af;
    text-decoration: underline;
    position: relative;
    padding-right: 15px;
    font-weight: bold;
}
table.clinic-hikaku thead a span::after {
  content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #0022af;
    border-right: solid 2px #0022af;
    transform: rotate(45deg);
    position: absolute;
    top: 4px;
    right: 0px;
    bottom: 0;
    margin: auto;
}
table.clinic-hikaku thead p {
  font-weight: bold;
}
table.clinic-hikaku td:first-of-type {background: #FFFCF3;}
table.clinic-hikaku th,
table.clinic-hikaku td {
    padding: 0.7em 0.1em;
    border: 1px solid #999999;
    line-height: 1.1em;
    text-align: center;
    vertical-align: top;
    font-size: 14px;
    letter-spacing: 0;
    background: #fff;
}
table.clinic-hikaku th {
    font-weight: bold;
    width: 13%;
    vertical-align: middle;
    line-height: 1.4;
    background-color: #FDEBF5;
}
table.clinic-hikaku td {
  width: calc(87% / 4);
  line-height: 1.4;
}
table.clinic-hikaku .star {
    display: flex;
    align-items: center;
    justify-content: center;
}
table.clinic-hikaku .star img {
  width: 20px;
    margin-right: 2px;
}

    
table.clinic-hikaku td.clinic-name {
    width: 34%;
}
table.clinic-hikaku td.clinic-name img.crown {
    display: block;
    margin:  0 auto 5px;
}
table.clinic-hikaku table a {
    text-decoration: underline;
    color: #00F;
}
table.clinic-hikaku .crown {
    width: 50px;
}
table.clinic-hikaku .banner-small {
    margin: 5px 0;
}
table.clinic-hikaku .symbol {
    width: 30px;
    margin-bottom: .2em;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
table.clinic-hikaku .symbol + br {display: none;}
table.clinic-hikaku tr:last-of-type td {
  vertical-align: bottom;
}


a.hikaku-btn {color: #fff;
    color: #fff;
    /* border-radius: 10px; */
    font-size: 1em;
    padding: 1em 1.7em 1em .8em;
    box-shadow: 0 4px 5px rgba(0, 0, 0, .2);
    background-image: url(../img/svg/img-btn-bg.svg);
    background-color: #1bbeb1;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    width: 95%;
    margin: 0 auto;
    background-size: contain;
    position: relative;
    border-radius: 13rem !important;
    display: block;
    font-weight: bold;
    overflow: hidden;}
a.hikaku-btn::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg, rgba(255,255,255,0) 10%, rgba(255,255,255,1) 100%, rgba(255,255,255,0) 0%);
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
a.hikaku-btn.hikaku-btn--gray {background-color: #fff; background-image: none; box-shadow: 0 4px 5px rgba(0, 0, 0, .2); color: #1bbeb1 !important; border: 2px solid #1bbeb1; text-align: center;}
a.hikaku-btn.hikaku-btn--gray svg {position: absolute; right: .8em; top: 50%; transform: translateY(-50%);}
a.hikaku-btn.hikaku-btn--gray::before {display: none;}
a.hikaku-btn.hikaku-btn--gray::after {display: none;}

    a.hikaku-btn:before {
    content: '';
    width: 14px;
    height: 14px;
    border: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    transform: none;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -7px;
}
p.com {position: absolute;
    top: -30%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;}
    
    
.btn-wrapper {display: flex; justify-content: space-between;margin-top: 1rem;align-items: stretch;}
.btn-wrapper .btn_1 {flex-basis: 40%; display: flex; align-items: flex-end;}
.btn-wrapper .btn_2 {flex-basis: 56%; display: flex; flex-direction: column; justify-content: flex-end;}
.btn-wrapper .m-btn {margin: 0 !important; font-size: 2.5rem !important; border: 2px solid #1bbeb1; display: flex !important; align-items: center; justify-content: center; margin: 0 !important;
  font-size: 2.5rem !important; padding: .77em !important; line-height: 1.3; overflow: hidden; border-radius: 50px;
  font-weight: bold; color: #1bbeb1; position: relative; width: 100%;}
.btn-wrapper .m-btn::before {
  content: '';
  width: 1.3rem !important;
  height: 1.3rem !important;
  border: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231bbeb1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  transform: none !important;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: -.65rem;
}
.btn-wrapper .hikaku-btn {width: 100%;margin: 0 !important; font-size: 2.5rem !important;padding: .77em !important;line-height: 1.3;overflow: hidden;}
.btn-wrapper .hikaku-btn::before {width: 1.3rem !important; height: 1.3rem !important; border: none !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-size: contain !important; transform: none !important; right: 1.5rem !important; top: 50% !important; margin-top: -.65rem !important;}
.btn-wrapper .hikaku-btn::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}


@media screen and (max-width:767px) {
/* 	.cospa {margin-top: -20%;} */
  .cospa .section-heading {margin: 8vw 0 2vw;}
  .cospa .section-heading>img {width: 75vw;}
  .cospa .section-heading span {top: -10vw;}
  .cospa ul li {padding: 3vw 2vw;}
    .cospa ul li:first-of-type {margin: 0 auto 4vw;}
  .cospa ul li:first-of-type:before {background-size: 12vw; width: 12vw; height: 12vw;}
  .cospa ul li:not(:first-of-type){width: 100%; margin: 4vw auto;}
  .cospa ul li .img-wrapper {flex-basis: 40%;}
  .cospa ul li .txt-wrapper {flex-basis: 60%;padding-left: 2vw;}
  .cospa ul li h2 {font-size: 5.6vw;margin-bottom: 1vw;}
    .cospa .rank-header {margin-bottom: 0;}
  .cospa ul li h2 a:after {width: 2.8vw; height: 2.8vw;right: -4.5vw;}
  .cospa ul li p.tag {font-size: 3.4vw;}
  .cospa ul li .cospa-wrapper+img {width: 100%;}
  table.cospa-table  tr:last-of-type td:first-of-type {font-size: 5.9vw;} 
  table.cospa-table  th span {font-size: 3.2vw;/* width: 20vw; */padding: 1vw 1.5vw;}
  table.cospa-table  td {padding: 3px 1vw;}
  table.cospa-table  td:first-of-type {font-size: 5vw;}
  table.cospa-table  td:first-of-type span {font-size: 3.4vw;}
  table.cospa-table  tr:last-of-type td span {font-size: 4vw;}
/* 	.cospa table td:last-of-type {font-size: 3.6vw;} */
  .cospa .fukidashi {width: 100%;}
  .cospa .fukidashi p {font-size: 3.4vw;}
    table.clinic-hikaku {
      border-collapse: separate;
      border-spacing: 0;
    }
    table.clinic-hikaku thead td:first-of-type {
      border-top: 3px solid #d4aa00;
    }
  table.clinic-hikaku thead img {
      height: 5vw;
      margin: 0 auto .6em;
      width: 22vw;
      object-fit: contain;
  }
  table.clinic-hikaku thead a img {height: 5vw;
        margin: 0 auto .6em;
        width: 22vw;
        object-fit: contain;}
        
  table.clinic-hikaku thead a span {font-size: 3.3vw;padding-right: 2vw;}
  table.clinic-hikaku thead a span:after {width: 1.5vw;height: 1.5vw;}
    table.clinic-hikaku thead p {font-size: 2.8vw;}
    table.clinic-hikaku tbody tr:last-of-type td:first-of-type{
      border-bottom: 3px solid #d4aa00;
    }
  
  table.clinic-hikaku th, table.clinic-hikaku td {font-size: 2.8vw;padding: .5em .1em;}
  table.clinic-hikaku th {
    width: 15vw; 
    
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 3;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 42px;
    flex: 0 0 42px;
    min-width: 0;
    
  
  }
  table.clinic-hikaku td {width: 34vw; }
  table.clinic-hikaku td:first-of-type {
    position: -webkit-sticky;
    position: sticky;
    left: 15vw;
    z-index: 2;
    border-right: 3px solid #d4aa00;
    border-left: 3px solid #d4aa00;
  }
  table.clinic-hikaku .symbol {width: 30px;margin-bottom: .2em;display: block;margin-left: auto;margin-right: auto;}
  table.clinic-hikaku .symbol + br {display: none;}
  table.clinic-hikaku .star img {width: 3vw;margin-right: .1em;}
  table.clinic-hikaku colgroup.no1 {border: none;}
  a.hikaku-btn {font-size: 2.8vw;
    padding: 2.8vw 2vw 2.8vw 1vw;}
  a.hikaku-btn:before {width: 2vw;
    height: 2vw; border: none; background-size: contain; right: 1.5vw; margin-top: -1vw;}
    
    table.cospa-table td.txt {font-size: 3vw;}
    .hikaku-box dd {font-size: 2.8vw; padding: .8em 0;}
    .hikaku-box dd img {width: 10vw; margin-bottom: .5em;}

    
    .btn-wrapper .hikaku-btn {
      font-size: 3.5vw !important;
      padding: 4vw 3vw 4vw 3vw !important;
    }
    .btn-wrapper .hikaku-btn::before {
        width: 2.5vw !important;
        height: 2.5vw !important;
        border: none !important;
        right: 2.5vw !important;
        margin-top: -1.25vw !important;
    }
    .btn-wrapper .m-btn {
      font-size: 3.5vw !important;
      padding: 4vw 3vw 4vw 3vw !important;
    }
  .btn-wrapper .m-btn::before {
    width: 2.5vw !important;
    height: 2.5vw !important;
    border: none !important;
    right: 2.5vw !important;
    margin-top: -1.25vw !important;
  }
}

/*
@media screen and (max-width:467px) {
  .cospa {margin-top: -10em;}
}
*/


/*----------- graph -----------*/
.graph h1>img {width: 390px;}
.graph .graph-wrapper {background: rgba(255,255,255,.4);border-radius: 20px;padding: 30px;position: relative;}
.graph .graph-wrapper > img {position: relative;}
.graph .graph-wrapper .logo {position: absolute; height: 40px; background: #fff;box-shadow: 0px 0px 6px #00000029; border-radius: 10px;display: flex;align-items: center;justify-content: center;padding: 7px 13px;}
.graph .graph-wrapper .logo img {width:auto; height: 100%; object-fit: contain;position: relative;}
.graph .graph-wrapper .logo1 {top: 106px;right: 250px; height: 55px;border: 4px solid #EAC048;}
.graph .graph-wrapper .logo2{top: 170px;right: 300px; height: 50px;border: 3px solid #C6C6C6;}
.graph .graph-wrapper .logo3{top: 230px;right: 230px; border: 3px solid #CE9066;}
.graph .graph-wrapper .logo4{top: 230px;right: 380px;}
.graph .graph-wrapper .logo5{top: 285px;right: 320px;}
.graph .graph-wrapper .logo1 span {width: 80px; height:60px;position: absolute;bottom: 25px;left: 50%; -webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
.graph .graph-wrapper .logo2 span {width: 52px; height:37px;position: absolute;left: 0;bottom: 50px;}
.graph .graph-wrapper .logo3 span {width: 44px; height:33px;position: absolute;right: 0;bottom: 40px;}

@media screen and (max-width:767px) {
  .graph h1>img {width: 71vw;}
  .graph .graph-wrapper {width: 95%; margin: 0 auto;}
  .graph .graph-wrapper .logo1 {width: 32.5vw;right: 3vw;}
  .graph .graph-wrapper .logo2 {width: 39vw;right: 26vw;}
  .graph .graph-wrapper .logo3 {width: 22.5vw;right: 3vw;}
  .graph .graph-wrapper .logo4 {width: 29vw;right: 44vw;}
  .graph .graph-wrapper .logo5 {width: 25vw;right: 31vw;}
}




/*----------- ranking -----------*/
.ranking {padding-bottom: 50px;border-radius: 100px;margin-top: 120px;padding-top: 20px;}
.ranking .inner {max-width: 700px;margin: 0 auto;padding: 0;border-radius: 20px;box-shadow: 0px 0px 6px #00000014;background: #fff;}
.ranking-no1 {background-color: #FCF5D5;}
.ranking-no1 {background-color: #FCF5D5;}
.ranking-no2 {background-color: #EEF7F7; padding-top: 50px;margin-top: 50px;}
.ranking-no3 {background-color: #EFFFF2; padding-top: 50px;margin-top: 50px;}
.ranking section {background: #fff;} 
.ranking h1 {margin: -40px auto 70px;position: relative;}
.ranking h1 > img {width: 410px;}
.ranking h1 span {position: absolute;top: -45%;left: 50%; -webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
.ranking h1 span img {width: 220px;}
.ranking span.bg-star {position: absolute;width: 100%;top: -30px;left: 50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
.ranking span.bg-star img {width: 100%;}

@media screen and (max-width:767px) {
  .ranking {border-radius: 7vw;margin-top: 15vw;}
  .ranking h1 {margin: -4vw 0 15vw;}
  .ranking h1>img {width: 64.5vw;}
    .ranking h1 span img {width: 160px;}
}


/* セクション詳細 */
section .inner-box {max-width: 700px;margin: auto;padding: 20px;background: #fff;}
.inner-box.radius-top {border-radius: 20px 20px 0 0;}
.inner-box.radius-bottom {border-radius:0 0 20px 20px ;}


/* タイトル */
.rank-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;


/*
    background-image: url(//www.remvy.jp/wp-content/themes/remvy/css/../img/lp/best3/new/svg/img-no1.svg);
    background-repeat: no-repeat;
    background-size: 205px 105px;
    background-position: center left;
    padding: 0 0 0 220px;
    position: relative;
    font-size: 5.7vw;
    font-weight: 700;
    text-align: left;
    line-height: 1;
    margin-bottom: 10px;
    min-height: 45px;
    margin: 0 auto 30px;
    max-width: 700px;
*/
}
.rank-header .rank-header-img {flex-basis: 20%;}
.rank-header .rank-header-img img {width: 100%;}
.rank-header .rank-header-txt {flex-basis: 75%;text-align: left;}
.clinic-name-link {color: #0000EE !important; font-size: inherit !important; text-decoration: underline !important; text-underline-offset: 4px; position: static !important;}
.clinic-name-link::after {display: none !important;}
.clinic-name-link:hover {opacity: .75;}
.ext-icon {color: inherit; margin-left: 8px; font-weight: normal;}

/*
.ranking-no2 .rank-header {background-image: url(//www.remvy.jp/wp-content/themes/remvy/css/../img/lp/best3/new/svg/img-no2.svg);}
.ranking-no3 .rank-header {background-image: url(//www.remvy.jp/wp-content/themes/remvy/css/../img/lp/best3/new/svg/img-no3.svg);}
*/
.rank-header h2 {position: relative;margin-bottom: 5px;
  font-weight: bold;
  font-size: 40px;
  text-align: left;
  margin-bottom: 5px;
}
.rank-header h2 img {display: block;}
.rank-header h2 a {color: #0022AF;font-size: 40px;position: relative;/* border-bottom: 3px solid; */text-decoration: underline;font-weight: bold;}
.rank-header h2 a:after {
  content: '';
    width: 15px;
    height: 15px;
    border: 0;
    border-top: solid 3px #0022af;
    border-right: solid 3px #0022af;
    transform: rotate(45deg);
    position: absolute;
    top: 5px;
    right: -30px;
    bottom: 0;
    margin: auto;
}
.rank-header p {text-align: left;}
.rank-header p span {font-size: 20px;line-height: 1.2em;/* padding-top: 5px;padding-bottom: 5px; */}
.ranking .ttl {margin-left: -40px;margin-right: -40px;}
.ranking .ttl h3 {position: relative;padding: 10px 20px;font-size: 24px;color: #fff;background: #e874a7;width: 100%;max-width: 720px;margin: 0 auto;font-weight: bold;letter-spacing: .1em;}
.ranking .ttl h3:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 10px rgb(232, 116, 167);
}

.ranking .ttl h3:after {
  position: absolute;
  content: '';
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-left: solid 10px rgb(232, 116, 167);
}
.ranking .ttl h3 span {position: relative;padding-left: 10px;}
.ranking .ttl h3 span:before {
  content: '';
  background-repeat: no-repeat;
    position: absolute;
    z-index: 10;  
}
.ranking a img {border-radius: 15px;}

@media screen and (max-width:767px) {
  section .inner-box {padding: 4vw 3vw;}
  .inner-box.radius-top {border-radius: 5vw 5vw 0 0;}
  .inner-box.radius-bottom {border-radius:0 0 5vw 5vw;}
/* 	.rank-header{background-size: 24vw 105px;padding: 0 0 0 25vw;margin: 0 auto 6vw;} */
    .rank-header h2 {font-size: 5.6vw;}
  .rank-header h2 a {font-size: 5.6vw;}
  .rank-header h2 a:after {width: 2.8vw; height: 2.8vw;right: -4.5vw;}
  .rank-header p span {font-size: 3vw;line-height: 1.8;}
  .ranking .ttl {margin-left: -2.5%;
        margin-right: -2.5%;
        width: 105%;}
  .ranking .ttl h3 {font-size: 5.1vw;width: 99%;}
  .ranking .ttl h3:before {border-bottom: solid 8px transparent;border-right: solid 2vw #e874a7;}
  .ranking .ttl h3:after {border-bottom: solid 8px transparent;border-left: solid 2vw #e874a7;}
  .ranking .ttl h3 span {padding-left: 2vw;}
  .ranking .ttl h3 span:before {background-size: 8.5vw; width: 8.5vw; height: 6.5vw;top: 0.5vw;left: -9vw;}
  .ranking a img {border-radius: 3vw;}
  .rank-header .rank-header-txt p {font-size: 3.4vw;}
}


/*----------- point -----------*/
.point {position: relative;}
.point .ttl, .basic .ttl, .machine .ttl {display: block;}
.point .ttl h3 span:before {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='9 12 11 14 15 10'/%3E%3C/svg%3E");
  background-color: transparent;
  height: 30px;
  width: 30px;
  background-size: 30px;
  border-radius: 0;
  left: -38px;
  top: 50%;
  transform: translateY(-50%);
}
.point dl{text-align: left;border: 1px solid #E3E3E3;border-radius: 20px;padding: 20px;border-radius: 3vw;}
.point dl:not(:last-of-type) {margin-bottom: 20px;}
.point dt {font-weight: bold;font-size: 20px;padding-left: 50px;border-bottom: 1px solid #E3E3E3; padding-bottom: 10px;position: relative;}
.point dt:before {
  content: '';
  background-image: url(../img/svg/icon-point01.svg);
  background-repeat: no-repeat;
    height: 55px;
    background-size: 60px;
    position: absolute;
    z-index: 10;
    width: 52px;
    left: -11px;
    top: -15px;
}
.point dl:nth-of-type(2) dt:before {background-image: url(../img/svg/icon-point02.svg);}
.point dl:nth-of-type(3) dt:before {background-image: url(../img/svg/icon-point03.svg);}
.point dd {padding-top: 10px;}

@media screen and (max-width:767px) {
  .point .ttl h3 span:before {top: 50%; transform: translateY(-50%); width: 6vw; height: 6vw; background-size: 6vw; left: -7.5vw;}
  .point dl {padding: 5vw;}
  .point dt {font-size: 3.7vw;padding-left: 9vw;}
  .point dt:before {background-size: 15vw;width: 15vw; height:15vw;top: -8vw;left: -5vw;}
  .point dd {font-size: 3.2vw;}
}


/*----------- recommend-voice -----------*/
.recommend-voice {display: flex;align-items: center;justify-content: center; position: relative;}
.recommend-voice-hidden {display: flex;align-items: center;justify-content: center; position: relative;}
.recommend-voice:before {
  content: '';
  background-image: url(../img/svg/img-voice.svg);
  background-repeat: no-repeat;
    height: 83px;
    background-size: 150px;
    position: absolute;
    z-index: 10;
    width: 152px;
    right: 20px;
    top: 0px;
}
.recommend-voice dt {text-align: left; margin-bottom: 20px;}
.recommend-voice dt h4 {font-size: 18px;font-weight: bold;}
.recommend-voice dt h4 span {font-size: 14px;}
.recommend-voice dl {flex-basis: calc(100% - 250px);padding-left: 30px;}
.recommend-voice dd {text-align: left;}
.recommend-voice dd span{border-bottom: 1px dotted #f08994;/* font-family: "Zen Maru Gothic", serif;font-weight: bold; */}
.recommend-voice picture {background: transparent linear-gradient(313deg, #fad2d2 0%, #fdebf5 45%, #e7edfa 100%) 0% 0% no-repeat padding-box;
    width: 150px;
    height: 150px;
    /* object-fit: cover; */
    border-radius: 50%;
    overflow: hidden;
    /* padding: 15px; */
    display: flex;
    align-items: flex-end;
    justify-content: center;/* box-shadow: 0px 0px 6px #aaa; */}


@media screen and (max-width:767px) {
  .recommend-voice {padding: 20px 20px 20px 0;position: relative;}
  .recommend-voice:before {background-size: 25vw;width: 26vw; height: 13.6vw;top: 0; right: 20px;}
  .recommend-voice picture {width: 30vw;height: 30vw;}
  .recommend-voice picture img {height: 28vw;object-fit: cover;}
    .recommend-voice dl {flex-basis: 70vw;padding-left: 5vw;}
    .recommend-voice dt h4 {font-size: 4vw;}
    .recommend-voice dt h4 span {font-size: 3.6vw;}
    .recommend-voice dt p {font-size: 2.9vw;} 
    .recommend-voice dd {font-size: 3.2vw;ine-height: 2;}
}



/*----------- cta -----------*/
.cta {width: 100%;background: transparent linear-gradient(313deg, #FAD2D2 0%, #FDEBF5 45%, #E7EDFA 100%) 0% 0% no-repeat padding-box; 
position: relative;overflow: hidden;
/* 	background: #fff; */padding: 30px 0 25px;
}
.cta::before {
  content: "";
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -350px;
    border: 350px solid transparent;
    border-top: 40px solid #fff;
}
.cta h2 {color: #e62323;font-size: 20px;font-weight: bold;margin-bottom: 40px;}

#lp-content .btn {
    color: #fff;
    border-radius: 10px;
    font-size: 1.3em;
    padding: 1em 1.7em 1em .8em;
    box-shadow: 0 4px 5px rgba(0,0,0,.2);
    background-image: url(../img/svg/img-btn-bg.svg);
    background-color: #1bbeb1;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    max-width: 400px;
    margin: 0 auto;
    background-size: contain;
    position: relative;
    border-radius: 13rem !important;
    font-weight: 700;
}
#lp-content .btn::before {
  content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 20px;
    bottom: 0;
    margin: auto;
    top: 3px;
}
#lp-content .campaign-btn::before {
    border: none;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    transform: none;
    top: 50%;
    right: 15px;
    margin-top: -7px;
}

.btn_2 { position: relative; padding-top: 30px; }
.cta .fukidashi,
.btn_2 .fukidashi {
    display: inline-block;
    position: absolute;
    top: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 20px !important;
    padding: 3px 20px 5px !important;
    box-shadow: 0px 3px 6px #00000029;
    margin: 0 !important;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    width: max-content;
    z-index: 10;
    border: 2px solid #1bbeb1;
}
.cta .fukidashi span:before,
.btn_2 .fukidashi span:before {
  content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -11px;
    border: 11px solid transparent;
    border-top: 11px solid #1bbeb1;
}
.cta .fukidashi span:after,
.btn_2 .fukidashi span:after {
  content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -9px;
    border: 9px solid transparent;
    border-top: 9px solid #fff;
}

.rank-btn a.btn {
    margin: 0.5em auto;
    position: relative;
    overflow: hidden;
}
@keyframes shiny {
    0% {
        transform: scale(0) rotate(25deg);
        opacity: 0;
    }
    50% {
        transform: scale(1) rotate(25deg);
        opacity: 1;
    }
    100% {
        transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}
.rank-btn a.btn::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.more-btn {
  margin: 20px 0;
}

.m-btn {
    background-size: 15px;
    background-color: #fff !important;
    border: 2px solid #1bbeb1;
    color: #1bbeb1 !important;
    padding: .7em !important;
    margin: 0 auto;
    position: relative;
    box-shadow: 0 4px 5px rgba(0, 0, 0, .2);
}

.m-btn::before {
   width: 14px !important;
   height: 14px !important;
   border: none !important;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231bbeb1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") !important;
   background-repeat: no-repeat !important;
   background-size: contain !important;
   transform: none !important;
   top: 50% !important;
   right: 15px !important;
   margin-top: -7px !important;
}
.btn_1 .m-btn::before {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231bbeb1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
}


@media screen and (max-width:767px) {
  
  .cta {padding: 20vw 4.6vw 7vw;}
/* 	.cta .rank-btn {width: 95%;margin: 0 auto;} */
  .cta::before {
      left: 50%;
      margin-left: -50vw;
    border: 50vw solid transparent;
      border-top: 40px solid #fff;
  }
  .cta h2 {font-size: 3.8vw;margin-bottom: 10vw;}
  .cta .fukidashi {top: 18vw;font-size: 3vw;}
  .btn_2 .fukidashi {font-size: 3vw;}
  
  #lp-content .btn {font-size: 4.4vw;padding: 6.8vw 6vw 6.8vw 2vw;max-width: 100%;}

}



/*
#lp-content .btn::after {
  content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 22px;
    bottom: 0;
    margin: auto;
}
*/
/*
#lp-content .btn span {
    border: 1px solid #fff;
    border-radius: 2px;
    padding: 0px 6px;
    margin-right: 10px;
}
*/


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



/*----------- basic -----------*/
.basic {background: #fff;}
.basic .inner-box {position: relative;}
.basic .ttl h3 span:before {background-image: url(../img/svg/icon-basic.svg);
  height: 40px;
    background-size: 29px;
    width: 30px;
    left: -35px;
    top: -2px;
}
.sub {font-size: 16px;color: #E62323;position: relative;display: inline-block;padding: 0 30px;font-weight: bold;margin: 40px 0 20px;} 
.sub:before {
  content: '';
    display: inline-block;
    width: 30px;
    height: 50px;
    background-image: url(../img/svg/img-dash.svg);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    top: 60%;
    left: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.sub:after {
  content: '';
    display: inline-block;
    width: 30px;
    height: 50px;
    background-image: url(../img/svg/img-dash-right.svg);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
  top: 60%;
    right: -30px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* basic-price in table */
.basic-plan {font-size: 1.2rem; font-weight: bold; color: #555; margin-top: 4px;}
.basic-plan--mt {margin-top: 12px;}
.basic-plan-name {border-left: 3px solid #e874a7; padding-left: 6px;}
.basic-price {font-size: 2.6rem; font-weight: bold; color: #e874a7; line-height: 1.1; margin: 2px 0;}
.basic-price-unit {font-size: 1.4rem;}
.basic-monthly {font-size: 1.2rem; color: #888;}

/* basic-table */
table.basic-table {width: 100%; border: none;margin: 0;}
table.basic-table tr {border-bottom: 1px solid #B2B2B2;}
table.basic-table tr:first-of-type {border-top: 1px solid #B2B2B2;}
table.basic-table th {background: #F5EFF7;padding: 8px;border: none;font-weight: 500;width: 20%;text-align: center;}
table.basic-table td {border: none;font-weight: 500;}
table.basic-table td b {color: #AB7ABC;font-weight: bold;}
.icon-campaign {width: 15%;height: 15%;position: absolute;right: -10px;top: 10px;}
.icon-campaign img {width: 100%;height: 100%;}

/* price-table */
table.price-table {border: none;margin: 1rem 0 0;width: 100%;}
table.price-table tr {border: 3px solid #fff;border-top: none !important;}
table.price-table th {background: #c6a9d0;color: #fff;border: none;padding: 5px 5px;text-align: center;font-weight: bold;}
table.price-table td {text-align: right; padding: 0px 20px;font-family: "Oswald", sans-serif;border: none;}
table.price-table td.txt-big {font-size: 24px;color: #e85c5c;}
table.price-table td span.yen {font-size: 14px;font-weight: bold;}
table.price-table td.dash {font-family: "Oswald", sans-serif;line-height: 1.1;position: relative;}
table.price-table td.dash div {line-height: 2; position: relative; display: flex;align-items: center;}
table.price-table td.dash div:after {
  content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../img/svg/icon-arrow.svg);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    right: -16px;
    top: 50%;
    top: 50%;
    right: -32%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  
}

table.price-table td.dash p.txt {
  background-image: linear-gradient(#e85c5c, #e85c5c);
  background-position: 0 60%;
  background-size: 100% 2px;
  background-repeat: repeat-x;
  text-decoration: none;
/*   padding: 0 2px; */
  display: inline-block;
  margin-left: auto;
}
table.price-table td.dash span {
  color: #2E3540;
  font-size: 18px;
}
table.price-table td.dash span span.yen {
  font-size: 14px;
  font-weight: bold;
}
 
 
@media screen and (max-width:767px) {
  .sub {font-size: 3.9vw;}
  .sub:before {width: 7vw;height: 10vw;top: auto;bottom: -6vw;}
  .sub:after {width: 7vw;height: 10vw;top: auto;bottom: -6vw;}
  .basic .inner-box {padding: 20px 3vw;}
  .basic .ttl h3 span:before {width: 6vw; height: 9vw; background-size: 6vw;left: -7vw;}
  table.basic-table th {width: 18vw;font-size: 3vw;padding:2.5vw .8vw;text-align: center;}
  table.basic-table td {font-size: 3.2vw;padding: 2vw 0 2vw 2vw;}
  table.price-table th {width: auto;}
  table.price-table td {font-size: 3.4vw;padding:0 0 0 2vw;}
  table.price-table td span {font-size: 2.8vw;}
  table.price-table td span.yen {font-size: 3.3vw;}
  table.price-table td.dash {padding:0 2vw;}
  table.price-table td.dash:after {width: 2.5vw;height: 3.4vw;right: -2.5vw;}
  table.price-table td.dash span {font-size: 3.7vw;}
  table.price-table td.txt-big {font-size: 4vw;}
  table.price-table td.dash span {font-size: 3vw;}
  table.price-table td.dash span span.yen {font-size: 2.5vw;}
  table.price-table td.dash div:after {width: 2vw;height: 2vw;right: -4.5vw;}
  .icon-campaign {top: -1.5vw;right: -1vw;}
} 

/*----------- machine -----------*/
.machine {background: #fff;}
.machine .ttl h3 span:before {background-image: url(../img/svg/icon-machine.svg);
  height: 46px;
    background-size: 27px;
    width: 27px;
    left: -30px;
    top: -5px;
}
.machine ul.machine-slide {display: flex;justify-content: space-between;align-items: center;border:1px solid #E3E3E3;border-radius: 10px;padding: 25px;position: relative;width: 100%;
    margin: 0 auto;}
.machine ul.machine-slide:not(:last-of-type) {margin-bottom: 20px;}
.machine ul.machine-slide li:first-of-type {flex-basis: 27%;}
.machine ul.machine-slide li:last-of-type {flex-basis: 70%;}
.machine ul.machine-slide li .icon-new {position: absolute;
    left: -10px;
    top: -16px;
    width: 12%;
    /* object-fit: contain !important; */
    height: auto;}
.machine .osusume {background: #f4f4f4;display: flex;padding: 8px 20px;font-weight: bold;margin-bottom: 5px;}
.machine .osusume p {margin-right: 20px;}
.machine .osusume img.star {width: 20px;
    height: auto;
    object-fit: contain;
    display: inline-block;
    /* text-align: end; */
    margin: 0 2px;}
img.soprano-titanium {width: 80%;}
.machine dl.txt-wrapper > dt {font-weight: bold;font-size: 20px;text-align: left;}
.machine p.txt {text-align: left;margin: 10px 0;}
.machine dl.detail dt {float: left;clear: both; background: #c6a9d0;
    color: #fff;
    padding: 6px 14px;
    text-align: center;
    font-weight: 700;
    width: 25%;
    margin: 2px 0;}
.machine dl.detail dd {float: left; padding: 10px;padding: 5px 0 5px 10px;
    width: 75%;
    text-align: left;
    margin: 2px 0;font-weight: bold;}
.machine p.note {text-align: left; color: #8B8B8B;margin-top: 10px;}
.machine p.last {font-size: 20px;margin-top: 10px;}


.machine-slider .slick-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 40%;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.machine-slider .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #ab7abc;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 18px;
  transform: rotate(45deg);
}
.machine-slider .slick-next {
  right: 0;
}
.machine-slider .slick-prev {
  left: 0;
}
.machine-slider .slick-next::before {
  left: 16px;
}
.machine-slider .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 16px;
}


.slick-slide {padding: 20px 20px 0 20px;}
.dots .slick-dots,
.dots-2 .slick-dots {
  text-align: center;
}
.dots-frey-a .slick-dots,
.dots-regina .slick-dots,
.dots-rize .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  list-style: none;
  padding: 0;
}
.dots-frey-a .slick-dots li,
.dots-regina .slick-dots li,
.dots-rize .slick-dots li {
  display: block;
}
.dots-frey-a .slick-dots button,
.dots-regina .slick-dots button,
.dots-rize .slick-dots button {
  display: block;
  width: 24px;
  height: 2px;
  padding: 0;
  border: 0;
  font-size: 0;
  background: #d8d8d8;
  border-radius: 1px;
  cursor: pointer;
  transition: background 0.3s, width 0.3s;
}
.dots-frey-a .slick-dots .slick-active button,
.dots-regina .slick-dots .slick-active button,
.dots-rize .slick-dots .slick-active button {
  background: #ab7abc;
  width: 36px;
}
.dots .slick-dots li,
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots .slick-dots button,
.dots-2 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots .slick-dots .slick-active button,
.dots-2 .slick-dots .slick-active button {
  background: #ab7abc;
}


@media screen and (max-width:767px) {
  .machine .ttl h3 span:before {top: -1.5vw; width: 6vw; height: 10.5vw; background-size: 6vw; left: -7.5vw;}
  .machine ul.machine-slide {padding:4vw 3vw;border-radius: 3vw;}
  .machine ul.machine-slide li:first-of-type {flex-basis: 25%;}
  .machine ul.machine-slide li:last-of-type {flex-basis: 70%;}
  .machine dl.txt-wrapper>dt {font-size: 3.9vw;}
  .machine ul.machine-slide li .icon-new {width: 12.3vw;height: 12.3vw;top:-1vw;left:-2vw;}
  .machine .osusume {padding: 1vw 3vw;}
  .machine .osusume p {font-size: 3vw;margin-right: 2vw;}
  .machine .osusume img.star {width: 3.5vw;}
  .machine p.txt {font-size: 3vw;}
  .machine dl.detail dt {font-size: 3vw;padding: 0.5vw 0;}
  .machine dl.detail dd {font-size: 3vw;padding: 0.5vw 0 0.5vw 0.5vw;}
  .machine p.last {font-size: 4vw;margin-top: 6vw;}
}


/*----------- movie -----------*/
.movie {background: #fff;}
.movie .ttl h3 span:before {background-image: url(../img/svg/icon-movie.svg);
  height: 40px;
    background-size: 40px;
    width: 40px;
    left: -45px;
    top: -2px;
}
@media screen and (max-width:767px) {
  .movie .ttl h3 span:before {top: -0.5vw; width: 8vw; height: 8vw; background-size: 8vw; left: -8.5vw;}
}



/*----------- review -----------*/
.review {background: #fff;}
.review .ttl h3 span:before {background-image: url(../img/svg/icon-review.svg);
  height: 42px;
    background-size: 45px;
    width: 45px;
    left: -45px;
    top: 1px;
}
.review dl {border: 3px solid #EFEFEF; border-radius: 20px;padding: 15px 30px;margin-bottom: 15px;}
.review dl dt {display: flex;align-items: center;justify-content: space-between;text-align: left;margin-bottom: 5px;}
.review dl dt .img-wrapper {flex-basis: 10%;flex-basis: 10%; border-radius: 50%;}
.review dl:nth-child(even) .img-wrapper {background: #e7edfa;}
.review dl:nth-child(odd) .img-wrapper {background: #fdebf5;}


.review dl dt .img-wrapper img {border-radius: 50%;}
.review dl dt .txt-wrapper {flex-basis: 85%;display: flex;}
.review dl dt .star {display: flex;margin-left: 15px;}
.review dl dt .star img {width: 20px; margin-right: 2px;}
.review dl dd {text-align: left; font-weight: bold;}
.review dl dd p.note {font-weight: normal; margin-top: 10px;}
.review-accordion .acd-label {color: #006E9A;font-weight: 700;display: block;padding: 10px;position: relative;text-align: right;padding-right: 40px;cursor:pointer;}
.review-accordion .acd-label:after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #006E9A;
    border-right: solid 2px #006E9A;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 22px;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width:767px) {
  .review .ttl h3 span:before {top: 0vw; width: 9vw; height: 8vw; background-size: 9vw; left: -10vw;}
  .review dl {padding: 4vw 5vw;}
  .review dl dt .img-wrapper {flex-basis: 22%;}
  .review dl dt .txt-wrapper {flex-basis: 73%;}
  .review dl dt .txt-wrapper p {font-size: 3.4vw;}
  .review dl dt .star img {width: 4vw;}
  .review dl dd {font-size: 3.4vw;}
  .review-accordion .acd-label {font-size: 3.4vw;padding-right: 5vw;}
  .review-accordion .acd-label:after {right: 1vw;}
}


/*----------- course -----------*/
.course {background: #fff;}
.course .ttl h3 span:before {background-image: url(../img/svg/icon-course.svg);
  height: 40px;
    background-size: 40px;
    width: 40px;
    left: -45px;
    top: -2px;
}
table.course-table {width: 100%;border: none;}
table.course-table tr {border-bottom:1px solid #B2B2B2;}
table.course-table th {background: #f5eff7;border-right: 2px solid #fff;border-top: none;border-left: none;font-weight: bold;text-align: center;}
table.course-table td {border: none;}
table.course-table td:last-of-type {text-align: right;font-family: "Oswald", sans-serif;font-size: 1.8rem;}
table.course-table td:nth-of-type(2){text-align: center;}

@media screen and (max-width:767px) {
  .course .ttl h3 span:before {top: 0vw; width: 8vw; height: 8vw; background-size: 8vw; left: -9vw;}
  table.course-table th {font-size: 4vw;}
  table.course-table td {font-size: 3.4vw;padding: 2.5vw 2vw;}
  table.course-table td:last-of-type {font-size: 3.4vw;}
}

/*----------- campaign -----------*/
.campaign {background: #fff; margin-top: 40px;}
.campaign h3 {width: 100%;position: absolute; top: 0%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.campaign h3 img {width: 70%;}
.campaign-wrapper {background: #FDF1F0 0% 0% no-repeat padding-box;border: 7px solid #F4D4D1;border-radius: 20px;padding: 30px;position: relative;}
.campaign dl {text-align: left;}
.campaign dt {background: #f089ad;
    position: relative;
    display: inline-block;
    border-radius: 20px;
    color: #fff;
    padding: 6px 28px 6px 40px;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 20px;}
.campaign dt:before {
  content: '';
    display: inline-block;
    width: 23px;
    height: 23px;
    background-image: url(../img/img-kirakira.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 20px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.campaign dd h4 {font-weight: bold;margin-bottom: 10px;}

@media screen and (max-width:767px) {
  .campaign-wrapper {padding: 5vw;}
  .campaign h3 img {width: 77vw;}
  .campaign dt {font-size: 3.7vw;padding: 1.2vw 5vw 1.2vw 9vw;border-radius: 4vw;}
  .campaign dd h4 {font-size: 3.4vw;}
  .campaign dd {font-size: 3.2vw;}
}


/*----------- campaign-cta -----------*/







/*----------- clinic -----------*/
.clinic {background: #fff;}
.clinic .ttl h3 span:before {background-image: url(../img/svg/icon-clinic.svg);
  height: 38px;
    background-size: 24px;
    width: 24px;
    left: -30px;
    top: -2px;
}
.clinic-list p {
    font-weight: bold;
}
.clinic-list-accordion {
    width: 100%;
}
.clinic-list-accordion-child {
/*
    padding: 15px;
    border-left: 2px solid #96C3EA;
    border-right: 2px solid #96C3EA;
    border-bottom: 2px solid #96C3EA;
*/
}
.clinic-list-accordion-child .pic > img {
    height: 340px;
    width: 100%;
    object-fit: cover;
    border-radius: 12px;
}
.clinic-list-accordion-child > li,
.clinic-list-accordion-area > li {
    margin: 0 auto;
}
.clinic-list-accordion-child > li p,
.clinic-list-accordion-area > li p {
    display: block;
    padding: 0.25em;
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 6px;
}
.clinic-list-accordion a:hover {
    opacity: 1;
}
.clinic-list-accordion > ul > li > a,
.clinic-list-accordion > ul > li > ul >li a.toggle {
    display: block;
    color: #141000;
    font-weight: 700;
    background-color: #fdebf5;
    font-size: 1em;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    padding: 2vh 2vw;
    position: relative;
    text-align: center;
    border-radius: 12px;
    margin: 6px 0;
}

.clinic-list-accordion > ul > li > ul >li a.toggle {
/*
    border-bottom: 1px solid #fff;
    padding: 10px;
*/
    background-color: #F5EFF7;
}

/*
.clinic-list-accordion > ul > li > ul >li a.toggle:first-of-type {
    margin-top: 10px;
}
*/
.clinic-list-accordion.child > ul > li > a,
.clinic-list-accordion.area > ul > li > a {
    background-color: #FFF;
    color: #383838;
}
.clinic-list-accordion > ul > li > a:after,
.clinic-list-accordion > ul > li > a.active:after,
.clinic-list-accordion > ul > li > ul > li > a.toggle:after,
.clinic-list-accordion > ul > li > ul > li > a.active:after {
    position: absolute;
    font-weight: bold;
    content: " ";
    right: 2vw;
    width: 16px;
    height: 16px;
    top: 50%;
    transform: translate(0, -50%);
    background-image: url(../img/svg/icon-plus.svg);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center;
}
.clinic-list-accordion > ul > li > a.active:after,
.clinic-list-accordion > ul > li > ul > li a.active:after {
    background-image: url(../img/svg/icon-minus.svg);
}
.clinic-list-accordion > ul > li > ul,
.clinic-list-accordion > ul > li > ul >li > ul {
    display: none;
    background-color: #FFF;
    margin-top: -1px;
}
.clinic-list-accordion table {
    width: 100%;
    margin: 10px 0;
    border: none;
}
.clinic-list-accordion table tr {
  display: flex;
  align-items: flex-start;
  padding: 10px 0;
}
.clinic-list-accordion table th, 
.clinic-list-accordion table td {
    
    vertical-align: middle;
    word-break: break-all;
    border: none;
    font-size: 1em;
}
.clinic-list-accordion table th {
    background-color: #c6a9d0;
    font-weight: 700;
    padding-bottom: 0;
    color: #fff;
    text-align: center;
    border-radius: 5px;
     width: 15%; 
    padding: 10px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    
}
.clinic-list-accordion table td {
    background-color: #fff;
    text-align: left;
    /* padding-left: 10px; */
    width: 85%;
    padding: 0 0 0 10px;
}
.clinic-list-accordion table a.link {font-size: 0.9em;}

@media screen and (max-width:767px) {
  .clinic .ttl h3 span:before {top: -0.5vw; width: 5vw; height: 9vw; background-size: 5vw; left: -7vw;}
  .clinic .inner-box {padding: 4vw 6vw;}
  .clinic-list-accordion-child .pic>img {height: 43vw;}
  .clinic-list-accordion table th, 
  .clinic-list-accordion table td {font-size: .85em;}
  .clinic-list-accordion table th {width: 20%;padding: 5px;}
  .clinic-list-accordion table td {width: 80%;}
/* 	.clinic-list-accordion>ul>li>ul {margin-top: 4vw;} */
  .clinic-list-accordion-area>li {margin-top: 4vw;}
  .clinic-list-accordion>ul>li>a:after, 
  .clinic-list-accordion>ul>li>a.active:after,
   .clinic-list-accordion>ul>li>ul>li>a.toggle:after,
   .clinic-list-accordion>ul>li>ul>li>a.active:after {right: 4vw;}
}

/* ===== 新・店舗一覧UI ===== */
.clinic-region-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 12px;
  margin-bottom: 4px;
  scrollbar-width: none;
}
.clinic-region-tabs::-webkit-scrollbar { display: none; }
.clinic-region-tab {
  flex-shrink: 0;
  padding: 6px 16px;
  border-radius: 20px;
  border: 1.5px solid #e874a7;
  background: #fff;
  color: #e874a7;
  font-size: 0.85rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  font-family: inherit;
}
.clinic-region-tab.is-active { background: #e874a7; color: #fff; }
.clinic-region-panel { display: none; }
.clinic-region-panel.is-active { display: block; }

/* カード */
.clinic-card {
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  padding: 16px 18px 14px;
  margin-bottom: 12px;
  background: #fff;
}
.clinic-card-name {
  font-size: 1.05rem;
  font-weight: bold;
  color: #222;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.clinic-card-info {
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
}
.clinic-card-info li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 0.84rem;
  color: #555;
  line-height: 1.6;
  padding: 3px 0;
}
.clinic-card-info li::before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  background: center/contain no-repeat;
  flex-shrink: 0;
  margin-top: 3px;
}
.cinfo-address::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e874a7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.cinfo-station::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e874a7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2' ry='2'/%3E%3Cline x1='12' y1='18' x2='12' y2='18.01'/%3E%3Cpath d='M8 6h8M8 10h8'/%3E%3C/svg%3E"); }
.cinfo-hours::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e874a7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); }

.clinic-map-placeholder {
  background: #f5f5f5;
  border-radius: 8px;
  padding: 20px 16px;
  text-align: center;
  color: #bbb;
  font-size: 0.8rem;
  margin-bottom: 10px;
  border: 1px dashed #ddd;
}
.clinic-review-placeholder {
  background: #fafafa;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid #eee;
}
.clinic-review-stars { font-size: 0.95rem; font-weight: bold; color: #f5a623; margin-bottom: 4px; }
.clinic-review-list { color: #bbb; font-size: 0.8rem; }

@media screen and (max-width:767px) {
  .clinic-region-tab { font-size: 3.2vw; padding: 1.5vw 3.5vw; }
  .clinic-card { border-radius: 2.5vw; padding: 3.5vw 4vw 3vw; }
  .clinic-card-name { font-size: 3.8vw; }
  .clinic-card-info li { font-size: 3.1vw; }
}
/* ========================== */

section .clinic-btn {
    display: block;
    max-width: 400px;
    width: 95%;
    background-color: #1BBEB1;
    color: #fff;
    border-radius: 2em;
    line-height: 1;
    font-weight: bold;
    box-shadow:0 6px #13A89C;
    margin: 0 auto 30px;
    font-size: 1.3em;
    padding: 1.25em 1.7em 1.25em .8em;
    position: relative;
}

section .clinic-btn:after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 22px;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width:767px) {
  section .clinic-btn {font-size: 4.4vw;padding: 6.8vw 5vw 6.8vw 5vw;}
}



/* ===== store-ui: フレイア店舗UI ===== */
.store-region-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}
.store-rtab {
  padding: 8px 4px;
  border-radius: 6px;
  border: 1.5px solid #e874a7;
  background: #fff;
  color: #e874a7;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  font-family: inherit;
  line-height: 1.3;
}
.store-rtab--active { background: #e874a7; color: #fff; }

.store-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.store-cpill {
  padding: 5px 14px;
  border-radius: 16px;
  border: 1.5px solid #ab7abc;
  background: #fff;
  color: #ab7abc;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  font-family: inherit;
}
.store-cpill--active {
  background: #ab7abc;
  color: #fff;
  font-weight: bold;
}

.store-name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.store-clinic-name {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  line-height: 1.4;
}
.store-clinic-name .store-map-name { color: inherit; }
.store-rating {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  white-space: nowrap;
  flex-shrink: 0;
}
.store-rating-stars { color: #f5a623; }

.store-detail-card {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 5px 16px;
  align-items: start;
  margin-bottom: 12px;
}
.store-info-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  table-layout: fixed;
}
.store-info-table th,
.store-info-table td {
  padding: 7px 0;
  border-top: 1px solid #f0f0f0;
  font-size: 12px;
  line-height: 1.65;
}
.store-info-table th {
  background: #E7EDFA;
  color: #333;
  font-weight: normal;
  width: 5.5rem;
  white-space: nowrap;
  padding: 7px 8px;
  text-align: center;
  vertical-align: middle;
}
.store-info-table td {
  color: #333;
  vertical-align: top;
  padding-left: 10px;
}

.store-reviews {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px dashed #e8d8e8;
}
.store-review-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-top: 1px dashed #e8d8e8;
}
.store-review-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
  width: 44px;
}
.store-review-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}
.store-review-stars {
  color: #f5a623;
  font-size: 11px;
  letter-spacing: 1px;
  white-space: nowrap;
}
.store-review-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.store-review-title {
  margin: 0;
  font-size: 13px;
  font-weight: bold;
  color: #e874a7;
  line-height: 1.4;
  text-align: left;
}
.store-review-body {
  margin: 0;
  font-size: 12px;
  color: #555;
  line-height: 1.7;
  text-align: left;
}

@media screen and (max-width:767px) {
  .store-review-avatar { width: 11vw; height: 11vw; }
  .store-review-stars  { font-size: 2.2vw; }
  .store-review-title  { font-size: 2.8vw; }
  .store-review-body   { font-size: 2.6vw; }
}

.store-note {
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.7;
  text-align: right;
}

@media screen and (max-width:767px) {
  .store-note { font-size: 1.8vw; }
}

@media screen and (min-width: 768px) {
  .store-info-table th,
  .store-info-table td { padding: 10px 0; }
  .store-info-table th { width: 6.5rem; padding: 10px 8px; }
  .store-info-table td { padding-left: 14px; }
  .store-review-item { gap: 20px; }
  .recommend-eyecatch { margin-top: -48px; }
}

.store-clinic-img {
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

@media screen and (max-width:767px) {
  .store-rtab  { font-size: 3vw; padding: 2vw 1vw; }
  .store-cpill { font-size: 3.2vw; padding: 1.2vw 3.5vw; }
  .store-info-table th,
  .store-info-table td { font-size: 2.4vw; }
  .store-clinic-name,
  .store-rating { font-size: 3.4vw; }
}

/*----------- question -----------*/
.question {
  background: transparent linear-gradient(355deg, #E7EDFA 0%, #FBDEE2 21%, #E7EDFA 45%, #FBDEE2 78%, #EAEDF9 92%, #E7EDFA 100%) 0% 0% no-repeat padding-box;
  margin-top: 70px;border-radius: 250px 250px 0 0;padding-bottom: 170px;padding-top: 50px;}
.question dl {background: #fff;text-align: left;border: 1px solid #e3e3e3;border-radius: 20px;padding: 20px; width: 90%;margin: 0 auto;}
.question dl:not(:last-of-type) {margin-bottom: 20px}
.question dt {font-weight: 700;font-size: 20px;padding-left: 50px;border-bottom: 1px solid #e3e3e3;padding-bottom: 10px; position: relative}
.question dt:before {
    content: '';
    background-image: url(../img/svg/icon-question01.svg);
    background-repeat: no-repeat;
    height: 55px;
    background-size: 60px;
    position: absolute;
    z-index: 10;
    width: 52px;
    left: -11px;
    top: -15px
}
.question dl:nth-of-type(2) dt:before {
    background-image: url(../img/svg/icon-question02.svg)
}

.question dl:nth-of-type(3) dt:before {
    background-image: url(../img/svg/icon-question03.svg)
}
.question dd {padding-top: 10px}

@media screen and (max-width:767px) {
  .question {border-radius: 35vw 35vw 0 0;padding-top: 0vw;}
  .question h1 img {width: 89vw;}
  .question dl {width: 94%;margin: 0 auto;}
  .question dt {font-size: 3.7vw;padding-left: 10vw;}
  .question dt:before {background-size: 15vw;width: 15vw;height: 15vw;top: -8vw;left: -5vw;}
  .question dd {font-size: 3.2vw;}
}

/*----------- hikaku -----------*/
.hikaku {margin-top: 60px;}
.hikaku h2 {padding-left: 20px;}
.hikaku h2 img {width: 270px;display: block;margin: 0 auto;}
table.hikaku-table {width: 100%;background: #FFFFFF 0% 0% no-repeat padding-box;}
table.hikaku-table th {width: 30%;border: 2px solid #FDF1F0;}
table.hikaku-table th:first-of-type {width: 40%;}
table.hikaku-table th .icon-hikaku {display: block;margin: 0 auto 15px;}
table.hikaku-table th a {display: block;text-align: center;}
table.hikaku-table th a img {margin-bottom: 10px;height: 40px;}
table.hikaku-table th:first-of-type a img {height: 50px;}
table.hikaku-table td {text-align: center;font-family: "Oswald", sans-serif;position: relative;border: 2px solid #FDF1F0;}
table.hikaku-table td img {position: absolute;top: 50%; left: 14%; -webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
table.hikaku-table .dash  {background-image: linear-gradient(#e85c5c, #e85c5c);background-position: 0 60%;background-size: 100% 2px;background-repeat: repeat-x;text-decoration: none;padding: 0 2px;display: inline-block;}
table.hikaku-table .dash span {color: #2E3540;}
table.hikaku-table span.txt-pink {color:#E5639C; font-size: 22px; font-weight: bold;}
table.hikaku-table colgroup:nth-of-type(1) {border: 4px solid #D4AA02;}

@media screen and (max-width:767px) {
  .hikaku h2 img {width: 43.5vw;}
  table.hikaku-table td img {position: relative; display: block;margin: 0 auto;top: auto;left: auto; -webkit-transform: none;transform: none;}
  
}




/*----------- recommend -----------*/
.recommend {background: transparent linear-gradient(339deg, #FAD2D2 0%, #FDEBF5 45%, #E7EDFA 100%) 0% 0% no-repeat padding-box;
  border-radius: 100px;
    margin-top: 60px;
    padding-bottom: 20px;
}
.recommend .inner {width: 85%;margin: 0 auto;}
.recommend-eyecatch {text-align: center; margin-top: -36px; margin-bottom: 0; line-height: 0;}
.recommend-eyecatch img {width: 240px; height: auto;}
.recommend .section-heading {position: relative;color: #F55A59;margin-bottom: 30px;}
.recommend .section-heading span {
    position: absolute;
    top: -45%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.recommend .fukidashi {text-align: center;}
.recommend .fukidashi p {display: inline-block;background: #fff;
    border: 2px solid #ffec9b;
    font-size: 1.8rem;
    padding: 10px 20px;
    position: relative;}
.recommend .fukidashi p:after {
  content: '';
  background-image: url(../img/svg/icon-arrow-bottom.svg);
    background-repeat: no-repeat;
    height: 55px;
    background-size: 60px;
    position: absolute;
    z-index: 10;
    width: 64px;
    left: 50%;
    bottom: -82px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.recommend dl.recommend-wrapper {background: #fff;text-align: left;border: 1px solid #e3e3e3;border-radius: 20px;padding: 20px;margin-top: 20px;}
.recommend dt.recommend-ttl {font-weight: 700;font-size: 20px;padding-left: 50px;border-bottom: 1px solid #e3e3e3;padding-bottom: 10px;position: relative}
.recommend dt.recommend-ttl:before {
    content: '';
    background-image: url(../img/svg/icon-point01.svg);
    background-repeat: no-repeat;
    height: 55px;
    background-size: 60px;
    position: absolute;
    z-index: 10;
    width: 52px;
    left: -11px;
    top: -20px;
    
    
}
.recommend dl.recommend-wrapper:nth-of-type(2) dt:before {
    background-image: url(../img/svg/icon-point02.svg)
}
.recommend dl.recommend-wrapper:nth-of-type(3) dt:before {
    background-image: url(../img/svg/icon-point03.svg)
}
.recommend dd.recommend-txt {padding-top: 10px}
.recommend .campaign {background: none;margin: 20px 0 0;}
.recommend .campaign .inner-box {background: none;}
.recommend .cta {background: none;}
.recommend .cta:before {border-top: none;}


@media screen and (max-width:767px) {
  .recommend-eyecatch img {width: 180px;}
  .recommend .section-heading {font-size: 8vw !important;}
  .recommend h2 img {width: 69vw;}
  .recommend dt.recommend-ttl {font-size: 3.6vw;padding-left: 8vw;}
  .recommend dt.recommend-ttl:before {background-size: 15vw;
        width: 14vw;
        height: 14vw;
        top: -7vw;
        left: -6vw;}
  .recommend dd.recommend-txt {font-size: 3.2vw;}
  .recommend .campaign .inner-box {padding: 0;}
}


















































/* セクション背景 */
section.gold {
    background: #fffac4;
    padding: 10px;
}
section.silver {
    background: #f0e2f3;
    padding: 10px;
}
section.bronze {
    background: #F4EBE7;
    padding: 10px;
}
section.ranking-comparison-table {
    background: #FFF;
    padding: 10px;
}
section.recommend-clinic {
    background: #FFF5F9;
    padding: 10px;
}



/* こんな人は〇〇クリニック */
#lp-content section h3.speech-balloon {
    position: relative;
    display: inline-block;
    border-radius: 0.5em;
    margin: 0 1em 0.25em;
    padding: 0.5rem;
    background: #FFF;
    font-size: 1.3em;
    color: #ff0e46;
}

#lp-content section .checklist {
    padding: 35px 15px 15px;
    background: #fdfff1;
    border: 4px dotted #75aee0;
    margin-top: -40px;
    margin-bottom: 20px;
    box-shadow: 5px 5px 5px #d6d6d6;
}
#lp-content section .checklist li {
    text-align: left;
    background-image: url(../img/icon-checkbox.svg);
    background-repeat: no-repeat;
    background-position: top .25em left;
    background-size: 1.2em 1.2em;
    padding-left: 1.4em;
    margin-bottom: 0.75em;
}
#lp-content section .checklist li strong {
    font-size: 1.2em;
    font-weight: bold;
    background: #fff46d;
}
#lp-content section .checklist li:last-child {
    margin-bottom: 0;
}
#lp-content section .checklist {
    margin-bottom: 0;
}

/* Youtube埋め込み */
/*
#lp-content section .movie-content {
  margin-top: 15px;
}
*/
/*
#lp-content section .movie-content h3 {
    width: calc( 100% - 10px );
    margin: 10px auto;
    padding: 0.5em;
    background: #78b6ec;
    box-shadow: 0px 0px 0px 5px #78b6ec;
    border: dashed 2px white;
    color: #ffffff !important;
    font-size: 0.95em !important;
}
#lp-content section .movie-content h3 b {
    color:  #fff8a3;
    font-size: 1.3em !important;
}

#lp-content section .movie-content h3 {
  color: #76aee0;
}
*/

/* 口コミ */
#lp-content section .review-title {
    position: relative;
    margin-top: 10px;
    padding: 10px;
    background: #def0fe;
    color: #75aee0;
    font-size: 1.1em;
    font-weight: bold;
}
#lp-content section .review-title:before {
    position: absolute;
    content: "";
    left: 10px;
    width: 30px;
    height: 30px;
    margin-top: -1px;
    background-image: url(../img/icon-review-blue.png);
    background-repeat: no-repeat;
    background-size: 30px;
}

#lp-content section .review-fixed {
    border: 2px solid #def0fe;;
    padding: 0 15px 15px;
}
#lp-content section .review-fixed li {
    padding: 10px 0 10px 70px;
    background-size: 60px;
    background-repeat: no-repeat;
    background-position: left;
    border-bottom: 1px solid #ccc;
    text-align: left;
    font-size: 0.9em;
}
#lp-content section .review-fixed li.icon01 {
    background-image: url(../img/lp/best3-renewal/icon-revirewer01.png);
}
#lp-content section .review-fixed li.icon02 {
    background-image: url(../img/lp/best3-renewal/icon-revirewer02.png);
}
#lp-content section .review-fixed li.icon03 {
    background-image: url(../img/lp/best3-renewal/icon-revirewer03.png);
}
#lp-content section .review-fixed li:last-of-type {
    border-bottom: none;
}
#lp-content section .review-fixed li img {
    width: 90px;
}

#lp-content section .review-accordion .acd-check {
    display: none;
}

#lp-content section .review-accordion .acd-label {
/*
    background: #94bde1;
    color: #FFF;
    font-size: 1.1em;
    font-weight: bold;
*/
    display: block;
/*     padding: 10px; */
    position: relative;
}

/*
#lp-content section .review-accordion .acd-label:after {
    box-sizing: border-box;
    content: '\f067';
    display: block;
    font-family: "Font Awesome 5 Free";
    height: 52px;
    padding: 10px;
    position: absolute;
    right: 0;
    top: 0px;
}
*/
#lp-content section .review-accordion .acd-content {
    display: block;
    height: 0;
    opacity: 0;
    transition: .5s;
    visibility: hidden;
}
#lp-content section .review-accordion .acd-check:checked + .acd-label {
    display: none;
}
#lp-content section .review-accordion .acd-check:checked + .acd-label:after {
    content: '\f068';
}
#lp-content section .review-accordion .acd-check:checked + .acd-label + .acd-content {
    text-align: left;
    height: auto;
    opacity: 1;
    visibility: visible;
}
#lp-content section .review-accordion li {
    padding: 10px 0 10px 70px;
    border-bottom: 1px solid #ccc;
}
#lp-content section .review-accordion li:last-of-type {
    border-bottom: none;
}
#lp-content section .review-accordion li:first-of-type {
    border-top: 1px solid #ccc;
}
/*
#lp-content section .review-accordion img {
    width: 90px;
}
*/

/* コース料金表 */
#lp-content section .course-title {
    position: relative;
    margin: 15px 0;
    padding: 10px;
    background: #def0fe;
    color: #75aee0;
    font-size: 1.1em;
    font-weight: bold;
    padding-left: 20px;
}
@media screen and (max-width:767px) {
  #lp-content {
    display: flex;
    flex-wrap: wrap;
  }
  #lp-content header {
    flex-basis: 100%;
    order: 0;
  }
  #lp-content section {
    flex-basis: 100%;
    width: 100%;
  }
  .acd-search {
    order: 2;
  }
}

@media screen and (max-width:460px) {
  #lp-content section .course-title {
    padding-left: 30px;
  }
}

#lp-content section .course-title:before {
    position: absolute;
    content: "";
    left: 10px;
    width: 30px;
    height: 30px;
    margin-top: -1px;
    background-image: url(../img/icon-course-blue.png);
    background-repeat: no-repeat;
    background-size: 30px;
}

/*タブ切り替え全体のスタイル*/
#lp-content section .tabs {
  margin-top: 50px;
  background-color: #fff;
  margin: 0 auto;
}

/*タブのスタイル*/
#lp-content section .tab_item {
  width: calc(100%/3);
  height: 50px;
  background-color: #ececec;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  border-bottom: 3px solid #94bde1;
  color: #646464;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
#lp-content section .tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
#lp-content section input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
#lp-content section .tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#lp-content section #all:checked ~ #all_content,
#lp-content section #programming:checked ~ #programming_content,
#lp-content section #design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
#lp-content section .tabs input:checked + .tab_item {
  background-color: #94bde1;
  color: #fff;
}

#lp-content section .course-fixed table {
    width: 100%;
    margin: 0;
}
#lp-content section .course-fixed table th.heading {
    background: #c6c6c6;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
}
#lp-content section .course-fixed table th {
/*     width : calc(100% / 3) !important; */
  width: 50%;
    background: #efefef;
}
/*
#lp-content section .course-fixed table th:first-of-type {
    width: 60%;
}
*/
#lp-content section .course-fixed table td {
    text-align: right;
}
#lp-content section .course-fixed table span.osusume {
    display: inline-block;
    margin-left: 15px;
    padding: 0.25em 0.5em;
    background: #ff0e46;
    font-weight: bold;
    font-size: 0.8em;
    color: #ffffff;
}

/* 感染予防対策 */
#lp-content section .info-covid-accordion {
    margin: 15px 0;
}

#lp-content section .info-covid-accordion .acd-check {
    display: none;
}
#lp-content section .info-covid-accordion .acd-label {
    background: #DEF0FF;
    color: #76aee0;
    font-size: 1.1em;
    font-weight: bold;
    display: block;
    padding: 10px;
    position: relative;
}
#lp-content section .info-covid-accordion .acd-label:before {
    position: absolute;
    content: "";
    left: 10px;
    width: 30px;
    height: 30px;
    margin-top: -1px;
    background-image: url(../img/icon-heart.png);
    background-repeat: no-repeat;
    background-size: 30px;
}
#lp-content section .info-covid-accordion .acd-label:after {
    box-sizing: border-box;
    content: '\f067';
    display: block;
    font-family: "Font Awesome 5 Free";
    height: 52px;
    padding: 10px;
    position: absolute;
    right: 0;
    top: 0px;
}
#lp-content section .info-covid-accordion .acd-content {
    border: 2px solid #DEF0FF;
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}
#lp-content section .info-covid-accordion .acd-check:checked + .acd-label:after {
    content: '\f068';
}
#lp-content section .info-covid-accordion .acd-check:checked + .acd-label + .acd-content {
    text-align: left;
    height: auto;
    opacity: 1;
    padding: 10px;
    visibility: visible;
}
#lp-content section .info-covid-accordion ul {
    padding: 0.5em 1em 0.5em 2.3em;
    position: relative;
}
#lp-content section .info-covid-accordion li {
    padding: 10px 0;
    border-bottom: 1px solid #c6c6c6;
}
#lp-content section .info-covid-accordion li:last-of-type {
    border-bottom: none;
}
#lp-content section .info-covid-accordion li:before {
  content: "●";
  position: absolute;
  left : 1em;
  color: #75aee0;
}

/* キャンペーン */
#lp-content section .campaign-title {
    padding: 5px;
    border-radius: 0.3em 0.3em 0 0;
    background: #FFB164;
    font-size: 1.2em;
    font-weight: bold;
    color: #FFF;
}
#lp-content section .campaign-contents {
    padding: 5px;
    border-radius: 0 0 0.3em 0.3em;
    border: 2px solid #FFB164;
    text-align: left;
}
#lp-content section .campaign-contents span {
/*     background: #FFEAEF; */
    font-size: 1.2em;
    font-weight: bold;
/*     color: #FF0245; */
}
#lp-content section a.text-link {
    display: block;
    margin: 10px 0;
    text-align: center;
    text-decoration: underline;
    font-size: 1.2em;
    font-weight: bold;
    color: #FF0245;
}

/* ボタン */
/*
#lp-content section .ranking .rank-btn p {
    text-align: center;
    font-size: 0.9em;
}
#lp-content section .ranking .rank-btn span.red {
    display: block;
    margin-bottom: 5px;
}
*/
/* クリニック一覧 */
/*
.clinic-list h3 {
    position: relative;
    margin-top: 15px;
    padding: 10px 0;
    color: #ffffff;
    background: #67a7e0;
}
.clinic-list h3:before {
    position: absolute;
    content: "";
    left: 10px;
    width: 30px;
    height: 30px;
    margin-top: -1px;
    background-image: url(/wp-content/themes/remvy/img/lp/best3-renewal/icon-store.png);
    background-repeat: no-repeat;
    background-size: 30px;
}
*/

/* 医療脱毛クリニック プラン表 */
#lp-content section.ranking-comparison-table {
    padding: 10px;
    background-color: #FFF;
}
#lp-content section.ranking-comparison-table h1 {
    max-width: 700px;
    margin: 10px auto;
    padding: 5px;
    background: #96c3ea;
    color: #ffffff;
    font-weight: bold;
}
#lp-content section.ranking-comparison-table table {
    max-width: 700px;
    border: 3px solid #ccc;
    margin: auto;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
#lp-content section.ranking-comparison-table table th {
    min-width: 120px;
    background: #def0ff;
    text-align: center;
    font-size: 0.9em;
    line-height: 1.2em;
    font-weight: bold;
}
#lp-content section.ranking-comparison-table table td {
    text-align: center;
}

@media screen and (max-width:767px) {
  #lp-content section.ranking-comparison-table {
    overflow: scroll;
  }
/*
  #lp-content section .course-fixed table th {
    width: auto;
  }
*/
}

/* 医療脱毛クリニック プラン表（スライド） */
#lp-content section.ranking-comparison-table.center h3 {
    opacity: 0.8;
    transition: all 300ms ease;
    background: #fff;
    color: #3498db;
    font-size: 36px;
    line-height: 100px;
    margin: 10px;
    padding: 2%;
    position: relative;
    text-align: center;
}
#lp-content section.ranking-comparison-table .slick-list {
    margin-top: 10px;
    display: block;
}
#lp-content section.ranking-comparison-table .center-inner {
    border: #E8E8E8 solid 1px;
    background-color: #F4F4F4;
    padding: 15px;
    margin-top: 3vh;
    height: 78vh;
    overflow: hidden;
}
.slick-slide img {
    text-align: center;
    margin: 0 auto;
}
#lp-content section.ranking-comparison-table .center-inner .rank-compare-txt {
    display: block;
    margin: 15px 0 0;
    line-height: 1;
    font-weight: 800;
}
#lp-content section.ranking-comparison-table .center-inner .rank-compare-title {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}
#lp-content section.ranking-comparison-table .center-inner .rank-compare-title > div {
    display: flex;
    justify-content: center;
    align-items: center;
}
#lp-content section.ranking-comparison-table .center-inner .rank-compare-title .rank-compare-point {
    color: #ff0045;
    font-weight: 700;
    font-size: 4.5vw;
    margin-left: 3vw;
    margin-top: .35vh;
}
#lp-content section.ranking-comparison-table .center-inner > dl dt {
    background-color: #DFF1F4;
    padding: 3px 5px;
    font-size: .87em;
    font-weight: 800;
}
#lp-content section.ranking-comparison-table .center-inner > dl dd {
    height: 2.5em;
    line-height: 1.1em;
    margin-bottom: 5px;
    padding: 5px;
    font-size: .87em;
}
#lp-content section.ranking-comparison-table .center-inner > dl dd strong {
    font-size: 1.1em;
    color: #FF0000;
}
#lp-content section.ranking-comparison-table .center-inner .btn {
    background-color: #41b939;
    color: #FFF;
    border-radius: 2em;
    line-height: 1;
    font-size: 1em;
    padding: 1em .8em;
    box-shadow: none;
}
#lp-content section.ranking-comparison-table .center-inner.slick-center {
    background-color: #FFF;
    margin-top: 0;
    height: auto;
    -moz-transform: scaleY(1);
    -ms-transform: scaleY(1);
    -o-transform: scaleY(1);
    -webkit-transform: scaleY(1);
    opacity: 1;
    transform: scaleY(1);
}
#lp-content section .ranking-clinic {
    padding: 20px 15px;
    background-color: #FFF;
}
#lp-content section .ranking-clinic .clinic-pic {
    margin-bottom: 20px;
}
#lp-content section .ranking-clinic p {
    margin-bottom: 20px;
}

/* おすすめクリニック */
.recommend-clinic h1 {
    max-width: 700px;
    margin: 0 auto;
    padding: 5px;
    font-weight: bold;
    font-size: 1.2em;
    background: #FF4F85;
    color: #FFF;
}
.recommend-clinic .recommend-text {
    margin: 10px 0;
    color: #FF4F85;
    font-weight: bold;
    font-size: 1.2em;
    background-image: url(../img/lp/best3-renewal/triangle.png);
    background-repeat:  no-repeat;
    background-position: center top;
    background-size: 300px 50px
}
.recommend-clinic ul.tag:first-of-type {
    margin-bottom: 5px !important;
}

.recommend-clinic .video {
    width: 100%;
    max-width: 600px;
    border: 4px #FFFBC9 solid;
}
.recommend-clinic .rank-btn {
    margin-top: 10px;
}

#footer {
    border: none;
    max-width: 860px;
    margin: 0 auto;
}
#footer .footer-banner-area {
  margin: auto;
  padding: 20px 10px;
}
#footer .footer-banner {
  display: flex;
  max-width: 700px;
  align-items: center;
  margin: 10px auto;
  background: #ecf2f7;
  border: 1px solid #94bde1;
}
#footer .footer-banner:first-of-type {
  margin-top: 0;
}
#footer .footer-banner:last-of-type {
  margin-bottom: 0;
}
#footer .footer-banner .banner,
#footer .footer-banner .text {
  width: 50%;
}
#footer .footer-banner .text {
  padding: 10px;
  vertical-align: middle;
  text-align: left;
}
#footer .footer-banner .text a {
  text-decoration: underline;
  color: #00F !important;
}
/* FAQ Section */
.faq-wrap {
    background: #fff;
    padding: 48px 0 44px;
}
.faq-ttl {
    text-align: center;
    font-size: 3.2em;
    font-weight: bold;
    color: #333;
    margin-bottom: 28px;
}
.faq-ttl-en {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: .85em;
    letter-spacing: .15em;
    color: #e874a7;
    margin-bottom: 4px;
}
.faq-list {
    max-width: 720px;
    margin: 0 auto;
    background: #f5fafa;
    padding: 20px 16px 24px;
    border-radius: 12px;
}
.faq-item {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,.07);
    overflow: hidden;
}
.faq-q {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 44px 16px 16px;
    font-weight: bold;
    font-size: 13px !important;
    color: #333;
    cursor: pointer;
    position: relative;
    list-style: none;
    line-height: 1.55;
    text-align: left;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::marker { content: ''; }
.faq-q::after {
    content: '+';
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #e874a7;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1;
}
details[open] > .faq-q::after {
    content: '\2212';
}
.faq-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e874a7;
    color: #fff;
    font-weight: bold;
    font-size: .85em;
    line-height: 1;
    flex-shrink: 0;
}
.faq-badge--a {
    background: #1bbeb1;
}
.faq-a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px 18px;
    color: #555;
    line-height: 1.8;
    font-size: 13px !important;
    border-top: 1px solid #e0f4f2;
    background: #fff;
    text-align: left;
}
.faq-a p {
    margin: 0;
    padding-top: 3px;
}

@media screen and (max-width:767px) {
    .faq-wrap { padding: 8vw 4vw 6vw; }
    .faq-ttl { font-size: 2.5em; margin-bottom: 5vw; }
    .faq-q { font-size: 4.2vw; padding: 4vw 10vw 4vw 3.5vw; gap: 2.5vw; text-align: left; }
    .faq-badge { width: 6.5vw; height: 6.5vw; font-size: 2.8vw; }
    .faq-q::after { right: 3vw; font-size: 5vw; }
    .faq-a { font-size: 3.8vw; padding: 3vw 3.5vw 4vw; gap: 2.5vw; }
}

/* 検索フォーム */
.acd-search {
    background: #fff;
}
.acd-search-area {
  max-width: 700px;
  margin: auto;
  padding: 15px 10px 0;
}
.acd-search-area #clinic-searchform {
  padding: 0;
}

.acd-search-area .acd-check{
  display: none;
}
.acd-search-area .acd-label{
  font-size: 1.2em;
    font-weight: 700;
    display: block;
    padding: 15px 15px;
    position: relative;
    border: 1px solid #000;
    border-radius: 50px;
}
.acd-search-area .acd-content{
  border: 1px solid #93bde2 !important;
  height: 0;
  opacity: 0;
  padding: 0 15px;
  transition: .3s;
  visibility: hidden;
}
.acd-search-area .search-table,
.acd-search-area .search-submit-button {
  display: none;
}
.acd-search-area .acd-check:checked + .acd-label + .acd-content{
  height: auto;
  opacity: 1;
  padding: 15px;
  visibility: visible;
}
.acd-search-area .acd-check:checked + .acd-label + .acd-content .search-table,
.acd-search-area .acd-check:checked + .acd-label + .acd-content .search-submit-button {
  display: block;
}

.acd-search-area .content-heading {
  display: none;
}

#clinic-searchform .search-submit-button {
    display: block;
    margin-top: 0;
}
.acd-search-area .acd-label i.fas.fa-search {
    position: absolute;
    top: 1.5rem;
    left: 30px;
    font-size: 3rem;
}

.acd-search-area .acd-content {
    border: 2px solid #c6c6c6;
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}
/*
.acd-search-area .acd-check:checked + .acd-label:after {
    content: '\f068';
}
*/

.copyright {
    margin: 0;
    padding-top: 20px;
}
.lp-wrap footer .footer-logo img {
    width: 180px;
}
.lp-wrap footer .footer-logo .catchphrase {
    display: block;
    margin-top: 8px;
    font-size: 1.1rem;
    font-weight: 700;
    text-indent: .5em;
    letter-spacing: .2em;
}

@media screen and (min-width:860px) {
    .lp-wrap {
        font-size: 16px;
    }
    #lp-content section .ranking .btn {
        display: inline-block;
        width: 360px;
    }
    #lp-content section .rank-header ul {
        width: 375px;
    }
    #lp-content section .rank-header ul li {
        font-size: 13px;
        padding: 5px;
    }
    #lp-content section .ranking .rank-kuchikomi .rank-tab .tab_content {
        height: 290px;
    }
    #lp-content section.ranking-comparison-table .center-inner {
        padding: 30px 20px 40px;
    }
    #lp-content section.ranking-comparison-table .center-inner.slick-center {
        text-align: center;
    }
    #lp-content section.ranking-comparison-table .center-inner .rank-compare-title .rank-compare-point {
        font-size: 24px;
        margin-left: 20px;
    }
    #lp-content section.ranking-comparison-table .center-inner.slick-center dl {
        text-align: center;
        width: 400px;
        margin: 0 auto;
    }
    #lp-content section.ranking-comparison-table .center-inner .btn {
        width: 400px;
        margin: 20px auto 0;
    }
    #lp-content section .ranking-clinic .rank-header ul {
        text-align: center;
        margin: 0 auto 10px;
    }
    .clinic-list-accordion > ul {
        width: 100%;
        margin: 0 auto;
    }
    .clinic-list-accordion-child .pic > img {
        height: 340px;
    }
    .clinic-list-accordion-child .map > iframe {
        height: 170px;
    }
    .movie-content > iframe {
        height: 400px;
    }
    .acd-search-area {
        padding: 15px 0 0 !important;
    }
    .acd-search-area .acd-check:checked + .acd-label + .acd-content{
      height: auto;
    }
    #clinic-searchform {
      padding-bottom: 0;
    }
}
/*
.slick-slider .slick-next, .slick-slider .slick-prev {
    width: auto;
    padding: 15px;
    margin: 0;
    background: none;
    border: 0;
    font-size: 0;
    line-height: 0;
    overflow: visible;
    cursor: pointer;
    position: absolute;
    z-index: 100;
    top: 45%;
    background-image: url(../img/lp/best3/icon-circle-arrow.svg);
    background-repeat: no-repeat;
    background-size: 30px;
}
.slick-slider .slick-next {
    right: 17px;
}
.slick-slider .slick-prev {
    left: 23px;
    -webkit-transform: rotate(-180deg) translate(0, 40%);
    -moz-transform: rotate(-180deg) translate(0, 40%);
    -ms-transform: rotate(-180deg) translate(0, 40%);
    -o-transform: rotate(-180deg) translate(0, 40%);
    transform: rotate(-180deg) translate(0, 40%);
}
*/

.blink {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 5px;
}

@media screen and (max-width:767px) {
  .blink {
    font-size: 3.5vw;
  }
}

#ranking-compare h1 {
  margin: 0 auto 40px;
}
.ranking-compare__wrapper {
  width: 100%;
}


@media screen and (max-width:767px) {
  .ranking-compare__wrapper {
    overflow-x: auto;
    overflow-y: hidden !important;
    scrollbar-color: black white;
  }
}


/*----------- accordion --------------*/
.accordion {
  /* background: #000; */
  padding: 20px 0;
  width: 100%;
}

.toggle {
  display: none;
}

.label {
  display: block;
  border: 2px solid #1bbeb1;
  position: relative;
  width: 90%;
  margin: 0 auto;
  background: #fff;
  font-size: 2rem;
  color: #1bbeb1;
  border-radius: 10px;
  font-size: 1.3em;
  padding: 1em 1.7em 1em .8em;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .2);
  background-color: #fff;
  margin: 0 auto;
  font-weight: bold;
}

.label:before {
  content: '';
  border-left: 2px solid #1bbeb1;
  border-bottom: 2px solid #1bbeb1;
  transform: rotate(315deg);
  height: 10px;
  width: 10px;
  position: absolute;
  right: 20px;
  top: -5px;
  bottom: 0;
  margin: auto;
}


.content {
  opacity: 0;
  height: 0;
  visibility: hidden;
  transform: scaleY(0);
  transform-origin: top;
  transition: max-height 0.3s ease;
}

.toggle:checked + .label + .content {
  opacity: 1;
  height: auto;
  visibility: visible;
  transform: scaleY(1);
  /* background: #000; */
}

.toggle:checked + .label:before {
  transform: rotate(135deg);
  top: 5px;
}
.ranking-no4 {
    background-color: #fdebf5;
    padding-top: 50px;
    margin-top: 50px;
}


/* .content .ranking {
  margin-top: 0px;
} */


small {
    font-size: 80%;
}

#footer  span {
  display: inline-block;
}
/*----------- tel-status -----------*/
.tel-status { display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 1rem; font-weight: bold; margin-top: 10px; color: #333; }
.tel-status-dot { display: block; width: 9px; height: 9px; border-radius: 50%; background: #0a8f84; flex-shrink: 0; animation: dot-blink 1.2s ease-in-out infinite; }
@keyframes dot-blink { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.15; transform: scale(0.7); } }
.js-availability-bold { font-weight: bold !important; display: block; }
.clinic-hikaku tr:last-child td { vertical-align: bottom; }