@charset "UTF-8";
/**
 mixin
 */
* {
  word-break: break-all; }

ol,
ul {
  list-style: none;
  margin: 0; }

img {
  vertical-align: top;
  max-width: 100%; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

em {
  font-style: normal; }

.mainimg {
  background: url("/assets/skincare/ion/babyskin/image/mainbg.jpg") top center no-repeat #8a715d;
  text-align: center; }

.textEm1 {
  color: #f2d0bd;
  font-weight: bold; }

.textEm2 {
  color: #8c1c85;
  font-weight: bold; }

@media screen and (max-width: 979px) {
  .mainimg {
    background: none;
    text-align: center; }
  .ac_ar_001 > * > * {
    margin-top: 3.5vw; }
  ._mt-s {
    margin-top: 4vw !important; } }

@media screen and (max-width: 979px) {
  .mainimg {
    background-image: none; } }

#main {
  font-size: 20px; }
  @media screen and (max-width: 979px) {
    #main {
      font-size: 3.5vw; } }

.ribbon {
  width: 609px;
  height: 72px;
  font-size: 27px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 8px 0 0;
  margin-left: auto;
  margin-right: auto;
  background: url("/assets/skincare/ion/babyskin/image/what03.png") center top no-repeat; }
  @media screen and (max-width: 979px) {
    .ribbon {
      width: 100%;
      height: inherit;
      font-size: 5vw;
      padding: 1vw 0 0;
      background-size: 100% 100%; } }

.topnavi {
  background-color: #130d06; }
  .topnavi .navilist {
    width: 980px;
    display: flex;
    justify-content: center; }
    .topnavi .navilist li {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 16.666666%;
      width: calc(100% / 6);
      border-left: 1px solid #fff; }
      .topnavi .navilist li a {
        font-size: 15px;
        text-decoration: none;
        display: table;
        width: 100%;
        color: #fff;
        padding: 20px 0; }
        .topnavi .navilist li a span {
          display: table-cell;
          vertical-align: middle;
          text-align: center; }
      .topnavi .navilist li:last-child {
        border-right: 1px solid #fff; }
  @media screen and (max-width: 979px) {
    .topnavi .ac_ly_001 {
      margin: 0;
      padding: 0; }
      .topnavi .ac_ly_001 .navilist {
        width: 100%;
        flex-wrap: wrap; }
        .topnavi .ac_ly_001 .navilist li {
          width: 50%;
          border-left: none; }
          .topnavi .ac_ly_001 .navilist li a {
            font-size: 3vw;
            width: 100%;
            padding: 2vw 0; }
          .topnavi .ac_ly_001 .navilist li:nth-child(2n) {
            border-left: 1px solid #fff; }
          .topnavi .ac_ly_001 .navilist li:nth-child(n + 3) {
            border-top: 1px solid #fff; }
          .topnavi .ac_ly_001 .navilist li:last-child {
            border-right: none; } }

.hdl {
  text-align: center;
  font-size: 20px;
  line-height: 1.3;
  margin: 0 0 30px; }
  .hdl span {
    display: block;
    font-size: 52px;
    position: relative;
    margin-bottom: 15px; }
    .hdl span::before {
      background: #000;
      width: 95px;
      height: 2px;
      bottom: -3px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      content: "";
      z-index: 2;
      position: absolute; }
  @media screen and (max-width: 979px) {
    .hdl {
      font-size: 3vw;
      margin: 0 0 3vw; }
      .hdl span {
        font-size: 7vw;
        margin-bottom: 2vw; }
        .hdl span::before {
          width: 15vw; } }

.toprenew {
  padding: 40px 0 60px;
  background: #8c1c85;
  color: #fff; }
  .toprenew span::before {
    background: #fff; }
  .toprenew h3 {
    font-weight: bold;
    text-align: center;
    color: #130d06;
    padding: 7px 0;
    background: #f2d0bd;
    background: linear-gradient(90deg, rgba(242, 208, 189, 0) 0%, #f2d0bd 25%, #f2d0bd 75%, rgba(242, 208, 189, 0) 100%); }
  @media screen and (max-width: 979px) {
    .toprenew {
      padding: 4vw 0 6vw; }
      .toprenew h3 {
        font-size: 4vw;
        padding: 1.5vw 0; } }

.toppick {
  padding: 40px 0 60px;
  background: #ffffff; }
  .toppick .pickupInner {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px 0; }
    .toppick .pickupInner .arrow {
      width: 60px;
      position: relative; }
      .toppick .pickupInner .arrow:before {
        content: "";
        width: 30px;
        position: absolute;
        left: 10px;
        left: calc(50% - 22px);
        top: 45%;
        top: calc(50% - 20px);
        height: 30px;
        border: 5px solid;
        border-color: #000 #000 transparent transparent;
        transform: rotate(45deg); }

.topabout {
  padding: 40px 0 0;
  background: #eae2df; }
  .topabout .container {
    background: url("/assets/skincare/ion/babyskin/image/about01.png") bottom no-repeat;
    height: 590px;
    margin: 40px 0 0;
    background-position-x: calc(50% - 300px); }
    .topabout .containerInner {
      width: 980px;
      margin: 0 auto; }
      .topabout .containerInner > ul {
        width: 592px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        margin: 0 0 0 auto; }
        .topabout .containerInner > ul > li {
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 32px;
          text-align: center;
          line-height: 1.2;
          color: #8c7161;
          width: 179px;
          height: 179px;
          border: 1px solid #8c7161;
          margin: 10px 0 0 27px;
          border-radius: 50%;
          box-shadow: 0 0 5px 5px rgba(255, 255, 255, 0.5), inset 0 0 5px 5px rgba(255, 255, 255, 0.5);
          text-shadow: rgba(255, 255, 255, 0.7) 1px 1px 10px, rgba(255, 255, 255, 0.7) -1px 1px 10px, rgba(255, 255, 255, 0.7) 1px -1px 10px, rgba(255, 255, 255, 0.7) -1px -1px 10px; }
          .topabout .containerInner > ul > li:nth-child(1) {
            margin-left: calc((27px + 179px) / 2);
            margin-top: 0; }
          .topabout .containerInner > ul > li:nth-child(2) {
            margin-top: 0; }
          .topabout .containerInner > ul > li:nth-child(3) {
            margin-left: 0; }
          .topabout .containerInner > ul > li:nth-child(6) {
            margin-left: calc((27px + 179px) / 2); }
  @media screen and (max-width: 979px) {
    .topabout {
      padding: 4vw 0 0; }
      .topabout .container {
        height: inherit;
        margin: 4vw 0 0;
        padding: 2vw 0 4vw;
        background-size: 57vw auto;
        background-position: -8vw bottom; }
        .topabout .containerInner {
          width: 100%; }
          .topabout .containerInner > ul {
            width: 56vw; }
            .topabout .containerInner > ul > li {
              font-size: 4vw;
              width: 17vw;
              height: 17vw;
              margin: 1vw 0 0 2vw;
              border-radius: 50%;
              box-shadow: 0 0 1vw 1vw rgba(255, 255, 255, 0.5), inset 0 0 1vw 1vw rgba(255, 255, 255, 0.5); }
              .topabout .containerInner > ul > li:nth-child(1) {
                margin-left: calc((2vw + 17vw) / 2); }
              .topabout .containerInner > ul > li:nth-child(6) {
                margin-left: calc((2vw + 17vw) / 2); } }

.topwhat {
  padding: 40px 0 60px; }
  @media screen and (max-width: 979px) {
    .topwhat {
      padding: 4vw 0 6vw; } }
  .topwhat .container1 {
    width: 980px;
    margin: 0 auto; }
    .topwhat .container1 .containerInner {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      .topwhat .container1 .containerInner.reverse {
        flex-direction: row-reverse; }
      .topwhat .container1 .containerInner > .text {
        width: 470px; }
        .topwhat .container1 .containerInner > .text > .title {
          background: #8c7161;
          font-size: 25px;
          font-weight: normal;
          text-align: center;
          color: #fff;
          padding: 3px;
          margin: 0; }
        .topwhat .container1 .containerInner > .text h3 {
          font-size: 28px;
          line-height: 1.4;
          color: #8c7161;
          margin: 13px 0 0; }
        .topwhat .container1 .containerInner > .text p {
          margin: 10px 0 0; }
    @media screen and (max-width: 979px) {
      .topwhat .container1 {
        width: 96%; }
        .topwhat .container1 .containerInner {
          display: flex;
          flex-direction: column; }
          .topwhat .container1 .containerInner.reverse {
            flex-direction: column; }
          .topwhat .container1 .containerInner > .text {
            width: 100%;
            margin: 0 0 2vw; }
            .topwhat .container1 .containerInner > .text h3 {
              font-size: 4vw;
              padding: 1vw; }
            .topwhat .container1 .containerInner > .text h4 {
              font-size: 4.5vw;
              margin: 2vw 0 0; }
            .topwhat .container1 .containerInner > .text p {
              margin: 1.5vw 0 0; }
          .topwhat .container1 .containerInner > .img {
            width: 100%;
            text-align: center; } }
  .topwhat .container2 {
    width: 980px;
    margin: 70px auto 0;
    background: #eae2df;
    padding: 1px 30px 20px; }
    .topwhat .container2 h2.ribbon {
      margin: -30px auto 10px;
      padding-top: 16px;
      font-size: 24px;
      line-height: 1.2;
      background-size: auto 100%;
      height: 76px;
      width: auto; }
    .topwhat .container2 .containerInner {
      width: 874px;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      text-align: center;
      line-height: 1.3;
      margin: 60px 0 0; }
      .topwhat .container2 .containerInner > div > p {
        font-size: 24px;
        font-weight: bold;
        margin: 10px 0 0;
        color: #8c7161; }
        .topwhat .container2 .containerInner > div > p > span {
          font-size: 14px;
          color: #000;
          line-height: 1; }
      .topwhat .container2 .containerInner > div:first-child {
        margin-top: -42px; }
        .topwhat .container2 .containerInner > div:first-child p {
          text-indent: 50px; }
      .topwhat .container2 .containerInner > div:nth-child(3) p {
        line-height: 1; }
      .topwhat .container2 .containerInner > p {
        width: 80px;
        color: #8c7161;
        font-size: 45px;
        font-weight: bold;
        padding: 70px 0 0; }
    .topwhat .container2 .containerInner2 .cont_title {
      margin: 50px 0 0;
      color: #8c1c85;
      font-weight: bold; }
      .topwhat .container2 .containerInner2 .cont_title h3 {
        font-size: 28px;
        line-height: 1.4;
        display: inline-block; }
      .topwhat .container2 .containerInner2 .cont_title span {
        margin-left: 10px; }
    .topwhat .container2 .containerInner2 .cont {
      margin-top: 50px;
      background-color: #ffffff;
      padding: 20px; }
      .topwhat .container2 .containerInner2 .cont .name {
        width: 50%;
        background-color: #8c7161;
        margin: -40px 0 0;
        padding: 5px 30px;
        color: #ffffff;
        text-align: center;
        font-weight: bold; }
      .topwhat .container2 .containerInner2 .cont .cont_flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 20px; }
        .topwhat .container2 .containerInner2 .cont .cont_flex .cont_img {
          width: 30%;
          text-align: center; }
        .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt {
          width: 70%; }
          .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt .machine {
            padding: 4px 0 2px;
            margin-bottom: 0.4em;
            background: linear-gradient(90deg, white 0%, #8c1c85 25%, #8c1c85 75%, white 100%);
            color: #fff;
            font-weight: bold;
            text-align: center; }
          .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt .txt .bold {
            font-weight: bold;
            color: #8c1c85; }
          .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt .link {
            margin-top: 10px;
            text-align: center; }
            .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt .link .button-normal {
              background-color: #ffffff;
              border: 2px solid #8c7161;
              color: #8c7161;
              font-size: 80%;
              padding: 5px 40px 5px 20px;
              min-height: auto; }
              .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt .link .button-normal:after {
                background-image: url("/assets/skincare/ion/babyskin/image/link_arrow.png"); }
    @media screen and (max-width: 979px) {
      .topwhat .container2 {
        width: 96%;
        margin: 8vw auto 0;
        padding: 1px 3vw 2vw; }
        .topwhat .container2 h2.ribbon {
          font-size: 3.6vw;
          padding: 3vw 0;
          margin: -5vw auto 1.5vw;
          height: auto;
          width: 100%; }
        .topwhat .container2 .containerInner {
          width: 100%;
          flex-wrap: wrap;
          line-height: 1.3;
          margin: 3vw 0 0; }
          .topwhat .container2 .containerInner > div {
            width: 44%; }
            .topwhat .container2 .containerInner > div > p {
              font-size: 4.5vw;
              margin: 1.5vw 0 0; }
              .topwhat .container2 .containerInner > div > p > span {
                font-size: 3vw; }
            .topwhat .container2 .containerInner > div:first-child {
              margin-top: 0; }
              .topwhat .container2 .containerInner > div:first-child p {
                text-indent: 2vw; }
            .topwhat .container2 .containerInner > div:nth-child(5) {
              margin-top: 2vw; }
          .topwhat .container2 .containerInner > p {
            width: 12%;
            font-size: 8vw;
            padding: 15vw 0 0; }
            .topwhat .container2 .containerInner > p:nth-child(4) {
              margin-left: 17%;
              margin-top: 2vw; }
        .topwhat .container2 .containerInner2 .cont_title {
          margin: 30px 0 0; }
          .topwhat .container2 .containerInner2 .cont_title h3 {
            font-size: 18px;
            line-height: 1.4;
            display: block; }
          .topwhat .container2 .containerInner2 .cont_title span {
            margin-left: 5px; }
        .topwhat .container2 .containerInner2 .cont {
          margin-top: 35px;
          padding: 10px; }
          .topwhat .container2 .containerInner2 .cont .name {
            min-width: 90%;
            margin: -25px 0 0;
            padding: 5px 10px; }
          .topwhat .container2 .containerInner2 .cont .cont_flex {
            flex-direction: column;
            margin-top: 10px; }
            .topwhat .container2 .containerInner2 .cont .cont_flex .cont_img {
              width: 100%; }
            .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt {
              width: 100%; }
              .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt .txt .machine {
                font-size: 18px; }
              .topwhat .container2 .containerInner2 .cont .cont_flex .cont_txt .link {
                margin-top: 5px; } }

.toppoint {
  padding: 40px 0 0;
  background: #fcf1fb; }
  .toppoint > .container {
    width: 980px;
    margin: 0 auto; }
    .toppoint > .container h3 {
      font-size: 28px;
      font-weight: bold;
      text-align: center;
      color: #fff;
      padding: 6px 0;
      background: #8c7161;
      background: linear-gradient(90deg, rgba(140, 113, 97, 0) 0%, #8c7161 25%, #8c7161 75%, rgba(140, 113, 97, 0) 100%); }
    .toppoint > .container h3.title {
      background: #f2d0bd;
      color: #4e240b;
      font-size: 22px;
      padding: 5px;
      margin: 30px auto 10px; }
    .toppoint > .container > ul {
      width: 950px;
      margin: 20px auto 0;
      display: flex;
      flex-wrap: wrap; }
      .toppoint > .container > ul > li {
        width: 467px;
        font-size: 18px;
        line-height: 1.5;
        background: #fff;
        padding: 15px;
        filter: drop-shadow(7px 7px 0 rgba(155, 130, 59, 0.2)); }
        .toppoint > .container > ul > li:nth-child(2n) {
          margin-left: 16px; }
        .toppoint > .container > ul > li:nth-child(n + 3) {
          margin-top: 21px; }
        .toppoint > .container > ul > li h4 {
          font-size: 40px;
          font-weight: bold;
          line-height: 1.2;
          color: #8c1c85;
          border-bottom: 1px dashed #8c1c85;
          padding: 0 0 8px; }
          .toppoint > .container > ul > li h4 span {
            display: block;
            font-size: 20px;
            line-height: 1.2; }
          .toppoint > .container > ul > li h4 + p {
            font-weight: bold;
            margin: 10px 0 0; }
    .toppoint > .container .content01,
    .toppoint > .container .content02 {
      display: flex;
      justify-content: space-between; }
      .toppoint > .container .content01 h4,
      .toppoint > .container .content02 h4 {
        color: #8c7161;
        font-size: 28px;
        font-weight: bold;
        line-height: 1.2; }
        .toppoint > .container .content01 h4 + p,
        .toppoint > .container .content02 h4 + p {
          margin: 10px 0 0; }
      .toppoint > .container .content01 p.small,
      .toppoint > .container .content02 p.small {
        font-size: 16px;
        margin: 10px 0 0; }
      .toppoint > .container .content01 p.name,
      .toppoint > .container .content02 p.name {
        line-height: 1.5;
        font-size: 21px;
        font-weight: bold;
        text-align: right;
        margin: 10px 0 0; }
        .toppoint > .container .content01 p.name span,
        .toppoint > .container .content02 p.name span {
          font-size: 32px; }
    .toppoint > .container .content01 {
      flex-direction: row-reverse; }
      .toppoint > .container .content01 > div:first-child {
        width: 475px; }
    .toppoint > .container .content02 > div:first-child {
      width: 550px; }
  @media screen and (max-width: 979px) {
    .toppoint {
      padding: 4vw 0 0; }
      .toppoint > .container {
        width: 96%; }
        .toppoint > .container h3 {
          font-size: 4vw;
          padding: 1.5vw 0; }
        .toppoint > .container h3.ribbon {
          font-size: 3.3vw;
          padding: 1.5vw 0 3vw;
          margin: 4vw auto 1.5vw; }
        .toppoint > .container > ul {
          width: 100%;
          margin: 4vw auto 0; }
          .toppoint > .container > ul > li {
            width: calc(100% - 2vw);
            font-size: 3.5vw;
            padding: 2.5vw;
            filter: drop-shadow(2vw 2vw 0 rgba(155, 130, 59, 0.2)); }
            .toppoint > .container > ul > li + li {
              margin-top: 4vw; }
            .toppoint > .container > ul > li:nth-child(2n) {
              margin-left: 0; }
            .toppoint > .container > ul > li:nth-child(n + 3) {
              margin-top: 4vw; }
            .toppoint > .container > ul > li h4 {
              font-size: 7vw;
              padding: 0 0 1.5vw; }
              .toppoint > .container > ul > li h4 span {
                display: block;
                font-size: 4.5vw; }
              .toppoint > .container > ul > li h4 + p {
                margin: 1.5vw 0 0; }
          .toppoint > .container > ul + h3._mt-m {
            margin-top: 7vw !important; }
        .toppoint > .container .content01,
        .toppoint > .container .content02 {
          flex-direction: column; }
          .toppoint > .container .content01 h4,
          .toppoint > .container .content02 h4 {
            font-size: 5vw; }
            .toppoint > .container .content01 h4 + p,
            .toppoint > .container .content02 h4 + p {
              margin: 1.5vw 0 0; }
          .toppoint > .container .content01 p.small,
          .toppoint > .container .content02 p.small {
            font-size: 3vw;
            margin: 1.5vw 0 0; }
          .toppoint > .container .content01 p.name,
          .toppoint > .container .content02 p.name {
            font-size: 4.5vw;
            margin: 1.5vw 0 0; }
            .toppoint > .container .content01 p.name span,
            .toppoint > .container .content02 p.name span {
              font-size: 6vw; }
        .toppoint > .container .content01 {
          flex-direction: column; }
          .toppoint > .container .content01 > div:first-child {
            width: 100%;
            margin-bottom: 2vw; }
        .toppoint > .container .content02 {
          margin: 4vw 0 0; }
          .toppoint > .container .content02 > div:first-child {
            width: 100%; }
          .toppoint > .container .content02 > div:last-child {
            width: 50vw;
            margin: -6vw 0 0 10vw; } }

.topphoto {
  padding: 40px 0 60px; }
  .topphoto p {
    font-size: 16px;
    line-height: 1.4;
    color: #333333;
    margin: 5px 0 0; }
    .topphoto p.doctor {
      text-align: right; }
      .topphoto p.doctor a {
        color: #333333;
        text-decoration: none; }
    .topphoto p.comment {
      width: 100%;
      margin: 10px 0 0;
      background: #eeeeee;
      padding: 10px 20px 15px; }
      .topphoto p.comment em {
        display: block;
        font-size: 24px;
        margin-bottom: 10px; }
  .topphoto .mhlw-risk-single {
    width: 100%; }
  @media screen and (max-width: 979px) {
    .topphoto {
      padding: 4vw 0 6vw; }
      .topphoto p {
        font-size: 3.5vw;
        margin: 1vw 0 0; }
        .topphoto p.comment {
          width: 100%;
          margin: 1.5vw 0 0;
          padding: 1.5vw 2.5vw 2vw; }
          .topphoto p.comment em {
            font-size: 4.5vw; } }

.topprice {
  padding: 40px 0 60px;
  background: #f3efef; }
  .topprice .container {
    width: 980px;
    margin: 0 auto; }
    .topprice .container h3 {
      font-size: 28px;
      font-weight: bold;
      text-align: center;
      color: #fff;
      margin: 0 0 15px;
      padding: 6px 0;
      background: #8c7161;
      background: linear-gradient(90deg, rgba(140, 113, 97, 0) 0%, #8c7161 25%, #8c7161 75%, rgba(140, 113, 97, 0) 100%); }
    .topprice .container h4 {
      font-size: 18px;
      margin: 30px 0 10px;
      border-bottom: 2px solid #8c7161; }
    .topprice .container .ac_ly_002 {
      align-items: center;
      font-weight: bold;
      /*Yell*/
      /*通常料金*/ }
      .topprice .container .ac_ly_002.yell {
        width: 80%;
        margin: 0 auto; }
        @media only screen and (max-width: 979px) {
          .topprice .container .ac_ly_002.yell {
            width: 100%; } }
      .topprice .container .ac_ly_002.-sp-1column {
        justify-content: space-between; }
        .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 {
          width: 45%; }
          @media only screen and (max-width: 979px) {
            .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 {
              width: 100%; } }
          .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 > .col:first-child {
            width: 32%; }
          .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 > .col:last-child {
            width: 65%; }
      .topprice .container .ac_ly_002 span {
        font-size: 30px;
        position: relative; }
        .topprice .container .ac_ly_002 span::before {
          content: "(税込)";
          font-size: 9px;
          position: absolute;
          right: 0;
          top: -8px; }
      .topprice .container .ac_ly_002 .col._text-size-40._right {
        color: #8c1c85; }
    .topprice .container .hifuka-ttl {
      font-size: 25px;
      font-weight: bold;
      text-align: center;
      color: #8c1c85; }
      @media only screen and (max-width: 979px) {
        .topprice .container .hifuka-ttl {
          font-size: 4.5vw; } }
    .topprice .container .hifuka-price thead tr th {
      background: #8c1c85; }
    .topprice .container .btn-hifuka {
      margin: 25px 0 35px; }
      .topprice .container .btn-hifuka .button-normal {
        background: #8c1c85; }
      @media only screen and (max-width: 979px) {
        .topprice .container .btn-hifuka {
          margin: 4vw 0 5vw; } }
  .topprice .menu-price__tl {
    margin-bottom: 24px;
    color: #132b56;
    font-size: 30px;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.6;
    text-align: center; }
    @media only screen and (max-width: 979px) {
      .topprice .menu-price__tl {
        font-size: Min(30px, 4.59653vw); } }
  .topprice .menu-price + .menu-price {
    margin-top: 60px; }
    @media only screen and (max-width: 979px) {
      .topprice .menu-price + .menu-price {
        margin-top: Min(60px, 12.25741vw); } }
  .topprice .menu-price__ct .price-detail {
    padding: 24px 35px 20px 30px;
    background-color: #fff; }
    @media only screen and (max-width: 979px) {
      .topprice .menu-price__ct .price-detail {
        padding: Min(24px, 2.45148vw) Min(35px, 3.57508vw) Min(20px, 2.0429vw) Min(30px, 3.06435vw); } }
    .topprice .menu-price__ct .price-detail__row {
      display: flex;
      align-items: center; }
      .topprice .menu-price__ct .price-detail__row:not(:last-of-type) {
        padding-bottom: 15px;
        margin-bottom: 15px;
        border-bottom: 1px dashed #75a3d9; }
        @media only screen and (max-width: 979px) {
          .topprice .menu-price__ct .price-detail__row:not(:last-of-type) {
            padding-bottom: Min(15px, 2.55363vw);
            margin-bottom: Min(15px, 2.55363vw); } }
      .topprice .menu-price__ct .price-detail__row .label {
        flex-shrink: 0;
        width: 590px;
        margin-right: 30px;
        font-size: 20px;
        font-size: 2rem;
        font-weight: 500; }
        @media only screen and (max-width: 979px) {
          .topprice .menu-price__ct .price-detail__row .label {
            width: Min(360px, 39.83657vw);
            margin-right: Min(30px, 3.06435vw);
            font-size: Min(20px, 3.26864vw); } }
      .topprice .menu-price__ct .price-detail__row .detail {
        width: 100%;
        color: #b91f7c;
        font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
        font-size: 70px;
        font-size: 7rem;
        font-weight: 600;
        line-height: 1;
        text-align: right; }
        @media only screen and (max-width: 979px) {
          .topprice .menu-price__ct .price-detail__row .detail {
            font-size: Min(70px, 8.68233vw); } }
        .topprice .menu-price__ct .price-detail__row .detail span {
          position: relative;
          top: -6px;
          font-size: 30px;
          font-size: 3rem; }
          @media only screen and (max-width: 979px) {
            .topprice .menu-price__ct .price-detail__row .detail span {
              top: Max(-6px, -0.71502vw);
              font-size: Min(30px, 3.67722vw); } }
          .topprice .menu-price__ct .price-detail__row .detail span small {
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            font-size: 14px;
            font-size: 1.4rem;
            white-space: nowrap; }
            @media only screen and (max-width: 979px) {
              .topprice .menu-price__ct .price-detail__row .detail span small {
                font-size: Min(14px, 1.83861vw); } }
  .topprice .menu-price__ct .price-list__item {
    padding: 25px 33px 17px;
    background-color: #fff; }
    @media only screen and (max-width: 979px) {
      .topprice .menu-price__ct .price-list__item {
        padding: Min(25px, 4.0858vw) Min(33px, 3.37079vw) Min(17px, 3.57508vw); } }
    .topprice .menu-price__ct .price-list__item:not(:last-of-type) {
      margin-bottom: 25px; }
      @media only screen and (max-width: 979px) {
        .topprice .menu-price__ct .price-list__item:not(:last-of-type) {
          margin-bottom: Min(25px, 3.57508vw); } }
    .topprice .menu-price__ct .price-list__item .detail-package {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0 36px; }
      @media only screen and (max-width: 979px) {
        .topprice .menu-price__ct .price-list__item .detail-package {
          grid-template-columns: repeat(1, 1fr);
          gap: Min(46px, 5.72012vw); } }
      .topprice .menu-price__ct .price-list__item .detail-package__item {
        position: relative;
        padding: 15px 18px 7px;
        background-color: #f3efef;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.375;
        text-align: center; }
        @media only screen and (max-width: 979px) {
          .topprice .menu-price__ct .price-list__item .detail-package__item {
            font-size: Min(16px, 3.26864vw); } }
        .topprice .menu-price__ct .price-list__item .detail-package__item:not(:last-of-type):after {
          position: absolute;
          top: 50%;
          left: calc(100% + 8px);
          content: "+";
          font-size: 23px;
          font-size: 2.3rem;
          font-weight: 500;
          line-height: 1;
          transform: translateY(-50%); }
          @media only screen and (max-width: 979px) {
            .topprice .menu-price__ct .price-list__item .detail-package__item:not(:last-of-type):after {
              top: calc(100% + Min(13px, 1.02145vw));
              left: 50%;
              transform: translateX(-50%);
              font-size: Min(23px, 4.0858vw); } }
        .topprice .menu-price__ct .price-list__item .detail-package__item .label {
          padding-bottom: 3px;
          margin-bottom: 6px;
          border-bottom: 1px dashed #8c7161; }
          @media only screen and (max-width: 979px) {
            .topprice .menu-price__ct .price-list__item .detail-package__item .label {
              padding-bottom: Min(8px, 1.53218vw);
              margin-bottom: Min(12px, 2.0429vw); } }
  .topprice .menu-price__ct .price-list__total {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 500;
    text-align: center; }
    @media only screen and (max-width: 979px) {
      .topprice .menu-price__ct .price-list__total {
        font-size: Min(20px, 4.0858vw); } }
    .topprice .menu-price__ct .price-list__total span {
      font-size: 30px;
      font-size: 3rem; }
      @media only screen and (max-width: 979px) {
        .topprice .menu-price__ct .price-list__total span {
          font-size: Min(30px, 5.10725vw); } }
  .topprice .menu-price__ct .price-list__discount {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px; }
    @media only screen and (max-width: 979px) {
      .topprice .menu-price__ct .price-list__discount {
        margin-top: Min(15px, 3.06435vw); } }
    .topprice .menu-price__ct .price-list__discount:before {
      position: absolute;
      bottom: calc(100% - 7px);
      left: 50%;
      content: "";
      width: 35px;
      height: 30px;
      background: url("../images/arrow2.png") no-repeat;
      background-size: 100% 100%;
      transform: translateX(-50%); }
      @media only screen and (max-width: 979px) {
        .topprice .menu-price__ct .price-list__discount:before {
          bottom: calc(100% - Min(5px, 0.20429vw));
          width: Min(35px, 4.29009vw);
          height: Min(30px, 3.77937vw); } }
    .topprice .menu-price__ct .price-list__discount .label {
      position: relative;
      top: 4px;
      flex-shrink: 0;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      min-width: 130px;
      height: 37px;
      margin-right: 16px;
      color: #8c1c85;
      font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
      font-size: 20px;
      font-size: 2rem;
      line-height: 1;
      font-weight: 600;
      text-align: center;
      border: 1px solid #8c1c85; }
      @media only screen and (max-width: 979px) {
        .topprice .menu-price__ct .price-list__discount .label {
          top: 0;
          min-width: Min(100px, 20.42901vw);
          padding: Min(6px, 0.61287vw) Min(10px, 1.02145vw) Min(3px, 0.30644vw);
          height: Min(37px, 5.61798vw);
          margin-right: Min(16px, 1.63432vw);
          font-size: Min(20px, 3.06435vw); } }
    .topprice .menu-price__ct .price-list__discount .detail {
      max-width: 100%;
      color: #8c1c85;
      font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
      font-size: 70px;
      font-size: 7rem;
      line-height: 1;
      font-weight: 600; }
      @media only screen and (max-width: 979px) {
        .topprice .menu-price__ct .price-list__discount .detail {
          font-size: Min(70px, 8.68233vw); } }
      .topprice .menu-price__ct .price-list__discount .detail span {
        position: relative;
        top: -5px;
        font-size: 30px;
        font-size: 3rem; }
        @media only screen and (max-width: 979px) {
          .topprice .menu-price__ct .price-list__discount .detail span {
            top: Max(-6px, -0.71502vw);
            font-size: Min(30px, 3.67722vw); } }
        .topprice .menu-price__ct .price-list__discount .detail span small {
          position: absolute;
          bottom: 100%;
          left: 50%;
          transform: translateX(-50%);
          font-size: 14px;
          font-size: 1.4rem;
          white-space: nowrap; }
          @media only screen and (max-width: 979px) {
            .topprice .menu-price__ct .price-list__discount .detail span small {
              font-size: Min(14px, 1.83861vw); } }
    .topprice .menu-price__ct .price-list__discount .deadline {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 74px;
      height: 74px;
      margin-left: 16px;
      border-radius: 50%;
      border: 1px solid #8c1c85;
      color: #8c1c85;
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 1;
      font-weight: 700;
      text-align: center; }
      @media only screen and (max-width: 979px) {
        .topprice .menu-price__ct .price-list__discount .deadline {
          width: Min(74px, 11.23596vw);
          height: Min(74px, 11.23596vw);
          margin-left: Min(16px, 1.63432vw);
          font-size: Min(15px, 2.34934vw); } }
      .topprice .menu-price__ct .price-list__discount .deadline span {
        width: 100%; }
      .topprice .menu-price__ct .price-list__discount .deadline i {
        font-size: 20px;
        font-size: 2rem;
        font-style: normal; }
        @media only screen and (max-width: 979px) {
          .topprice .menu-price__ct .price-list__discount .deadline i {
            font-size: Min(20px, 3.06435vw); } }
  @media screen and (max-width: 979px) {
    .topprice {
      padding: 4vw 0 6vw; }
      .topprice .container {
        width: 96%; }
        .topprice .container h3 {
          font-size: 4vw;
          padding: 1.5vw 0;
          margin: 0 0 2vw; }
        .topprice .container h4 {
          font-size: 4vw;
          margin: 4vw 0 1.5vw; }
        .topprice .container .table-box table {
          font-size: 3.5vw; }
          .topprice .container .table-box table th,
          .topprice .container .table-box table td {
            padding: 1vw 2vw; }
        .topprice .container .ac_ly_002 {
          /*Yell*/
          /*通常料金*/ }
          .topprice .container .ac_ly_002.yell {
            width: 60%;
            margin: 0 auto; } }
        @media only screen and (max-width: 979px) and (max-width: 979px) {
          .topprice .container .ac_ly_002.yell {
            width: 100%; } }
  @media screen and (max-width: 979px) {
          .topprice .container .ac_ly_002.-sp-1column {
            justify-content: space-between; }
            .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 {
              width: 45%; } }
          @media only screen and (max-width: 979px) and (max-width: 979px) {
            .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 {
              width: 100%; } }
  @media screen and (max-width: 979px) {
              .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 > .col:first-child {
                font-size: 4vw;
                width: 20%; }
              .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 > .col:last-child {
                font-size: 9vw !important;
                width: 77%; }
              .topprice .container .ac_ly_002.-sp-1column > .ac_ly_002 + .ac_ly_002 {
                margin-top: 0; }
          .topprice .container .ac_ly_002 span {
            font-size: 6vw; }
            .topprice .container .ac_ly_002 span::before {
              font-size: 2.5vw;
              right: -0.2vw;
              top: -2.8vw;
              white-space: nowrap; } }

#clinic {
  padding: 40px 0 0;
  margin: 0 !important; }
  #clinic #clinic-map #map-text {
    font-size: 90%; }

@media (max-width: 979px) {
  #clinic {
    padding: 35px 0 0; } }

.bg-main-color {
  background: #b9e6fb; }

.text-main-color {
  color: #1a449a; }

.topmovie {
  background: #fcf1fb;
  padding: 40px 0 60px;
  /*----------------------------------
  movie slider
  ----------------------------------*/ }
  @media (max-width: 979px) {
    .topmovie {
      padding: 4vw 0 6vw; } }
  .topmovie .innerClass {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    @media (max-width: 979px) {
      .topmovie .innerClass {
        width: 98%; } }
  .topmovie .movie__slider {
    overflow: hidden;
    padding: 52px 0;
    position: relative; }
    @media only screen and (max-width: 575px) {
      .topmovie .movie__slider {
        width: 96%;
        margin: 0 auto;
        padding: 20px 0; } }
  .topmovie .slide-item {
    transform: scale(0.848);
    transition: transform 0.4s ease-in-out, margin 0.4s ease-in-out; }
    .topmovie .slide-item p {
      padding: 0 0.5vw;
      margin-bottom: -0.5vw;
      position: relative;
      z-index: 1; }
  .topmovie ._youtubeThumb a::after {
    width: 2em;
    height: 2em;
    left: calc(50% - (2em / 2));
    top: calc(50% - (2em / 2));
    opacity: 0.4;
    background-color: #000; }
  .topmovie ._youtubeThumb a::before {
    top: calc(50% - (1em / 2));
    left: calc(50% - (0.5em / 2));
    border-width: 0.5em 0 0.5em 0.8em;
    opacity: 0.4; }
  .topmovie .swiper-slide-prev {
    margin-left: -22px; }
    @media only screen and (max-width: 575px) {
      .topmovie .swiper-slide-prev {
        margin-left: -15px; } }
  .topmovie .swiper-slide-next {
    margin-left: 22px; }
    @media only screen and (max-width: 575px) {
      .topmovie .swiper-slide-next {
        margin-left: 15px; } }
  .topmovie .swiper-slide-active {
    transform: scale(1.32);
    margin-left: 22px; }
    @media only screen and (max-width: 575px) {
      .topmovie .swiper-slide-active {
        margin-left: 15px; } }
  .topmovie .swiper-button {
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat; }
    .topmovie .swiper-button:after {
      display: none; }
    .topmovie .swiper-button-prev {
      left: 300px;
      background-image: url(/assets/skincare/ion/babyskin/image/slide_prev.png); }
      @media only screen and (max-width: 979px) {
        .topmovie .swiper-button-prev {
          left: 26.5%; } }
      @media only screen and (max-width: 768px) {
        .topmovie .swiper-button-prev {
          left: 25.5%; } }
      @media only screen and (max-width: 575px) {
        .topmovie .swiper-button-prev {
          left: 23%; } }
    .topmovie .swiper-button-next {
      right: 300px;
      background-image: url(/assets/skincare/ion/babyskin/image/slide_next.png); }
      @media only screen and (max-width: 979px) {
        .topmovie .swiper-button-next {
          right: 26.5%; } }
      @media only screen and (max-width: 768px) {
        .topmovie .swiper-button-next {
          right: 25.5%; } }
      @media only screen and (max-width: 575px) {
        .topmovie .swiper-button-next {
          right: 23%; } }

._text-red {
  color: #ff0000; }

.treatment .treatment_bg {
  height: 353px;
  background: url(/assets/skincare/ion/babyskin/image/treatment-bg.png) no-repeat center;
  background-size: contain;
  margin-bottom: 20px; }
  @media (max-width: 979px) {
    .treatment .treatment_bg {
      height: auto;
      background-size: cover; } }
  .treatment .treatment_bg .treatment_inner {
    padding: 20px; }
    .treatment .treatment_bg .treatment_inner p {
      font-size: 24px;
      font-weight: bold;
      color: #8c1c85;
      line-height: 1.3; }
      @media (max-width: 979px) {
        .treatment .treatment_bg .treatment_inner p {
          font-size: 18px; } }
      .treatment .treatment_bg .treatment_inner p span {
        text-decoration: underline;
        font-size: 20px; }
        @media (max-width: 979px) {
          .treatment .treatment_bg .treatment_inner p span {
            font-size: 16px; } }
  .treatment .treatment_bg .treatment_content {
    display: flex;
    justify-content: center;
    margin: 20px auto; }
    @media (max-width: 979px) {
      .treatment .treatment_bg .treatment_content {
        flex-wrap: wrap; } }
    .treatment .treatment_bg .treatment_content .col {
      padding: 0 1%; }
      @media (max-width: 979px) {
        .treatment .treatment_bg .treatment_content .col {
          width: 50%; } }

.topprice .container h3.note {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 15px;
  padding: 6px 0;
  color: #000;
  background: #fff;
  background: linear-gradient(90deg, rgba(140, 113, 97, 0) 0%, #fff 25%, #fff 75%, rgba(140, 113, 97, 0) 100%); }
  @media (max-width: 979px) {
    .topprice .container h3.note {
      font-size: 4vw;
      padding: 1.5vw 0;
      margin: 0 0 2vw; } }

.option_menu .table-box {
  text-align: center; }
  .option_menu .table-box table {
    width: 100% !important; }
  .option_menu .table-box thead tr th {
    color: #fff;
    background-color: #8c1c85; }
  .option_menu .table-box tbody tr.menu th,
  .option_menu .table-box tbody tr.menu td {
    background-color: #fcf1fb; }
  .option_menu .table-box tbody tr th {
    background-color: #fff; }
  .option_menu .table-box tbody tr.detail td {
    color: #8c1c85; }

.simu .tabacc.-pc-accordion .contents .title {
  display: block;
  text-align: center;
  align-items: center;
  position: relative;
  margin: -1px;
  padding: 22px 75px 10px 50px;
  min-height: 75px;
  color: #fff;
  background-color: #8c7161;
  border-radius: 7px;
  cursor: pointer;
  text-decoration: none;
  font-size: 20px; }
  @media (max-width: 979px) {
    .simu .tabacc.-pc-accordion .contents .title {
      font-size: 18px;
      padding: 15px 75px 10px 50px;
      min-height: 60px; } }

.simu .simu_price {
  background-color: #f8f7f7;
  padding: 3% 4% 1%;
  margin-bottom: 20px; }
  @media (max-width: 979px) {
    .simu .simu_price {
      padding: 2% 2% 1%;
      margin-bottom: 10px; } }
  .simu .simu_price .price_ttl {
    border: 1px solid #8c1c85;
    background-color: #fff;
    padding: 4px 0;
    text-align: center;
    font-size: 24px;
    color: #8c1c85;
    font-weight: bold;
    margin-bottom: 20px; }
    @media (max-width: 979px) {
      .simu .simu_price .price_ttl {
        font-size: 16px; } }
  .simu .simu_price .price_txt {
    text-align: right;
    font-size: 40px;
    color: #8c1c85;
    font-weight: bold; }
    @media (max-width: 979px) {
      .simu .simu_price .price_txt {
        font-size: 34px; } }
    .simu .simu_price .price_txt ruby {
      font-size: 30px; }
      @media (max-width: 979px) {
        .simu .simu_price .price_txt ruby {
          font-size: 24px; } }
      .simu .simu_price .price_txt ruby rt {
        font-size: 12px; }
        @media (max-width: 979px) {
          .simu .simu_price .price_txt ruby rt {
            font-size: 8px; } }
  .simu .simu_price .price_total {
    margin-top: 10px;
    border-top: 3px dotted #000;
    padding-top: 5px;
    text-align: right;
    font-size: 56px; }
    @media (max-width: 979px) {
      .simu .simu_price .price_total {
        font-size: 40px; } }
    .simu .simu_price .price_total span {
      font-size: 30px; }
      @media (max-width: 979px) {
        .simu .simu_price .price_total span {
          font-size: 20px; } }
    .simu .simu_price .price_total ruby {
      font-size: 36px; }
      @media (max-width: 979px) {
        .simu .simu_price .price_total ruby {
          font-size: 24px; } }
      .simu .simu_price .price_total ruby rt {
        font-size: 14px; }
        @media (max-width: 979px) {
          .simu .simu_price .price_total ruby rt {
            font-size: 10px; } }

.flow .flow_cont:not(:last-child)::after {
  content: "";
  display: block;
  margin: 10px auto -30px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 70px 0 70px;
  border-color: #8c7161 transparent transparent transparent; }

.flow .flow_cont .ac_ly_002 {
  border: 1px solid #8c7161; }
  .flow .flow_cont .ac_ly_002 .title {
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    .flow .flow_cont .ac_ly_002 .title span {
      display: block; }
      .flow .flow_cont .ac_ly_002 .title span.step {
        background-color: #8c7161;
        border-radius: 50%;
        padding: 12px 24px;
        margin-right: 1em;
        color: #fff;
        font-weight: bold;
        text-align: center;
        line-height: 1.2; }
        .flow .flow_cont .ac_ly_002 .title span.step > span {
          font-size: 1.8em; }
      .flow .flow_cont .ac_ly_002 .title span.txt {
        font-size: 28px;
        line-height: 1.4;
        color: #8c7161;
        font-weight: bold; }
    @media only screen and (max-width: 979px) {
      .flow .flow_cont .ac_ly_002 .title {
        font-size: 12px; }
        .flow .flow_cont .ac_ly_002 .title span.step {
          padding: 6px 14px; }
        .flow .flow_cont .ac_ly_002 .title span.txt {
          font-size: 21px; } }

.faq {
  background: #fcf1fb;
  padding: 40px 0; }
  .faq .faq-box:not(:first-child) {
    margin-top: 40px; }
  .faq .faq-box .question::before,
  .faq .faq-box .answer::before {
    background-color: #8c1c85; }
  .faq .faq-box .question {
    color: #8c1c85;
    font-weight: bold; }
    .faq .faq-box .question p {
      font-size: 24px; }
      @media only screen and (max-width: 979px) {
        .faq .faq-box .question p {
          font-size: 21px; } }

.achievement {
  background: url(/assets/skincare/ion/babyskin/image/img_achievement01.gif) center center no-repeat;
  background-size: auto;
  width: 508px;
  height: 129px;
  margin: auto;
  padding: 20px 0 10px; }
  .achievement p {
    color: #fff;
    font-size: 30px;
    line-height: 1.4; }
    .achievement p.jisseki {
      display: flex;
      justify-content: center;
      align-items: center; }
      .achievement p.jisseki span.num {
        letter-spacing: -2px;
        font-size: 50px; }
        .achievement p.jisseki span.num span {
          margin-left: 4px;
          font-size: 32px; }
    .achievement p.term {
      font-size: 14px; }
  @media only screen and (max-width: 979px) {
    .achievement {
      background-size: contain;
      width: 100%;
      height: 25vw;
      padding: 4vw 0 1vw; }
      .achievement p {
        font-size: 5vw;
        line-height: 1.3; }
        .achievement p.jisseki span.num {
          font-size: 10vw; }
          .achievement p.jisseki span.num span {
            font-size: 6vw; }
        .achievement p.term {
          font-size: 2.8vw; } }
