@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Castoro+Titling&family=Gentium+Book+Plus&family=Noto+Serif+SC:wght@400&display=swap");
article {
  background: url("/assets/laser/bihada/ipl-body/images/bg01.jpg") center 175px/100% auto no-repeat; }
  @media screen and (max-width: 979px) {
    article {
      background: url("/assets/laser/bihada/ipl-body/images/bg01.jpg") left top/auto 144vw no-repeat; } }
  article em {
    color: #2ea3bc;
    font-weight: bold;
    font-style: normal; }
  article p {
    font-size: 18px;
    line-height: 2; }
    @media screen and (max-width: 979px) {
      article p {
        font-size: 3.7vw;
        line-height: 1.6; } }
    article p sup {
      vertical-align: sub; }
  article .ruby {
    position: relative; }
    article .ruby::before {
      width: 100%;
      text-align: center;
      display: block;
      content: "\306F\3093\308A\3085\3046";
      font-size: 0.25em;
      letter-spacing: 0.5em;
      position: absolute;
      left: 0;
      top: -1em;
      white-space: nowrap; }
  article .mv-grid {
    display: grid;
    grid-template-columns: 1fr 310px 660px 320px 310px 1fr;
    grid-template-rows: auto 80px 135px 125px; }
    article .mv-grid-01 {
      grid-column: 2 / 7;
      grid-row: 1 / 4;
      background: url("/assets/laser/bihada/ipl-body/images/mv_bg.jpg") center top/100% auto no-repeat;
      padding: 49.11111111111111% 0 0; }
    article .mv-grid-02 {
      grid-column: 1 / 4;
      grid-row: 3 / 5;
      background: #fff;
      border-radius: 0 90px 0 0; }
    article .mv-grid-03 {
      grid-column: 3 / 5;
      grid-row: 2 / 5; }
  @media screen and (max-width: 1350px) {
    article .mv-grid {
      grid-template-columns: 1fr 150px 660px 320px 150px 1fr; } }
  @media screen and (max-width: 1100px) {
    article .mv-grid {
      grid-template-columns: 1fr 50px 660px 320px 50px 1fr; } }
  article .slick-prev,
  article .slick-next {
    width: 60px;
    height: 60px;
    top: 50%;
    transform: translate(0, -50%);
    background: none !important; }
    article .slick-prev.slick-disabled,
    article .slick-next.slick-disabled {
      display: none !important; }
    article .slick-prev::before,
    article .slick-next::before {
      display: inline-block;
      width: 30px;
      height: 30px;
      border-left: 2px solid #86bac4;
      border-bottom: 2px solid #86bac4;
      transform: rotate(45deg);
      position: absolute;
      background: none !important; }
  article .slick-prev::before,
  article .slick-next::before {
    top: 15px;
    left: 23px; }
  article .slick-next::before {
    transform: rotate(-135deg);
    left: 9px; }
  article .slick-dots {
    bottom: -50px;
    left: 0; }
    article .slick-dots li {
      margin: 0 7px; }
      article .slick-dots li button {
        width: 12px;
        height: 12px; }
        article .slick-dots li button::before {
          width: 12px;
          height: 12px;
          opacity: 1;
          background: #eef4f4; }
      article .slick-dots li.slick-active button::before {
        background: #86bac4; }
  @media screen and (max-width: 979px) {
    article #mv {
      background-image: none; }
    article .slick-prev,
    article .slick-next {
      width: 12vw;
      height: 12vw;
      display: block !important; }
      article .slick-prev.slick-disabled,
      article .slick-next.slick-disabled {
        display: none !important; }
      article .slick-prev::before,
      article .slick-next::before {
        width: 7vw;
        height: 7vw; }
    article .slick-prev::before,
    article .slick-next::before {
      top: 2.5vw;
      left: 4vw; }
    article .slick-next::before {
      left: 1vw; }
    article .slick-dots {
      bottom: -7vw; }
      article .slick-dots li {
        width: 3vw;
        height: 3vw;
        margin: 0 1.2vw; }
        article .slick-dots li button {
          width: 3vw;
          height: 3vw; }
          article .slick-dots li button::before {
            width: 3vw;
            height: 3vw; } }
  article > nav {
    margin: 30px 0 0; }
    article > nav ul {
      width: 980px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center; }
      article > nav ul li {
        border-left: 1px solid #aaaaaa; }
        article > nav ul li:last-child {
          border-right: 1px solid #aaaaaa; }
        article > nav ul li a {
          display: block;
          font-size: 17px;
          padding: 10px 36px;
          text-decoration: none; }
          article > nav ul li a .new {
            background: #e75e39;
            color: #ffff73;
            font-size: 14px;
            padding: 3px 3px 1px;
            margin: 0 3px 0 0; }
          article > nav ul li a p {
            font-size: 17px;
            text-align: center;
            line-height: 1.4; }
            article > nav ul li a p.en {
              font-family: "Castoro Titling", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia, serif;
              font-size: 13px; }
            article > nav ul li a p.ja {
              font-weight: bold; }
    @media screen and (max-width: 979px) {
      article > nav {
        margin: 3vw 0 0; }
        article > nav ul {
          width: 100%;
          flex-wrap: wrap;
          border-top: 0.25vw solid #aaaaaa;
          border-bottom: 0.25vw solid #aaaaaa; }
          article > nav ul li {
            width: 50%;
            border: none; }
            article > nav ul li:nth-child(even) {
              border-left: 0.25vw solid #aaaaaa; }
            article > nav ul li:last-child {
              border-right: none; }
            article > nav ul li:nth-child(n + 3) {
              border-top: 0.25vw solid #aaaaaa; }
            article > nav ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              flex-direction: column;
              width: 100%;
              height: 12vw;
              font-size: 3.5vw;
              padding: 1vw 0 0; }
              article > nav ul li a .new {
                font-size: 3vw;
                padding: 0.3vw 1vw 0.1vw;
                margin: 0 0.5vw 0 0; }
              article > nav ul li a p {
                font-size: 3.5vw; }
                article > nav ul li a p.en {
                  font-size: 2.5vw; } }
  article > section {
    overflow: hidden; }
    article > section > header {
      text-align: center;
      margin: 0 auto 60px;
      padding: 0 0 65px;
      background: url("/assets/laser/bihada/ipl-body/images/icon01.png") center bottom no-repeat; }
      article > section > header h2 {
        font-size: 100px;
        font-weight: normal;
        font-family: "Castoro Titling", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia, serif;
        letter-spacing: 5px;
        color: #86bac4;
        line-height: 1; }
      article > section > header p {
        font-size: 25px;
        line-height: 1; }
      @media screen and (max-width: 979px) {
        article > section > header {
          margin: 0 auto 7vw;
          padding: 0 0 9vw;
          background-size: auto 7vw; }
          article > section > header h2 {
            font-size: 10vw;
            letter-spacing: 0.1em; }
          article > section > header p {
            font-size: 3.7vw;
            margin: 0.5vw 0 0; } }
    article > section.what {
      margin: 90px 0 0;
      padding: 0 0 100px;
      position: relative;
      background: url("/assets/laser/bihada/ipl-body/images/what01.jpg") center bottom/100% 100% no-repeat; }
      article > section.what .banner {
        margin: 0 0 90px;
        text-align: center; }
        article > section.what .banner p {
          font-size: 23px;
          font-weight: bold;
          margin: 0 0 5px; }
      article > section.what .container01 {
        position: relative; }
        article > section.what .container01 .text {
          display: flex;
          justify-content: center;
          flex-direction: column;
          width: 980px;
          min-height: 640px;
          margin: 0 auto;
          position: relative;
          padding: 0 0 30px;
          z-index: 2; }
          article > section.what .container01 .text h3 {
            font-size: 50px;
            font-weight: normal;
            line-height: 1.1;
            letter-spacing: 0.2em;
            margin: 0 0 30px; }
          article > section.what .container01 .text p span {
            background-color: rgba(255, 255, 255, 0.9);
            padding: 2px; }
          article > section.what .container01 .text p + p {
            margin-top: 40px; }
          article > section.what .container01 .text .btn {
            margin: 40px 0 0; }
            article > section.what .container01 .text .btn a {
              display: block;
              width: 300px;
              height: 60px;
              text-decoration: none;
              margin-left: 65px;
              position: relative; }
              article > section.what .container01 .text .btn a:hover {
                opacity: 1; }
              article > section.what .container01 .text .btn a span {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 300px;
                height: 60px;
                position: relative;
                border: 1px solid #000;
                background: #fff; }
              article > section.what .container01 .text .btn a::before, article > section.what .container01 .text .btn a::after,
              article > section.what .container01 .text .btn a span::before,
              article > section.what .container01 .text .btn a span::after {
                content: "";
                width: 310px;
                height: 70px;
                position: absolute;
                right: -5px;
                bottom: -5px;
                transition: all 0.1s linear; }
              article > section.what .container01 .text .btn a::before {
                width: 300px;
                border-bottom: 1px solid #000; }
              article > section.what .container01 .text .btn a::after {
                height: 60px;
                border-right: 1px solid #000; }
              article > section.what .container01 .text .btn a:hover::before {
                width: 310px; }
              article > section.what .container01 .text .btn a:hover::after {
                height: 70px; }
              article > section.what .container01 .text .btn a span::before {
                width: 0;
                border-top: 1px solid #000; }
              article > section.what .container01 .text .btn a span::after {
                height: 0;
                border-left: 1px solid #000; }
              article > section.what .container01 .text .btn a:hover span::before, article > section.what .container01 .text .btn a:hover span::after {
                transition-delay: 0.1s; }
              article > section.what .container01 .text .btn a:hover span::before {
                width: 310px; }
              article > section.what .container01 .text .btn a:hover span::after {
                height: 70px; }
        article > section.what .container01 .img {
          position: absolute;
          right: -40px;
          top: 50%;
          z-index: 1;
          transform: translate(0, -50%); }
          article > section.what .container01 .img img {
            border-radius: 100px 0 0 100px; }
      article > section.what .container02 {
        margin: 60px auto 0;
        width: 750px;
        border-radius: 30px;
        background: #fff;
        padding: 40px 50px;
        box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
        position: relative;
        z-index: 2; }
        article > section.what .container02 p.img-title {
          text-align: center;
          font-size: 30px;
          font-weight: bold;
          margin: 0 0 20px; }
        article > section.what .container02 p {
          margin: 20px 0 0;
          line-height: 1.6; }
          article > section.what .container02 p em {
            color: #2ea3bc; }
      @media screen and (max-width: 979px) {
        article > section.what {
          margin: 9vw 0 0;
          padding: 0 0 10vw; }
          article > section.what .banner {
            margin: 0 0 10vw;
            padding: 0 2.5vw; }
            article > section.what .banner p {
              font-size: 4vw;
              margin: 0 0 0.5vw; }
          article > section.what .container01 .text {
            width: 100%;
            min-height: inherit;
            padding: 0 2vw; }
            article > section.what .container01 .text p {
              text-shadow: 0 0 0.5vw white; }
              article > section.what .container01 .text p + p {
                margin-top: 4vw; }
          article > section.what .container01 .img {
            width: 80vw;
            position: relative;
            right: inherit;
            top: inherit;
            transform: translate(0, 0);
            margin: 4vw -3vw 0 auto; }
            article > section.what .container01 .img img {
              border-radius: 10vw 0 0 10vw; }
          article > section.what .container02 {
            margin: 6vw auto 0;
            width: 90vw;
            border-radius: 4vw;
            padding: 5vw;
            box-shadow: 0 0 2vw 0 rgba(0, 0, 0, 0.2); }
            article > section.what .container02 p.img-title {
              font-size: 4.5vw;
              margin: 0 0 2vw; }
            article > section.what .container02 p {
              margin: 3vw 0 0; } }
    article > section.ipl {
      padding: 10px 0 80px;
      background: #f8f9fa; }
      article > section.ipl .inner {
        width: 980px;
        margin: 0 auto;
        text-align: center; }
        article > section.ipl .inner p {
          text-align: left; }
          article > section.ipl .inner p.text01 {
            font-size: 30px;
            margin: 0 0 20px;
            text-align: center; }
          article > section.ipl .inner p strong {
            color: #2ea3bc; }
          article > section.ipl .inner p em {
            color: #e75e39; }
          article > section.ipl .inner p.caution {
            text-align: right;
            font-size: 16px;
            margin: 1em 0 0; }
      @media screen and (max-width: 979px) {
        article > section.ipl {
          padding: 1vw 0 10vw;
          background-size: auto 33vw; }
          article > section.ipl .inner {
            width: 100%;
            padding: 0 2vw; }
            article > section.ipl .inner p {
              text-align: left; }
              article > section.ipl .inner p.text01 {
                font-size: 4.5vw;
                font-weight: bold;
                margin: 0 0 3vw; }
              article > section.ipl .inner p strong {
                color: #2ea3bc; }
              article > section.ipl .inner p em {
                color: #e75e39; }
              article > section.ipl .inner p.caution {
                font-size: 3vw; }
            article > section.ipl .inner .container01 {
              margin: 6vw auto 0;
              width: 80vw;
              border-radius: 4vw;
              padding: 5vw;
              box-shadow: 0 0 2vw 0 rgba(0, 0, 0, 0.2);
              /*
						&.fadeRight {
							margin-left: auto;
							margin-top: -2.5vw;
						}
						*/ }
              article > section.ipl .inner .container01 p.img-title {
                font-size: 4.5vw;
                margin: 0 0 2vw; }
              article > section.ipl .inner .container01 p {
                margin: 3vw 0 0; } }
    article > section.treatment {
      background: #f0f0f0; }
      article > section.treatment header {
        background-image: url("/assets/laser/bihada/ipl-body/images/icon02.png");
        margin: 0 0 50px; }
        article > section.treatment header h2 {
          font-size: 70px;
          color: #fff; }
      article > section.treatment h3 {
        font-size: 36px;
        color: #2ea3bc;
        margin-bottom: 10px; }
      article > section.treatment .treatment-wrap.fotDT {
        display: flex; }
        article > section.treatment .treatment-wrap.fotDT .col {
          width: 50%;
          background: linear-gradient(45deg, #a3c8d4 0%, #5799b1 100%);
          padding: 4% 3%; }
          article > section.treatment .treatment-wrap.fotDT .col .inner {
            margin: 0 0 0 auto;
            max-width: calc(980px / 2); }
            article > section.treatment .treatment-wrap.fotDT .col .inner p {
              font-size: 16px;
              line-height: 1.6;
              color: #fff; }
              article > section.treatment .treatment-wrap.fotDT .col .inner p.treatment-ttl {
                font-size: 26px;
                font-weight: bold;
                text-align: center;
                margin-bottom: 10px;
                color: #fff; }
              article > section.treatment .treatment-wrap.fotDT .col .inner p.headline {
                font-size: 18px;
                line-height: 1.4;
                font-weight: bold;
                background: #eaf0f5;
                color: #2ea3bc;
                text-align: center;
                padding: 4px 0;
                margin-bottom: 15px; }
              article > section.treatment .treatment-wrap.fotDT .col .inner p.caution {
                text-align: right;
                font-size: 16px;
                margin: 0.5em 0 0; }
            article > section.treatment .treatment-wrap.fotDT .col .inner .container01 {
              background-color: rgba(255, 255, 255, 0.8);
              padding: 30px;
              margin: 30px 0 0; }
              article > section.treatment .treatment-wrap.fotDT .col .inner .container01 p {
                font-size: 20px;
                color: #000; }
                article > section.treatment .treatment-wrap.fotDT .col .inner .container01 p.dr {
                  font-size: 16px;
                  margin: 7px 0 0;
                  text-align: right; }
                  article > section.treatment .treatment-wrap.fotDT .col .inner .container01 p.dr a {
                    color: #000; }
              article > section.treatment .treatment-wrap.fotDT .col .inner .container01 .img {
                margin: 15px 0 0; }
          article > section.treatment .treatment-wrap.fotDT .col + .col {
            background: linear-gradient(-45deg, #a763a2 0%, #80227a 100%);
            margin-top: 0; }
            article > section.treatment .treatment-wrap.fotDT .col + .col .inner {
              margin: 0 auto 0 0; }
              article > section.treatment .treatment-wrap.fotDT .col + .col .inner p.headline {
                background: #fff;
                color: #80227a; }
        article > section.treatment .treatment-wrap.fotDT .link-btn {
          justify-content: center; }
      article > section.treatment .container02 {
        margin: 0;
        background: url(/assets/laser/bihada/ipl-body/images/ipl01.jpg) center bottom no-repeat;
        background-size: cover; }
        article > section.treatment .container02 .inner {
          display: flex;
          justify-content: space-between;
          align-items: center;
          width: 910px;
          height: 448px;
          margin: 0 auto; }
          article > section.treatment .container02 .inner .container02_txt {
            color: #000;
            flex: 1;
            padding: 0 0 0 40px;
            /*text-shadow:
							0 0 15px rgba($color: #000, $alpha: 0.5),
							0 0 15px rgba($color: #000, $alpha: 1);*/ }
          article > section.treatment .container02 .inner .clinic-btn {
            margin-bottom: 0; }
          article > section.treatment .container02 .inner .caution {
            text-align: center;
            font-size: 14px;
            margin: 0.5em 0 0; }
      article > section.treatment #foto-rf .inner {
        padding: 4% 6%; }
        article > section.treatment #foto-rf .inner p {
          font-size: 20px; }
      @media screen and (max-width: 979px) {
        article > section.treatment {
          background-size: auto 100%;
          padding: 0; }
          article > section.treatment header {
            margin: 0 0 7vw; }
            article > section.treatment header h2 {
              font-size: 7.8vw; }
          article > section.treatment h3 {
            font-size: 5vw; }
          article > section.treatment .treatment-wrap.fotDT {
            flex-wrap: wrap; }
            article > section.treatment .treatment-wrap.fotDT .col {
              width: 100%; }
              article > section.treatment .treatment-wrap.fotDT .col .inner p {
                font-size: 3.7vw; }
                article > section.treatment .treatment-wrap.fotDT .col .inner p.treatment-ttl {
                  font-size: 5.5vw; }
                article > section.treatment .treatment-wrap.fotDT .col .inner p.headline {
                  font-size: 4.5vw;
                  line-height: 1.2;
                  padding: 1vw 0; }
                article > section.treatment .treatment-wrap.fotDT .col .inner p.caution {
                  font-size: 3vw; }
              article > section.treatment .treatment-wrap.fotDT .col .inner .container01 {
                padding: 4vw 3vw;
                margin: 4vw 0 0; }
                article > section.treatment .treatment-wrap.fotDT .col .inner .container01 p {
                  font-size: 4vw; }
                  article > section.treatment .treatment-wrap.fotDT .col .inner .container01 p.dr {
                    font-size: 3vw;
                    margin: 1vw 0 0; }
                article > section.treatment .treatment-wrap.fotDT .col .inner .container01 .img {
                  margin: 2vw 0 0; }
          article > section.treatment .container02 {
            margin: 0;
            padding: 0 3vw; }
            article > section.treatment .container02 .inner {
              width: 100%;
              height: 60vw; }
              article > section.treatment .container02 .inner > div {
                width: 35vw; }
                article > section.treatment .container02 .inner > div.container02_txt {
                  padding: 0; }
                article > section.treatment .container02 .inner > div .caution {
                  font-size: 2.5vw; }
              article > section.treatment .container02 .inner p {
                font-size: 3.2vw;
                padding: 0 0 0 5vw; }
          article > section.treatment #foto-rf .inner {
            padding: 4% 3%; }
            article > section.treatment #foto-rf .inner p {
              font-size: 3.7vw; } }
    article > section.point {
      padding: 100px 0 150px; }
      article > section.point .container {
        position: relative;
        padding: 150px 0 0; }
        article > section.point .container > .img {
          position: absolute;
          left: 0;
          top: 0; }
        article > section.point .container .inner {
          width: 980px;
          margin: 0 auto;
          position: relative; }
          article > section.point .container .inner::before {
            content: "";
            width: 176px;
            height: 140px;
            background: url("/assets/laser/bihada/ipl-body/images/point02.png") left top/auto 100% no-repeat, url("/assets/laser/bihada/ipl-body/images/point02.png") right top/auto 100% no-repeat;
            position: absolute;
            right: -125px;
            bottom: -100px; }
          article > section.point .container .inner .container01 dl {
            display: flex;
            align-items: stretch;
            margin: 10px 0;
            text-align: left;
            line-height: 1.4;
            border: 1px solid #e3ebef; }
            article > section.point .container .inner .container01 dl dt {
              text-align: center;
              width: 22%;
              background: #86bac4;
              padding: 10px;
              font-size: 18px;
              font-weight: bold;
              color: #fff; }
              article > section.point .container .inner .container01 dl dt a {
                color: #fff; }
            article > section.point .container .inner .container01 dl dd {
              width: 78%;
              padding: 10px; }
          article > section.point .container .inner .container01 > .fixedText {
            height: 435px;
            font-size: 24px;
            font-family: "Castoro Titling", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia, serif;
            line-height: 1;
            color: #86bac4;
            writing-mode: vertical-rl;
            position: absolute;
            right: -50px;
            top: 0; }
            article > section.point .container .inner .container01 > .fixedText::before {
              content: "";
              position: absolute;
              left: 14px;
              bottom: 0;
              width: 1px;
              height: 340px;
              border-left: 1px solid #86bac4; }
          article > section.point .container .inner .container01 #pointSlider {
            background: #fff;
            box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
            border-radius: 30px;
            padding: 50px 130px 100px; }
            article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide {
              text-align: center; }
              article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide .point {
                display: inline-flex;
                justify-content: center;
                align-items: center;
                font-size: 120px;
                font-family: "Castoro Titling", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia, serif;
                line-height: 1;
                color: #eef4f4;
                position: relative;
                padding: 0 0 0 30px; }
                article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide .point span {
                  font-size: 20px;
                  display: block;
                  position: absolute;
                  left: 0;
                  top: 50%;
                  transform: translate(0, -50%);
                  color: #81b5c0;
                  padding: 0 0 10px; }
              article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide h3 {
                font-size: 36px;
                font-weight: normal; }
              article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide .text {
                text-align: left;
                margin: 25px 0 0; }
            article > section.point .container .inner .container01 #pointSlider .slick-prev {
              left: 25px; }
            article > section.point .container .inner .container01 #pointSlider .slick-next {
              right: 25px; }
      @media screen and (max-width: 979px) {
        article > section.point {
          padding: 9vw 0 15vw; }
          article > section.point .container {
            padding: 12vw 0 0; }
            article > section.point .container > .img {
              width: 80vw; }
            article > section.point .container .inner {
              width: 85vw; }
              article > section.point .container .inner::before {
                content: "";
                width: 15vw;
                height: 12vw;
                right: -5vw;
                bottom: -10vw; }
              article > section.point .container .inner .container01 {
                border-radius: 30px;
                position: relative;
                z-index: 1; }
                article > section.point .container .inner .container01 > .fixedText {
                  height: 70vw;
                  font-size: 10vw;
                  right: -6vw;
                  top: 0;
                  z-index: 1;
                  opacity: 0.5; }
                  article > section.point .container .inner .container01 > .fixedText::before {
                    left: 6.5vw;
                    height: 33vw;
                    border-left: 0.5vw solid #8ba8bd; }
                article > section.point .container .inner .container01 dl {
                  flex-wrap: wrap; }
                  article > section.point .container .inner .container01 dl dt,
                  article > section.point .container .inner .container01 dl dd {
                    width: 100%;
                    padding: 4%; }
                article > section.point .container .inner .container01 #pointSlider {
                  padding: 5vw 5vw 4vw;
                  border-radius: 5vw;
                  box-shadow: 0 0 2vw 0 rgba(0, 0, 0, 0.2);
                  z-index: 2; }
                  article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide .point {
                    font-size: 18vw;
                    padding: 0 0 0 6vw; }
                    article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide .point span {
                      font-size: 4vw;
                      padding: 0 0 1vw; }
                  article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide h3 {
                    font-size: 5vw; }
                  article > section.point .container .inner .container01 #pointSlider > .slick-list > .slick-track > .slick-slide .text {
                    margin: 3vw 0 0; }
                  article > section.point .container .inner .container01 #pointSlider .slick-prev {
                    left: -6vw; }
                  article > section.point .container .inner .container01 #pointSlider .slick-next {
                    right: -6vw; } }
    article > section.photo {
      padding: 0 0 160px; }
      article > section.photo .inner {
        width: 880px;
        margin: 0 auto; }
        article > section.photo .inner #photoSlider {
          margin: 0; }
          article > section.photo .inner #photoSlider > .slick-list {
            overflow: unset !important; }
            article > section.photo .inner #photoSlider > .slick-list > .slick-track > .slick-slide .container01 {
              padding: 0 50px; }
          article > section.photo .inner #photoSlider .slick-prev {
            left: -28px; }
          article > section.photo .inner #photoSlider .slick-next {
            right: -28px; }
          article > section.photo .inner #photoSlider h3 {
            font-size: 20px;
            font-weight: normal;
            text-align: center;
            border-bottom: 1px solid #000;
            padding: 0 0 7px;
            margin: 0 0 45px; }
          article > section.photo .inner #photoSlider .img {
            min-height: 279px;
            display: flex;
            align-items: center; }
          article > section.photo .inner #photoSlider .text {
            display: flex;
            justify-content: space-between; }
            article > section.photo .inner #photoSlider .text > p {
              width: 370px;
              border: 1px solid #000;
              text-align: center;
              margin: 10px 0 0; }
          article > section.photo .inner #photoSlider .dr {
            margin: 10px 0 0;
            text-align: right; }
        article > section.photo .inner .photo_comment {
          margin-top: 10px;
          background: #d9ecef;
          padding: 1% 2%; }
          article > section.photo .inner .photo_comment p {
            font-size: 17px; }
            @media screen and (max-width: 979px) {
              article > section.photo .inner .photo_comment p {
                font-size: 3vw; } }
      article > section.photo .risk {
        width: 980px;
        margin: 90px auto 0; }
        article > section.photo .risk .mhlw-risk {
          min-height: inherit; }
      @media screen and (max-width: 979px) {
        article > section.photo {
          padding: 0 0 15vw; }
          article > section.photo .inner {
            width: 100%; }
            article > section.photo .inner #photoSlider > .slick-list > .slick-track > .slick-slide .container01 {
              padding: 0 7vw; }
            article > section.photo .inner #photoSlider .slick-prev {
              left: -1.5vw; }
            article > section.photo .inner #photoSlider .slick-next {
              right: -1.5vw; }
            article > section.photo .inner #photoSlider h3 {
              font-size: 3.7vw;
              padding: 0 0 1vw;
              margin: 0 0 3vw; }
            article > section.photo .inner #photoSlider .img {
              min-height: 31vw; }
            article > section.photo .inner #photoSlider .text > p {
              width: 47.5%;
              font-size: 3vw;
              margin: 1.5vw 0 0;
              padding: 0.6vw 0 0.3vw; }
            article > section.photo .inner #photoSlider .dr {
              margin: 1.5vw 0 0; }
          article > section.photo .risk {
            width: 94%;
            margin: 12vw auto 0; }
            article > section.photo .risk .mhlw-risk {
              padding: 0;
              min-height: inherit; }
              article > section.photo .risk .mhlw-risk > .mhlw-risk-single {
                margin: 0;
                font-size: 2.5vw;
                padding: 2.5vw; } }
    article > section.price {
      padding: 100px 0 160px;
      background: url("/assets/laser/bihada/ipl-body/images/price01.jpg") center top no-repeat; }
      article > section.price header {
        background-image: url("/assets/laser/bihada/ipl-body/images/icon02.png");
        margin: 0 0 50px; }
        article > section.price header h2,
        article > section.price header p {
          color: #fff; }
      article > section.price .inner {
        width: 980px;
        /*background: #fff;*/
        border-radius: 50px;
        padding: 0 70px;
        margin: 0 auto; }
        article > section.price .inner.triple {
          background: #f8f9fa; }
        article > section.price .inner h3 {
          font-size: 30px;
          text-align: center;
          margin: 0 0 30px; }
        article > section.price .inner .price-box {
          border: 1px solid #000;
          border-radius: 20px;
          padding: 20px 50px 30px;
          background: #fff; }
          article > section.price .inner .price-box + .price-box {
            margin-top: 25px; }
          article > section.price .inner .price-box p.part {
            font-size: 30px;
            margin-bottom: 20px; }
          article > section.price .inner .price-box .container01 {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            margin: 0 auto; }
            article > section.price .inner .price-box .container01 + .container01 {
              margin-top: 15px; }
            article > section.price .inner .price-box .container01 .price-text {
              display: flex;
              justify-content: flex-start;
              align-items: center; }
            article > section.price .inner .price-box .container01 p {
              line-height: 1;
              font-size: 24px; }
              article > section.price .inner .price-box .container01 p.num {
                font-size: 20px;
                text-align: left; }
                article > section.price .inner .price-box .container01 p.num span {
                  display: inline-block;
                  margin-top: 4px;
                  padding: 2px 20px;
                  border: 1px solid #000; }
              article > section.price .inner .price-box .container01 p.price {
                font-size: 70px;
                font-weight: bold;
                flex: 1;
                text-align: right; }
                article > section.price .inner .price-box .container01 p.price > span {
                  font-size: 40px;
                  position: relative;
                  margin-left: 5px; }
                  article > section.price .inner .price-box .container01 p.price > span > span {
                    font-size: 14px;
                    position: absolute;
                    letter-spacing: 3px;
                    right: 2px;
                    bottom: 45px;
                    white-space: nowrap; }
                article > section.price .inner .price-box .container01 p.price > strong {
                  display: block;
                  font-size: 20px;
                  margin: 5px 0 0; }
              article > section.price .inner .price-box .container01 p.caution {
                width: 100%;
                font-size: 18px;
                margin: 20px 0 0;
                text-align: center; }
            article > section.price .inner .price-box .container01.orange {
              color: #e75e39;
              border-color: #e75e39; }
              article > section.price .inner .price-box .container01.orange p.num span {
                border-color: #e75e39; }
          article > section.price .inner .price-box p.clinic-info {
            width: 100%;
            margin-top: 10px;
            font-size: 16px;
            text-align: left;
            line-height: 1.4;
            padding-left: 20px;
            position: relative; }
            article > section.price .inner .price-box p.clinic-info::before {
              content: "※";
              position: absolute;
              left: 0;
              top: 0; }
        article > section.price .inner .priceFrame {
          background: #fff;
          box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
          border-radius: 30px;
          padding: 50px 100px 100px; }
          article > section.price .inner .priceFrame #priceSlider {
            margin: 0 0 70px; }
            article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide {
              text-align: center; }
              article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide .point {
                display: inline-flex;
                justify-content: center;
                align-items: center;
                font-size: 120px;
                font-family: "Castoro Titling", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia, serif;
                line-height: 1;
                color: #eef4f4;
                position: relative;
                padding: 0 0 0 30px; }
                article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide .point span {
                  font-size: 20px;
                  display: block;
                  position: absolute;
                  left: 0;
                  top: 50%;
                  transform: translate(0, -50%);
                  color: #86bac4;
                  padding: 0 0 10px; }
              article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide h3 {
                font-size: 36px;
                font-weight: normal; }
              article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide .text {
                text-align: left;
                margin: 25px 0 0; }
            article > section.price .inner .priceFrame #priceSlider .slick-dots {
              bottom: -40px; }
            article > section.price .inner .priceFrame #priceSlider .slick-prev {
              left: -65px; }
            article > section.price .inner .priceFrame #priceSlider .slick-next {
              right: -65px; }
      article > section.price .caution {
        margin: 70px 0 0;
        font-size: 14px; }
      article > section.price .clinic-btn {
        margin-bottom: 0; }
      article > section.price .caution {
        margin: 5px 0 0; }
      @media screen and (max-width: 979px) {
        article > section.price {
          padding: 12vw 0 15vw;
          background-size: auto 52vw; }
          article > section.price header {
            margin: 0 0 7vw; }
          article > section.price .inner {
            width: 94%;
            padding: 0;
            border-radius: 5vw; }
            article > section.price .inner h3 {
              font-size: 4.5vw;
              margin: 0 0 5vw; }
            article > section.price .inner .price-box {
              width: 98%;
              padding: 3vw 3vw; }
              article > section.price .inner .price-box + .price-box {
                margin: 4vw 0 0; }
              article > section.price .inner .price-box p.part {
                font-size: 5vw;
                margin-bottom: 3vw; }
              article > section.price .inner .price-box .container01 + .container01 {
                margin: 2vw 0 0; }
              article > section.price .inner .price-box .container01 .price-text {
                align-self: center;
                margin-bottom: 10px; }
              article > section.price .inner .price-box .container01 p {
                font-size: 3.8vw; }
                article > section.price .inner .price-box .container01 p.num {
                  font-size: 3.5vw; }
                  article > section.price .inner .price-box .container01 p.num span {
                    padding: 0.5vw 3vw; }
                article > section.price .inner .price-box .container01 p.price {
                  align-self: flex-end;
                  font-size: 12vw; }
                  article > section.price .inner .price-box .container01 p.price > span {
                    font-size: 7vw;
                    margin-left: 0.5vw; }
                    article > section.price .inner .price-box .container01 p.price > span > span {
                      font-size: 3vw;
                      letter-spacing: 0.2vw;
                      right: 0.4vw;
                      bottom: 8vw; }
                  article > section.price .inner .price-box .container01 p.price > strong {
                    font-size: 3.5vw;
                    margin: 1vw 0 0; }
                article > section.price .inner .price-box .container01 p.caution {
                  font-size: 3vw;
                  margin: 2vw 0 0; }
              article > section.price .inner .price-box.hifuka .container01 {
                flex-direction: column; }
                article > section.price .inner .price-box.hifuka .container01 .price-text {
                  align-self: flex-start; }
                  article > section.price .inner .price-box.hifuka .container01 .price-text p.num span {
                    margin-left: 6px; }
              article > section.price .inner .price-box p.clinic-info {
                font-size: 3vw;
                padding-left: 3vw; }
            article > section.price .inner .priceFrame {
              padding: 5vw 5vw 7vw;
              border-radius: 5vw;
              box-shadow: 0 0 2vw 0 rgba(0, 0, 0, 0.2);
              z-index: 2; }
              article > section.price .inner .priceFrame #priceSlider {
                margin: 0 0 10vw; }
                article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide .point {
                  font-size: 18vw;
                  padding: 0 0 0 6vw; }
                  article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide .point span {
                    font-size: 4vw;
                    padding: 0 0 1vw; }
                article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide h3 {
                  font-size: 5vw; }
                article > section.price .inner .priceFrame #priceSlider > .slick-list > .slick-track > .slick-slide .text {
                  margin: 3vw 0 0; }
                article > section.price .inner .priceFrame #priceSlider .slick-dots {
                  bottom: -6vw; }
                article > section.price .inner .priceFrame #priceSlider .slick-prev {
                  left: -9vw; }
                article > section.price .inner .priceFrame #priceSlider .slick-next {
                  right: -9vw; }
          article > section.price .caution {
            margin: 10vw 0 0;
            font-size: 3vw; }
          article > section.price .slick-slide .caution {
            margin: 1vw 0 0; } }
    article > section.qa {
      background: linear-gradient(0deg, #c7e1e4 0%, #edf4f4 100%);
      padding: 100px 0; }
      article > section.qa .faq_list {
        width: 980px;
        margin: 0 auto; }
        article > section.qa .faq_list .faq-box {
          border-bottom: 1px solid #fff;
          padding-bottom: 40px; }
          article > section.qa .faq_list .faq-box + .faq-box {
            margin-top: 40px; }
          article > section.qa .faq_list .faq-box .question,
          article > section.qa .faq_list .faq-box .answer {
            min-height: inherit;
            padding: 0 0 0 60px; }
            article > section.qa .faq_list .faq-box .question::before,
            article > section.qa .faq_list .faq-box .answer::before {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 34px;
              height: 34px;
              font-size: 20px;
              line-height: 1;
              font-family: sans-serif;
              padding: 2px 0 0;
              top: 3px; }
          article > section.qa .faq_list .faq-box .question h3 {
            font-size: 20px; }
          article > section.qa .faq_list .faq-box .question::before {
            background: #2ea3bc;
            color: #fff; }
          article > section.qa .faq_list .faq-box .answer {
            font-size: 20px;
            margin: 20px 0 0; }
            article > section.qa .faq_list .faq-box .answer::before {
              background: #fff;
              color: #2ea3bc; }
      @media screen and (max-width: 979px) {
        article > section.qa {
          padding: 12vw 0 15vw; }
          article > section.qa .faq_list {
            width: 94%; }
            article > section.qa .faq_list .faq-box {
              padding-bottom: 4vw; }
              article > section.qa .faq_list .faq-box + .faq-box {
                margin-top: 5vw; }
              article > section.qa .faq_list .faq-box .question,
              article > section.qa .faq_list .faq-box .answer {
                padding: 0 0 0 9vw; }
                article > section.qa .faq_list .faq-box .question::before,
                article > section.qa .faq_list .faq-box .answer::before {
                  width: 6.5vw;
                  height: 6.5vw;
                  font-size: 4.5vw;
                  padding: 0.4vw 0 0;
                  top: 0.2vw; }
              article > section.qa .faq_list .faq-box .question h3 {
                font-size: 4vw; }
              article > section.qa .faq_list .faq-box .answer {
                font-size: 4vw;
                margin: 2vw 0 0; } }
    article > section.clinic {
      padding: 120px 0 0; }
      article > section.clinic h3 {
        font-size: 36px;
        color: #5488b0;
        margin: 30px 0 10px;
        text-align: center; }
      article > section.clinic #clinic-map {
        width: 100%;
        min-height: 2000px;
        margin-top: 0; }
        article > section.clinic #clinic-map.clinicMap-fotoRF #tohoku,
        article > section.clinic #clinic-map.clinicMap-fotoRF #chugoku {
          display: none; }
      article > section.clinic .tabacc .tabs .title {
        text-align: center;
        background-color: #eff5fa !important;
        border: 1px solid #c2c2c2 !important;
        color: #5488b0 !important; }
      article > section.clinic .tabacc .tabs .title.-active {
        background-color: #8ba8bd !important;
        border: 1px solid #8ba8bd !important;
        border-bottom: none !important;
        color: #fff !important; }
      @media screen and (max-width: 979px) {
        article > section.clinic .tabacc .tabs .title {
          font-size: 3vw !important; } }
      article > section.clinic .tabacc .contents {
        padding: 10px !important; }
      @media screen and (max-width: 979px) {
        article > section.clinic {
          padding: 12vw 0 0; }
          article > section.clinic h3 {
            font-size: 5vw; } }

.effect {
  opacity: 0; }
  .effect.is-active.fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0; }
  .effect.is-active.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0; }
  .effect.is-active.fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0; }
  .effect.is-active.fadeLeft {
    animation-name: fadeLeftAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0; }
  .effect.is-active.fadeRight {
    animation-name: fadeRightAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0; }

@keyframes fadeInAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px); }
  to {
    opacity: 1;
    transform: translateX(0); } }

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px); }
  to {
    opacity: 1;
    transform: translateX(0); } }

.cv_wrap {
  background: #5488b0;
  padding: 30px 0; }
  @media screen and (max-width: 979px) {
    .cv_wrap {
      padding: 20px 0; } }
  .cv_wrap .ac_ly_002 {
    justify-content: space-between;
    align-items: center; }
    .cv_wrap .ac_ly_002 .cv_btn {
      margin: 0 auto;
      text-align: center; }
      .cv_wrap .ac_ly_002 .cv_btn img {
        width: 95%; }
    .cv_wrap .ac_ly_002 .cv_tel {
      margin: 10px auto 0;
      text-align: center; }
      .cv_wrap .ac_ly_002 .cv_tel img {
        width: 95%; }
        @media screen and (max-width: 979px) {
          .cv_wrap .ac_ly_002 .cv_tel img {
            width: 85%; } }

.clinic-btn {
  text-align: center;
  margin: 20px auto; }
  .clinic-btn .button-normal {
    width: 70%;
    margin: 0 auto;
    background: #000;
    border-radius: 50px;
    line-height: 1.4;
    color: #fff; }
  @media screen and (max-width: 979px) {
    .clinic-btn {
      margin: 10px auto;
      padding: 0 2%; }
      .clinic-btn .button-normal {
        padding: 10px 30px;
        width: 100%;
        font-size: 3.5vw; } }

.modal .cboxIframe {
  width: 100%; }

.recommend {
  padding: 100px 0 120px;
  background: #fafafa; }
  @media only screen and (max-width: 979px) {
    .recommend {
      padding: 12vw 0 15vw; } }
  .recommend .inner {
    width: 980px;
    margin: 0 auto; }
    .recommend .inner .swiper-wrapper {
      height: inherit; }
    @media only screen and (max-width: 979px) {
      .recommend .inner {
        width: 96%; } }
  .recommend .recommend__slider {
    overflow: hidden;
    padding: 35px 0;
    position: relative; }
    @media only screen and (max-width: 575px) {
      .recommend .recommend__slider {
        padding: 20px 0; } }
  .recommend .slide-item {
    transform: scale(0.848);
    transition: transform 0.4s ease-in-out, margin 0.4s ease-in-out; }
    .recommend .slide-item a {
      text-decoration: none; }
      .recommend .slide-item a p {
        font-size: 14px;
        color: #707070;
        line-height: 1.4; }
        @media only screen and (max-width: 979px) {
          .recommend .slide-item a p {
            font-size: 2.6vw; } }
  .recommend .swiper-slide-prev {
    margin-left: -22px; }
    @media only screen and (max-width: 575px) {
      .recommend .swiper-slide-prev {
        margin-left: -15px; } }
  .recommend .swiper-slide-next {
    margin-left: 22px; }
    @media only screen and (max-width: 575px) {
      .recommend .swiper-slide-next {
        margin-left: 15px; } }
  .recommend .swiper-slide-active {
    transform: scale(1.32);
    margin-left: 22px; }
    @media only screen and (max-width: 575px) {
      .recommend .swiper-slide-active {
        margin-left: 15px; } }
  .recommend .swiper-button {
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat; }
    .recommend .swiper-button:after {
      display: none; }
    .recommend .swiper-button-prev {
      left: 260px;
      background-image: url(/assets/laser/bihada/ipl-body/images/slide_prev.png); }
      @media only screen and (max-width: 979px) {
        .recommend .swiper-button-prev {
          left: 26.5%; } }
      @media only screen and (max-width: 768px) {
        .recommend .swiper-button-prev {
          left: 25.5%; } }
      @media only screen and (max-width: 575px) {
        .recommend .swiper-button-prev {
          left: 23%; } }
    .recommend .swiper-button-next {
      right: 260px;
      background-image: url(/assets/laser/bihada/ipl-body/images/slide_next.png); }
      @media only screen and (max-width: 979px) {
        .recommend .swiper-button-next {
          right: 26.5%; } }
      @media only screen and (max-width: 768px) {
        .recommend .swiper-button-next {
          right: 25.5%; } }
      @media only screen and (max-width: 575px) {
        .recommend .swiper-button-next {
          right: 23%; } }

.btn-hifuka {
  width: 100%; }
  .btn-hifuka .button-normal {
    background-color: #000000; }
    @media screen and (max-width: 979px) {
      .btn-hifuka .button-normal {
        font-size: 3vw;
        padding: 10px 20px; } }
