body {
  background: #fff;
  color: #282828;
  font-family: 'Noto Sans JP', "メイリオ", sans-serif;
  overflow-x: hidden;
}

main > article > section {
  box-sizing: border-box;
  width: 100%;
}

img {
  width: 100%;
  height: auto;
}

a.blue {
  color: #2CA0C9;
  border-bottom: 1px solid;
}

@media screen and (min-width: 900px) {
  .onlySP,
  .sp {
    display: none !important;
  }
  .onlyPC_float {
    float: left !important;
  }
}

@media screen and (max-width: 899px) {
  .onlyPC,
  .pc {
    display: none;
  }
}

div.bgGray {
  background: #eaeaea;
}

.button.rect {
  display: flex;
  justify-content: space-between;
  border: 1px solid;
  padding: 20px 30px;
  background: #fff;
  font-size: 15px;
  line-height: 100%;
  letter-spacing: 1.2px;
  text-decoration: none;
  transition: .3s ease all;
}

.button.rect:hover {
  transform: translateX(5px);
}

.button.rect span {
  display: inline-block;
  border-top: solid 1px;
  border-right: solid 1px;
  width: 10px;
  height: 10px;
  transform-origin: left;
  transform: rotate(45deg);
}

.button.rect.white {
  border-color: #282828;
  background: #fff;
  color: #282828;
}

.button.rect.black {
  border: none;
  background: #282828;
  color: #fff;
}

.button.rounded {
  display: block;
  padding: 6px 0;
  border-radius: 24px;
  text-align: center;
  font-size: 14px;
  line-height: 14px;
  letter-spacing: 2.5px;
  background: #282828;
  color: #fff;
  text-decoration: none;
  transition: .3s all ease-in-out;
}

.button.rounded:hover {
  background: #4a4a4a;
}

.button.rounded span {
  display: inline-block;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}

.btn_med {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #282828;
    text-decoration: none;
    margin-top: 14px;
    vertical-align: middle;
}

.btn_med::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid #282828;
    border-right: 2px solid #282828;
    transform: rotate(45deg);
    margin-left: 10px;
    margin-top: 2px;
}

@media screen and (min-width: 900px) {
    .btn_med {
        font-size: 12px;
    }
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/** KV-アニメーション **/
@keyframes blur-fadein {
  0% {
    transform-origin: left;
    transform: scale(200%);
    filter: blur(70px);
  }
  100% {
    transform: scale(100%);
    filter: blur(0);
  }
}

@keyframes text-slidein-outer {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes text-slidein-inner {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes bg-slide {
  0% {
    background-position: 0%;
  }

  100% {
    background-position: 100%;
  }
}

@keyframes bg-bigger {
  0% {
    background-size: 100%;
  }

  100% {
    background-size: 200%;
  }
}


/*new header(TOPページ同様)*/
/* header
======================================= */

/*headerリセット(ここから)*/
/*
header{
  letter-spacing: 0.15em;
}

header a{
  text-decoration: none;
  color: #282828;
}

header li {
  list-style: none;
}
*/
/*headerリセット(ここまで)*/

/*
header {
  z-index: 10;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  width: 100%;
}

header h1 {
  width: 130px;
  height: auto;
  z-index: 30;
}
header h1 img{
  max-width: 130px;
  width: 100%;
  height: auto;
  margin-left: 15px;
}

header input.toggleHam {
  display: none;
}

header label.toggleHam {
  position: relative;
  width: 40px;
  height: 34px;
  z-index: 20;
}

header input.toggleHam:checked ~ label {
  height: 40px;
}

header label.toggleHam span {
  position: absolute;
  display: block;
  width: 100%;
  height: 5px;
  border-radius: 5px;
  box-shadow: 0 0 5px #fff;
  background: #282828;
  transition: .6s ease all;
}

header label.toggleHam span:nth-of-type(1) {
  top: 0;
  left: 0;
}

header label.toggleHam span:nth-of-type(2) {
  top: calc(50% - 3px);
  left: 0;
}

header label.toggleHam span:nth-of-type(3) {
  bottom: 0;
  left: 0;
}

header input:checked.toggleHam ~ label span:nth-of-type(1) {
  transform-origin: left center;
  transform: rotate(45deg);
  width: 51px;
  height: 4px;
}

header input:checked.toggleHam ~ label span:nth-of-type(2) {
  height: 0;
}

header input:checked.toggleHam ~ label span:nth-of-type(3) {
  transform-origin: left center;
  transform: rotate(-45deg);
  width: 51px;
  height: 4px;
}

header nav {
  display: none;
  justify-content: space-evenly;
  align-items: center;
}

header input.toggleHam:checked ~ nav {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  background-color: rgba(194,194,194,.95);
  background-color: rgba(255,255,255,.95);
  width: 60vw;
  height: 100vh;
}

header input.toggleHam:checked ~ nav ul {
  margin: 0 auto;
  padding: 0 15px;
  opacity: .9;
  z-index: 10;
}
header input.toggleHam:checked ~ nav .header__item {
  border-bottom: 1px solid #282828;
  color: #282828;
  width: 55vw;
}

header input.toggleHam:checked ~ nav .header__list2{
  font-weight: bold;
  padding: 0;
  margin-top: 20px;
  text-align: center;
  width: 55vw;
}

header input.toggleHam:checked ~ nav .header__item2--link{
  padding: 12px 0 12px 0;
}

header input.toggleHam:checked ~ nav .header__online {
  margin: 0 0 15px 0;
}

header input.toggleHam:checked ~ nav li a {
  width: 100%;
  display: inline-block;
  font-size: 16px;
  text-decoration: none;
}

header input.toggleHam:checked ~ nav li .header__item--link{
  padding: 15px 0 15px 15px;
}

header input.toggleHam:checked ~ nav li .header__item--link::before{
  content:"";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 14px;
  border-color: transparent transparent transparent #282828;
  padding-right: 1em;
}

.header__list {
  list-style: none;
}

.header__list2{
  padding: 0;
}

.header__online,
.header__reserve{
  border-radius: 5px;
  transition: .3s;
  opacity: 1;
}

.header__online {
  margin: 0 10px;
  background-color: #E384A6;
  box-shadow: 0 3px 0 rgb(197, 97, 109);
}

.header__reserve {
  background-color: #ccc;
  box-shadow: 0 3px 0 #7a7878;
  text-shadow: 3px 3px 6px #282828;
}

.header__reserve--link{
  padding: 7px 30px;
}

.header__online:hover,
.header__reserve:hover{
  box-shadow: none;
  transform: translateY(3px);
}

.header__item2--link {
  color: #fff;
}
*/

/* （start）
ヘッダー要素 SP */
/*
header {
  z-index: 10;
  position: relative;
  background: #fff;
  display: flex;
  height: 104px;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
}

header h1 {
  width: 127px;
  height: auto;
}

header nav {
  display: none;
  justify-content: space-evenly;
  align-items: center;
}

header nav ul {
  list-style: none;
}

@media screen and (max-width: 899px) {
  header input.toggleHam:checked ~ nav {
    position: absolute;
    top: 100%;
    right: 0;
    display: flex;
  }

  header input.toggleHam:checked ~ nav ul {
    margin: 0;
    padding: 0 15px;
    width: 240px;
    background: #282828;
    opacity: 0.85;
  }

  header input.toggleHam:checked ~ nav ul li {
    width: 100%;
    padding: 20px 0;
    border-bottom: 2px solid #eaeaea;
    text-align: center;
  }

  header input.toggleHam:checked ~ nav ul li a {
    font-family: kozuka Gothic Pr6N, sans-serif;
    color: #eaeaea;
    font-size: 16px;
    letter-spacing: 1.3px;
    text-decoration: none;
  }
}

@media screen and (min-width: 900px) {
  header nav {
    display: block;
    width: 100%;
  }

  header nav ul {
    margin: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  header nav li a {
    display: block;
    padding: 20px;
    width: 100%;
    height: 100%;
    font-size: 13px;
    color: #282828;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: .3s all ease-in-out;
  }

  header nav ul li a:hover {
    border-bottom-color: #282828;
  }
}
*/

/* トグルボタン */
/*
header input.toggleHam {
  display: none;
}

header label.toggleHam {
  position: relative;
  width: 40px;
  height: 34px;
}

header input.toggleHam:checked ~ label {
  height: 40px;
}

header label.toggleHam span {
  position: absolute;
  border-radius: 3px;
  display: block;
  width: 100%;
  height: 4px;
  background: #4a4a4a;
  transition: .5s ease all;
}

header label.toggleHam span:nth-of-type(1) {
  top: 0;
  left: 0;
}

header label.toggleHam span:nth-of-type(2) {
  top: calc(50% - 2px);
  left: 0;
}

header label.toggleHam span:nth-of-type(3) {
  bottom: 0;
  left: 0;
}

header input:checked.toggleHam ~ label span:nth-of-type(1) {
  transform-origin: left center;
  transform: rotate(45deg);
  width: 51px;
}

header input:checked.toggleHam ~ label span:nth-of-type(2) {
  height: 0;
}

header input:checked.toggleHam ~ label span:nth-of-type(3) {
  transform-origin: left center;
  transform: rotate(-45deg);
  width: 51px;
}


ヘッダー PC
@media screen and (min-width: 900px) {
  header {
    padding: 15px 30px;
  }

  header h1 {
    width: 90px;
  }

  header .toggleHam {
    display: none;
  }
}

///////////////////////////////////////////////消去予定（END）*/

/** カルーセル SP**/
div.Carousel {
  overflow: hidden;
}

ul.carouselArea {
  height: 100%;
  padding: 0 20px;
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  list-style: none;
}

li.carouselList {
  margin-right: 30px;
}

/** カルーセル PC**/
@media screen and (min-width: 900px) {
  ul.carouselArea::-webkit-scrollbar {
    display: none;
  }
}

/** メインビジュアル SP **/
section.mainVisual {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 375 / 672;
}
@supports not (aspect-ratio: auto) {
  section.mainVisual {
    min-height: 672px;
  }
}

section.mainVisual.index {
  background-image: url('../image/index/sp/mv.jpg');
  position: relative;
}

section.mainVisual.diet, section.mainVisual.frequentlyAskedQuestions {
  background-image: url('../image/diet/sp/mv.jpg');
  position: relative;
}

section.mainVisual.concept {
  background-image: url('../image/concept/sp/mv.jpg');
}

section.mainVisual.doctor {
  background-image: url('../image/doctor/sp/mv.jpg');
}

section.mainVisual.clinic {
  background-image: url('../image/clinic/sp/mv.jpg');
}

section.mainVisual.shinjuku {
  background-image: url('../image/clinic/shinjuku/sp/mv.jpg');
}

section.mainVisual.shibuya {
  background-image: url('../image/clinic/shibuya/sp/mv.jpg');
}

section.mainVisual.ginza {
  background-image: url('../image/clinic/ginza/sp/mv.jpg');
}

section.mainVisual.priceTable {
  background-image: url('../image/priceTable/sp/mv.jpg');
}

section.mainVisual.blogIndex {
  background-image: url('../image/blog/sp/mv.jpg');
  aspect-ratio: 125 / 227;
}

section.mainVisual.menuIndex {
  background-image: url('../image/menu/sp/mv_long.jpg');
}

section.mainVisual.glp1 {
  background-image: url('../image/menu/glp1/sp/mv_long.jpg');
}

section.mainVisual.kaberin {
  background-image: url('../image/menu/kaberin/sp/mv_long.jpg');
}

section.mainVisual.damapen {
  background-image: url('../image/menu/damapen/sp/mv_long.jpg');
}

section.mainVisual.dietPill {
  background-image: url('../image/menu/dietPill/sp/mv_long.jpg');
}

section.mainVisual.ems {
  background-image: url('../image/menu/ems/sp/mv_long.jpg');
  /*margin-top: 100px;*/
}

section.mainVisual.cbt-f {
  background-image: url('../image/menu/cbt-f/sp/mv_long.jpg');
}

section.mainVisual.botox {
  background-image: url('../image/menu/botox/sp/mv_long.jpg');
}

section.mainVisual.zeoskin {
  background-image: url('../image/menu/zeoskin/sp/mv_long.jpg');
  /*margin-top: 100px;*/
}

section.mainVisual.other {
  background-image: url('../image/menu/other/sp/mv_01-sp.jpeg?20220628');
  background-color:#eaeaea;
}

section.mainVisual.online {
  background-image: url('../image/online/sp/mv.jpg');
}

section.mainVisual.online_course {
  background-image: url('../image/online_course/sp/mv.jpg');
  aspect-ratio: 375 / 540;
}

section.mainVisual.menu {
  position: relative;
}

section.mainVisual h2 {
  margin: 150px auto 0;
  width: fit-content;
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  opacity: 0.8;
}

section.mainVisual h2[title]::before {
  content: attr(title);
  display: block;
  margin-bottom: 20px;
  border-bottom: 2px solid #fff;
  padding: 0 20px;
  font-family: mojito, serif;
  font-size: 62px;
  line-height: 72px;
  font-weight: 500;
  letter-spacing: 2.2px;
}

section.mainVisual.index h2 {
  margin: 140px 10px 0;
}

section.mainVisual.index #lottie {
  width:100%;
  height:auto;
  display:block;
  overflow: hidden;
  text-align: center;
  opacity: 1;
  transform: scale(1.2);
}

section.mainVisual.index p {
  margin: 40px auto 0;
  width: fit-content;
  color: #fff;
  font-size: 16px;
  letter-spacing: 3.7px;
}

section.mainVisual.menu h2 {
  margin: 90px 0 0 10%;
  width: fit-content;
  padding: 0;
  text-align: left;
  color: #282828;
  font-size: 58px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 12.5px;
  opacity: 1;
  transform: scale(200%);
  filter: blur(70px);
  animation: blur-fadein 1s 1s ease forwards;
}

section.mainVisual.menu.kaberin h2, section.mainVisual.menu.botox h2, section.mainVisual.menu.zeoskin h2, section.mainVisual.menu.damapen h2 {
  font-size: 42px;
  letter-spacing: 0;
  text-shadow: 0 0 6px #fff;
}

section.mainVisual.menu.dietPill h2 {
  font-size: 58px;
  letter-spacing: -10px;
  margin:128px 0 0 20%;
}

section.mainVisual.menu.ems h2 {
  font-size: 53px;
  line-height: 64px;
  letter-spacing: 0;
}

section.mainVisual.menu.botox h2{
  margin: 16% 0 0 20%;
}

section.mainVisual.menu.cbt-f h2 {
  font-size: 50px;
  letter-spacing: 6.3px;
  text-shadow: 0 0 6px #fff;
}

section.mainVisual.menu.other h2 {
  margin: 240px auto 0;
  font-size: 32px;
  letter-spacing: 6.3px;
}

section.mainVisual.menu.damapen h2 {
  margin-top:128px;
}

section.mainVisual.menu .copy {
  margin: 50px 0 0 10%;
  color: #f8f7f5;
  font-size: 22px;
  letter-spacing: 1.2px;
}

section.mainVisual.menu .copy > span {
  overflow: hidden;
  display: block;
  width: fit-content;
  transform: translateX(-100%);
  animation: text-slidein-outer .5s ease-in forwards;
}

section.mainVisual.menu .copy > span > span {
  display: block;
  width: fit-content;
  padding: 3px;
  background: #282828;
  transform: translateX(100%);
  animation: text-slidein-inner .5s ease-in forwards;
}

section.mainVisual.menu .copy > span:first-of-type,
section.mainVisual.menu .copy > span:first-of-type > span {
  animation-delay: 2s;
}

section.mainVisual.menu .copy > span:nth-of-type(2),
section.mainVisual.menu .copy > span:nth-of-type(2) > span {
  animation-delay: 2.5s;
}

section.mainVisual.menu .copy > span:nth-of-type(3),
section.mainVisual.menu .copy > span:nth-of-type(3) > span {
  animation-delay: 3s;
}

section.mainVisual.menu.ems .copy span {
  letter-spacing: 0;
}

section.mainVisual.menu.cbt-f .copy span {
  font-size: 20px;
}

section.mainVisual.menu .copy br {
  line-height: 120%;
}

section.mainVisual.menu .badge {
  z-index: 1;
  position: absolute;
  margin-top: -55px;
  top: 30%;
  right: 34%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #E384A6;
  width: 134px;
  height: 134px;
  border-radius: 50%;
  font-size: 20px;
  line-height: 31px;
  letter-spacing: 1.7;
  color: #fff;
}

section.mainVisual.menu .firstPress {
  position: absolute;
  display: grid;
  align-items: center;
  grid-template-rows: max-content max-content;
  grid-template-columns: max-content max-content;
  width: 100%;
  opacity: .6;
  background: #fff;
}

section.mainVisual.menu .firstPress p.rect {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #DD3A76;
  width: 40px;
  height: 40px;
  font-weight: 600;
  font-size: 12px;
  color: #DD3A76;
  line-height: 15px;
}

section.mainVisual.menu .firstPress p.name {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  margin-left: 10px;
  width: fit-content;
  font-weight: 600;
  font-size: 31px;
  line-height: 40px;
  letter-spacing: 5px;
}

section.mainVisual.menu .firstPress p.amount {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
  font-weight: 600;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 1.2px;
}

section.mainVisual.menu .firstPress p.price {
  grid-row: 2 / 3;
  grid-column: 1 / 3;
  font-weight: 600;
  font-size: 30px;
  letter-spacing: 4.5px;
}

section.mainVisual.menu .firstPress p.price::after {
  content: attr(title);
  display: block;
  text-align: right;
  font-size: 13px;
  letter-spacing: 2.5px;
}

section.mainVisual.menu .firstPress p.amount ~ p.price {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  text-align: right;
}

section.mainVisual.menu .firstPress p.price strong {
  font-size: 40px;
  letter-spacing: 3.5px;
}

section.mainVisual.doctor .message {
  margin: 80px 0 0 20px;
  color: #fff;
  font-size: 21px;
  line-height: 51px;
  letter-spacing: 2.6px;
}

section.mainVisual.doctor .instagram {
  position: absolute;
  right: 30px;
  bottom: 10px;
  width: 25px;
  height: 25px;
}
section.mainVisual.index a.toPcr {
    color: #fff;
    text-align: center;
    font-size: 15px;
    margin: 55px auto 0;
    width: fit-content;
    display: block;
    border: 1px solid;
    padding: 3px 25px;
    letter-spacing: 1.5px;
    text-decoration: none;
}
section.mainVisual.index a.toPcr::after {
  font-family: "Font Awesome 5 Free";
  content: '\f35d';
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  margin-left: 5px;
}

@media screen and (max-width: 899px) {
  section.mainVisual {
    background-position: 0%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    animation: bg-slide 5s cubic-bezier(1,0,.6,1) forwards;
  }

  section.mainVisual.menu {
    background-position: 0%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    animation: bg-slide 5s linear forwards;
    /*margin-top: 98px;*/
  }
}

/** メインビジュアル PC **/
@media screen and (min-width: 900px) {
  section.mainVisual {
    background: center / contain no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(100vh - 88px);
    width: 100vw;
  }

  section.mainVisual.menu {
    display: block;
  }

  section.mainVisual.index {
    flex-direction: column;
    background-image: url('../image/index/pc/mv.jpg');
    aspect-ratio: 1920 / 953;
  }

  section.mainVisual.diet, section.mainVisual.frequentlyAskedQuestions {
    flex-direction: column;
    background-image: url('../image/diet/pc/mv.jpg');
    aspect-ratio: 1920 / 953;
  }

  section.mainVisual.concept {
    background-image: url('../image/concept/pc/mv.jpg');
    aspect-ratio: 960 / 457;
  }

  section.mainVisual.doctor {
    display: block;
    background-image: url('../image/doctor/pc/mv.jpg');
    aspect-ratio: 960 / 457;
  }

  section.mainVisual.clinic {
    background-image: url('../image/clinic/pc/mv.jpg');
    aspect-ratio: 960 / 457;
  }

  section.mainVisual.shinjuku {
    background-image: url('../image/clinic/shinjuku/pc/mv.jpg');
    aspect-ratio: 960 / 451;
  }

  section.mainVisual.shibuya {
    background-image: url('../image/clinic/shibuya/pc/mv.jpg');
    aspect-ratio: 960 / 451;
  }

  section.mainVisual.ginza {
    background-image: url('../image/clinic/ginza/pc/mv.jpg');
    aspect-ratio: 960 / 451;
  }

  section.mainVisual.priceTable {
    background-image: url('../image/priceTable/pc/mv.jpg');
    aspect-ratio: 640 / 303;
  }

  section.mainVisual.blogIndex {
    background-image: url('../image/blog/pc/mv.jpg');
    aspect-ratio: 640 / 301;
  }

  section.mainVisual.menuIndex {
    background-image: url('../image/menu/pc/mv.jpg');
    aspect-ratio: 1920 / 913;
  }

  section.mainVisual.glp1 {
    background-image: url('../image/menu/glp1/pc/mv.jpg');
    aspect-ratio: 15 / 7;
    width: 100%;
  }

  section.mainVisual.kaberin {
    background-image: url('../image/menu/kaberin/pc/mv.jpg');
    aspect-ratio: 960 / 457;
  }

  section.mainVisual.damapen {
    background-image: url('../image/menu/damapen/pc/mv.jpg');
    aspect-ratio: 960 / 457;
  }

  section.mainVisual.dietPill {
    background-image: url('../image/menu/dietPill/pc/mv.jpg');
    aspect-ratio: 1920 / 913;
  }

  section.mainVisual.ems {
    background-image: url('../image/menu/ems/pc/mv.jpg');
    aspect-ratio: 1920 / 913;
    /*margin-top: 100px;*/
  }

  section.mainVisual.cbt-f {
    background-image: url('../image/menu/cbt-f/pc/mv.jpg');
    aspect-ratio: 1920 / 913;
    /*margin-top: 96px;*/
  }

  section.mainVisual.other {
    background-image: url('../image/menu/other/pc/mv_01.jpeg');
    aspect-ratio: 1920 / 911;
    background-position:bottom;
  }

  section.mainVisual.botox {
    background-image: url('../image/menu/botox/pc/mv.jpg');
    aspect-ratio: 1920 / 911;
    /*margin-top: 100px;*/
  }
  section.mainVisual.zeoskin {
    background-image: url('../image/menu/zeoskin/pc/mv.jpg');
    aspect-ratio: 1920 / 911;
    /*margin-top: 100px;*/
  }
  section.mainVisual.online {
    background-image: url('../image/online/pc/mv.jpg');
    aspect-ratio: auto;
  }

  section.mainVisual.online_course {
    background-image: url('../image/online_course/pc/mv.jpg');
  }

  section.mainVisual h2 {
    margin: 0;
    width: fit-content;
    text-align: center;
    color: #fff;
    font-weight: 500;
    font-size: 16px;
    opacity: 0.8;
  }

  section.mainVisual h2[title]::before {
    content: attr(title);
    display: block;
    margin-bottom: 15px;
    font-size: 64px;
  }

  section.mainVisual.index h2 {
    margin: 0 auto;
    width: 960px;
  }

  section.mainVisual.index #lottie{
    transform: inherit;
  }

  section.mainVisual.index p {
    margin: -60px auto 0;
    width: fit-content;
    color: #fff;
    font-size: 20px;
    letter-spacing: 3px;
    transform: scale(200%);
    filter: blur(70px);
    animation: blur-fadein 1s 1s ease forwards;
  }

  section.mainVisual.menu h2 {
    margin:48px 0 0 20%;
    text-align: center;
    line-height: 1.2;
  }

  section.mainVisual.menu.glp1 h2 {
    font-size: 50px;
    letter-spacing: 10px;
    text-shadow: 0 0 6px #fff;
  }

  section.mainVisual.menu.kaberin h2 {
    font-size: 38px;
    line-height: 1.3;
    letter-spacing: 4.5px;
    margin: 48px 0 0 20%;
    text-shadow: 0 0 6px #fff;
  }

  section.mainVisual.menu.kaberin h2 span {
    margin-left: -22px;
  }

  section.mainVisual.menu.diet h2 {
    font-size: 50px;
    line-height: 60px;
    letter-spacing: 4px;
  }

  section.mainVisual.menu.cbt-f h2 {
    font-size: 50px;
    line-height: 100%;
    letter-spacing: 8px;
    margin-top: 174px;
  }

  section.mainVisual.menu.ems h2 {
    font-size: 50px;
    line-height: 100%;
    letter-spacing: 8px;
    margin-top: 160px;
  }

  section.mainVisual.menu.other h2 {
    margin: 215px 0 0 190px;
    font-size: 36px;
    letter-spacing: 6.8px;
  }

  section.mainVisual.menu p.copy {
    margin: 48px 0 0 20%;
  }

  section.mainVisual.menu.glp1 p.copy span {
    font-size: 20px;
    letter-spacing: 2.8px;
  }

  section.mainVisual.menu.kaberin p.copy span {
    font-size: 20px;
    letter-spacing: 3.9px;
  }

  section.mainVisual.menu.diet p.copy span {
    font-size: 20px;
    letter-spacing: 3px;
  }

  section.mainVisual.menu.cbt-f p.copy span {
    font-size: 20px;
    letter-spacing: 3px;
  }

  /*1280以上*/
  section.mainVisual.menu .badge {
    margin: 0;
    top: 38%;
    left: 43%;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    font-size: 20px;
    line-height: 31px;
    color: #fff;
  }

  /*1280以上*/
  section.mainVisual.menu .firstPress {
    grid-template-rows: max-content 1fr;
    grid-template-columns: max-content max-content max-content;
    background: none;
    position: absolute;
    bottom: 5%;
    left: 20%;
  }

  section.mainVisual.menu .firstPress p.rect {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    width: 60px;
    height: 60px;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: .1em;
  }

  section.mainVisual.menu .firstPress p.name {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    font-size: 40px;
    letter-spacing: 5.6px;
  }

  section.mainVisual.menu .firstPress p.amount {
    margin-left: 10px;
    margin-bottom: 0;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    font-size: 14px;
  }

  section.mainVisual.menu .firstPress p.price {
    position: relative;
    margin-left: 30px;
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    font-size: 18px;
    letter-spacing: 3px;
  }

  section.mainVisual.menu .firstPress p.amount ~ p.price {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
  }

  section.mainVisual.menu .firstPress p.price::after {
    position: absolute;
    right: 0;
    font-size: 10px;
    letter-spacing: 1.5px;
  }

  section.mainVisual.menu .firstPress p.price strong {
    font-size: 25px;
    letter-spacing: 4px;
  }

  section.mainVisual.doctor .message {
    margin: 120px 0 0 180px;
    font-size: 21px;
    line-height: 60px;
    letter-spacing: 5.2px;
  }

  section.mainVisual.doctor .instagram {
    position: relative;
    margin: 140px 0 0 180px;
    width: 30px;
    height: 30px;
    inset: 0;
  }
}

/** アウトライン PC **/
@media screen and (min-width: 900px) {
  section.outline {
    padding: 100px 150px 150px;
  }

  section.outline p.onlyOnline {
    width: fit-content;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 3px;
    text-decoration: underline;
  }

  section.outline p.catch {
    margin: 0 auto;
    padding: 30px 40px;
    width: fit-content;
    font-size: 29px;
    line-height: 100%;
    letter-spacing: 3px;
  }

  section.outline picture img {
    margin: 28px auto 0;
    width: 196px;
    height: auto;
  }

  section.outline h3 {
    width: fit-content;
    font-size: min(7.467vw, 28px);
    line-height: 1.5;
    letter-spacing: 3px;
  }

  .outline__br{
    display: none;
  }

  section.outline p.description {
    margin: 30px auto 0;
    width: 80%;
    max-width: 660px;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 3.6px;
  }

  section.outline p.description span{
    text-decoration: underline;
  }
}

/** アウトライン SP **/
section.outline  {
  background: #eaeaea;
  padding: 64px 30px 64px;
}

section.outline p.onlyOnline {
  text-align: center;
  font-size: 14px;
  line-height: 2.3;
  margin: 24px auto 24px;
  text-decoration: underline;
}

section.outline p.catch {
  text-align: center;
  padding: 1em 2vw;
  background: #fff;
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 32px;
}

section.outline picture img {
  display: block;
  margin: 32px auto 0;
  max-width: 280px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

section.outline h3 {
  margin: 0 auto 32px auto;
  width: fit-content;
  font-size: min(7.467vw, 28px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 3.6px;
  text-align: center;
}

section.outline p.description {
  margin: 32px auto 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 35px;
}

section.outline p.description:not(:first-child){
  margin: 1em auto 0;
}


/*こんな方に*/

.recommendedFor{
  padding: 32px 2vw;
}

/** こんな方に SP **/
section.recommendedFor h3 {
  margin: 0 auto 32px auto;
  width: 100%;
  background: #fff;
  text-align: center;
  font-size: min(7.467vw, 28px);
  line-height: 2.3;
  font-weight: 500;
  line-height: 58px;
}

section.recommendedFor ol {
  display: flex;
  flex-direction: column;
  padding: 0 2vw;
}

section.recommendedFor ol li {
  overflow: hidden;
  position: relative;
  counter-increment: recommended;
}

section.recommendedFor ol li:not(:first-of-type) {
  margin-top: 75px;
}

section.recommendedFor ol li .innerBorder {
  z-index: 1;
  margin: 5px;
  border: 1px solid #282828;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
}

section.recommendedFor ol li .outerBorder {
  z-index: -2;
  position: absolute;
  inset: 0;
  border: 3px solid #282828;
}

section.recommendedFor ol li .topCricles,
section.recommendedFor ol li .bottomCricles {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

section.recommendedFor ol li .topCricles::before,
section.recommendedFor ol li .topCricles::after,
section.recommendedFor ol li .bottomCricles::before,
section.recommendedFor ol li .bottomCricles::after {
  z-index: -1;
  position: absolute;
  content: "";
  display: block;
  border: 3px solid #282828;
  border-radius: 50%;
  background: #fff;
  width: 27px;
  height: 27px;
}

section.recommendedFor ol li .topCricles::before,
section.recommendedFor ol li .topCricles::after {
  top: -11px;
}

section.recommendedFor ol li .bottomCricles::before,
section.recommendedFor ol li .bottomCricles::after {
  bottom: -11px;
}

section.recommendedFor ol li .topCricles::before,
section.recommendedFor ol li .bottomCricles::before {
  left: -11px;
}

section.recommendedFor ol li .topCricles::after,
section.recommendedFor ol li .bottomCricles::after {
  right: -11px;
}

section.recommendedFor ol li p {
  padding: 64px 30px 30px;
  text-align: center;
  font-size: 14px;
  line-height: 2.3;
}

section.recommendedFor ol li p::before {
  content: "Check." counter(recommended);
  position: absolute;
  display: flex;
  justify-content: center;
  top: 20px;
  left: 0;
  right: 0;
  font-family: p22-dearest-pro, serif;
  color: #dd3a76;
  font-size: 19px;
  line-height: 40px;
}

/** こんな方に PC **/
@media screen and (min-width: 900px) {
  section.recommendedFor h3 {
    font-size: min(7.467vw, 28px);
    line-height: 1;
  }

  section.recommendedFor ol {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 0;
  }

  section.recommendedFor ol li {
    max-width: 210px;
    width: 100%;
    aspect-ratio: 7 / 5;
  }

  section.recommendedFor ol li:first-of-type {
    margin: 0 15px;
  }

  section.recommendedFor ol li:not(:first-of-type) {
    margin: 0 15px;
  }

  section.recommendedFor ol li p {
    padding: 60px 5px 0;
    width: fit-content;
    box-sizing: border-box;
    text-align: center;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0px;
    margin: 0 auto;
  }
}

/** 効果 SP **/
section.effect {
  background: #eaeaea;
  padding: 64px 30px 64px;
}

section.effect.dark {
  background: #282828;
  color: #fff;
}

section.effect.rounded {
  background: #eaeaea;
  padding-left: 15px;
  padding-right: 15px;
}

section.effect h3 {
  margin: 32px auto 0;
  width: fit-content;
  font-size: min(7.467vw, 28px);
  font-weight: 400;
}

section.effect.dark h3 {
  text-align: center;
  font-size: min(7.467vw, 28px);
  letter-spacing: 0;
}

section.effect.rounded h3 {
  width: 100%;
  background: #282828;
  padding: 30px 15px 0;
  border-radius: 20px 20px 0 0;
}

section.effect.dark h3 span {
  letter-spacing: -20;
}

section.effect > p {
  margin-top: 30px;
  font-size: 14px;
  line-height: 43px;
  letter-spacing: 1.2;
}

section.effect.rounded > p {
  margin: 0;
  padding-top: 32px;
  background: #282828;
  padding-left: 16px;
  padding-right: 16px;
  line-height: 2.3;
}

section.effect > p:not(:first-of-type) {
  margin-top: 60px;
}

section.effect.rounded > p:not(:first-of-type) {
  margin: 0;
  padding-top: 32px;
}

section.effect ul {
  margin: 60px auto 0;
  padding: 0;
  list-style: none;
}

section.effect.rounded ul {
  margin-top: 0;
  padding: 60px 15px;
  background: #282828;
  border-radius: 0 0 20px 20px;
}

section.effect.narrow ul {
  margin-top: 0;
}

section.effect ul li {
  display: flex;
  flex-direction: column;
}

section.effect ul li:not(:first-of-type) {
  margin-top: 80px;
}

section.effect.narrow ul li:not(:first-of-type) {
  margin-top: 0;
}

section.effect ul li h4 {
  padding: 13px 0;
  width: 100%;
  background: #282828;
  font-size: 19px;
  font-weight: 400;
  text-align: center;
  color: #fff;
  line-height: 20px;
  letter-spacing: 2px;
}

section.effect ul li p {
  margin: 30px auto 0;
  font-size: 14px;
  line-height: 35px;
  letter-spacing: 0.3;
}

section.effect ul li p img {
  display: block;
  margin: 0 auto;
  width: 80%;
}

section.effect ul li figure {
  position: relative;
  margin: 30px auto 0;
}

section.effect ul li figure img {
  display: block;
  margin: 0 auto;
  width: 100%;
}

section.effect.allow ul li figure img {
  width: 70%;
}

section.effect ul li figure figcaption {
  position: absolute;
  top: 0;
  left: -40px;
  width: 160px;
}

section.effect.allow ul li:not(:first-of-type) figure::before {
  position: absolute;
  top: -60px;
  left: 50%;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg) translate(0, 50%);
}

/** 効果 PC **/
@media screen and (min-width: 900px) {
  section.effect {
    padding: 64px 2vw;
  }

  section.effect.dark {
    background: #eaeaea
  }

  section.effect h3 {
    font-size: min(7.467vw, 28px);
    letter-spacing: 3px;
  }

  section.effect.dark h3 {
    margin: 0 auto;
    padding: 64px 0 0;
    width: 100%;
    max-width: 680px;
    background: #282828;
    font-size: 26px;
    line-height: 1.3;
  }

  section.effect > p {
    margin: 0 auto;
    padding: 45px 140px 0;
    width: 100%;
    max-width: 680px;
    background: #282828;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 3.4;
  }

  section.effect.rounded > p {
    margin: 0 auto;
  }

  section.effect.rounded > p:not(:first-of-type) {
    margin: 0 auto;
  }

  section.effect ul {
    margin-top: 40px auto 0;
    width: 80%;
    max-width: 680px;
  }

  section.effect.dark ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 50px 140px 64px;
    width: 100%;
    max-width: 680px;
    background: #282828;
  }

  section.effect.narrow ul {
    padding: 60px 15px;
  }

  section.effect.narrow ul li {
    padding: 0 15px;
  }

  section.effect ul li:not(:first-of-type) {
    margin-top: 30px;
  }

  section.effect.allow ul li:not(:first-of-type) {
    margin: 0;
  }

  section.effect.allow ul li:not(:first-of-type) figure::before {
    top: 50%;
    left: -15px;
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(-45deg) translate(50%, 0);
  }

  section.effect ul li h4 {
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 1.9px;
  }

  section.effect ul li h4::after {
    content: "";
    display: block;
    margin: 8px auto 0;
    width: 150px;
    height: 1px;
    background: #fff;
  }

  section.effect ul li > div {
    display: flex;
    align-items: center;
    padding: 20px 25px;
  }

  section.effect ul li > div > p {
    margin: 0;
    width: 60%;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 2.3;
    letter-spacing: 3.6px;
  }

  section.effect ul li > div > p:first-child{
    margin-right: 16px;
  }

  section.effect ul li p img {
    width: 100%;
  }

  section.effect ul li figure figcaption {
    top: inherit;
    left: -80px;
  }
}

/** 使い方 SP **/
section.wayToUse {
  padding: 50px 15px 64px;
  background: #eaeaea;
}

section.wayToUse h3 {
  margin: 0 auto;
  width: fit-content;
  font-size: min(7.467vw, 28px);
  font-weight: 500;
  line-height: 58px;
  letter-spacing: 3.5px;
}

section.wayToUse ol {
  display: flex;
  flex-direction: column;
  padding: 30px 15px;
  background: #fff;
  list-style: none;
}

section.wayToUse ol li {
  position: relative;
  counter-increment: way;
}

section.wayToUse ol li:not(:first-of-type) {
  margin-top: 40px;
}

section.wayToUse ol li p {
  position: relative;
  margin-top: 6px;
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: .1em;
}

section.wayToUse ol li p::before {
  content: "step" counter(way);
  display: block;
  font-size: 19px;
  color: #dd3a76;
  line-height: 43px;
  letter-spacing: 5.5px;
}

section.wayToUse ol li p::after {
  content: "";
  position: absolute;
  top: 25px;
  left: 70px;
  display: block;
  transform: rotate(-60deg);
  width: 25px;
  height: 1px;
  background: #dd3a76;
}

/** 使い方 PC **/
@media screen and (min-width: 900px) {
  section.wayToUse {
    padding: 90px 140px 60px;
  }

  section.wayToUse h3 {
    font-size: 29px;
    line-height: 100%;
    letter-spacing: 3px;
  }

  section.wayToUse ol {
    margin: 30px auto 0;
    width: 80%;
    max-width: 680px;
  }

  section.wayToUse ol li {
    margin: 0 auto;
    width: 470px;
  }

  section.wayToUse ol li:not(:first-of-type) {
    margin-top: 20px;
  }

  section.wayToUse ol li p {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 3px;
  }

  section.wayToUse ol li::before {
    font-size: 19px;
    line-height: 100%;
    letter-spacing: 3px;
  }
}

/** 副作用 sp **/
section.sideEffect {
  padding: 0 15px 64px;
  background: #eaeaea;
}

/*詳細度の為(section)*/
section.sideEffect-botox{
  padding: 32px 15px 64px;
}

section.sideEffect h3 {
  margin: 0 auto;
  width: fit-content;
  font-size: min(7.467vw, 28px);
  font-weight: 500;
  line-height: 58px;
  letter-spacing: 3.5px;
}

.sideEffect__lead{
  text-align: center;
  text-decoration: underline;
}

section.sideEffect section:first-of-type {
  margin-top: 32px;
  background: #eaeaea;
  font-size: 14px;
  line-height: 29px;
  font-weight: 500;
  letter-spacing: 1.7px;
}

section.sideEffect section:not(:first-of-type) {
  margin-top: 24px;
  padding: 20px 15px;
  background: #fff;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: 1.7px;
}

section.sideEffect section:not(:first-of-type) h4 {
  margin: 0 auto 32px auto;
  width: fit-content;
  text-underline-offset: .2em;
  text-decoration: underline;
  text-decoration-color:#dd3a76;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

section.sideEffect section:not(:first-of-type) p {
  font-size: 14px;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 1.7px;
}

section.sideEffect section:not(:first-of-type) cite {
  margin: 15px auto 0;
  font-family: Meiryo, serif;
  font-size: 10px;
  color: #707070;
  line-height: 12px;
  letter-spacing: -0.2px;
  font-style: inherit;
  word-break: break-all;
}

/** 副作用 PC **/
@media screen and (min-width: 900px) {
  section.sideEffect {
    padding: 60px 140px;
  }

  section.sideEffect h3 {
    font-size: min(7.467vw, 28px);
    line-height: 100%;
    letter-spacing: 3px;
  }

  section.sideEffect section:first-of-type {
    margin: 32px auto 0;
    width: 80%;
    max-width: 680px;
    font-size: 14px;
    line-height: 2.3;
    letter-spacing: 3.6px;
  }

  section.sideEffect section:not(:first-of-type) {
    margin: 30px auto 0;
    padding: 32px 2vw;
    width: 100%;
    max-width: 680px;
    text-align: center;
  }

  section.sideEffect section:not(:first-of-type) h4 {
    border: none;
    font-size: 18px;
    line-height: 21px;
    letter-spacing: 5.3px;
  }

  section.sideEffect section:not(:first-of-type) p {
    text-align: left;
    font-size: 13px;
    line-height: 2.3;
    letter-spacing: 3.6px;
  }

  section.sideEffect section:not(:first-of-type) cite {
    display: block;
    margin: 5px 0 0;
    text-align: left;
  }

  section.sideEffect section:not(:first-of-type) h4 {
    text-decoration: underline;
    text-decoration-color:#dd3a76;
  }
}

.sideEffect-important__text{
  margin: 0 auto;
}

/** 料金 SP **/
section.priceList {
  padding: 0 16px 64px 16px;
  background: #eaeaea;
}

.priceList__area{
  background-color: #fff;
}

.priceList__area--line{
  padding-bottom: 1em;
  border-bottom: dashed 1px #282828;
}

section.priceList h3 {
  margin: 0 auto 32px auto;
  width: fit-content;
  font-size: min(7.467vw, 28px);
  font-weight: 500;
  line-height: 58px;
  letter-spacing: 3.5px;
}

section.priceList dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: 36px;
  padding: 32px 4vw;
}

section.priceList dt {
  position: relative;
  border-top: 1px solid #fff;
  padding-top: 20px;
  width: fit-content;
  min-width: 75%;
  font-size: 16px;
  letter-spacing: 1.8px;
}

section.priceList dt span {
  font-size: 12px;
}

section.priceList dd {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 8px;
  padding-top: 20px;
  text-align: right;
  width: fit-content;
  min-width: 25%;
  font-size: 14px;
  letter-spacing: 1.8px;
  height: 62px;
}

section.priceList dd span {
  display: flex;
  justify-content: center;
  margin-right: 10px;
  border: 1px solid #dd3a76;
  padding: 2px;
  color: #dd3a76;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 1.5px;
  width: 72px;
}

section.priceList dd span.black {
  border: 1px solid #282828;
  color: #282828;
}
section.priceList dt{
  margin-bottom: 16px;
}

section.priceList dt:first-of-type {
  border: none;
  padding: 0;
  width: 100%;
}

section.priceList dt.priceList_campaing + dd,
section.priceList dt.priceList_campaing + dd + dd {
  padding: 0;
  width: 100%;
  padding-bottom: 1em;
}

.priceList_campaing dd:nth-child(1){
  border-bottom: dashed 1px #282828;
}

section.priceList p.notice {
  font-size: 12px;
}

/** 料金 PC **/
@media screen and (min-width: 900px) {
  section.priceList {
    padding: 64px 0 64px;
  }

  section.priceList dl {
    margin: 0 auto;
    padding: 32px;
    max-width: 680px;
    width: 100%;
    font-size: 0;
  }

  section.priceList dt {
    min-width: 60%;
    font-size: 13px;
    letter-spacing: 1.3px;
  }

  section.priceList dd {
    min-width: 40%;
    font-size: 13px;
    letter-spacing: 1.3px;
    height: 54.5px;
  }

  section.priceList dt:first-of-type {
    width: fit-content;
  }

  section.priceList p.notice {
    max-width: 680px;
    margin-left: auto;
    margin-top: 16px;
  }

  .priceList__area--no-price{
    line-height: 1;
  }
}

/*オンライン診療(リファクタリング中)*/

.onlineExamination__title{
  text-align: center;
}

.onlineExamination__title_br{
  display: none;
}

.onlineExamination__btn{
  margin: 64px auto 0 auto;
  display: block;
  text-align: center;
  max-width: 300px;
  width: 100%;
}

.onlineExamination__btn--link{
  display: inline-block;
  width: 100%;
  padding: 7px 30px;
  border-radius: 5px;
  text-decoration: none;
  background-color: #E384A6;
  box-shadow: 0 3px 0 rgb(197, 97, 109);
  color: #fff;
  transition: .3s;
}

.onlineExamination__btn--link:hover{
  box-shadow: none;
  transform: translateY(3px);
}

/** オンライン診療について SP **/
aside.onlineExamination {
  position: relative;
  background: #fff;
  padding:  128px 20px 164px;
}

aside.onlineExamination.gray {
  background: #eaeaea;
}

aside.onlineExamination h3 {
  word-break: keep-all;
  font-size: min(7.467vw, 28px);
  font-weight: 500;
  margin-bottom: 32px;
}

aside.onlineExamination p {
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.3px;
  text-align: center;
}

aside.onlineExamination p:not(:first-child){
  margin-top: 1em;
}

aside.onlineExamination .onlineExamination__pic img {
  width: 180px;
  position: absolute;
}

/*ダイエット薬 オンライン診療について
=================================*/

/*詳細度の為、aside付与*/
aside.onlineExamination-medicine{
  padding: 64px 2vw;
  position: relative;
}

/*medicine オンライン診療画像*/
.medicine-online__img{
  width: 150px;
  margin-left: auto;
  margin-top: 24px;
}

aside.onlineExamination.end picture {
  bottom: 70px;
}

/**  オンライン診療について PC **/
@media screen and (min-width: 900px) {
  aside.onlineExamination {
    padding: 128px 0 64px;
  }

  aside.onlineExamination > div {
    margin: 0 auto;
    max-width: 700px;
    width: 100%;
  }

  aside.onlineExamination h3 {
    font-size: min(7.467vw, 28px);
    text-align: center;
  }

  aside.onlineExamination p {
    font-size: 14px;
    line-height: 2.3;
    letter-spacing: .1em;
  }

  aside.onlineExamination picture {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }

  aside.onlineExamination.end picture {
    bottom: 0;
  }

  aside.onlineExamination__pic img {
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 160px;
  }
}

/*微調整 (/medicineのオンライン診療について)*/
.medicine-online__img{
  position: static;
}

/* ゼオスキンラインナップ */
ul.lineup_wrap {
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
}

li.lineup_contents {
  width: 40%;
  margin: 10px 14px;
  border-top: 0.5px solid #eaeaea;
}

.lineup_contents dt h4 {
  font-size: 11px;
}

.lineup_contents dd {
  font-size: 13px;
}

@media screen and (min-width: 500px){
  li.lineup_contents {
    width: 20%;
  }

  .lineup_contents dl dt img  {
  width: 60%;
  margin: 0 auto;
  }
}

@media screen and (min-width: 900px){
  li.lineup_contents {
    width: 15%;
  }
}
/** FAQ SP **/
section.faq {
  padding: 128px 2vw;
  background: #eaeaea;
  overflow-x: hidden;
}

section.kabelline-faq{
  padding: 64px 0;
}

section.botox-faq{
  padding: 64px 0;
}

section.faq h3 {
  margin: 0 auto;
  width: fit-content;
  font-size: min(7.467vw, 28px);
  font-weight: 500;
  line-height: 58px;
  letter-spacing: 3.5px;
}

section.faq dl {
  margin-top: 40px;
}

section.faq dl dt {
  position: relative;
  border: 2px solid #222222;
  box-sizing: border-box;
  margin: 0 20px;
  padding: 15px 25px;
  background: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 25px;
  letter-spacing: 3.5px;
}

section.faq dl dt:not(:first-of-type) {
  margin-top: 128px;
}

section.faq dl dt::before {
  content: "Q";
  position: absolute;
  top: -20px;
  left: -13px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #222222;
  font-size: 16px;
  line-height: 20px;
  color: #fff;
}

section.faq dl dd {
  position: relative;
  border: 2px solid #222222;
  box-sizing: border-box;
  margin: 45px 18px 0;
  padding: 15px 25px;
  background: #222222;
  text-align: left;
  font-size: 14px;
  color: #fff;
  font-weight: 500;
  line-height: 35px;
  letter-spacing: 1.7px;
}

section.faq dl dd::after {
  content: "A";
  position: absolute;
  top: -20px;
  right: -13px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  border: 2px solid #282828;
  border-radius: 50%;
  background: #fff;
  font-size: 20px;
  line-height: 20px;
  color: #222222;
}

/** FAQ PC **/
@media screen and (min-width: 900px) {
  section.faq {
    padding: 128px 280px 128px;
  }

  section.kabelline-faq{
    padding: 64px 0;
  }

  section.botox-faq{
    padding: 64px 0;
  }

  section.faq h3 {
    font-size: min(7.467vw, 28px);
    line-height: 100%;
    letter-spacing: 3px;
  }

  section.faq dl {
    margin: 64px auto 0;
    width: 100%;
    max-width: 680px;
  }

  section.faq dl dt {
    margin: 0 auto;
    padding: 45px 20px;
    font-size: 16px;
    line-height: 27px;
    letter-spacing: 4.2px;
  }

  section.faq dl dt:not(:first-of-type) {
    margin-top: 110px;
  }

  section.faq dl dt::before {
    top: -30px;
    left: -30px;
    width: 60px;
    height: 60px;
    font-size: 27px;
    line-height: 100%;
    letter-spacing: 1px;
  }

  section.faq dl dd {
    margin: 60px auto 0;
    padding: 40px 20px;
    font-size: 13px;
    line-height: 27px;
    letter-spacing: 2.6px;
  }

  section.faq dl dd::after {
    top: -30px;
    right: -30px;
    width: 60px;
    height: 60px;
    font-size: 27px;
    line-height: 100%;
    letter-spacing: 1px;
  }
}

/** コンテンツ一覧 SP **/
section.contentList {
  background: #fff;
  padding: 80px 4vw 0;
}

section.contentList.rounded {
  padding: 60px 15px;
  background: #eaeaea;
}

section.contentList ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  list-style: none;
}

section.contentList.rounded ul {
  padding: 60px 15px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0px 0px 10px #00000029;
}

section.contentList ul li:not(:first-of-type) {
  margin-top: 80px;
}

section.contentList ul li h4 {
  position: relative;
  background: #282828;
  width: 100%;
  padding: 0 5px;
  text-align: center;
  font-size: 21px;
  font-weight: 500;
  color: #fff;
}

section.contentList ul li h4::before {
  position: absolute;
  left: -1px;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 32px 0 0 20px;
  border-color: transparent transparent transparent #fff;
}

section.contentList ul li h4::after {
  position: absolute;
  top: -1px;
  right: -1px;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 20px 35px 0;
  border-color: transparent #fff transparent transparent;
}

section.contentList ul li p {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

section.contentList ul li p a.button {
  margin: 20px auto 0;
  width: 80%;
}

/** コンテンツ一覧 PC **/
@media screen and (min-width: 900px) {
  section.contentList {
    padding: 70px 150px 100px;
  }

  section.contentList.rounded {
    padding: 100px 70px 80px;
  }

  section.contentList ul {
    margin: 0 auto;
    width: 80%;
    max-width: 680px;
  }

  section.contentList.rounded ul {
    padding: 95px 95px 75px;
    max-width: 840px;
  }

  section.contentList ul li {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  section.contentList ul li:not(:first-of-type) {
    margin-top: 50px;
  }

  section.contentList ul li h4 {
    position: relative;
    padding: 0 30px;
    width: fit-content;
    min-width: 160px;
    font-size: 18px;
    letter-spacing: 1.2px;
  }

  section.contentList ul li > div {
    width: 400px;
  }

  section.contentList ul li > div p {
    margin: 30px 0 0;
    font-size: 13px;
    line-height: 2.3;
    letter-spacing: 3.6px;
  }

  section.contentList ul li > p {
    width: 250px;
  }

  section.contentList ul li > p img {
    width: 100%;
  }
}

/** メニューインデックス SP **/
section.menuList {
  background: #eaeaea;
  padding: 65px 15px 0;
}

section.menuList ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column
}

section.menuList ul li {
  margin-bottom: 60px;
}

section.menuList ul li article {
  overflow: hidden;
}

section.menuList article a:nth-of-type(1) {
  box-sizing: border-box;
  overflow: hidden;
  background: center / 100% no-repeat;
  aspect-ratio: 316 / 237;
  padding: 30px 45px;
  transition: 10s all ease;
}

@media screen and (max-width: 899px) {
  section.menuList article a:nth-of-type(1) {
    animation: bg-bigger 20s 2s forwards;
  }
}

section.menuList article a:nth-of-type(1):hover {
  background-size: 200%;
}

section.menuList article a {
  display: block;
  color: #fff;
  text-decoration: none;
}

section.menuList li:nth-of-type(1) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_glp1.jpg');
}

section.menuList li:nth-of-type(2) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_kaberin.jpg');
}

section.menuList li:nth-of-type(3) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_diet.jpg');
}


section.menuList li:nth-of-type(4) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_ems.jpg');
}

section.menuList li:nth-of-type(5) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_cbt-f.jpg');
}

section.menuList li:nth-of-type(6) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_botox.jpg');
}

section.menuList li:nth-of-type(7) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_damapen.jpg');
}

section.menuList li:nth-of-type(8) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu_zeoskin.jpg');
}

section.menuList li:nth-of-type(9) article a:nth-of-type(1) {
  background-image: url('../image/menu/sp/menu-other.jpg');
}

section.menuList article a:nth-of-type(1) {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

section.menuList article h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: normal;
  letter-spacing: 4.8px;
  line-height: 40px;
  height: 90px;
  text-align: center;
}

section.menuList article h3:not(:last-child) {
  border-bottom: 3px solid #fff;
}

section.menuList article a p {
  text-align: left;
  margin: 15px auto 0;
  width: fit-content;
  font-weight: normal;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 2.5px;
}

section.menuList article a.button {
  width: 80%;
  margin: 15px auto;
}

/** メニューインデックス PC **/
@media screen and (min-width: 900px) {
  section.menuList {
    padding: 120px 0 90px;
  }

  section.menuList ul {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
  }

  section.menuList ul li {
    padding: 5px;
  }

  section.menuList ul li article {
    width: 282px;
  }

  section.menuList li:nth-of-type(1) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_glp1.jpg');
  }

  section.menuList li:nth-of-type(2) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_kaberin.jpg');
  }

  section.menuList li:nth-of-type(3) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_diet.jpg');
  }


  section.menuList li:nth-of-type(4) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_ems.jpg');
  }

  section.menuList li:nth-of-type(5) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_cbt-f.jpg');
  }

  section.menuList li:nth-of-type(6) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_botox.jpg');
  }

  section.menuList li:nth-of-type(7) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_damapen.jpg');
  }

  section.menuList li:nth-of-type(8) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu_zeoskin.jpg');
  }

  section.menuList li:nth-of-type(9) article a:nth-of-type(1) {
    background-image: url('../image/menu/pc/menu-other.jpg');
  }

  section.menuList article h3 {
    font-size: 26px;
    font-weight: normal;
    letter-spacing: 4.3px;
    line-height: 36px;
    height: 80px;
    text-align: center;
  }

  section.menuList article a p {
    font-size: 13px;
    list-style: 19px;
    letter-spacing: 1.9px;
  }
}

/*+ お問い合わせメニュー SP **/
nav.floatingMenu {
  z-index: 10;
  width: 100%;
  position: sticky;
  bottom: 0;
  display: flex;
  visibility: hidden;
}

nav.floatingMenu.fadeUp{
  visibility: visible;
}

nav.floatingMenu ul {
  margin: 0;
  padding: 0;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  list-style: none;
}

nav.floatingMenu li a {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  font-size: 14px;
  color: #fff;
}

nav.floatingMenu li.tel a {
  text-decoration: none;
  text-align: center;
  font-size: 14px;
}

/** お問い合わせメニュー PC **/
@media screen and (min-width: 900px) {
  nav.floatingMenu {
    position: fixed;
    background: transparent;
    right: 0;
    width: fit-content;
    overflow-x: hidden;
  }

  nav.floatingMenu ul {
    flex-direction: column;
  }

  .floatingMenu__list .line a{
    background-color: #00B900;
    color: #fff;
    margin-bottom: 20px;
  }

  .floatingMenu__list .form a{
    background-color: #E384A6;
    color: #fff;
  }
  .floatingMenu__list .tel a{
    background-color: #E384A6;
    color: #fff;
  }

  nav.floatingMenu ul li a, nav.floatingMenu li.tel a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: none;
    padding: 0;
    width: 100px;
    height: 100px;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 50%;
    text-align: center;
    font-size: 12px;
    letter-spacing: 0;
    transition: .3s all ease;
    margin-right: 1vw;
  }

  nav.floatingMenu ul li a:hover {
    opacity: .8;
  }

  nav.floatingMenu ul li a span {
    display: block;
    margin-top: 5px;
    width: 6px;
    height: 6px;
  }

  nav.floatingMenu ul li:first-of-type a span {
    margin-top: 10px;
  }
}

/** フッター SP **/
/*
footer {
  padding: 20px 40px 15px;
  background: #282828;
}

footer h3 {
  font-size: 12px;
  color: #fff;
  font-weight: normal;
  border-bottom: 0.5px solid #fff;
  padding-bottom: 5px;
  margin-right: 5px;
}

footer > div {
  display: grid;
  grid-template-areas:
    "tel"
    "Content"
    "otherContents"
    "smesProjects"
    "logo";
}

footer div p.tel_btn {
  grid-area: tel;
  text-align: center;
}

footer div p.tel_btn a {
  color: #fff;
  font-size: 26px;
  text-decoration: none;
}

footer p.businessHour {
  grid-area: business;
  margin-top: 10px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  letter-spacing: 2px;
}

footer > div nav.content {
  grid-area: Content;
  margin-top: 10px;
}

footer > div nav.content ul {
  margin: 0;
  padding: 0;
  width: 100%;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}

footer > div nav.content ul li {
  border: 1px solid #282828;
  width: 50%;
}

footer > div nav.content ul li a {
  display: block;
  width: 100%;
  padding: 13px 0;
  text-align: center;
  font-size: 12px;
  color: #282828;
  text-decoration: none;
}

footer > div div.otherContents {
  display: flex;

  margin-top: 20px;
}

footer > div div.groupClinic, footer > div div.useful {
  flex: 1;
}

footer > div nav.groupClinic_nav {
  margin-top: 10px;
}

footer > div nav.useful_nav {
  grid-area: navUseful;
  margin-top: 10px;
}

footer > div nav.useful_nav ul, footer > div nav.groupClinic_nav ul {
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none;
}

footer > div nav.useful_nav ul li a, footer > div nav.groupClinic_nav ul li a, footer div.smesProject p {
  display: block;
  width: 100%;
  padding: 5px 0;
  font-size: 10px;
  color: #fff;
  text-decoration: none;
}

footer picture {
  grid-area: logo;
  margin: 20px auto 0;
  width: 180px;
}

footer p.copyright {
  margin-top: 20px;
  text-align: center;
  color: #fff;
  font-size: 10px;
  letter-spacing: 1.5px;
}

footer div.smesProject {
  margin-top: 20px;
  color: #fff;
}

footer div.smesProject img:hover {
  box-shadow: 3px 3px 0px #fff;
}

footer ul.sns {
  display: flex;
}

footer ul.sns li {
  margin: 0 10px;
  width: 20px;
}
*/
/*
@media screen and (min-width: 900px) {
  footer {
   padding: 20px 20px;
  }

  footer > div {
    margin: 0 auto;
    max-width: 1000px;
    grid-template-areas:
    "tel business navUseful smesProject";
  }

  footer > div picture {
    margin: 0;
    display: flex;
    align-items: center;
    width: 200px;
  }

  footer div.tel {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  footer div p.tel_btn a {
    font-size: 26px;
  }

  footer > div p.businessHour {
    display: flex;
    align-items: center;
    font-size: 10px;
    line-height: 16px;
    letter-spacing: 1.5px;
  }

  footer > div nav.content {
    display: none;
  }

  footer > div nav.useful_nav ul li, footer > div nav.groupClinic_nav ul li {
    margin: 10px 0;
  }

  footer > div nav.useful_nav ul li a, footer > div nav.groupClinic_nav ul li a {
    margin: 0px auto;
    border-left: 1px solid #fff;
    padding: 5px 5px 0;
    width: 180px;
    transition: .3s all ease;
  }

  footer > div nav.useful_nav ul li a:hover, footer > div nav.groupClinic_nav ul li a:hover {
    background: #fff;
    color: #282828;
  }

  footer div.smesProject {
    max-width: 200px;
  }
}
*/

/*
フッター reservation
============================= */
/*
footer.footer_reservation {
  text-align: center;
  margin-top: 96px;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.1rem;
}

footer.footer_reservation a {
  text-decoration: none;
  color: #fff;
}

footer.footer_reservation ul {
  list-style: none;
}
*/
.form-btn{
  padding-left: 24px;
}

.contact-info{
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
}
/*
footer.footer_reservation div.contact div.contact-info ul li a {
  display: inline-block;
  box-sizing: border-box;
  font-size: 14px;
}
*/
.form-btn__item_line{
  display: inline-block;
  max-width: 200px;
  width: 100%;
  margin: 0 auto;
  padding: 12px 24px;
  background-color: #00B900;
}

.footer-contact-btn{
  border-bottom: 1px solid #fff;
}

.contact-btn{
  padding-left: 0;
}

/*
footer.footer_reservation dl {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

footer.footer_reservation div.contact div.infoClinic {
  display: flex;
  justify-content: center;
}

footer.footer_reservation div.contact div.infoClinic img {
  width: 100px;
}

footer.footer_reservation div.contact ul.sitemap {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

footer.footer_reservation div.contact ul.sitemap li {
  width: 50%;
  text-align: center;
}

footer.footer_reservation div.contact ul.sitemap li a {
  color: #fff;
  opacity: .5;
}

footer.footer_reservation > p {
  text-align: center;
}
*/

/** TOP **/
/** キャンペーン SP **/
section.campaign {
  background: #eaeaea;
  padding: 20px 0;
}

section.campaign h3 {
  margin: 0 auto;
  border-bottom: 1px solid #282828;
  padding-bottom: 9px;
  width: fit-content;
  font-size: 16px;
  line-height: 100%;
  font-weight: 500;
  letter-spacing: 2.4px;
}

section.campaign ul li {
  scroll-snap-align: center;
  max-width: 269px;
}

section.campaign ul li:not(:first-of-type) {
  margin-left: 30px;
}

section.campaign ul li a {
  width: 100%;
  height: auto;
}

section.campaign ul li a picture {
  width: 57.333vw;
  object-fit: cover;
}

/** キャンペーン PC **/
@media screen and (min-width: 900px) {
  section.campaign {
    padding: 50px 0;
  }

  section.campaign ul {
    margin: 0 auto;
    padding: 0 10vw;
    margin-top: 20px;
  }

  section.campaign ul li:not(:first-of-type) {
    margin-left: 0;
  }

  section.campaign ul li a picture {
    width: 230px;
  }
}

/** クリニックについて SP **/
section.indexOutline {
  position: relative;
  padding: 0px 0 0;
  background: #eaeaea;
}

section.indexOutline:nth-of-type(4) {
  padding-top: 60px;
}

section.indexOutline > div {
  padding: 50px 30px 50px;
  background: #fff;
}

section.indexOutline h3 {
  margin-top: 0;
  color: #282828;
  font-size: 8vw;
  font-weight: 500;
  line-height: 17.333vw;
  letter-spacing: 0.533vw;
}

section.indexOutline h3 span {
  letter-spacing: 1.067vw;
}

section.indexOutline p {
  margin-top: 50px;
  color: #282828;
  font-size: 17px;
  line-height: 36px;
  letter-spacing: 1.8px;
}

section.indexOutline .button {
  margin-top: 60px;
}

section.indexOutline picture img.benn {
  box-shadow: 2px 4px 10px 0 rgb(0 0 0 / 20%);
  margin: 15px 0;
}


/** クリニックについて PC **/
@media screen and (min-width: 900px) {
  section.indexOutline {
    margin: 0 auto;
    padding: 45px 0 100px;
  }

  section.indexOutline:nth-child(2) {
    padding-bottom: 180px;
  }

  section.indexOutline:nth-of-type(4) {
    padding-top: 180px;
  }

  section.indexOutline > div {
    padding: 45px 40px 45px 200px;
    width: 800px;
  }

  section.indexOutline:nth-of-type(4) > div,section.indexOutline:nth-of-type(8) > div {
    padding: 45px 135px 45px 180px;
    width: 900px;
    margin-left: auto;
  }

  section.indexOutline h3 {
    font-size: 41px;
    line-height: 56px;
    letter-spacing: 6.8px;
  }
  section.indexOutline:nth-of-type(4) h3, section.indexOutline:nth-of-type(8) h3 {
    width: fit-content;
    text-align: right;
    margin-left: auto;
  }

  section.indexOutline p {
    margin-top: 20px;
    width: 530px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 2.6px;
  }

  section.indexOutline:nth-of-type(4) p, section.indexOutline:nth-of-type(8) p {
    margin-left: auto;
    width: 470px;
  }

  section.indexOutline .button {
    margin-top: 40px;
    margin-left: 15px;
    padding: 10px 15px;
    width: 250px;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.7px;
    align-items: center;
  }

  section.indexOutline:nth-of-type(4) .button, section.indexOutline:nth-of-type(8) .button {
    margin-left: auto;
    margin-right: 15px;
  }

  section.indexOutline .button span {
    width: 6px;
    height: 6px;
  }

  section.indexOutline picture {
    z-index: 1;
    position: absolute;
  }

  section.indexOutline:nth-of-type(3) picture {
    left: 480px;
    bottom: -115px;
    width: 400px;
  }

  section.indexOutline:nth-of-type(4) picture {
    right: 560px;
    top: 476px;
    width: 400px;
  }

  section.indexOutline:nth-of-type(8) picture {
    right: 560px;
    top: 300px;
    width: 400px;
  }

}

/** ビュアライズデータ　SP **/
section.visualData {
  padding: 60px 20px;
  background: #eaeaea;
}

section.visualData h3 {
  margin: 0 auto;
  border-bottom: 1px solid #282828;
  padding-bottom: 9px;
  width: fit-content;
  color: #282828;
  font-size: 16px;
  line-height: 100%;
  font-weight: 500;
  letter-spacing: 2.4px;
}

section.visualData ul.fig {
  padding: 0;
  list-style: none;
  margin: 30px auto;
  max-width: 510px;
}

section.visualData ul.fig li {
  margin-bottom: 30px;
}

section.visualData ul.fig li h4 {
  font-weight: normal;
  font-size: 21px;
  padding-left: 50px;
  position: relative;
}

section.visualData ul.fig li p {
  position: relative;
  padding-left: 50px;
}

section.visualData ul.fig li p span {
  font-size: 8px;
}

section.visualData ul.fig li h4::before {
  display: inline-block;
  transform: scale(0.25);
  position: absolute;
}

section.visualData ul li:nth-child(1) h4::before {
  content: url(../image/data1.svg?220208);
  top: -20px;
  left: -30px;
}

section.visualData ul li:nth-child(2) h4::before {
  content: url(../image/data2.svg?220208);
  top: -35px;
  left: -50px;
}

section.visualData ul li:nth-child(3) h4::before {
  content: url(../image/data3.svg?220208);
  top: -35px;
  left: -50px;
}

section.visualData ul.fig li p::before {
  content: "";
  position: absolute;
  border-right: 0.5px solid #282828;
  height: 90%;
  left: 27px;
  top: 5%;
}

section.visualData ul.notice {
  margin: 30px auto 0;
  max-width: 510px;
  padding: 0;
  list-style: none;
}

section.visualData ul.notice li p small {
  font-size: 10px;
  letter-spacing: 1.4px;
}

/* アクセス SP*/
section.visualData div.access ul {
  padding: 0;
  list-style: none;
  font-size: 17px;
}

section.visualData div.access ul li {
  padding: 15px 0;
}

section.visualData div.access ul dl dt {
  margin-bottom: 10px;
}

section.visualData div.access ul dl dd {
  display: flex;
  align-items: flex-start;
}

section.visualData div.access ul dl dd iframe {
  width: 50%;
  height: auto;
  padding-right: 15px;
}

section.visualData div.access ul dl dd div {
  font-size: 13px;
}

section.visualData div.access ul dl dd div p:first-of-type {
  margin-bottom: 10px;
}

section.visualData div.access ul dl dd div a {
  color: #282828;
  text-decoration: none;
}

/* アクセス PC*/
@media screen and (min-width: 900px) {
  section.visualData.access {
    padding: 170px 50px 45px;
  }
  section.visualData div.access ul {
    font-size: 20px;
    display: flex;
    align-items: center;
  }

  section.visualData div.access ul dl dd div {
    font-size: 16px;
  }

}

section.interview div.carouselCard {
  background-color: #fff;
  padding: 15px;
  width: 252px;
  height: 380px;
  border: 0.1px solid #EFEFEF;
  margin: 0 auto;
}

section.interview div.carouselCard p:nth-child(1) {
  text-align: center;
  font-size: 12px;
}

section.interview div.carouselCard img {
  margin: 15px 0;
}

section.interview div.carouselCard p.comment {
  font-size: 14px;
}


@media screen and (min-width: 900px) {
  section.visualData {
    margin: 0 auto;
    padding: 100px 100px 50px;
  }

  section.visualData h3 {
    margin: 0 auto;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 2.1px;
  }

  section.visualData ul.fig {
    margin: 70px auto;
  }

  section.visualData ul.fig li h4 {
    font-size: 25px;
  }

  section.visualData ul.notice {
    margin: 30px auto 0;
    max-width: 510px;
  }

  section.visualData ul.notice li p small {
    font-size: 8px;
    letter-spacing: 1px;
  }

}

/** インタビュー　**/
section.interview {
  padding: 60px 0 100px;
  background: #eaeaea;
}

section.interview h3 {
  margin: 0 auto;
  border-bottom: 1px solid #282828;
  padding-bottom: 9px;
  width: fit-content;
  font-size: 16px;
  line-height: 100%;
  font-weight: 500;
  letter-spacing: 2.4px;
}


@media screen and (min-width: 900px) {
  section.interview {
    padding: 45px 0 80px;
  }

  section.interview h3 {
    margin: 0 auto;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 2.1px;
  }

  section.interview div.Carousel ul {
    justify-content: center;
  }
}

/** SNS SP **/
section.sns {
  padding: 80px 30px 50px;
  background: #eaeaea;
}

section.sns ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

section.sns ul li {
  padding: 35px 0 5px;
  background: #fff top / contain no-repeat;
  border: 1px solid #282828;
}

section.sns ul li:first-of-type {
  background-image: url('../image/index/sp/instagram.jpg');
  background-position: left;
}

section.sns ul li:last-of-type {
  margin-top: 50px;
  background-image: url('../image/index/sp/youtube.jpg');
  background-position: right;
}

section.sns ul li p {
  color: #282828;
  font-size: 14px;
  line-height: 23px;
  letter-spacing: 2.1px;
  text-align: center;
}

section.sns ul li:nth-child(1) p{
  margin-left: 90px;
}

section.sns ul li:nth-child(2) p{
  margin-right: 80px;
}

section.sns ul li .button {
  margin: 15px auto 0;
  padding: 10px 25px;
  width: 220px;
}

/** SNS PC **/
@media screen and (min-width: 900px) {
  section.sns {
    padding: 70px 220px 47px;
  }

  section.sns ul {
    margin: 0 auto;
    width: 100%;
    max-width: 520px;
  }

  section.sns ul li {
    padding: 35px 0 25px;
    border: 1px solid #282828;
  }

  section.sns ul li:first-of-type {
    background-position: left;
    background-image: url('../image/index/pc/instagram.jpg');
  }

  section.sns ul li:last-of-type {
    background-image: url('../image/index/pc/youtube.jpg');
  }

  section.sns ul li p {
    margin: 0;
    text-align: center;
    font-size: 11px;
    line-height: 23px;
    letter-spacing: 2.1px;
  }

  section.sns ul li:nth-child(1) p, section.sns ul li:nth-child(2) p {
    margin: 0;
  }

  section.sns ul li .button {
    margin: 24px auto 0;
    padding: 10px 25px;
    width: 220px;
    font-size: 16px;
    letter-spacing: 2.3px;
  }
}


/* ダイエットメソッド */
/* ダイエットメソッド概要SP */
section.detailDiet {
  position: relative;
  max-width: 1100px;
}

section.detailDiet > div {
  padding: 75px 30px 100px;
}

section.detailDiet h3 {
  font-size: 8vw;
  font-weight: 500;
  line-height: 10.667vw;
  letter-spacing: 0.533vw;
}

section.detailDiet h3 span {
  letter-spacing: -0.267vw;
}

section.detailDiet p {
  font-size: 17px;
  letter-spacing: 1.7px;
  padding: 10px 0;
}

section.detailDiet div.slidetoggle dl.slidetoggle_menu {
  padding: 10px;
  border: 1px solid #000;
  margin-bottom: 10px;
}

section.detailDiet div.slidetoggle dt {
  display: flex;
  align-items: flex-end;
}

section.detailDiet div.slidetoggle dt img {
  width: 35%;
  margin-right: 10%;
}

section.detailDiet div.slidetoggle dt p {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

section.detailDiet div.slidetoggle dt p::after {
  font-family: "Font Awesome 5 Free";
  content: '\2b';
  font-weight: 900;
  font-size: 30px;
  margin-left: 10px;
}

section.detailDiet div.slidetoggle dd p {
  padding: 10px;
}

section.detailDiet div.slidetoggle dd a {
  margin: 15px 0;
}

section.detailDiet ul.threeMethod-effect {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}

section.detailDiet ul.threeMethod-effect li {
  width: 30%;
  height: 24vw;
  background-image: url(../image/common/check.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin: 10px 1.5%;
  font-size: 3.733vw;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

section.detailDiet.orderMade-treatment ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  list-style: none;
  padding: 0;
}

section.detailDiet.orderMade-treatment ul li {
  margin: 10px 0 ;
  font-size:5.333vw;
}

section.detailDiet.orderMade-treatment ul li span {
  letter-spacing: -0.533vw;
}

section.detailDiet.orderMade-treatment ul li::before {
  font-family: "Font Awesome 5 Free";
  content: '\f058';
  font-weight: 900;
  font-size:5.333vw;
  margin-right: 10px;
  color: #4ec200;
}

section.detailDiet.twoTimes {
  background-image: url(../image/diet/arrow2-5.png);
  background-size: auto 80%;
  background-repeat: no-repeat;
  background-color: rgba(255,255,255,.6);
  background-blend-mode: lighten;
}

section.program_flow div.program_flowCard {
  width: 66.667vw;
  list-style: none;
  margin: 0 30px;
}

section.program_flow li.carouselList {
  border-right: 1px solid #000;
}

section.program_flow li.carouselList:first-of-type div.program_flowCard {
  margin-left: 0;
}

section.program_flow div.program_flowCard p {
  font-size:5.333vw;
}

section.program_flow div.program_flowCard ul {
  list-style: none;
  padding: 20px 0;
}

section.program_flow div.program_flowCard ul li {
  margin: 10px 0;
  font-size: 17px;
  border-left: .5px solid #000;
  padding-left: 10px;
  margin-left: 10px;
}

/** ダイエットメソッド概要 PC **/
@media screen and (min-width: 900px) {
  section.detailDiet {
    max-width: 1100px;
    margin: 0 auto;
  }

  section.detailDiet h3 {
    font-size: 39px;
    font-weight: 500;
    line-height: 65px;
    letter-spacing: 0;
    max-width: 750px;
  }

  section.detailDiet div.slidetoggle {
    max-width: 750px;
    padding: 10px 0;
  }

  section.detailDiet div.slidetoggle dl.slidetoggle_menu {
    padding: 10px;
    cursor: pointer;
  }

  section.detailDiet div.slidetoggle dt img {
    width: 10%;
  }

  section.detailDiet div.slidetoggle dd {
    padding: 0 30px 0 142px;
  }

  section.detailDiet div.slidetoggle dd p {
    padding: 0;
  }

  section.detailDiet p {
    font-size: 20px;
    letter-spacing: 3.1px;
    max-width: 750px;
  }

  section.detailDiet dt p {
    font-size: 25px;
  }

  section.detailDiet img {
    max-width: 485px;
  }

  section.detailDiet ul.threeMethod-effect {
    flex-wrap: nowrap;
  }

  section.detailDiet ul.threeMethod-effect li {
    font-size: 20px;
    height: 10vw;
    width: 20%;
    background-position: center;
  }

  section.detailDiet.orderMade-treatment ul {
    padding-left: 50px;
  }

  section.detailDiet.orderMade-treatment ul li {
    font-size: 25px;
  }

  section.detailDiet.orderMade-treatment ul li::before {
    font-size: 25px;
  }

  section.detailDiet.twoTimes {
    background-size: auto 100%;
    background-position: center;
  }

  section.program_flow div.program_flowCard {
    width: 480px;
  }

  section.program_flow div.program_flowCard p {
    font-size: 25px;
  }

  section.program_flow div.program_flowCard ul li {
    font-size: 20px;
  }

}



/** コンセプト **/
/** コンセプト概要 SP **/
section.detailClinic {
  position: relative;
  max-width: 1100px;
}

section.detailClinic > div {
  padding: 75px 30px 100px;
  background: #fff;
}

section.detailClinic h3 {
  font-size: 7.5vw;
  font-weight: 500;
  line-height: 10.667vw;
  letter-spacing: 0.533vw;
}

section.detailClinic p {
  font-size: 17px;
  line-height: 36px;
  letter-spacing: 1.7px;
  padding: 10px 0;
}

section.detailClinic p.thought {
  line-height: 30px;
  margin: 20px 0;
}

section.visualData.doctor p {
  font-size: 17px;
}

section.visualData.doctor div.icon,
section.visualData.subDoctor div.icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 15px 0;
}

section.visualData.doctor div.icon img,
section.visualData.subDoctor div.icon img {
  width: 80px;
  border-radius: 50%;
}

section.visualData.doctor div.biography {
  margin: 30px 0;
}

section.visualData.doctor div.biography h4 {
  font-weight: normal;
  text-align: center;
  font-size: 17px;
}

section.visualData.doctor div.biography p {
  margin: 15px 0;
  font-size: 15px;
}

section.visualData.subDoctor div.doctorCard {
    width: min(80vw, 300px);
    height: 380px ;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 170%;
}

section.visualData.subDoctor div.doctorCard ul {
  margin: 15px auto;
  list-style: inside;
  font-size: 12px;
  padding: 0;
  line-height: 150%;
  letter-spacing: 0;
}

section.visualData.media div.mediaCard {
  width: 250px;
  height: 300px;
  background-color: #fff;
  padding: 20px;
}

section.visualData.media div.mediaCard div {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 90px;
  margin-bottom: 25px;
}

section.visualData.media div.mediaCard p {
  font-size: 12px;
  line-height: inherit;
  margin-bottom: 5px;
}

section.visualData.media div.mediaCard p:first-of-type {
  font-size: 17px;
  margin-bottom: 60px;
  text-align: center;
}

section.visualData.media div.mediaCard div img {
  width: 80%;
  margin: 5px;
}

section.visualData.media div.mediaCard.mezamashi div img {
  width: 60%;
}

section.visualData.media div.mediaCard.mezamashi div img.logo {
  width: 35%;
}

section.visualData.media div.mediaCard.voce div img {
  width: 35%;
}

section.visualData.media div.mediaCard.voce div img.logo {
  width: 30%;
}

section.visualData.media div.mediaCard.anan div img {
  width: 35%;
}

section.visualData.media div.mediaCard.anan div img.logo {
  width: 45%;
}

section.visualData.media div.mediaCard.reiwa div img {
  width: 45%;
}


/** コンセプト概要 PC **/
@media screen and (min-width: 900px) {
  section.detailClinic {
    max-width: 1100px;
    margin: 0 auto;
  }

  section.detailClinic > div {
    padding: 80px 45px 80px 80px;
  }

  section.detailClinic h3 {
    font-size: 39px;
    font-weight: 500;
    line-height: 65px;
    letter-spacing: 0;
  }

  section.detailClinic p {
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 3.1px;
  }

  section.detailClinic picture {
    width: 330px;
    bottom: -140px;
  }

  section.visualData.doctor > div {
    padding: 0 20.833vw;
  }

  section.visualData.subDoctor ul.carouselArea {
    justify-content: space-around;
  }

}

/* 料金表 */
section.priceTable {
  position: relative;
  padding: 40px 30px;
}

section.priceTable:not(:first-of-type) {
  max-width: 550px;
  margin: 0 auto;
}

section.priceTable h3 {
  font-size: 5.333vw;
  font-weight: 500;
  line-height: 10.667vw;
  text-align: center;
  margin-bottom: 15px;
}

section.priceTable h3 span {
  font-size: 4vw;
  margin-left: 10px;
}

section.priceTable p {
  font-size: 4.533vw;
  line-height: 9.6vw;
  letter-spacing: 0.453vw;
  padding: 10px 0;
}

section.priceTable dl {
  font-size: 4.533vw;
  line-height: 9.6vw;
  letter-spacing: 0.453vw;

}

section.priceTable dl dt {
  float: left;
}

section.priceTable dl dt span {
  font-size: 4vw;
}

section.priceTable dl dd {
  text-align: right;
  font-size: 4vw;
}

section.priceTable.course dl dt {
  letter-spacing: 0vw;
}

section.priceTable.course dl dd:nth-child(3n) {
  text-align: left;
  line-height: 7vw;
  margin-bottom: 15px;
}

section.priceTable.course dl dd:nth-child(3n) span {
  font-size: 3.2vw;
}

section.priceTable ul.note {
  list-style: none;
  font-size: 11px;
  line-height: inherit;
  padding: 0;
}

/* 料金 PC */
@media screen and (min-width: 900px) {
  section.priceTable h3,
  section.priceTable h3 span,
  section.priceTable p,
  section.priceTable dl * ,
  section.priceTable.course dl dd:nth-child(3n) {
    line-height: normal;
    letter-spacing: normal;
  }

  section.priceTable h3 {
    font-size: 25px;
  }

  section.priceTable h3 span {
    font-size: 18px;
  }

  section.priceTable p {
    font-size: 18px;
  }

  section.priceTable dl {
    font-size: 18px;
  }

  section.priceTable dl dd {
    font-size: 16px;
  }

  section.priceTable.course dl dd:nth-child(3n) {
    font-size: 14px;
    margin-bottom: 25px;
  }

  section.priceTable.course dl dd:nth-child(3n) span {
    font-size: 12px;
  }

  section.priceTable dl dt span {
    font-size: 18px;
  }

  section.detailClinic.priceTable_cta {
    max-width: 550px;
  }

}


/* frequentlyAskedQuestions */
section.frequentlyAskedQuestions > div {
  max-width: 750px;
  margin: 0 auto;
  padding: 75px 30px 100px;
}

section.frequentlyAskedQuestions p {
  font-size: 17px;
  letter-spacing: 1.7px;
  padding: 10px 0;
}

section.frequentlyAskedQuestions div.slidetoggle dl.slidetoggle_menu {
  padding: 10px;
  border: 1px solid #000;
  margin-bottom: 10px;
  cursor: pointer;
  transition: .3s all ease;
}

section.frequentlyAskedQuestions div.slidetoggle dl.slidetoggle_menu:hover {
  box-shadow: 0px 3px 6px rgba(221, 58, 118, .1);
  border-color: #dd3a76;
}

section.frequentlyAskedQuestions div.slidetoggle dt {
  display: flex;
  align-items: flex-end;
}

section.frequentlyAskedQuestions div.slidetoggle dt p {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

section.frequentlyAskedQuestions div.slidetoggle dt p::after {
  font-family: "Font Awesome 5 Free";
  content: '\2b';
  font-weight: 900;
  font-size: 30px;
  margin-left: 10px;
}

section.frequentlyAskedQuestions div.slidetoggle dt p span {
  padding-right: 10px;
}

section.frequentlyAskedQuestions div.slidetoggle dd p {
  font-size: 15px;
  padding: 10px 10px 10px 35px;
}


/** ゴール SP **/
section.goal {
  padding: 140px 0 30px;
  background: #eaeaea;
}

section.goal > div {
  padding: 180px 30px 160px;
  background: #282828;
}

section.goal h3 {
  text-align: center;
  color: #fff;
  font-size: 34px;
  font-weight: 500;
  line-height: 54px;
  letter-spacing: 3.7px;
}

section.goal p {
  color: #fff;
  font: 17px;
  line-height: 38px;
  letter-spacing: .9px;
}

/** ゴール PC **/
@media screen and (min-width: 900px) {
  section.goal {
    padding: 54px 0;
  }

  section.goal > div {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding: 80px 95px 75px;
    max-width: 510px;
  }

  section.goal h3 {
    font-size: 39px;
    line-height: 61px;
    letter-spacing: 4.3px;
  }

  section.goal p {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 1.5px;
    text-align: center;
  }
}

/** 3つの約束 SP **/
section.promise {
  padding: 30px 0 100px;
  background: #eaeaea;
}

section.promise h3 {
  margin: 0 auto;
  border-bottom: 1px solid #282828;
  padding-bottom: 9px;
  width: fit-content;
  font-size: 16px;
  letter-spacing: 2.4px;
}

section.promise ol {
  margin: 90px 0 0;
  padding: 0;
}

section.promise li {
  display: flex;
  flex-direction: column;
}

section.promise li:not(:first-of-type) {
  margin-top: 180px;
}

section.promise li picture {
  position: relative;
  width: 100%;
  height: auto;
}

section.promise li picture::before {
  content: attr(title);
  position: absolute;
  display: block;
  top: -70px;
  left: 30px;
  font-family: din-2014;
  font-size: 130px;
  letter-spacing: .4px;
}

section.promise li:nth-of-type(2) picture::before {
  left: auto;
  right: 30px;
}

section.promise li:last-of-type picture:first-of-type:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 30%;
  aspect-ratio: 125 / 287;
  background: url('../image/common/pc/ems.png') center / cover no-repeat;
}

section.promise li picture:nth-of-type(2) {
  display: none;
}

section.promise li > div {
  padding: 0 30px;
}

section.promise li p {
  margin-top: 30px;
  font-size: 17px;
  line-height: 36px;
  letter-spacing: 1.6px;
}

section.promise li h4 {
  position: relative;
  margin-top: -40px;
  font-size: 47px;
  font-weight: 500;
  line-height: 60px;
  letter-spacing: 3.4px;
  text-shadow: 1px 1px 2px #fff;
}

/** 3つの約束 PC **/
@media screen and (min-width: 900px) {
  section.promise {
    padding: 54px 0 65px;
  }

  section.promise h3 {
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 2px;
    padding-bottom: 10px;
  }

  section.promise ol {
    margin: 40px auto 0;
    max-width: 1100px;
  }

  section.promise ol li:not(:first-of-type) {
    margin-top: 20px;
  }

  section.promise li:first-of-type {
    flex-direction: row;
    justify-content: center;
    gap: 15px;
  }

  section.promise li:nth-of-type(2) {
    flex-direction: row-reverse;
    justify-content: center;
    gap: 20px;
  }

  section.promise li:last-of-type {
    margin-left: 170px;
    display: grid;
    grid-template-areas:
      "pic1 pic2"
      "div pic2";
    gap: 18px;
    justify-content: center;
    grid-template-columns: min-content;
    place-items: flex-start flex-end;
  }

  section.promise li:first-of-type picture {
    margin-top: 60px;
    width: 510px;
  }

  section.promise li:nth-of-type(2) picture {
    width: 560px;
  }

  section.promise li picture::before {
    content: "";
  }

  section.promise li:nth-of-type(2) picture::after {
    content: "";
    display: block;
    background: #282828;
    margin-top: 20px;
    width: 316px;
    height: 109px;
  }

  section.promise li:last-of-type picture:first-of-type {
    grid-area: pic1;
    width: 427px;
  }

  section.promise li:last-of-type picture:first-of-type:after {
    top: -50px;
    left: -170px;
    width: 230px;
  }

  section.promise li:last-of-type picture:last-of-type {
    display: block;
    grid-area: pic2;
    width: 289px;
  }

  section.promise li > div {
    position: relative;
    padding: 30px 50px;
    height: fit-content;
    background: #fff;
  }

  section.promise li:first-of-type > div {
    width: 360px;
  }

  section.promise li:first-of-type > div::after {
    content: "";
    position: absolute;
    bottom: -75px;
    left: 0;
    display: block;
    width: 61px;
    aspect-ratio: 1 / 1;
    background: #282828;
  }

  section.promise li:nth-of-type(2) > div {
    margin-top: 170px;
    width: 300px;
  }

  section.promise li:last-of-type > div {
    padding: 30px 20px;
    width: 300px;
  }

  section.promise li:last-of-type > div::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: -73px;
    width: 53px;
    aspect-ratio: 1 / 1;
    background: #282828;
  }

  section.promise li h4 {
    position: relative;
    display: flex;
    gap: 15px;
    margin: 0;
    font-size: 23px;
    line-height: 30px;
    letter-spacing: 0;
  }

  section.promise li h4::before {
    content: attr(title);
    display: block;
    font-family: din-2014;
    font-size: 65px;
    line-height: 100%;
    letter-spacing: .2px;
  }

  section.promise li p {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 2.1px;
  }
}

/** ドクター **/
/** ドクター概要 SP **/
section.doctorDetail {
  padding: 60px 30px 0;
  background: #eaeaea;
}

section.doctorDetail h2 {
  margin: 0 auto;
  width: 193px;
  text-align: center;
  color: #282828;
  font-size: 14px;
  letter-spacing: 2.8px;
}

section.doctorDetail h2::before {
  content: attr(title);
  display: block;
  margin-bottom: 5px;
  border-bottom: 1px solid #282828;
  padding-bottom: 5px;
  font-size: 16px;
  letter-spacing: 3.2px;
}

section.doctorDetail p {
  margin-top: 40px;
  color: #282828;
  font-size: 17px;
  line-height: 36px;
  letter-spacing: 1.8px;
}

@media screen and (min-width: 900px) {
  section.doctorDetail {
    margin: 0 auto;
    padding: 100px 280px 75px;
  }

  section.doctorDetail h2 {
    width: 220px;
    text-align: center;
    font-size: 15px;
    letter-spacing: 1.4px;
  }

  section.doctorDetail h2::before {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-size: 29px;
    letter-spacing: 3px;
  }

  section.doctorDetail p {
    margin: 42px auto 0;
    width: 400px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 1.6px;
  }
}

/** ドクターメッセージ SP **/
section.doctorMessage {
  padding: 40px 30px 0;
  background: #eaeaea;
}

section.doctorMessage h3 {
  position: relative;
  margin: 0 auto;
  padding: 1px 50px;
  width: fit-content;
  background: #282828;
  text-align: center;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 1.1px;
}

section.doctorMessage h3::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 18px 10px;
  border-color: transparent transparent transparent #eaeaea;
}

section.doctorMessage h3::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 10px 0 0;
  border-color: transparent #eaeaea transparent transparent;
}

section.doctorMessage p {
  margin-top: 40px;
  font-size: 17px;
  line-height: 36px;
  letter-spacing: 1.8px;
}

/** ドクターメッセージ PC **/
@media screen and (min-width: 900px) {
  section.doctorMessage {
    padding: 75px 0 100px;
  }

  section.doctorMessage h3 {
    padding: 5px 100px;
    font-size: 20px;
    letter-spacing: 0.5px;
  }

  section.doctorMessage h3::before {
    border-width: 0 0 30px 10px;
  }

  section.doctorMessage h3::after {
    border-width: 30px 10px 0 0;
  }

  section.doctorMessage p {
    margin: 42px auto 0;
    width: 400px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 1.6px;
  }
}


/** クリニック **/
/** クリニック一覧 **/
section.clinicList {
  padding: 20px 0 60px;
  background: #eaeaea;
}

section.clinicList ul {
  margin: 0;
  padding: 0;
}

section.clinicList li {
  margin-top: 50px;
}

section.clinicList li article {
  aspect-ratio: 375	/ 278;
  background-size: cover;
  background-position-x: 0;
  background-repeat: no-repeat;
}

section.clinicList li article.active {
  animation: bg-slide .5s .5s ease forwards;
}

section.clinicList li article a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .6);
  text-decoration: none;
  color: #fff;
  font-size: 23px;
  letter-spacing: 2.5px;
}

section.clinicList ul li:first-of-type article {
  background-image: url('../image/clinic/sp/shinjuku.jpg');
}

section.clinicList ul li:nth-of-type(2) article {
  background-image: url('../image/clinic/sp/shibuya.jpg');
}

section.clinicList ul li:nth-of-type(3) article {
  background-image: url('../image/clinic/sp/ginza.jpg');
}

/** クリニック一覧 **/
@media screen and (min-width: 900px) {
  section.clinicList {
    padding: 100px 0 150px;
  }

  section.clinicList li article {
    aspect-ratio: 4 / 1;
    font-size: 23px;
    letter-spacing: 2.5px;
  }

  section.clinicList ul li:first-of-type article {
    background-image: url('../image/clinic/pc/shinjuku.jpg');
  }

  section.clinicList ul li:nth-of-type(2) article {
    background-image: url('../image/clinic/pc/shibuya.jpg');
  }

  section.clinicList ul li:nth-of-type(3) article {
    background-image: url('../image/clinic/pc/ginza.jpg');
  }

  section.clinicList ul li article a {
    background: none;
  }
}

/** クリニック情報 SP **/
section.clinicInfo {
  display: flex;
  flex-direction: column;
  background: #eaeaea;
  padding: 10px 50px 50px;
}

section.clinicInfo dl dt {
  display: flex;
  margin-top: 50px;
  color: #282828;
  font-size: 18px;
  line-height: 23px;
  letter-spacing: 3.3px;
}

section.clinicInfo dl dd {
  margin-top: 10px;
  color: #282828;
  font-size: 16px;
  line-height: 27px;
  letter-spacing: 1.6px;
}

section.clinicInfo dl dt::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  background: #282828;
  width: 8px;
  height: 23px;
  transform: skewX(-25deg);
}

section.clinicInfo map {
  display: block;
  margin-top: 20px;
}

section.clinicInfo map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 332 / 237;
}

/** クリニック情報 PC **/
@media screen and (min-width: 900px) {
  section.clinicInfo {
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    padding: 100px 100px 140px;
  }

  section.clinicInfo dl {
    margin-right: 60px;
    width: 260px;
  }

  section.clinicInfo dl dt {
    font-size: 16px;
    letter-spacing: 3px;
  }

  section.clinicInfo dl dt::before {
    background: #282828;
    height: 22px;
  }

  section.clinicInfo dl dd {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1.1px;
  }

  section.clinicInfo map {
    margin: 0;
    width: 440px;
    height: 310px;
  }
}

/** ブログ **/
/** ブログインデックス SP **/
section.articleList {
  background: #eaeaea;
  padding: 40px 0 20px;
}

section.articleList ul {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

section.articleList li:not(:first-of-type){
  margin-top: 20px;
}

section.articleList li article {
  padding: 40px 30px;
  width: 100%;
  background: #fff;
  transition: .3s ease all;
}

section.articleList li article:hover {
  transform: translate(-5px, -5px);
  box-shadow: 0px 0px 10px #00000029;
}

section.articleList li article a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: #282828;
}

section.articleList li article:hover {
  transform: translate(-5px, -5px);
}

section.articleList li article picture img {
  aspect-ratio: 39 / 14;
  width: 100%;
  object-fit: cover;
}

section.articleList li article time {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
  font-size: 16px;
  letter-spacing: 0;
}

section.articleList li article time span:last-of-type {
  letter-spacing: 1px;
}

section.articleList li article h3 {
  margin-top: 10px;
  border-top: 2px solid #282828;
  border-bottom: 2px solid #282828;
  padding: 12px 0;
  font-weight: 600;
  font-size: 27px;
}

section.articleList li article p {
  margin-top: 25px;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0.9px;
}

nav.pagination {
  overflow: hidden;
  background: #eaeaea;
}

nav.pagination h2 {
  display: none;
}

nav.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 11px;
  margin: 20px 0 90px;
  padding: 0;
  list-style: none;
}

nav.pagination .nav-links .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  color: #000;
  font-size: 17px;
  text-decoration: none;
}

nav.pagination .nav-links .page-numbers.current {
  background: #000;
  color: #fff;
}

nav.pagination .nav-links .next,
nav.pagination .nav-links .prev {
  background: transparent;
  color: #000;
  font-size: 17px;
}

/** ブログ一覧 PC **/
@media screen and (min-width: 900px) {
  section.articleList {
    padding: 60px 70px 0;
  }

  section.articleList ul {
    margin: 0 auto;
    width: 100%;
    max-width: 800px;
  }

  section.articleList ul li:not(:first-of-type){
    margin-top: 10px;
  }

  section.articleList ul li article {
    display: flex;
  }

  section.articleList ul li article picture {
    margin-right: 10px;
  }

  section.articleList ul li article picture img {
    width: 150px;
    max-width: 150px;
    aspect-ratio: 153 / 140;
  }

  section.articleList ul li article time {
    font-size: 11px;
  }

  section.articleList ul li article h3 {
    margin-top: 6px;
    font-size: 20px;
  }

  section.articleList ul li article p {
    margin-top: 11px;
    font-size: 11px;
    line-height: 26px;
    letter-spacing: .6px;
  }

  nav.pagination .nav-links .page-numbers {
    width: 21px;
    height: 21px;
    font-size: 13px;
  }


  nav.pagination .nav-links .next,
  nav.pagination .nav-links .prev {
    font-size: 13px;
  }
}

/** 旧型対応 **/
@media screen and (max-width: 360px) {

  section.mainVisual.menu .copy {
    margin: 30px 0 0 10px
  }

  section.mainVisual.menu .badge {
    font-size: 14px;
    width: 100px;
    height: 100px;
    margin-top: -50px;
    right: 0;
  }

  section.mainVisual.menu .firstPress {
    padding: 20px 20px;
  }

  section.recommendedFor ol li p {
    padding: 70px 10px 30px;
  }

  section.visualData ul.fig {
    padding: 0 10px;
  }
/*
  footer {
    padding: 20px 10px 15px;
  }
*/
}

/** その他 **/
section.privacypolicy, section.commercial {
  margin: 50px 0 80px 20px;
}
.privacypolicy-title, .commercial-title {
font-size: 20px;
text-align: center;
margin-bottom: 20px;
}

p.privacypolicy-notice {
  margin-bottom: 20px;
  width: 90%;
}

dl.privacypolicy-content {
  width: 90%;
}

dl.privacypolicy-content dd {
  margin-bottom: 20px;
}

dl.privacypolicy-content dt {
  font-weight: bold;
  margin-bottom: 10px;
}
dl.colorDl {
  width: 90%;
  display: flex;
  flex-wrap: wrap;
}

dl.colorDl dt {
  width: 40%;
  font-weight: bold;
  background: #f0ebde;
}

dl.colorDl dd {
  width: 60%;
}
dl.colorDl dt, dl.colorDl dd {
  box-sizing: border-box;
  padding: 10px;
  margin-bottom: 2px;
}

dl.simpleDl {
  width: 90%;
}

dl.simpleDl dt {
  font-weight: bold;
  margin-bottom: 10px;
}

dl.simpleDl dd {
  margin-bottom: 20px;
}

/*
reservation new
===========================================*/
section.reservation {
  letter-spacing: 0.2em;
  font-size: 14px;
}

section.reservation h3 {
  font-size: 18px;
  font-weight: normal;
  text-align: center;
  line-height: 200%;
}

section.reservation .note {
  font-size: 12px;
  letter-spacing: 0em;
}

section.reservation > div:not(:nth-child(1)), section.reservation > form#reservation_form {
  padding: 0 4vw;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}

section.reservation li {
  list-style: none;
}

section.reservation div.reservation_fv {
  background-color: #E384A6;
  text-align: center;
  padding: 3vh 0;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}

section.reservation div.reservation_fv h2 {
  font-size: 22px;
}

section.reservation div.reservation_fv h2 span{
  display: block;
  font-size: 18px;
  padding-top: 1em;
  font-weight: normal;
  font-style: italic;
  position: relative;
}

section.reservation div.reservation_fv h2 span::after {
    content: url(../image/reservation/decoration_counseling.png);
    display: inline-block;
    transform: scale(0.55);
    vertical-align: middle;
    position: absolute;
    top: 60%;
    left: 0%;
}

.reservation_flow{
  margin-bottom: 64px;
}

.reservation_flow__title{
  text-align: center;
}

.reservation_flow__title::before,
.reservation_flow__title::after{
  content: "";
  display: inline-block;
  max-width: 170px;
  width: 100%;
  height: 1px;
  background-color: #282828;
  vertical-align: middle;
}

.reservation_flow__title::before{
  margin-right: 1em;
}

.reservation_flow__title::after{
  margin-left: 1em;
}

.reservation_flow__title--span{
  font-size: 28px;
  color: #DD3A76;
}

.reservation_flow_content {
    display: flex;
    padding: 0 15px;
    max-width: 450px;
    margin: 1em auto;
}

.reservation_flow_content__item {
    background-color: #FFDFEB;
    color: #F572A1;
    letter-spacing: 0.1em;
    padding: 10px 0 10px 20px;
    position: relative;
    flex: 1;
    height: 60px;
    margin-right: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}



.reservation_flow_content__item:nth-child(1){
    padding-left: 5px;
}

.reservation_flow_content__item::after {
    content: "";
    position: absolute;
    /* inset: 0px -19px auto auto; */
    top: 0;
    right: -19px;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 20px solid #FFDFEB;
    z-index: 2;
}

.reservation_flow_content__item:not(:first-child)::before {
    content: "";
    position: absolute;
    /* inset: 0px auto auto 0px; */
    top: 0;
    left: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 20px solid rgb(255, 255, 255);
    z-index: 1;
}

@media screen and (min-width: 375px) {
    .min-375 {
      display: none;
    }
}

section.reservation div.reservation_accordion {
  margin-bottom: 20px;
}

section.reservation div.reservation_accordion div.reservation_accordion_head {
  text-align: center;
  background-color: #E384A6;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px 0 25px;
}

section.reservation div.reservation_accordion div.reservation_accordion_head h3 {
  color: #fff;
  position: relative;
}

section.reservation div.reservation_accordion div.reservation_accordion_head span {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 1em;
  height: 0.2em;
  background: currentColor;
  border-radius: 0.1em;
  position: relative;
  margin-left: 10px;
}

section.reservation div.reservation_accordion div.reservation_accordion_head span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}

section.reservation div.reservation_accordion div.reservation_accordion_head span.open::before {
  opacity: 0;
}

section.reservation div.reservation_accordion div.reservation_accordion_body {
  background-color: #FFEFFB;
  padding-bottom: 10px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul {
  padding: 10px 2vw 16px 2vw;
  max-width: 500px;
  margin: 0 auto;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li {
  margin: 25px 0;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li dl {
  display: flex;
  justify-content:space-around;
  margin-bottom: 64px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li dl dt {
  flex: 1;
  max-width: 130px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #fff;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li dl dt span {
  padding: 5px 14px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li:not(:last-child) dl dt::after {
  content: "";
  border: 1px solid #DCDCDC;
  height: 48px;
  right: 50%;
  bottom: -58px;
  position: absolute;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li dl dd {
  flex: 1;
  font-size: 11px;
  max-width: 300px;
  border: 0.5px solid #fff;
  padding: 8px 16px;
  margin-left: 16px;
}


/* update-カウンセリングフロー・FAQ
=========================================== */
section.reservation div.reservation_accordion div.reservation_accordion_body p {
    font-size: 12px;
    letter-spacing: 0.14em;
    line-height: 153%;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li {
    background-color: #fff;
    padding: 10px 25px;
    background-repeat: no-repeat;
    background-size: 70px;
    background-position-x: -14px;
    background-position-y: -14px;
    position: relative;
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_flow ul li:not(:last-child):after {
    content: "";
    display: block;
    vertical-align: middle;
    color: #E384A6;
    line-height: 1;
    width: 15px;
    height: 15px;
    border: 0.1em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    position: absolute;
    right: 50%;
    bottom: -11%;
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_flow ul li:nth-child(1) {
    background-image: url(../image/reservation/1.png);
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_flow ul li:nth-child(2) {
    background-image: url(../image/reservation/2.png);
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_flow ul li:nth-child(3) {
    background-image: url(../image/reservation/3.png);
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_flow ul li:nth-child(4) {
    background-image: url(../image/reservation/4.png);
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_flow ul li:nth-child(5) {
    background-image: url(../image/reservation/5.png);
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li h4 {
    text-align: center;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 0.06em;
    text-decoration: underline;
    text-underline-position: under;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li .content {
    display:flex;
    justify-content: space-around;
    align-items: center;
    margin-top: 10px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li .content picture {
    flex: 1;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li .content img {
    width: 100px;
    margin: 0 auto;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li .content p {
    flex: 1;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li.onlineOrOffline {
    display: flex;
    justify-content: space-around;
    padding-left: 35px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li.onlineOrOffline h4 {
    text-decoration: none;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li.onlineOrOffline h4.online::after {
  content: '';
  background-image: url(../image/reservation/arrow_under1.png);
  display: inline-block;
  width: 80%;
  background-size: contain;
  background-repeat: no-repeat;
  height: 35%;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li.onlineOrOffline h4.offline::after {
  content: '';
  background-image: url(../image/reservation/arrow_under2.png);
  display: inline-block;
  width: 80%;
  background-size: contain;
  background-repeat: no-repeat;
  height: 35%;
}


section.reservation div.reservation_accordion div.reservation_accordion_body ul li.onlineOrOffline > div {
    display: flex;
    flex-direction: column;
}

section.reservation div.reservation_accordion div.reservation_accordion_body ul li.onlineOrOffline img {
    width: 70px;
    margin: 0 auto;
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_faq p.question {
    font-size: 14px;
    position: relative;
    margin-left: 70px;
    margin-bottom: 10px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_faq p.question::before {
    content: url(../image/reservation/question.png);
    display: inline-block;
    transform: scale(0.5);
    vertical-align: middle;
    position: absolute;
    top: -20px;
    left: -80px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_faq p.answer {
    position: relative;
    margin-left: 70px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_faq p.answer::before {
    content: url(../image/reservation/answer.png);
    display: inline-block;
    transform: scale(0.5);
    vertical-align: middle;
    position: absolute;
    top: -20px;
    left: -80px;
}

section.reservation div.reservation_accordion div.reservation_accordion_body.acc_body_faq span {
    display: block;
    justify-content: center;
    color: #000;
    line-height: 1;
    width: 45px;
    height: 0.5px;
    background: currentColor;
    margin: 0 auto 10px;
}

.closeModal_btn {
    display: block;
    position: relative;
    width: 40px;
    height: 40px;
    border: 2px solid #fff;
    border-radius: 100px;
    margin-top: 80px;
    cursor: pointer;
}

    /* common */
    .closeModal_btn::before, .closeModal_btn::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 2px;
        height: 20px;
        background: #fff;
    }

    .closeModal_btn::before {
        transform: translate(-50%,-50%) rotate(45deg);
    }

    .closeModal_btn::after {
        transform: translate(-50%,-50%) rotate(-45deg);
    }
    /* END common */

    .closeModal_btn {
        margin: 0 auto;
    }

/* END:update-カウンセリングフロー・FAQ
=========================================== */


section.reservation ul.fields {
  padding: 0;
}

section.reservation ul.fields li {
  margin-bottom: 40px;
}

section.reservation ul.fields li p:first-child {
  padding-left: 5px;
}

section.reservation ul.fields li input,
section.reservation ul.fields li textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 7px 14px;
    display: block;
    border: 1px solid #ced4da;
    border-radius: 5px;
}

section.reservation ul.fields li textarea {
  height: 100px;
}

section.reservation ul.fields li button {
  font-weight: bold;
  padding: 10px 10px;
  width: 80%;
  margin: 0 10%;
  appearance: none;
  outline: none;
  background: #E384A6;
  color: #fff;
  border: 2px solid #E384A6;
}

section.reservation ul.fields li button.submitbtn_res2 {
  width: 80%;
}

section.reservation ul.fields li button:disabled {
  background: #727171;
  border: 2px solid #727171;
}

section.reservation ul.fields li button.loading {
  pointer-events: none;
  opacity: 0.6;
}

section.reservation .required,
section.reservation .alert {
  margin-top: 10px;
  color: #E384A6;
  font-size: 13px;
}

section.reservation .formpolicy {
    margin: 40px auto;
    padding-top: 15px;
    font-size: 10px;
    line-height: 2.3;
    color: #868585;
}

section.reservation a.policy_link {
    color: #2CA0C9;
}

section.reservation label.policy_label {
    margin-bottom: 40px;
    display: block;
}

section.reservation .common-blueBox {
  padding-left: 5px;
  font-weight: bold;
}

section.reservation p.formTitle {
  font-size: 14px;
}

section.reservation div.selector_box {
  margin-bottom: 50px;
}

section.reservation div.selector_box .selector {
  display: flex;
  padding: 0;
}

section.reservation .selector li {
  padding: 10px;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  background-color: #E8E7E7;
  border: 1px solid #dd3a76;
}

section.reservation .selector li:not(:last-child) {
  margin-right: 3px;
}

section.reservation .selector li.active {
  background-color: #dd3a76;
  color: #fff;
}

section.reservation .set-treatment ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-top: 0;
}

section.reservation .set-treatment li {
  font-size: 12px;
  letter-spacing: 0.1em;
  font-family: 'Noto Sans JP', sans-serif;
  border: 1px solid rgba(0, 0, 0, .3);
  color: rgba(0, 0, 0, .3);
  border-radius: 100px;
  padding: 1px 5px;
  margin: 3px 3px;
  min-width: 60px;
  text-align: center;
}

section.reservation .set-treatment li span {
  font-size: 10px;
  letter-spacing: 0;
}

section.reservation .set-treatment li.active {
  border: 1px solid #DD3A76;
  color: #DD3A76;
}

section.reservation .calendarHeader {
  display: flex;
  margin: 10px;
  justify-content: space-between;
}

section.reservation .calendarHeader .prev, section.reservation .calendarHeader .next {
  font-size: 21px;
  font-weight: bold;
}

section.reservation .calendarHeader h3 {
  font-size: 21px;
  font-weight: bold;
}

section.reservation .calendarBody .columns {
  display: flex;
  justify-content: space-between;
  padding: 0;
}

section.reservation .calendarBody .columns > li {
  width: 100%;
}

section.reservation .calendarBody .rows {
  width: 100%;
  padding: 0;
}

section.reservation .calendarBody .rows > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  height: 40px;
  width: 100%;
  font-weight: bold;
}

section.reservation .calendarBody .rows.spots > li {
  align-items: flex-end;
}

section.reservation .calendarBody .day span {
  font-size: 13px;
  font-weight: normal;
}

section.reservation .calendarBody .day.sunday span {
  color: #DD3A76;
}

section.reservation .calendarBody .date {
  background: #fff;
  box-sizing: border-box;
  border: 3px solid #F0F0F0;
  border-radius: 5px;
}

section.reservation .calendarBody .date.full {
  background: #F0F0F0;
}

section.reservation .calendarBody .date.tel {
  background: #F0F0F0;
  fill: #727171;
  font-weight: bold;
  letter-spacing: -1px;
  font-size: 12px;
}

section.reservation .calendarBody .empty.active,
section.reservation .calendarBody .few.active {
  border: 3px solid #dd3a76;
  background: #dd3a76;
}

section.reservation .calendarBody .empty svg {
  fill: #DD3A76;
}

section.reservation .calendarBody .few svg {
  fill: #00B900;
}

section.reservation .calendarBody .empty.active svg,
section.reservation .calendarBody .few.active svg {
  fill: #fff;
}

section.reservation .calendarBody .full svg {
  fill: #727171;
}

section.reservation div.cancelCharge ul {
  padding: 0;
}

div.complete div.reservation_fv h2 {
  font-size: 18px
}

section.reservation div.complete_line {
  text-align: center;
  margin: 30px auto 70px;
}

section.reservation div.complete_line p.common-blueBox {
  border: 1px solid #dd3a76;
  border-radius: 5px;
  padding: 10px 0;
}

section.reservation div.complete_line p.common-blueBox::before {
  font-family: "Font Awesome 5 Free";
  content: '\f071';
  font-weight: 900;
  font-size: 14px;
  margin-right: 10px;
}

section.reservation div.complete_line p.complete_line_text {
  width: 90%;
  margin: 15px auto;
  font-size: 14px;
}

section.reservation div.complete_line a img {
  width: 90%;
  margin: 0 auto;
}

section.reservation div.reservation_info {
  margin-bottom: 70px;
}

section.reservation div.reservation_info h3 {
  font-weight: normal;
  font-size: 17px;
}

section.reservation div.reservation_info div.reservation_infoArea {
  background-color: #FFEFFB;
  font-size: 14px;
  padding: 15px 0;
}

section.reservation div.reservation_info div.reservation_infoArea div.reservation_info_cnt {
  display: flex;
  justify-content: flex-start;
  padding: 13px 0;
  margin: 0 10px;
}

section.reservation div.reservation_info div.reservation_infoArea div.reservation_info_cnt:not(:first-child) {
  border-top: 1px solid #fff;
}

section.reservation div.reservation_info div.reservation_infoArea div.reservation_info_cnt p.reservation_info_label {
  width: 90px;
}

@media screen and (max-width: 330px) {
  section.reservation .selector li{
    letter-spacing: 0;
  }
}

@media screen and (min-width: 900px) {
  /*
  reservation new
  ===========================================*/
/*
  footer.footer_reservation > div {
    margin: 0 auto;
    max-width: 380px;
    grid-template-areas: none;
  }
*/

  section.reservation div.reservation_accordion div.reservation_accordion_head {
    cursor: pointer;
  }

  section.reservation .selector li {
    cursor: pointer;
  }

  section.reservation .calendarBody .rows > li.few, section.reservation .calendarBody .rows > li.empty {
    cursor: pointer;
  }

}



/* オンライン診療 */
/* オンラインcommon */
section.online, section.detailOnline {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 4.267vw;
  letter-spacing: 0;
}

section.online ul, section.detailOnline ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

div.paddingIgnore {
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  margin-top: 20px;
}


a.button.onlineRes {
  display: block;
  text-align: center;
  width: 100%;
  max-width: 400px;
  padding: 15px 0;
  margin: 20px auto;
  border-radius: 100px;
  text-decoration: none;
  color: #333;
  background: linear-gradient(45deg, #ffa9c7, 70%, #ebe1e1);
  box-shadow: 0 0 10px 0 rgb(0 0 0 / 20%);
}

a.button.online {
  background-color: #333;
  color: #fff;
  display: block;
  width: 100%;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  max-width: 500px;
  margin: 0 auto;
}

a.button.online::after, a.button.onlineRes::after {
  font-family: "Font Awesome 5 Free";
  content: '\f105';
  font-weight: 900;
  margin-left: 20px;
}

section.detailOnline div.detailOnlineInner {
  padding: 25px 40px;
}

section.detailOnline h3 {
  font-size: 7vw;
  color: #f85e95;
  letter-spacing: 0;
  padding-top: 30px;
}

.plan__text{
  font-size: 4.267vw;
}

section.detailOnline h3 span.bg {
  color: #fff;
  background: linear-gradient(45deg, #ff5e95, 60%, #ebe1e1);
  padding: 0 5px;
}

section.online span.narrow, section.detailOnline span.narrow {
  letter-spacing: -0.533vw;
}

section.online span.narrow2, section.detailOnline span.narrow2 {
  letter-spacing: -0.3vw;
}


/* オンラインeach */
section.mainVisual.online {
  padding: 50px 20px;
  letter-spacing: 0.7vw;
}

section.mainVisual.online p {
  font-size: 5.067vw;
}

section.mainVisual.online h2 {
  font-size: 12vw;
  margin: 10px 0 0;
  opacity: 1;
  font-weight: bold;
  letter-spacing: 0;
  color: #ff80ac;
  background: linear-gradient(135deg, #ff80ac, 80%, #8b3351);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

section.mainVisual.online ul {
  margin: 25px 0 0 45%;
}

section.mainVisual.online li {
  background-color: #000;
  color: #fff;
  margin: 5px 0;
  padding: 5px;
  font-size: 5.6vw;
  display: inline-block;
}

section.detailOnline.underFv p.onlyOnline {
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 5px 20px;
}

section.detailOnline.underFv a.banner {
  width: 90%;
  display: block;
  max-width: 500px;
  margin: 20px auto;
}

section.detailOnline.intro {
  background: linear-gradient(45deg, #ffdaf0, 60%, #e6e6e6);
}

section.detailOnline.intro ul.merit li {
  margin: 5px 0;
}

section.detailOnline.intro ul.merit li span {
  font-size: 3.733vw;
  border: 1px solid #000;
  color: #000;
  padding: 0 1px;
  position: relative;
}

section.detailOnline.intro ul.merit li span::after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #000;
  width: 25px;
  height: 110%;
  margin-left: 3px;
}

section.detailOnline.intro ul.merit li p {
  position: relative;
  padding-left: 10px;
}

section.detailOnline.intro ul.merit li p::before {
  content: "";
  position: absolute;
  border-left: 1px solid #000;
  width: 1px;
  height: 90%;
  left: 0%;
  margin-top: 3px;
}

section.detailOnline.intro p.meritPoint {
  color: #000;
  padding: 5px;
  margin-top: 20px;
  border: 2px solid #000;
  font-weight: bold;
}

section.detailOnline.feature div.featureContent {
  margin: 10px 0 40px;
}

section.detailOnline.feature div.featureContent p {
  margin: 20px 0;
  font-size: 3.733vw;
  line-height: 170%;
}

section.detailOnline.feature div.featureContent p span.mark {
  font-weight: bold;
  font-size: 4.267vw;
  background:linear-gradient(transparent 70%, #ffff00 60%);
}

section.detailOnline.feature div.featureContent div.twoTimes img {
  background-color: #f2f2f2;
  padding: 5px;
  margin: 5px 0;
}

section.detailOnline.flow {
  background-image: url('../image/online/sp/bg_pink.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}

section.detailOnline.flow h3 {
  text-align: center;
}

section.detailOnline.flow p.flowSub {
  text-align: center;
  font-size: 5.6vw;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 0 10px;
  margin: 10px 0;
}

section.detailOnline.flow ul.flowList {
  margin-bottom: 40px;
}

section.detailOnline.flow ul.flowList li {
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 15px;
  margin: 15px 0;
}

section.detailOnline.flow ul.flowList li div > span {
  font-size: 30px;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  background-color: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

section.detailOnline.flow ul.flowList li h4 {
  margin: 10px 0 20px;
  font-size: 20px;
}

section.detailOnline.flow ul.flowList li img {
  width: 20%;
  margin: 0 auto 20px;
}

section.detailOnline.flow ul.flowList li:nth-child(5) img {
  width: 70%;
}

section.detailOnline.message p {
  line-height: 200%;
  margin: 10px 0;
}

section.detailOnline.message div.messageTwoTimes {
  margin: 20px auto 0;
  max-width: 600px;
}

section.detailOnline.message div.messageTwoTimes a {
  margin-top: 20px;
}

section.detailOnline.menu {
  padding: 20px 10px;
}

section.detailOnline.menu p {
  margin: 10px auto;
  max-width: 810px;
  font-size: 3.733vw;
}


/* オンラインTab */
@media screen and (min-width: 600px) {
  section.online, section.detailOnline  {
    font-size: 2.865vw;
  }

  section.detailOnline div.detailOnlineInner {
    padding: 50px;
  }

  .plan__text{
    font-size: 20px;
  }

  section.mainVisual.online {
    padding: 70px;
  }

  section.mainVisual.online p {
    font-size: 3.906vw;
  }

  section.mainVisual.online h2 {
    font-size: 9.115vw;
  }

  section.detailOnline h3 {
    font-size: 5.859vw;
  }

  section.detailOnline.intro ul.merit {
    padding: 30px;
  }

  section.detailOnline.feature div.featureContent div.twoTimes img {
    padding: 20px 15%;
  }

  section.detailOnline.feature div.featureContent p {
    font-size: 2.344vw;
    width: 80%;
    margin: 20px auto;
  }

  section.detailOnline.feature div.featureContent p span.mark {
    font-size: 2.604vw;
  }

  section.detailOnline.feature div.featureContent div.paddingIgnore {
    margin: 40px 0;
  }

  section.detailOnline.feature div.featureContent div.paddingIgnore img {
    width: 50%;
  }

  section.detailOnline.feature div.featureContent p {
    margin-left: 0;
  }

  section.detailOnline.flow p.flowSub {
    width: 65%;
    margin: 10px auto;
    font-size: 3.906vw;
  }

  section.detailOnline.flow ul.flowList {
    padding: 0 100px;
  }

  section.detailOnline.flow ul.flowList li {
    padding: 20px 55px;
  }

  section.detailOnline.flow ul.flowList li img {
    width: 25%;
  }

  section.detailOnline.message div.familiar div.paddingIgnore {
    margin: 20px 60px;
  }
}


/* オンラインPC */
@media screen and (min-width: 900px) {
  /* オンラインcommon */
  section.online, section.detailOnline {
    font-size: 22px;
  }

  section.detailOnline div.detailOnlineInner, section.detailOnline.menu {
    padding: 100px;
    max-width: 1200px;
    margin: 0 auto;
  }

  a.button.online {
    margin-top: 30px;
  }

  /* オンラインeach */
  section.mainVisual.online {
    background-size: cover;
    width: 100%;
    padding: 55% 0 0;
    height: 500px;
    box-sizing: border-box;
    position: relative;
  }

  section.mainVisual.online > div {
    position: absolute;
    top: 20%;
    left: 45%;
  }

  section.mainVisual.online p {
    font-size: 24px;
  }

  section.mainVisual.online h2 {
    font-size: 65px;
  }

  section.mainVisual.online ul {
    margin: 25px 20px 0 0;
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    width: 550px;
  }

  section.mainVisual.online li {
    font-size: 27px;
    width: 230px;
    text-align: center;
    margin-right: 20px;
    letter-spacing: 7px;
  }

  section.detailOnline.underFv div.detailOnlineInner {
    padding: 20px;
  }

  section.detailOnline.underFv p.onlyOnline {
    font-size: 20px;
  }

  section.detailOnline.underFv a.banner {
    margin-bottom: 50px;
  }

  section.detailOnline h3 {
    font-size: min(5.078vw, 52px);
    margin-bottom: 50px;
  }

  section.detailOnline h3:nth-child(2n) {
    text-align: right;
  }

  section.detailOnline.intro ul.merit {
    padding: 2.93vw;
  }

  section.detailOnline.intro ul.merit li {
    display: inline-block;
    margin: 0 1.953vw 20px 0;
    font-size: min(1.855vw,24px);
  }

  section.detailOnline.intro ul.merit li span {
    font-size: 18px;
  }

  section.detailOnline.intro p.meritPoint {
    font-size: 18px;
    text-align: center;
    max-width: 500px;
    margin: 0 auto;
    padding: 15px;
  }

  section.detailOnline.feature div.featureContent:not(:first-of-type) {
    margin: 140px 0 0;
  }

  section.detailOnline.feature div.featureContent div.twoTimes {
    position: relative;
    background-color: #f2f2f2;
    padding-top: 30px;
    margin: 30px 0 0;
  }

  section.detailOnline.feature div.featureContent div.twoTimes img {
    object-fit: contain;
    width: 60%;
    margin-left: auto;
  }

  section.detailOnline.feature div.featureContent div.twoTimes p {
    font-size: min(1.953vw, 23px);
    position: absolute;
    top: 5%;
    left: 5%;
    width: 60%;
    margin: 0;
  }

  section.detailOnline.feature div.featureContent div.twoTimes p span.rspnsv {
    display: block;
    width: 60%;
  }

  section.detailOnline.feature div.featureContent p span.mark {
    font-size: unset;
  }

  section.detailOnline.feature div.featureContent div.otheFeature div.paddingIgnore {
    margin: 0;
    width: 420px;
  }

  section.detailOnline.feature div.featureContent div.paddingIgnore img {
    width: 100%;
  }

  section.detailOnline.feature div.featureContent div.otheFeature {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }

  section.detailOnline.feature div.featureContent div.otheFeature p {
    font-size: 22px;
    letter-spacing: 1px;
    width: 45%;
    line-height: 200%;
  }

  section.detailOnline.flow h3 {
    padding: 0;
  }

  section.detailOnline.flow div.detailOnlineInner > div {
    display: flex;
    justify-content: space-around;
  }

  section.detailOnline.flow div.detailOnlineInner > div > div {
    margin-bottom: 50px;
    align-items: center;
    display: flex;
  }

  section.detailOnline.flow p.flowSub {
    font-size: min(2.148vw, 22px);
    width: 100%;
    margin-top: 30px;
  }

  section.detailOnline.flow ul.flowList li {
    display: block;
  }

  section.detailOnline.flow ul.flowList li div:nth-child(1) {
    display: flex;
    align-items: center;
    padding: 0 50px;
  }

  section.detailOnline.flow ul.flowList li h4 {
    font-size: 30px;
    margin: 0 0 0 20px;
  }

  section.detailOnline.flow ul.flowList li div > span {
    margin: 0;
  }

  section.detailOnline.flow ul.flowList li div:nth-child(2) {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    margin-left: 120px;
  }

  section.detailOnline.flow ul.flowList li div:nth-child(2) img {
    width: 120px;
    margin: 0 auto;
  }

  section.detailOnline.flow ul.flowList li:nth-child(5) div:nth-child(2) img {
    width: 280px;
  }

  section.detailOnline.flow ul.flowList li div:nth-child(2) p {
    width: 50%;
    text-align: left;
    line-height: 200%;
  }

  section.detailOnline.message div.familiar > div {
    position: relative;
  }

  section.detailOnline.message div.familiar div p {
    font-size: min(2.148vw,30px);
    position: absolute;
    top: 20%;
    left: 25%;
    line-height: 200%;
  }

  section.detailOnline.message div.familiar div.paddingIgnore {
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-top: 20px;
  }

  section.detailOnline.message div.messageTwoTimes {
    margin-top: 30px;
    max-width: 600px;
  }

  section.detailOnline.message div.messageTwoTimes h3 {
    text-align: center;
  }

  section.detailOnline.message div.messageTwoTimes h3 span.big {
    font-size: 70px;
  }

  section.detailOnline.message div.messageTwoTimes p {
    line-height: 200%;
  }

  section.detailOnline.menu img {
    width: 810px;
    margin: 0 auto;
    text-align: center;
    display: block;
  }

  section.detailOnline.menu p {
    font-size: 20px;
  }
}

/* オンラインコース */
section.mainVisual.online_course {
  padding: 112px 0 50px 20px;
}

section.mainVisual.online_course h2 {
  font-size: 10.133vw;
  text-align: left;
}

section.mainVisual.online_course > div {
  margin-left: 42%;
}

section.mainVisual.online_course ul {
  margin: 18% 0 0 0;
}

section.mainVisual.online_course li {
  background-color: transparent;
  color: #000;
  font-size: 3.733vw;
  padding: 0;
}

section.mainVisual.online_course li dd {
  display: flex;
  justify-content: flex-start;
  margin-left: 3px;
}

section.mainVisual.online_course li dd > span {
  font-size: 12vw;
  line-height: 80%;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0;
}

section.mainVisual.online_course li dd div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 3.733vw;
  margin-left: 3px;
  line-height: 100%;
}

section.mainVisual.online_course li dd div span:nth-child(1) {
  font-size: 1.6vw;
}

section.detailOnline.underFv.online_course div.detailOnlineInner {
  padding: 0 40px;
}

section.detailOnline.message.online_course {
  background-image: url('../image/online_course/sp/bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}

section.detailOnline.message.online_course div img {
  margin: 30px 0;
}

section.detailOnline.plan.online_course div.detailOnlineInner {
  padding: 20px;
}

section.detailOnline.plan.online_course h3 {
  font-size: 6.133vw;
}

section.detailOnline.plan.online_course div.plans {
  display: flex;
  justify-content: space-around;
  margin: 20px 0;
}

section.detailOnline.plan.online_course div.plans p {
  padding: 10px 20px;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #f399b6 0%, #f399b6 60%, #f083a4 60%, #f083a4 100%);
}

section.detailOnline.plan.online_course div.plans p:nth-child(2) {
  background: linear-gradient(135deg, #f16193 0%, #f16193 60%, #dc4f7a 60%, #dc4f7a 100%);
}

section.detailOnline.plan.online_course div > p {
  line-height: 200%;
}

section.detailOnline.menu.online_course p.msg {
  border: 2px dotted #231815;
  text-align: center;
  padding: 10px;
  border-radius: 5px;
  margin: 15px auto;
}

section.detailOnline.faq_online {
  background-image: url('../image/online_course/sp/bg2.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}

section.detailOnline.faq_online div.faq_online_box dl dt, section.detailOnline.faq_online div.faq_online_box dl dd {
  position: relative;
}

section.detailOnline.faq_online div.detailOnlineInner {
  padding: 15px 20px;
}

section.detailOnline.faq_online div.faq_online_box dl p {
  position: absolute;
  font-size: min(3.2vw,28px);
  top: 0%;
  left: 0%;
  padding: min(10.667vw,104px) min(6.667vw,65px);
  color: #fff;
  z-index: 1;
}

section.detailOnline.faq_online div.faq_online_box dl p.note {
  position: static;
  color: #333;
  font-size: 10px;
  padding: 0 20px;
}

section.detailOnline.faq_online div.faq_online_box dl img {
  filter: drop-shadow(2px 4px 6px rgba(0,0,0,.2));
}


section.detailOnline.faq_online div.faq_online_box dl dd p {
  color: #333;
}


/* new form
================================== */

.reservation_form{
  margin-top: 96px;
}

section.reservation.newForm div#select_type h3,
section.reservation.newForm div#calendar h3,
section.reservation.newForm form#reservation_form h3 {
    padding: 3px 0;
    border-top: 1px solid #282828;
    border-bottom: 1px solid #282828;
}

section.reservation.newForm div#select_type h3,
section.reservation.newForm div#select_clinics h3,
section.reservation.newForm div#calendar h3,
section.reservation.newForm form#reservation_form h3 {
    font-size: min(4.8vw, 18px);
}

section.reservation.newForm div#select_type h3,
section.reservation.newForm div#calendar h3{
  margin-bottom: 24px;
}

section.reservation.newForm div#calendar h4 {
    font-size: 21px;
    font-weight: bold;
}

section.reservation.newForm form#reservation_form button#submit_btn {
    font-weight: bold;
    padding: 10px 10px;
    width: 100%;
    margin: 0;
    appearance: none;
    outline: none;
    background: #dd3a76;
    color: #fff;
    border: 2px solid #dd3a76;
    cursor: pointer;
}

section.reservation.newForm form#reservation_form button#submit_btn:disabled {
    background: #727171;
    border: 2px solid #727171;
}

/* フォーム送信時ローディングアニメーション */

section.reservation.newForm form#reservation_form div#loading {
    display: none;
}

section.reservation.newForm form#reservation_form div#loading.active {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    background-color: rgba(0,0,0,0.1);
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}

section.reservation.newForm form#reservation_form div#loading.active .circle-border {
    width: 50px;
    height: 50px;
    padding: 3px;
    border-radius: 50%;
    background: rgb(63,249,220);
    background: linear-gradient(0deg, rgba(201,222,243,0.5) 33%, rgba(201,222,243,1) 100%);
    animation: spin .8s linear 0s infinite;
}

section.reservation.newForm form#reservation_form div#loading.active .circle-core {
  width: 100%;
  height: 100%;
  background-color: #e5e5e5;
  border-radius: 50%;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }
  to{
    transform: rotate(359deg);
  }
}

/* オンラインコースTab */
@media screen and (min-width: 600px) {
    section.detailOnline.plan.online_course div.detailOnlineInner {
      padding: 50px;
    }

    section.detailOnline.faq_online div.faq_online_box dl p {
      line-height: 200%;
    }
}

/* オンラインコースPC */
@media screen and (min-width: 900px) {
    section.mainVisual.online_course {
      padding: 55% 0 0;
      position: relative;
    }

    section.mainVisual.online_course h2 {
      font-size: min(6.348vw, 80px);
    }

    section.mainVisual.online_course > div {
      margin: 0;
      position: absolute;
      width: auto;
      top: 20%;
      left: 41%;
    }

    section.mainVisual.online_course ul {
      width: 100%;
    }

    section.mainVisual.online_course li {
      font-size: 1.758vw;
      width: 25.5vw;
    }

    section.mainVisual.online_course li dd > span {
      font-size: 5.859vw;
    }

    section.mainVisual.online_course li dd div {
      font-size: 2.051vw;
    }

    section.mainVisual.online_course li dd div span:nth-child(1) {
      font-size: 0.781vw;
    }

    section.online span.narrow2, section.detailOnline span.narrow2  {
      letter-spacing: 0;
    }

    section.detailOnline.underFv.online_course div.detailOnlineInner {
      padding: 20px;
    }

    section.detailOnline.feature.online_course div.detailOnlineInner {
      padding: 0 0 20px;
    }

    section.detailOnline.feature.online_course div.featureContent {
      margin: 0;
    }

    section.detailOnline.feature.online_course div.featureContent div.twoTimes {
      margin: 0 auto;
      width: 580px;
    }

    section.detailOnline.feature.online_course div.featureContent div.twoTimes img {
      width: 100%;
    }

    section.detailOnline.message.online_course div img {
      width: 20%;
    }

    section.detailOnline.message div.familiar div p {
      top: 10%;
    }

    section.detailOnline.plan.online_course div.detailOnlineInner {
      padding: 100px;
    }

    section.detailOnline.plan.online_course h3 {
      font-size: min(5.078vw, 52px);
    }

    section.detailOnline.plan.online_course div.plans {
      flex-direction: column;
      margin: 35px;
      float: left;
    }

    section.detailOnline.plan.online_course div.plans p {
      font-size: 26px;
    }

    section.detailOnline.plan.online_course div.plans p:nth-child(1) {
      margin-bottom: 30px;
    }

    section.detailOnline.faq_online div.detailOnlineInner {
      padding: 100px;
    }

    section.detailOnline.faq_online div.faq_online_box {
      max-width: 780px;
      margin: 0 auto;
    }

    section.detailOnline.faq_online div.faq_online_box dl p {
      line-height: 180%;
    }

    section.detailOnline.faq_online div.faq_online_box dl p.note {
      font-size: 18px;
    }

}

/*==============================================
カベリン /kabelline(PC)(start)
================================================ */

/*脂肪溶解注射「カベリン」の効果
=================================================*/

.kabelline-effect{
  background-color: #eaeaea;
  padding: 64px 2vw 64px 2vw;
}

.kabelline-effect__bg{
  background-color: #282828;
  max-width: 768px;
  width: 100%;
  margin: 0 auto;
  padding: 32px 2vw;
}

.kabelline-effect__title{
  font-size: min(7.467vw, 28px);
  color: #fff;
  font-weight: normal;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 32px;
  letter-spacing: .1em;
}

.kabelline-effect__text{
  color: #fff;
  line-height: 2.3;
  font-size: 14px;
  max-width: 680px;
  width: 100%;
  margin: 0 auto 32px auto;
  padding: 0 2vw;
  letter-spacing: .1em;
}

.kabelline-effect__img-contents{
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  padding: 32px 2vw;
  border-radius: 10px;
}

.kabelline-effect__step1,
.kabelline-effect__step2,
.kabelline-effect__step3{
  max-width: 26.6%;
  width: 100%;
}

.kabelline-effect__step1--image,
.kabelline-effect__step2--image,
.kabelline-effect__step3--image{
  margin-bottom: 24px;
}

.kabelline-effect__step1--text,
.kabelline-effect__step2--text,
.kabelline-effect__step3--text{
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
}

.kabelline-effect__arrow{
  background-color: #282828;
  border-radius: 100%;
  margin: 0 14px 0;
  max-width: 30px;
  min-width: 30px;
  max-height: 30px;
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kabelline-effect__arrow--span{
  margin-left: 3px;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8.7px;
  border-color: transparent transparent transparent #fff;
}

/*==============================================
カベリン/kabelline(PC)(END)
================================================ */

/*==============================================
CBT-F食事療法/cbtf(PC)(start)
================================================ */

/*認知行動療法を応用 /cbtf-diet
================================================*/
.cbtf-diet{
  background-color: #eaeaea;
  padding: 64px 2vw 0 2vw;
}

.cbtf-diet__container{
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
}

.cbtf-diet__title{
  font-size: min(7.467vw, 28px);
  line-height: 1;
  font-weight: normal;
  text-align: center;
  margin-bottom: 32px;
}

.cbtf-diet__lead{
  margin-bottom: 32px;
  font-size: 14px;
  letter-spacing: 3.6px;
  line-height: 35px;
}

.cbtf-diet__lead--span{
  text-decoration: underline;
}

.cbtf-diet__text{
  font-size: 14px;
  letter-spacing: 3.6px;
  line-height: 35px;
  margin-bottom: 32px;
}

.cbtf-diet__list{
  list-style: none;
  margin-block-start:0;
  margin-block-end:0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline-start:0px;
  background-color: #282828;
  padding: 32px 2vw;
}

.cbtf-diet__item{
  max-width: 280px;
  width: 100%;
}


/*==============================================
CBT-F食事療法/cbtf(PC)(END)
================================================ */

/*==============================================
医療EMS/ems(PC)(start)
================================================ */

/*脂肪細胞を破壊
=================================================*/
.ems-fat{
  margin:64px auto;
  padding: 0 2vw;
}

.ems-fat__title{
  font-size: min(7.467vw, 28px);
  text-align: center;
  font-weight: normal;
  margin-bottom: 32px;
}

.ems-fat__bg{
  background-color: #f5f5f5;
  max-width: 724px;
  width: 100%;
  border-radius: 10px;
  margin: 0 auto;
  padding: 32px 2vw;
}

.ems-fat__contents{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ems-fat__arrow{
  display: inline-block;
  width: 40px;
  min-width:40px;
  height: 40px;
  min-height:40px;
  border-radius: 50%;
  background-color: #4d4d4d;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 64px;
}

.ems-fat__arrow:before{
  content: "";
  display: inline-block;
  border-top: 2px solid #fff;
  width: 12px;
  height: 12px;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-right: 5px;
}

.ems-fat__img-box{
  text-align: center;
}

.ems-fat__before,
.ems-fat__after{
  line-height: 40px;
  background-color: #4d4d4d;
  max-width: 240px;
  width: 100%;
  margin: 0 auto 32px auto;
  text-align: center;
  color: #fff;
  border-radius: 50px;
}

.ems-fat__textarea{
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
  line-height: 2.5;
  font-size: 14px;
  padding: 0 2vw;
}

/*EMSと医療EMSの違い
=================================================*/

.ems-difference{
  margin-bottom: 64px;
}

.ems-difference__inner{
  max-width: 724px;
  width: 100%;
  padding: 0 2vw;
  margin: 0 auto;
}

.ems-difference__title{
  font-size: min(7.467vw, 28px);
  text-align: center;
  font-weight: normal;
  margin-bottom: 32px;
  color: #E384A6;
}

.ems-difference__table{
  text-align: center;
  margin: 0 auto;
  font-size: 16px;
  border: solid 3px #282828;
  border-collapse: collapse;
}

.ems-difference__th{
  background-color: #e4e4e4;
  border: solid 1px #282828;
}

.ems-difference__tr{
  height: 80px;
  border: solid 1px #282828;
}

.ems-difference__td{
  width: 200px;
  border: solid 1px #282828;
  padding: 0 4px;
}

.ems-difference__td:first-child{
  background-color: #e4e4e4;
  font-weight: bold;
}

.ems-difference__td--span{
  font-size: 12px;
}


/*症例写真
=================================================*/

.ems-image-contents{
  background-color: #eaeaea;
  padding: 64px 2vw;
}

.ems-image-contents__inner{
  max-width: 724px;
  width: 100%;
  padding: 0 2vw;
  margin: 0 auto;
}

.ems-image-contents__title{
  font-size: min(7.467vw, 28px);
  text-align: center;
  font-weight: normal;
  margin-bottom: 32px;
}

.ems-image-contents__box{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding-inline-start:0px;
}

.ems-image-contents__pic{
  width: 300px;
  list-style: none;
}

.ems-image-contents__title{
  font-size: min(7.467vw, 28px);
  text-align: center;
  font-weight: normal;
  margin-bottom: 32px;
}

.ems-image-contents__notes{
  font-size: 12px;
  letter-spacing: -.05em;
}

.ems-image-contents__notes:nth-of-type(1){
  margin-bottom: 12px;
}

.ems-image-contents__notes:nth-of-type(2){
  margin-bottom: 64px;
}

/*症例動画
=================================================*/

.ems-image-contents__lead{
  text-align: center;
  font-size: 20px;
  text-decoration: underline;
  margin-bottom: 32px;
  line-height: 1.5;
}

.ems-image-contents__movie-area{
  margin: 0 auto;
  text-align: center;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.ems-image-contents__movie-area iframe {
  width: 100%;
  height: 100%;
}


/*よくある質問
=================================================*/

section.faq.faq-other{
  background-color: #fff;
  padding: 64px 2vw;
}

section.faq dl dd.faq__other-dd{
  text-align: center;
}


/*==============================================
医療EMS/ems(PC)(END)
================================================ */


/*==============================================
ダーマペン4/damapen(PC)(start)
================================================ */

/*damapen(ダーマペン4)ダーマペン4の効果*/
.damapen-effect{
  background-color: #eaeaea;
  color: #fff;
  padding: 64px 2vw;
}

.damapen-effect__bg{
  background-color: #282828;
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  padding: 32px 2vw;
}

.damapen-effect__title{
  text-align: center;
  font-size: min(7.467vw, 28px);
  font-weight: normal;
  margin-bottom: 32px;
}

.damapen-effect__text{
  font-size: 14px;
  line-height: 2.3;
  margin-bottom: 1em;
}

.damapen-effect__text:last-of-type{
  margin-bottom: 0;
}

/*副作用・注意点（/damapen）*/

.sideEffect-damapen{
  background-color: #eaeaea;
  padding: 0 2vw;
}

.sideEffect-damapen__title{
  text-align: center;
  font-size: min(7.467vw, 28px);
  font-weight: normal;
  margin-bottom: 32px;
}

.sideEffect-damapen__contents{
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
  padding: 32px 2vw;
  background-color: #fff;
}

.sideEffect-damapen__contents--title{
  font-size: 18px;
  line-height: 21px;
  letter-spacing: 5.3px;
  text-decoration: underline;
  text-decoration-color: #dd3a76;
  font-weight: normal;
  text-align: center;
  margin-bottom: 32px;
}

.sideEffect-damapen__contents--text{
  font-size: 14px;
  line-height: 2.3;
}

/*ダーマペン4 よくある質問*/
section.faq.damapen-faq{
  padding: 64px 0;
}

/*==============================================
ダーマペン4/damapen(PC)(END)
================================================ */


/**/
/**/
/*==============================================
レスポンシブ対応(リファクタリング中)
================================================*/
/**/
/**/

/*補足で追記(style.cssより)*/
@media screen and (min-width: 900px) {
  /* header
    ============================================ */
    header {
        background-color: rgba(255,255,255,.8);

    }

    header .toggleHam {
        display: none;
    }

    header nav {
        display: block;
        width: 100%;
        padding: 0 15px;
    }

    header nav ul {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    header nav li a {
        display: block;
        padding: 7px 10px;
        font-size: 14px;
        color: #282828;
        border-bottom: 1px solid transparent;
        transition: .3s all ease-in-out;
    }

    .header__item{
        margin-right: 1vw;
    }

    .header__item{
        margin-right: 1vw;
    }
}

@media screen and (min-width: 351px) and (max-width: 599px){

  header input.toggleHam:checked ~ nav {
      width: 100vw;
  }

  header input.toggleHam:checked ~ nav .header__item {
      width: 60vw;
  }

  header input.toggleHam:checked ~ nav .header__list2{
      width: 60vw;
  }
}
/*補足で追記 ここまで(style.cssより)*/


/*==============================================
common /old.css適用している箇所すべて（start）(1900px以上)
================================================ */
@media screen and (min-width: 1900px) {
  section.mainVisual.menu .firstPress {
    bottom: 25%;
  }

  section.mainVisual.menu.glp1 h2 {
    margin:128px 0 0 20%;
  }

  section.mainVisual.menu .badge {
    left: 40%;
  }
/*==============================================
common /old.css適用している箇所すべて（END）(1900px以上)
================================================ */


/*==============================================
カベリン(/kabelline)（start）(1900px以上)
================================================ */
section.mainVisual.menu.kaberin h2 {
  margin: 130px 0 0 20%;
}

/*==============================================
カベリン(/kabelline)（END）(1900px以上)
================================================ */
}


/*==============================================
common /old.css適用している箇所すべて（start）(899px-1280px)
================================================ */

/*1280*720&570にてレイアウト調整用(PC)*/
@media screen and (max-width: 1280px) {

  section.mainVisual.menu .badge {
    top: 46%;
    left: 47%;
  }

  section.mainVisual.menu .firstPress {
    padding: 16px 0;
    left: 20%;
    bottom: 2%;
  }
/*==============================================
common /old.css適用している箇所すべて（END）(899px-1280px)
================================================ */
}



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

/*==============================================
common /old.css適用している箇所すべて（start）(600px-899pxまで)
================================================ */
.inner{
  padding-left: 4vw;
  padding-right: 4vw;
}

/*mainvisual*/
section.mainVisual.menu .firstPress {
  padding: 16% 8% 16% 16%;
  bottom: 10%;
  left: 0;
}

section.mainVisual.menu h2 {
  margin: 45% 0 0 10%;
}

section.mainVisual.menu p.copy {
  margin: 64px 0 0 10%;
}

section.mainVisual.menu .badge {
  top: 40%;
  right: 30%;
}

/*フローティングメニュー*/
nav.floatingMenu ul li{
  width: 50vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.floatingMenu__list .line a{
  background-color: #00B900;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
}

.floatingMenu__list .form a{
  background-color: #E384A6;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
}

.floatingMenu__list .tel a{
  background-color: #E384A6;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
}

section.outline p.description .description__br{
    display: none;
}

/*オンライン診療について*/
aside.onlineExamination .onlineExamination__pic img {
  width: 180px;
  position: absolute;
  bottom: -100px;
  right: 2%;
}

/*==============================================
common /old.css適用している箇所すべて（END）(600px-899pxまで)
================================================ */

/*==============================================
ご予約 /reservation（start）(600px-899pxまで)
================================================ */

/*60秒で簡単予約*/
.reservation_flow__title::before,
.reservation_flow__title::after{
  max-width: 100px;
}

.reservation_flow__title::before{
  margin-right: .5em;
}

.reservation_flow__title::after{
  margin-left: .5em;
}

/*==============================================
ご予約 /reservation（END）(600px-899pxまで)
================================================ */


/*==============================================
カベリン/kabelline（start）(600px-899pxまで)
================================================ */

/*脂肪溶解注射「カベリン」の効果*/

.kabelline-effect__bg{
  padding: 32px 8vw;
}

.kabelline-effect__img-contents{
  flex-direction: column;
}

.kabelline-effect__step1,
.kabelline-effect__step2,
.kabelline-effect__step3{
  max-width: 50%;
}

.kabelline-effect__step1--image,
.kabelline-effect__step2--image,
.kabelline-effect__step3--image {
  margin-bottom: 14px;
}

.kabelline-effect__arrow{
  margin: 32px 0;
}

.kabelline-effect__arrow--span{
  margin: 3px 0 0 0;
  transform: rotate(90deg);
}

/*==============================================
カベリン/kabelline(END)(600px-899pxまで)
================================================ */


/*==============================================
ダイエット薬/diet(start)(600px-899pxまで)
================================================ */
section.mainVisual.menu.dietPill h2 {
  margin:45% 0 0 10%;
  font-size: 42px;
  letter-spacing: -.1em;
}

section.contentList ul li p {
  padding: 0 6vw;
}

.contentList__image{
  max-width: 80%;
  margin: 0 auto;
}

/*medicine オンライン診療画像*/
.medicine-online__img{
  margin-top: 48px;
}

aside.onlineExamination-medicine {
  padding: 64px 4vw;
}

/*==============================================
ダイエット薬/diet(END)(600px-899pxまで)
================================================ */

/*==============================================
CBT-f/cbtf(start)(600px-899pxまで)
================================================ */

.cbtf-diet__list{
  justify-content: center;
  gap: 24px;
}

.cbtf-diet__item{
  max-width: 275px;
  width: 100%;
}

/*==============================================
CBT-f/cbtf(END)(600px-899pxまで)
================================================ */

section.mainVisual.menu.botox h2 {
  margin: 40% 0 0 10%;
}

.firstPress__price--span{
  font-size: 20px;
}

/*==============================================
医療EMS/ems(start)(600px-899pxまで)
================================================ */

.outline__br{
  display: block;
}

.ems-fat{
  padding: 0 4vw;
}

.ems-fat__contents{
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.ems-fat__arrow{
  margin-bottom: 0;
}

.ems-fat__arrow:before{
  transform: rotate(135deg);
  margin-right: 0;
  margin-bottom: 3px;
}

.ems-fat__img-box img{
  margin: 0 auto;
  max-width: 80%;
  width: 100%;
}
/*==============================================
医療EMS/ems(END)(600px-899pxまで)
=============================================== */

/*==============================================
ダーマペン4/damapen(start)(600px-899pxまで)
=============================================== */

/*damapen(ダーマペン4)ダーマペン4の効果*/
.damapen-effect{
  padding: 64px 4vw;
}

.damapen-effect__bg{
  padding: 32px 4vw;
}

/*副作用・注意点（/damapen）*/

.sideEffect-damapen{
  background-color: #eaeaea;
  padding: 0 4vw 64px 4vw;
}

.sideEffect-damapen__contents{
  padding: 32px 4vw;
}
/*ダーマペン4 よくある質問*/
section.faq.damapen-faq{
  padding:  0 0 64px 0;
}


/*==============================================
ダーマペン4/damapen(END)(600px-899pxまで)
=============================================== */

}


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

  /*==============================================
  common /old.css適用している箇所すべて（start）(350px-599pxまで)
  ================================================ */
  .inner{
    padding-left: 4vw;
    padding-right: 4vw;
  }

  /*mainvisual*/
  section.mainVisual.menu h2 {
    margin: 90px 0 0 4%;
    line-height: 1.3;
  }

  section.mainVisual.menu .badge {
    top: 60%;
    right: 2%;
    left:auto;
  }

  section.mainVisual.menu p.copy {
    margin: 32px 0 0 4%;
  }

  section.mainVisual.menu .firstPress {
    padding: 8% 4% 8% 8%;
    bottom: 0;
  }

  section.outline {
    padding: 64px 4vw 64px;
  }

  /*==============================================
  common /old.css適用している箇所すべて（END）(350px-599pxまで)
  ================================================ */

  /*==============================================
  header(350px-599pxまで)(start)
  ================================================ */

  .header__logo-link--image{
    margin-left: 0;
  }

  header input.toggleHam:checked ~ nav {
    width: 100vw;
  }

  header input.toggleHam:checked ~ nav .header__item {
    width: 80vw;
  }

  header input.toggleHam:checked ~ nav .header__list2{
    width: 80vw;
  }

  /*==============================================
  header(350px-599pxまで)(END)
  ================================================ */


  /*mainvisual*/

  section.mainVisual.menu .copy {
    margin: 50px 0 0 4%;
  }

  section.outline p.onlyOnline {
    text-align: left;
  }

/*==============================================
  ご予約 /reservation（start）(350px-599pxまで)
================================================ */


/*60秒で簡単予約*/
.reservation_flow__title::before,
.reservation_flow__title::after{
  max-width: 70px;
}

/*footer
================================================ */

.contact-info{
  flex-direction:column;
  align-items: center;
  justify-content: center;
}

.form-btn{
  padding-left: 0;
}

.sitemap{
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
/*
footer.footer_reservation div.contact ul.sitemap li{
  width: 100%;
}

footer.footer_reservation div.contact ul.sitemap li:first-child{
  margin-bottom: 1em;
}
*/
/*==============================================
ご予約 /reservation（END）(350px-599pxまで)
================================================ */

/*==============================================
GLP-1 /glp1（start）(350px-599pxまで)
================================================ */
/*オンライン診療(リファクタリング中)*/
aside.onlineExamination p{
  text-align: left;
}

/*==============================================
GLP-1 /glp1（END）(350px-599pxまで)
================================================ */


/*==============================================
カベリン /kabelline（start）(350px-599pxまで)
================================================ */

section.mainVisual.menu.kaberin p.copy span {
  font-size: 18px;
}

section.mainVisual.menu.kaberin h2 {
  margin: 128px 0 0 4%;
}


/*脂肪溶解注射「カベリン」の効果*/
.kabelline-effect__step1,
.kabelline-effect__step2,
.kabelline-effect__step3{
  max-width: 80%;
}

/*==============================================
カベリン /kabelline（END）(350px-599pxまで)
================================================ */


/*==============================================
ダイエット薬/medicine(start)(350px-599pxまで)
================================================ */
section.mainVisual.menu.dietPill h2 {
  margin:128px 0 0 4%;
}

.contentList__image{
  max-width: 100%;
}

section.contentList ul li p {
  padding: 0;
}

/*==============================================
ダイエット薬/medicine(END)(350px-599pxまで)
================================================ */


/*==============================================
CBT-f/cbtf(start)(350px-599pxまで)
================================================ */

section.mainVisual.menu.cbt-f h2 {
  margin: 176px 0 0 4%;
}

.cbtf-diet {
  padding: 64px 4vw 0 4vw;
}

.cbtf-diet__list {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 4vw;
  gap: 0;
}

.cbtf-diet__item{
  max-width: 320px;
  margin-bottom: 32px;
}
.cbtf-diet__item:last-child{
  margin-bottom: 0;
}

/*==============================================
CBT-f/cbtf(END)(350px-599pxまで)
================================================ */

/*==============================================
ボトックス/botox(start)(350px-599pxまで)
================================================ */

section.mainVisual.menu.botox h2 {
  margin: 40% 0 0 4%;
}

.sideEffect__lead {
  text-align: left;
}

/*==============================================
ボトックス/botox(END)(350px-599pxまで)
================================================ */


/*==============================================
医療EMS/ems(start)(350px-599pxまで)
================================================ */

.ems-fat__arrow{
  margin: 32px 0;
}

.ems-fat__before,
.ems-fat__after{
  max-width: 300px;
}

.ems-fat__img-box img{
  max-width: 100%;
}

.ems-image-contents__lead {
  text-align: left;
  font-size: 16px;
}

/*==============================================
医療EMS/ems(END)(350px-599pxまで)
================================================ */
}

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

/*==============================================
common /old.css適用している箇所すべて（start）(350px-599pxまで)
================================================ */
  .floatingMenu__list .line a{
    font-size: 12px;
  }

  .floatingMenu__list .form a{
    font-size: 12px;
  }

  nav.floatingMenu li.tel a {
    font-size: 12px;
  }

  section.mainVisual.menu .copy {
    font-size: 20px;
}

/*==============================================
common /old.css適用している箇所すべて（END）(350px-599pxまで)
================================================ */

/*==============================================
ご予約 /reservation（start）(350px以下)
================================================ */

/*60秒で簡単予約*/
.reservation_flow__title::before,
.reservation_flow__title::after{
  max-width: 50px;
}

.reservation_flow__title::before{
  margin-right: .5em;
}

.reservation_flow__title::after{
  margin-left: .5em;
}

/*==============================================
ご予約 /reservation（END）(350px以下)
================================================ */

/*==============================================
カベリン/kabelline（start）(350px以下)
================================================ */

section.mainVisual.menu.kaberin h2 {
  margin: 64px 0 0 4%;
}

/*脂肪溶解注射「カベリン」の効果*/
.kabelline-effect__step1,
.kabelline-effect__step2,
.kabelline-effect__step3{
  max-width: 80%;
}
/*==============================================
カベリン/kabelline(END)(350px以下)
================================================ */

/*==============================================
ダイエット薬/medicine(start)(350px以下)
================================================ */

/*==============================================
ダイエット薬/medicine(END)(350px以下)
================================================ */

/*==============================================
CBT-f/cbtf（start）(350px以下)
================================================ */

section.mainVisual.menu.cbt-f h2 {
  margin-top: 160px;
}

section.mainVisual.menu.cbt-f .copy span {
  font-size: 18px;
}
/*==============================================
CBT-f/cbtf（END）(350px以下)
================================================ */
}


/* legal-notice */
/* NOTE: treatment.cssから記載20220823 */
section.legal-notice {
    padding: 60px 30px;
    font-size: 12px;
}
section.legal-notice h3 {
    font-size: 14px;
    text-align: center;
    position: relative;
    margin-bottom: 30px;
}
section.legal-notice dt {
    margin-top: 20px;
    border-bottom: 1px solid #eaeaea;
}
@media screen and (min-width: 899px){
  .pc-700 {
      max-width: 700px;
      margin-left: auto;
      margin-right: auto;
  }
}
/* END:legal-notice */


/*---------------------------
CM対応
---------------------------*/

.ems-annotation {
  position: absolute;
  bottom: 5%;
  right: 8%;
  width: 30%;
  padding: 10px;
  font-size: 12px;
  color: #ffffff;
  line-height: normal;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .ems-annotation {
    width: 90%;
    left: 0;
    right: 0;
    margin: auto;
  }
}

.underline {
  text-decoration: underline;
}
