@import url("https://fonts.googleapis.com/css2?family=Barlow&display=swap");
#main {
  /*---------------------------------------------------------- */
  /*              tab
	---------------------------------- */ }
  #main header.h2header {
    text-align: center;
    line-height: 1.2;
    margin: 0 0 30px; }
    #main header.h2header > h2 {
      font-size: 55px;
      font-weight: normal; }
    #main header.h2header > p {
      font-size: 27px;
      position: relative;
      padding: 15px 0 0;
      margin: 5px 0 0; }
      #main header.h2header > p::before {
        content: "";
        width: 80px;
        height: 4px;
        background: #7ac9b9;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, 0); }
    @media screen and (max-width: 979px) {
      #main header.h2header {
        margin: 0 0 3.5vw; }
        #main header.h2header > h2 {
          font-size: 8vw; }
        #main header.h2header > p {
          font-size: 4.5vw;
          padding: 2vw 0 0;
          margin: 1vw 0 0; }
          #main header.h2header > p::before {
            content: "";
            width: 20vw;
            height: 0.7vw; } }
  #main img {
    vertical-align: top;
    max-width: 100%; }
  #main em {
    font-style: normal; }
  #main .wrap {
    line-height: 1.5; }
  #main .mv {
    background: url("/assets/liposuction/buccal/images/main_monitor.jpg") center top no-repeat;
    height: 591px;
    padding: 0;
    margin: 0;
    text-align: center; }
    @media screen and (max-width: 979px) {
      #main .mv {
        height: inherit;
        background: none;
        margin: 0; } }
  #main .buccalWrap {
    font-size: 20px; }
    @media screen and (max-width: 979px) {
      #main .buccalWrap {
        font-size: 3.7vw; } }
  #main .topnavi {
    background: #7ac9b9; }
    #main .topnavi .navilist {
      max-width: 980px;
      display: flex;
      justify-content: center;
      margin: 0 auto; }
      #main .topnavi .navilist li {
        border-left: 1px solid #fff; }
        #main .topnavi .navilist li a {
          width: 100%;
          height: 100%;
          font-size: 20px;
          color: #fff;
          line-height: 1.4;
          text-decoration: none;
          flex-direction: column;
          display: flex;
          justify-content: center;
          align-items: center;
          text-align: center;
          padding: 20px 25px; }
        #main .topnavi .navilist li:last-child {
          border-right: 1px solid #fff; }
    @media screen and (max-width: 979px) {
      #main .topnavi .navilist {
        flex-wrap: wrap; }
        #main .topnavi .navilist li {
          width: 50%; }
          #main .topnavi .navilist li a {
            font-size: 4vw;
            padding: 2vw 0; }
          #main .topnavi .navilist li:last-child {
            width: 100%;
            border-right: none; }
          #main .topnavi .navilist li:nth-child(2n + 1), #main .topnavi .navilist li:last-child {
            border-left: none; }
          #main .topnavi .navilist li:nth-child(n + 3) {
            border-top: 1px solid #fff; } }
  #main .inner {
    width: 980px;
    margin: 0 auto; }
    @media screen and (max-width: 979px) {
      #main .inner {
        width: 96%;
        margin: 0 auto; } }
  #main .topwhat {
    background: url("/assets/liposuction/buccal/images/what01.jpg") right top no-repeat #f4f4f4;
    height: 712px;
    padding: 40px 0 0; }
    #main .topwhat .inner {
      width: 880px;
      display: flex;
      align-items: center;
      margin: 0 auto; }
      #main .topwhat .inner > div {
        margin-right: 25px; }
      #main .topwhat .inner ul li {
        font-size: 28px;
        font-weight: bold;
        line-height: 1.4;
        padding: 0 0 0 45px;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 100 100' xml:space='preserve'%3E%3Cpolygon fill='%23444' points='23.206,50.68 45.364,75.496 77.814,39.956 70.088,32.23 45.364,57.726 32.23,42.274 '/%3E%3Cpath fill='%23555' d='M1.081,1.081v97.839h97.839V1.081H1.081z M93.968,93.902H6.164V6.098h87.804V93.902z'/%3E%3C/svg%3E");
        background-size: 30px auto;
        background-position: left 4px;
        background-repeat: no-repeat; }
      #main .topwhat .inner ul li + li {
        margin: 15px 0 0; }
    @media screen and (max-width: 979px) {
      #main .topwhat {
        background-size: cover;
        height: inherit;
        padding: 4vw 0 7vw; }
        #main .topwhat .inner {
          width: 100%;
          display: flex;
          flex-direction: column-reverse; }
          #main .topwhat .inner > div {
            margin-right: 0;
            width: 50%;
            margin: 4vw auto 0;
            text-align: center; }
          #main .topwhat .inner ul li {
            font-size: 4vw;
            line-height: 1.4;
            padding: 1vw 0 1vw 8vw;
            background-size: 5.5vw auto;
            background-position: left 1vw; }
          #main .topwhat .inner ul li + li {
            margin: 1vw 0 0; } }
  #main .topabout {
    padding: 40px 0 70px; }
    #main .topabout .inner div {
      margin-top: 30px; }
    @media screen and (max-width: 979px) {
      #main .topabout {
        padding: 4vw 0 7vw; }
        #main .topabout .inner div {
          margin-top: 4vw; } }
  #main .topdoctor {
    background: url("/assets/liposuction/buccal/images/doctor01.jpg") center top/cover no-repeat;
    padding: 40px 0 0; }
    #main .topdoctor .inner {
      min-height: 741px;
      background: url("/assets/liposuction/buccal/images/doctor02.png") left bottom no-repeat;
      padding: 0 0 0 405px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-direction: column; }
      #main .topdoctor .inner ._right {
        width: 100%;
        text-align: right;
        margin-top: 1em; }
    @media screen and (max-width: 979px) {
      #main .topdoctor {
        padding: 4vw 0 0;
        background-size: auto 100%;
        background-position: 90% top; }
        #main .topdoctor .inner {
          min-height: inherit;
          background: none;
          padding: 0;
          flex-direction: column; }
          #main .topdoctor .inner > div {
            width: 70%;
            margin: 4vw auto 0; } }
  #main .topphoto {
    padding: 40px 0 70px;
    background: #f7fcfb; }
    #main .topphoto .inner ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #main .topphoto .inner ul li {
        width: 480px;
        line-height: 1.6; }
        #main .topphoto .inner ul li:nth-child(n + 3) {
          margin-top: 40px; }
        #main .topphoto .inner ul li p {
          margin-top: 10px; }
    @media screen and (max-width: 979px) {
      #main .topphoto {
        padding: 4vw 0 7vw; }
        #main .topphoto .inner ul {
          flex-direction: column; }
          #main .topphoto .inner ul li {
            width: 100%; }
            #main .topphoto .inner ul li:nth-child(n + 2) {
              margin-top: 4vw; }
            #main .topphoto .inner ul li div {
              text-align: center; }
            #main .topphoto .inner ul li p {
              margin-top: 1.5vw; } }
    #main .topphoto .photo_slider {
      max-width: 750px;
      margin: 0 auto 60px;
      padding: 0 30px; }
      @media only screen and (max-width: 979px) {
        #main .topphoto .photo_slider {
          margin: 0 auto 12vw;
          padding: 0 3vw; } }
      #main .topphoto .photo_slider__item figure {
        text-align: center;
        max-width: 600px;
        margin: auto; }
        #main .topphoto .photo_slider__item figure img {
          margin: auto; }
      #main .topphoto .photo_slider .slick-prev,
      #main .topphoto .photo_slider .slick-next {
        top: 48%;
        background-color: transparent; }
        @media only screen and (max-width: 979px) {
          #main .topphoto .photo_slider .slick-prev,
          #main .topphoto .photo_slider .slick-next {
            display: block !important;
            width: 5vw;
            height: 5vw; } }
      #main .topphoto .photo_slider .slick-prev {
        left: -45px; }
      #main .topphoto .photo_slider .slick-next {
        right: -45px; }
      @media only screen and (max-width: 979px) {
        #main .topphoto .photo_slider .slick-prev {
          left: -6vw; }
        #main .topphoto .photo_slider .slick-next {
          right: -6vw; } }
      #main .topphoto .photo_slider .slick-prev:before,
      #main .topphoto .photo_slider .slick-next:before {
        background-size: 19px auto; }
        @media only screen and (max-width: 979px) {
          #main .topphoto .photo_slider .slick-prev:before,
          #main .topphoto .photo_slider .slick-next:before {
            width: 5vw;
            height: 5vw;
            background-size: 2.8vw auto; } }
      #main .topphoto .photo_slider .slick-next:before {
        background-image: url("/assets/liposuction/buccal/images/icon_next.png"); }
      #main .topphoto .photo_slider .slick-prev:before {
        background-image: url("/assets/liposuction/buccal/images/icon_prev.png"); }
      #main .topphoto .photo_slider .slick-dots li button::before {
        background-color: #56bfd2; }
  #main .topcourse {
    padding: 0 0 70px; }
    #main .topcourse .inner .tabFukidashi {
      text-align: center;
      margin: 0 0 20px; }
      #main .topcourse .inner .tabFukidashi > span {
        font-size: 36px;
        color: #3fabc7;
        background: -webkit-linear-gradient(360deg, #baa8ca, #57bed2, #baa8ca);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        line-height: 1;
        font-weight: bold;
        display: inline-block; }
        #main .topcourse .inner .tabFukidashi > span > span {
          font-size: 48px; }
    #main .topcourse .inner > p {
      margin: 0 0 20px; }
    #main .topcourse .inner .courseText {
      font-size: 30px;
      font-weight: bold;
      line-height: 1.4;
      text-align: center;
      margin: 20px 0 10px; }
    @media screen and (max-width: 979px) {
      #main .topcourse {
        padding: 0 0 7vw; }
        #main .topcourse .inner .tabFukidashi {
          padding-bottom: 1vw;
          margin: 5vw 0 2vw; }
          #main .topcourse .inner .tabFukidashi > span {
            font-size: 6vw !important; }
            #main .topcourse .inner .tabFukidashi > span > span {
              font-size: 8vw; }
        #main .topcourse .inner > p {
          margin: 0 0 2vw; }
        #main .topcourse .inner .courseText {
          font-size: 3.7vw;
          margin: 3vw 0 1.5vw; } }
  #main .toppoint {
    padding: 40px 0 70px; }
    #main .toppoint .inner table {
      border-collapse: collapse;
      margin: 20px 0 0;
      width: 100%;
      border: 2px solid #7ac9b9; }
      #main .toppoint .inner table tr th,
      #main .toppoint .inner table tr td {
        border: 1px solid #7ac9b9;
        padding: 20px; }
      #main .toppoint .inner table tr th {
        width: 210px;
        text-align: center;
        font-weight: normal;
        background: #f7fcfb; }
    @media screen and (max-width: 979px) {
      #main .toppoint {
        padding: 4vw 0 7vw; }
        #main .toppoint .inner table {
          margin: 2vw 0 0;
          border: 0.6vw solid #7ac9b9; }
          #main .toppoint .inner table tr th,
          #main .toppoint .inner table tr td {
            border: 0.3vw solid #7ac9b9;
            padding: 2vw; }
          #main .toppoint .inner table tr th {
            width: 35%; } }
  #main .topqa {
    padding: 40px 0 70px;
    background: #f3fcfb; }
    #main .topqa .inner ul li {
      background: #fff;
      padding: 30px; }
      #main .topqa .inner ul li + li {
        margin-top: 30px; }
      #main .topqa .inner ul li dl {
        line-height: 1.4; }
        #main .topqa .inner ul li dl dt,
        #main .topqa .inner ul li dl dd {
          font-weight: bold;
          padding: 4px 0 0 55px;
          position: relative;
          min-height: 36px; }
          #main .topqa .inner ul li dl dt::before,
          #main .topqa .inner ul li dl dd::before {
            content: "Q";
            display: flex;
            justify-content: center;
            align-items: center;
            width: 36px;
            height: 36px;
            font-size: 28px;
            font-weight: bold;
            color: #fff;
            position: absolute;
            left: 0;
            top: 0;
            background: #73a4df; }
        #main .topqa .inner ul li dl dd {
          font-weight: normal;
          margin: 30px 0 0; }
          #main .topqa .inner ul li dl dd .qaBtn {
            width: 480px;
            margin: 20px auto 0; }
            #main .topqa .inner ul li dl dd .qaBtn a {
              display: block;
              background: #baa8ca;
              color: #fff;
              font-size: 18px;
              font-weight: bold;
              text-align: center;
              text-decoration: none;
              padding: 10px 0;
              border-radius: 100px;
              position: relative; }
              #main .topqa .inner ul li dl dd .qaBtn a::before {
                content: "";
                position: absolute;
                right: 25px;
                top: 50%;
                width: 10px;
                height: 10px;
                border-top: 2px solid #fff;
                border-right: 2px solid #fff;
                transform: translate(0, -50%) rotate(45deg); }
          #main .topqa .inner ul li dl dd::before {
            content: "A";
            background: #7ac9b9; }
    @media only screen and (max-width: 979px) {
      #main .topqa {
        padding: 4vw 0 7vw; }
        #main .topqa .inner ul li {
          padding: 3vw; }
          #main .topqa .inner ul li + li {
            margin-top: 3.5vw; }
          #main .topqa .inner ul li dl dt,
          #main .topqa .inner ul li dl dd {
            font-size: 4vw;
            padding: 1vw 0 0 10vw;
            min-height: 8vw; }
            #main .topqa .inner ul li dl dt::before,
            #main .topqa .inner ul li dl dd::before {
              width: 8vw;
              height: 8vw;
              font-size: 5vw; }
          #main .topqa .inner ul li dl dd {
            margin: 3vw 0 0; }
            #main .topqa .inner ul li dl dd .qaBtn {
              width: 100%;
              margin: 3vw 0 0; }
              #main .topqa .inner ul li dl dd .qaBtn a {
                font-size: 4vw;
                line-height: 1.2;
                padding: 1.5vw 0; }
                #main .topqa .inner ul li dl dd .qaBtn a::before {
                  right: 4vw;
                  width: 3vw;
                  height: 3vw;
                  border-top: 0.6vw solid #fff;
                  border-right: 0.6vw solid #fff;
                  transform: translate(0, -50%) rotate(45deg); } }
  #main .topprice {
    padding: 40px 0 70px; }
    #main .topprice .priceContainer {
      max-width: 980px;
      padding: 30px;
      background: #eaf7f4;
      margin: 50px auto; }
      #main .topprice .priceContainer .container {
        background: #fff;
        padding: 20px 40px 20px 40px;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #main .topprice .priceContainer .container p {
          display: flex;
          justify-content: flex-end;
          align-items: center;
          font-size: 20px;
          line-height: 1.2; }
        #main .topprice .priceContainer .container p + p {
          margin-left: 50px; }
        #main .topprice .priceContainer .container p strong {
          font-size: 80px;
          font-weight: bold;
          text-align: right;
          font-family: "Barlow", sans-serif; }
        #main .topprice .priceContainer .container p strong > span {
          font-size: 46px;
          position: relative; }
        #main .topprice .priceContainer .container p strong > span > span {
          font-size: 17px;
          position: absolute;
          right: 0;
          top: -12px;
          white-space: nowrap; }
      #main .topprice .priceContainer .container + .container {
        margin-top: 30px; }
    #main .topprice .inner {
      font-size: 15px; }
      #main .topprice .inner .heading-image {
        display: block; }
      #main .topprice .inner .courseText {
        font-size: 30px;
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        margin: 20px 0 10px; }
    @media only screen and (max-width: 979px) {
      #main .topprice {
        padding: 4vw 0 7vw; }
        #main .topprice .priceContainer {
          padding: 4vw 0 5vw;
          margin: 5vw 0; }
          #main .topprice .priceContainer .container {
            width: 90%;
            padding: 3vw;
            flex-direction: column;
            margin: 0 auto; }
            #main .topprice .priceContainer .container p {
              font-size: 4vw;
              text-align: center; }
            #main .topprice .priceContainer .container p + p {
              margin: 1vw 0 0; }
            #main .topprice .priceContainer .container p strong {
              font-size: 10vw;
              font-weight: bold; }
            #main .topprice .priceContainer .container p strong > span {
              font-size: 6vw;
              position: relative;
              margin-left: 1vw; }
            #main .topprice .priceContainer .container p strong > span > span {
              font-size: 3vw;
              right: -0.7vw;
              top: -2.4vw; }
          #main .topprice .priceContainer .container + .container {
            margin-top: 4vw; }
        #main .topprice .inner {
          font-size: 15px; }
          #main .topprice .inner .heading-image {
            display: block; }
          #main .topprice .inner .courseText {
            font-size: 3.7vw;
            margin: 3vw 0 1.5vw; }
          #main .topprice .inner table.table:last-child {
            margin-bottom: 0 !important; } }
  #main .topothers {
    padding: 40px 0 70px;
    background: #fafafa; }
    #main .topothers .inner > ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #main .topothers .inner > ul > li {
        width: 480px;
        border: 3px solid #7ac9b9;
        background: #fff; }
        #main .topothers .inner > ul > li h3 {
          font-size: 28px;
          color: #fff;
          background: #7ac9b9;
          line-height: 1.4;
          text-align: center;
          padding: 0 0 3px; }
        #main .topothers .inner > ul > li .othersInner {
          padding: 20px; }
          #main .topothers .inner > ul > li .othersInner > ul {
            padding: 0 10px;
            margin: 15px 0 0; }
            #main .topothers .inner > ul > li .othersInner > ul li {
              font-weight: bold;
              line-height: 1.5;
              background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 100 100' xml:space='preserve'%3E%3Cpolygon fill='%230' points='23.206,50.68 45.364,75.496 77.814,39.956 70.088,32.23 45.364,57.726 32.23,42.274 '/%3E%3Cpath fill='%230' d='M1.081,1.081v97.839h97.839V1.081H1.081z M93.968,93.902H6.164V6.098h87.804V93.902z'/%3E%3C/svg%3E");
              background-size: 30px auto;
              background-position: left 4px;
              background-repeat: no-repeat;
              background-size: 22px auto;
              padding: 0 0 0 35px; }
              #main .topothers .inner > ul > li .othersInner > ul li + li {
                margin-top: 7px; }
          #main .topothers .inner > ul > li .othersInner > div {
            margin: 20px 0 0; }
        #main .topothers .inner > ul > li .othersBtn {
          margin: 20px 17px 0; }
          #main .topothers .inner > ul > li .othersBtn a {
            display: block;
            background: #7ac9b9;
            color: #fff;
            font-size: 18px;
            font-weight: bold;
            text-align: center;
            text-decoration: none;
            padding: 10px 0;
            border-radius: 100px;
            position: relative; }
            #main .topothers .inner > ul > li .othersBtn a::before {
              content: "";
              position: absolute;
              right: 25px;
              top: 50%;
              width: 10px;
              height: 10px;
              border-top: 2px solid #fff;
              border-right: 2px solid #fff;
              transform: translate(0, -50%) rotate(45deg); }
    @media only screen and (max-width: 979px) {
      #main .topothers {
        padding: 4vw 0 7vw; }
        #main .topothers .inner > ul > li {
          width: 100%;
          border: 0.8vw solid #7ac9b9; }
          #main .topothers .inner > ul > li + li {
            margin-top: 5vw; }
          #main .topothers .inner > ul > li h3 {
            font-size: 5vw;
            padding: 0.5vw 0 1.3vw; }
          #main .topothers .inner > ul > li .othersInner {
            padding: 3vw; }
            #main .topothers .inner > ul > li .othersInner > ul {
              padding: 0 2vw;
              margin: 2vw 0 0; }
              #main .topothers .inner > ul > li .othersInner > ul li {
                background-size: 5.5vw auto;
                padding: 1vw 0 1vw 7.5vw; }
                #main .topothers .inner > ul > li .othersInner > ul li + li {
                  margin-top: 0; }
            #main .topothers .inner > ul > li .othersInner > div {
              margin: 2vw 0 0; }
          #main .topothers .inner > ul > li .othersBtn {
            margin: 3vw 0 0; }
            #main .topothers .inner > ul > li .othersBtn a {
              font-size: 4.5vw;
              padding: 1.5vw 0; }
              #main .topothers .inner > ul > li .othersBtn a::before {
                right: 4vw;
                width: 3vw;
                height: 3vw;
                border-top: 0.6vw solid #fff;
                border-right: 0.6vw solid #fff;
                transform: translate(0, -50%) rotate(45deg); } }
  #main #buccalTab .lighter-pink-bg {
    background-color: #ffd3dd; }
  #main #buccalTab .white-bg {
    background-color: #fff !important; }
  #main #buccalTab .dark-pink-bg {
    background-color: #ff88a2; }
  #main #buccalTab .cream-bg {
    background-color: #ffe9eb; }
  #main #buccalTab .txt-light-pink {
    color: #fb637e; }
  #main #buccalTab .txt-white {
    color: #fff; }
  #main #buccalTab .wp-41 {
    width: calc(10% * 4.1); }
    @media only screen and (max-width: 979px) {
      #main #buccalTab .wp-41 {
        width: calc(10% * 6); } }
  #main #buccalTab .m-auto {
    margin: 0 auto; }
  #main #buccalTab h3 {
    color: #000;
    margin: 30px 0 20px !important; }
    @media only screen and (max-width: 979px) {
      #main #buccalTab h3 {
        margin: 15px 0 !important; } }
  #main #buccalTab .tabacc.-pc-tab > .tabs > .title {
    border: none !important;
    opacity: 0.6; }
    #main #buccalTab .tabacc.-pc-tab > .tabs > .title:not(:first-child) {
      margin-left: 10px; }
    #main #buccalTab .tabacc.-pc-tab > .tabs > .title.-active {
      opacity: 1; }
  #main #buccalTab .list-decimal li {
    margin-bottom: 15px;
    padding-bottom: 8px; }
    #main #buccalTab .list-decimal li:not(:last-child) {
      border-bottom: 2px solid #fb637e; }
  #main #buccalTab .tabacc.-sp-accordion > .contents > .title::after {
    background: none; }
  #main #buccalTab .tbl-stars table {
    width: 100%; }
  @media only screen and (max-width: 979px) {
    #main #buccalTab .tabacc.-sp-accordion > .contents > .title {
      margin: 0 !important;
      padding: 0 !important; } }
