.text-primary {
  color: #01a6de; }

.mainimg {
  background: url("/assets/skincare/subscision/images/mvbg.jpg") center center no-repeat;
  background-size: auto 100%;
  text-align: center;
  height: 600px; }
  @media screen and (max-width: 979px) {
    .mainimg {
      background-image: none;
      height: inherit; } }

@media screen and (max-width: 979px) {
  .ac_ly_001 {
    padding: 0 2vw !important; } }

.topnavi .navilist {
  display: flex;
  justify-content: center;
  padding: 40px 0; }
  .topnavi .navilist li {
    width: 20%;
    border-left: 1px solid #000;
    padding: 7px 0;
    display: flex;
    align-items: center; }
    .topnavi .navilist li a {
      font-weight: bold;
      font-size: 18px;
      line-height: 1.33;
      letter-spacing: 0.04em;
      text-decoration: none;
      display: table;
      width: 100%;
      color: #000; }
      .topnavi .navilist li a span {
        display: table-cell;
        vertical-align: middle;
        text-align: center; }
  .topnavi .navilist li:last-child {
    border-right: 1px solid #000; }

@media screen and (max-width: 979px) {
  .topnavi {
    padding: 0;
    margin: 3vw 0; }
    .topnavi .ac_ly_001 {
      padding: 0; }
      .topnavi .ac_ly_001 .navilist {
        flex-wrap: wrap;
        padding: 0; }
        .topnavi .ac_ly_001 .navilist li {
          width: 50%;
          padding: 1.5vw 1vw;
          position: relative;
          border-bottom: 1px solid #01a6de; }
        .topnavi .ac_ly_001 .navilist li:nth-child(2n + 2) {
          border-right: none;
          border-color: #01a6de; }
        .topnavi .ac_ly_001 .navilist li:nth-child(2n + 1) {
          border-left: none; }
        .topnavi .ac_ly_001 .navilist li:last-child {
          width: 100%;
          border-left: none;
          border-right: none; }
        .topnavi .ac_ly_001 .navilist li::before {
          display: none; } }

.main-ttl {
  padding: 14px 0 69px;
  text-align: center;
  font-weight: bold;
  font-size: 32px;
  line-height: 1.5; }
  @media screen and (max-width: 979px) {
    .main-ttl {
      padding: 2vw 0 6vw;
      font-size: 24px; } }

.hdl {
  text-align: center;
  font-weight: bold;
  font-size: 22px; }
  .hdl span {
    display: block;
    font-family: sans-serif;
    font-size: 54px;
    font-weight: lighter;
    position: relative;
    margin-bottom: 10px; }
    .hdl span::before {
      background: #000;
      width: 95px;
      height: 3px;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      content: "";
      z-index: 2;
      position: absolute; }
  @media screen and (max-width: 979px) {
    .hdl {
      font-size: 3.5vw; }
      .hdl span {
        font-size: 8vw;
        margin-bottom: 1vw; }
        .hdl span::before {
          width: 15%;
          height: 0.3vw;
          left: 50%; } }

.topwhat {
  padding: 45px 0 60px;
  background: #75c4df;
  font-weight: bold;
  font-size: 24px; }
  .topwhat .hdl {
    color: #fff; }
    .topwhat .hdl span::before {
      background: #fff; }
  .topwhat .list01 {
    display: flex;
    justify-content: space-between; }
    .topwhat .list01 li {
      width: 300px; }
      .topwhat .list01 li p {
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        background: #fff;
        padding: 10px; }
        .topwhat .list01 li p em {
          font-style: normal;
          color: #01a6de; }
    .topwhat .list01 + p {
      font-size: 40px;
      color: #fff;
      text-align: center;
      margin: 40px 0 0; }
  .topwhat .list02 {
    width: 460px;
    margin: 10px auto 0; }
    .topwhat .list02 li {
      color: #fff;
      padding-left: 48px;
      text-align: left;
      background: url("/assets/skincare/subscision/images/check.png") 0px 7px no-repeat; }
    .topwhat .list02 li + li {
      margin-top: 8px; }
  @media screen and (max-width: 979px) {
    .topwhat {
      padding: 6vw 0 8vw;
      font-size: 3.2vw; }
      .topwhat .list01 li {
        width: 31.5%; }
        .topwhat .list01 li p {
          display: flex;
          align-items: center;
          padding: 1vw;
          height: 17vw; }
          .topwhat .list01 li p br {
            display: none; }
          .topwhat .list01 li p em {
            display: contents; }
      .topwhat .list01 + p {
        font-size: 5.5vw;
        margin: 4vw 0 0; }
      .topwhat .list02 {
        width: 90%;
        margin: 2vw auto 0; }
        .topwhat .list02 li {
          font-size: 4vw;
          padding-left: 6.5vw;
          text-align: left;
          background-size: auto 80%;
          background-position: left center; }
        .topwhat .list02 li + li {
          margin-top: 8px; } }

.toponayami {
  padding: 45px 0 90px;
  text-align: center; }
  .toponayami p {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    color: #65473c;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 500 100.5' xml:space='preserve'%3E%3Cpath style='fill-rule:evenodd;clip-rule:evenodd;fill:none;stroke:%2365473c;stroke-width:2;stroke-miterlimit:10;' d='M3.385,2.212 c0,0-10.5,44.558,75.889,36.717c0,0,174.58-21.385,176.49,47.495c0,0,0.22,11.254-6.498,11.736c0,0-6.087-0.554-6.231-10.784 c0,0-12.903-72.772,182.01-49.318c0,0,74.146,12.487,71.055-34.755'/%3E%3C/svg%3E");
    background-size: 460px auto;
    background-position: center bottom;
    background-repeat: no-repeat;
    padding-bottom: 80px;
    margin: 0 0 30px; }
    @media screen and (max-width: 979px) {
      .toponayami p {
        background-size: 100% auto; } }
    @media screen and (max-width: 979px) {
      .toponayami p {
        font-size: 6vw;
        padding-bottom: 11vw;
        margin: 6vw 0 0;
        background-size: 80% auto; } }
  @media screen and (max-width: 979px) {
    .toponayami {
      padding: 6vw 0 15vw; }
      .toponayami p {
        margin-top: 0; }
      .toponayami div {
        max-width: 80%;
        margin: 0 auto; } }

.topabout {
  padding: 1px 0 80px;
  background: #f3f3f3; }
  .topabout > .ac_ly_001 {
    margin-top: -66px !important; }
  .topabout .ribbon {
    width: 980px;
    height: 114px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 50px;
    font-weight: bold;
    color: #fff;
    padding: 10px 0 0;
    background: url("/assets/skincare/subscision/images/about01.png") top center no-repeat;
    margin: 0 0 30px; }
    .topabout .ribbon span {
      font-size: 36px; }
  .topabout p {
    font-size: 22px;
    line-height: 1.5; }
  .topabout .aboutText {
    text-align: center;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5; }
  .topabout .aboutInner {
    padding: 32px;
    background-color: #fff; }
    .topabout .aboutInner figure {
      text-align: center; }
    .topabout .aboutInner p {
      font-size: 20px;
      line-height: 1.5;
      text-align: center;
      margin: 20px 0 0; }
    .topabout .aboutInner .flowIllust {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      flex-wrap: wrap;
      border: 1px solid #959595;
      padding: 25px 0 35px; }
      .topabout .aboutInner .flowIllust li {
        width: 287px;
        text-align: right; }
        .topabout .aboutInner .flowIllust li + li {
          position: relative; }
          .topabout .aboutInner .flowIllust li + li:before {
            content: url("/assets/skincare/subscision/images/flow_arrow.png");
            position: absolute;
            top: 45%;
            left: 10px; }
        .topabout .aboutInner .flowIllust li:nth-child(n + 4) {
          margin-top: 35px; }
    .topabout .aboutInner.typeIllust {
      border: 2px solid #959595; }
      .topabout .aboutInner.typeIllust .ac_ly_002 {
        align-items: center; }
  .topabout .aboutMeyasu {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    margin: 50px 0 0; }
    .topabout .aboutMeyasu > p {
      width: 208px;
      height: 140px;
      background: #65473c;
      color: #fff;
      text-indent: 0.5em;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 100px 0 0 100px; }
    .topabout .aboutMeyasu > div {
      display: flex;
      justify-content: center;
      flex-direction: column;
      height: 140px;
      border: 1px solid #65473c;
      border-left: 0;
      background: #fff;
      border-radius: 0 100px 100px 0;
      padding: 0 0 0 30px;
      flex: 1; }
      .topabout .aboutMeyasu > div p:first-child {
        color: #01a6de;
        font-weight: bold; }
      .topabout .aboutMeyasu > div p:last-child {
        font-size: 22px;
        margin-top: 0.5em; }
        .topabout .aboutMeyasu > div p:last-child span {
          font-size: 16px; }
  .topabout .aboutImg {
    margin: 50px 0 0; }
  @media screen and (max-width: 979px) {
    .topabout {
      padding: 1px 0 8vw; }
      .topabout > .ac_ly_001 {
        margin-top: -9.5vw !important; }
      .topabout .ribbon {
        display: block;
        text-align: center;
        width: 100%;
        height: 16.5vw;
        font-size: 5vw;
        line-height: 1.2;
        padding: 0.5vw 0 0;
        background: url("/assets/skincare/subscision/images/about01sp.png") top center/100% auto no-repeat;
        margin: 0 0 2vw; }
        .topabout .ribbon span {
          font-size: 3.2vw; }
      .topabout p {
        font-size: 3.2vw;
        margin: 3vw 0 0; }
      .topabout .aboutText {
        font-size: 5vw;
        margin: 3vw 0 0; }
      .topabout .aboutInner {
        padding: 3vw; }
        .topabout .aboutInner p {
          font-size: 3.7vw;
          line-height: 1.5;
          margin: 3vw 0 0; }
        .topabout .aboutInner .flowIllust {
          padding: 3vw 3vw 3vw 1vw; }
          .topabout .aboutInner .flowIllust li {
            width: 50%;
            padding: 0 0 0 8vw; }
            .topabout .aboutInner .flowIllust li + li:before {
              content: "";
              width: 9vw;
              height: 9vw;
              background: url("/assets/skincare/subscision/images/flow_arrow.png") center center/auto 100% no-repeat;
              top: 50%;
              left: 0;
              transform: translate(0, -50%); }
            .topabout .aboutInner .flowIllust li:nth-child(n + 3) {
              margin-top: 4vw; }
      .topabout .aboutMeyasu {
        font-size: 3.7vw;
        margin: 5vw 0 0; }
        .topabout .aboutMeyasu > p {
          width: 20vw;
          height: 32vw;
          text-indent: 0;
          margin: 0; }
        .topabout .aboutMeyasu > div {
          height: 32vw;
          padding: 0 3vw; }
          .topabout .aboutMeyasu > div p {
            margin: 0; }
            .topabout .aboutMeyasu > div p:last-child {
              font-size: 3.2vw; }
              .topabout .aboutMeyasu > div p:last-child span {
                font-size: 2.5vw; }
      .topabout .aboutImg {
        margin: 5vw 0 0; } }

.toppoint {
  padding: 45px 0 60px;
  font-size: 24px; }
  .toppoint .pointIndex {
    background: #75c4df;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding: 3px; }
  .toppoint h3 {
    color: #01a6de;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin: 15px 0 0;
    line-height: 1.4; }
  .toppoint p {
    font-size: 22px;
    margin: 15px 0 0; }
    .toppoint p .caution {
      color: #cc0f0f;
      font-size: 18px; }
    .toppoint p + .pointIndex {
      margin-top: 40px; }
  @media screen and (max-width: 979px) {
    .toppoint {
      padding: 6vw 0 8vw;
      font-size: 3.2vw; }
      .toppoint .pointIndex {
        padding: 0.2vw; }
      .toppoint h3 {
        font-size: 5vw;
        margin: 2vw 0 0; }
      .toppoint p {
        font-size: 3.7vw;
        margin: 2vw 0 0; }
        .toppoint p .caution {
          font-size: 3vw; }
        .toppoint p + .pointIndex {
          margin-top: 5vw; } }

.topphoto {
  padding: 45px 0 60px;
  background: #f3f3f3; }
  .topphoto .photo_box {
    text-align: center; }
    .topphoto .photo_box > div {
      display: inline-flex;
      justify-content: center;
      flex-direction: column;
      text-align: center; }
      .topphoto .photo_box > div p.dr {
        text-align: right;
        margin: 5px 0 0; }
      .topphoto .photo_box > div + div {
        margin-top: 30px; }
  @media screen and (max-width: 979px) {
    .topphoto {
      padding: 6vw 0 8vw; }
      .topphoto .photo_box > div {
        display: block; }
        .topphoto .photo_box > div p.dr {
          font-size: 3.5vw;
          margin: 1vw 0 0; }
        .topphoto .photo_box > div + div {
          margin-top: 5vw; }
      .topphoto .mhlw-risk {
        min-height: inherit; } }
  .topphoto .slider-contents {
    padding-bottom: 1px; }
    .topphoto .slider-contents .photo_slider {
      padding: 0 30px; }
      @media (max-width: 640px) {
        .topphoto .slider-contents .photo_slider {
          padding: 0 3vw; } }
      .topphoto .slider-contents .photo_slider__item {
        max-width: 800px;
        margin: auto; }
        .topphoto .slider-contents .photo_slider__item .photo_wrap {
          max-width: 640px;
          margin: auto; }
          .topphoto .slider-contents .photo_slider__item .photo_wrap figure {
            text-align: center; }
            .topphoto .slider-contents .photo_slider__item .photo_wrap figure img {
              margin: auto; }
          .topphoto .slider-contents .photo_slider__item .photo_wrap p.dr {
            margin-top: 5px;
            text-align: right; }
    .topphoto .slider-contents .slick-prev,
    .topphoto .slider-contents .slick-next {
      top: 48%;
      background-color: transparent; }
      @media (max-width: 979px) {
        .topphoto .slider-contents .slick-prev,
        .topphoto .slider-contents .slick-next {
          display: block !important; } }
      @media (max-width: 640px) {
        .topphoto .slider-contents .slick-prev,
        .topphoto .slider-contents .slick-next {
          width: 5vw;
          height: 5vw; } }
    .topphoto .slider-contents .slick-prev {
      left: -45px; }
    .topphoto .slider-contents .slick-next {
      right: -45px; }
    @media (max-width: 640px) {
      .topphoto .slider-contents .slick-prev {
        left: -5vw; }
      .topphoto .slider-contents .slick-next {
        right: -5vw; } }
    .topphoto .slider-contents .slick-prev:before,
    .topphoto .slider-contents .slick-next:before {
      background-size: 19px auto; }
      @media (max-width: 640px) {
        .topphoto .slider-contents .slick-prev:before,
        .topphoto .slider-contents .slick-next:before {
          width: 5vw;
          height: 5vw;
          background-size: 2.8vw auto; } }
    .topphoto .slider-contents .slick-next:before {
      background-image: url("/assets/skincare/subscision/images/icon_next.png"); }
    .topphoto .slider-contents .slick-prev:before {
      background-image: url("/assets/skincare/subscision/images/icon_prev.png"); }
    .topphoto .slider-contents .slick-track {
      display: flex;
      align-items: center; }
    .topphoto .slider-contents .slick-dots li button::before {
      background-color: #727dd9; }

.topcare {
  font-size: 22px;
  padding: 45px 0 60px; }
  .topcare .table_text {
    font-weight: bold;
    text-align: center;
    margin: 20px 0 0; }
  .topcare table {
    width: 800px;
    border-collapse: collapse;
    background: #fff;
    margin: 10px auto 0; }
    .topcare table tr th,
    .topcare table tr td {
      padding: 10px 20px;
      border: 1px solid #000; }
    .topcare table tr th {
      background: #fffde6; }
  @media screen and (max-width: 979px) {
    .topcare {
      font-size: 3.7vw;
      padding: 6vw 0 8vw; }
      .topcare p {
        margin: 3vw 0 0; }
      .topcare .table_text {
        margin: 3vw 0 0; }
      .topcare table {
        width: 100%;
        margin: 1.5vw auto 0; }
        .topcare table tr th,
        .topcare table tr td {
          padding: 1.5vw 2vw;
          border: 1px solid #000; }
        .topcare table tr th {
          background: #fffde6; } }

.topprice {
  padding: 45px 0 30px;
  background: #75c4df;
  color: #fff; }
  .topprice .hdl {
    margin-bottom: 0; }
    .topprice .hdl span::before {
      background: #fff; }
  .topprice h3 {
    text-align: center;
    font-weight: bold;
    font-size: 30px;
    background: #fff;
    color: #75c4df; }
    .topprice h3 + p {
      font-size: 22px; }
  .topprice .caution01 {
    text-align: center;
    font-weight: bold;
    font-size: 30px;
    margin: 20px 0 0; }
  .topprice .price_box {
    margin: 15px 0 48px;
    background: #fff;
    padding: 0 50px; }
    .topprice .price_box.heiyou {
      background-color: #fffde6; }
    .topprice .price_box .item {
      padding: 26px 30px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-weight: bold;
      color: #01a6de; }
      .topprice .price_box .item + .item {
        border-top: 1px solid #01a6de; }
      .topprice .price_box .item .price_txt {
        font-size: 22px; }
      .topprice .price_box .item .price {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        line-height: 1;
        margin-left: 10px; }
        .topprice .price_box .item .price .times {
          font-size: 24px;
          margin: 0 20px 0 0; }
        .topprice .price_box .item .price .num {
          font-size: 48px;
          font-family: "Arial", sans-serif;
          font-weight: normal; }
        .topprice .price_box .item .price .unit {
          margin-top: 8px;
          margin-left: 10px;
          position: relative;
          font-size: 25px; }
          .topprice .price_box .item .price .unit > small {
            white-space: nowrap;
            font-size: 44%;
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%); }
  .topprice .caution02 {
    font-size: 14px;
    text-align: right;
    margin: 5px 0 0; }
  @media screen and (max-width: 979px) {
    .topprice {
      padding: 6vw 0 4vw; }
      .topprice .hdl {
        margin-bottom: 0; }
      .topprice h3 {
        font-size: 4.5vw;
        padding: 0.5vw;
        margin: 0; }
        .topprice h3 + p {
          font-size: 3.7vw;
          margin: 2vw 0 0; }
      .topprice .caution01 {
        font-size: 4.5vw;
        margin: 4vw 0 0; }
      .topprice .price_box {
        margin: 3vw 0 8vw;
        padding: 0 2.5vw; }
        .topprice .price_box .item {
          padding: 2vw 0; }
          .topprice .price_box .item .price_txt {
            font-size: 2.7vw; }
          .topprice .price_box .item .price .times {
            font-size: 3vw;
            margin: 0 2vw 0 0; }
          .topprice .price_box .item .price .num {
            font-size: 8vw; }
          .topprice .price_box .item .price .unit {
            margin-bottom: 0;
            margin-left: 0;
            font-size: 4.5vw; }
      .topprice .caution02 {
        font-size: 2.5vw;
        margin: 1vw 0 0; } }

.topcomment {
  padding: 45px 0 60px;
  background: #f3f3f3; }
  .topcomment .commentInner {
    display: flex;
    justify-content: space-between; }
    .topcomment .commentInner > div:nth-child(1) {
      width: 500px;
      font-size: 22px; }
      .topcomment .commentInner > div:nth-child(1) ._right {
        font-size: 18px;
        font-weight: bold;
        margin: 20px 0 0; }
        .topcomment .commentInner > div:nth-child(1) ._right strong {
          font-size: 28px; }
    .topcomment .commentInner > div:nth-child(2) {
      flex: 1;
      text-align: right; }
  @media screen and (max-width: 979px) {
    .topcomment {
      padding: 6vw 0 8vw; }
      .topcomment .commentInner {
        flex-direction: column; }
        .topcomment .commentInner > div {
          display: none; }
          .topcomment .commentInner > div:nth-child(1) {
            display: block;
            width: 100%;
            font-size: 3.7vw; }
            .topcomment .commentInner > div:nth-child(1) ._right {
              display: none; }
        .topcomment .commentInner ._pc-none {
          display: flex;
          justify-content: center;
          align-items: center; }
          .topcomment .commentInner ._pc-none p {
            width: 50%;
            margin: 0;
            text-align: center; }
            .topcomment .commentInner ._pc-none p strong {
              font-size: 5vw; }
          .topcomment .commentInner ._pc-none div {
            flex: 1; } }

.clinic {
  padding-bottom: 50px; }
  .clinic .bc-item > .info > .name {
    font-size: 30px;
    color: #000; }
  .clinic .bc-item > .info > .address {
    margin: 20px 0 30px;
    font-size: 16px;
    line-height: 30px; }
  @media screen and (max-width: 979px) {
    .clinic {
      padding: 6vw 0; } }

.number {
  color: #000 !important; }
