@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Libertinus+Serif&display=swap");
article > nav {
  background: #eff3f7; }
  article > nav ul {
    width: 980px;
    margin: 0 auto;
    display: flex;
    justify-content: center; }
    article > nav ul li {
      display: flex;
      justify-content: center;
      align-items: center;
      border-left: 1px solid #a6c6c3; }
      article > nav ul li a {
        display: block;
        text-decoration: none;
        padding: 15px 33px;
        position: relative; }
        article > nav ul li a p {
          text-align: center; }
          article > nav ul li a p.en {
            font-size: 12px;
            font-weight: 700;
            font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
            color: #155257; }
          article > nav ul li a p.ja {
            font-size: 15px;
            line-height: 1.3; }
      article > nav ul li:last-child {
        border-right: 1px solid #a6c6c3; }
  @media only screen and (max-width: 979px) {
    article > nav ul {
      width: 100%;
      flex-wrap: wrap; }
      article > nav ul li {
        width: 50%; }
        article > nav ul li:nth-child(even) {
          border-left: 1px solid #a6c6c3; }
        article > nav ul li:nth-child(n + 3) {
          border-top: 1px solid #a6c6c3; }
        article > nav ul li a {
          width: 100%;
          height: 15vw;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          padding: 0; }
          article > nav ul li a::before {
            display: none; }
          article > nav ul li a p {
            text-align: center; }
            article > nav ul li a p.en {
              font-size: 3.5vw;
              line-height: 1.4; }
            article > nav ul li a p.ja {
              font-size: 3vw; }
        article > nav ul li:last-child a::after {
          display: none; } }

article section {
  font-size: 20px;
  color: #313636; }
  @media only screen and (max-width: 979px) {
    article section {
      font-size: 3.5vw; } }
  article section em {
    font-style: normal;
    font-weight: bold; }
  article section > header {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    line-height: 1;
    margin: 0 0 50px;
    z-index: 2; }
    article section > header p {
      position: relative; }
      article section > header p::before {
        content: "";
        width: 73px;
        height: 73px;
        background: url(/assets/skincare/belotero/images/index01.png) center top/auto 100% no-repeat;
        position: absolute;
        right: -46px;
        top: -8px; }
      article section > header p > span {
        font-family: "filmotype-lacrosse", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 80px;
        line-height: 1;
        background: #07332a;
        background: linear-gradient(90deg, #07332a 0%, #155257 15%, #048c71 50%, #155257 85%, #07332a 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        padding: 0 0.25em 0 0.05em;
        position: relative; }
        article section > header p > span > span {
          font-size: 50%; }
    article section > header h2 {
      font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
      font-size: 20px;
      font-weight: bold;
      line-height: 1;
      color: #155257;
      margin: 3px 0 0;
      padding: 0 2.5em;
      position: relative; }
      article section > header h2::before, article section > header h2::after {
        display: inline-flex;
        font-weight: normal;
        position: absolute;
        font-size: 150%;
        top: 50%;
        transform: translate(0, -50%); }
      article section > header h2::before {
        content: "\FF5B";
        left: 0; }
      article section > header h2::after {
        content: "\FF5D";
        right: 0; }
    article section > header.light p span {
      background: linear-gradient(90deg, white 0%, #d0faec 35%, #73d7c3 50%, #d0faec 65%, white 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }
    article section > header.light h2 {
      color: #fff; }
    @media only screen and (max-width: 979px) {
      article section > header {
        margin: 0 0 7vw; }
        article section > header p::before {
          width: 12vw;
          height: 12vw;
          right: -8vw;
          top: -1.5vw; }
        article section > header p > span {
          font-size: 12vw; }
        article section > header h2 {
          font-size: 3.5vw;
          margin: 1vw 0 0;
          padding: 0 2em; }
          article section > header h2::before, article section > header h2::after {
            font-size: 125%; } }
  article section.s-mv {
    text-align: center;
    background: url(/assets/skincare/belotero/images/mv_bg.jpg) center top no-repeat; }
    @media only screen and (max-width: 979px) {
      article section.s-mv {
        background: none; } }
  article section.s-recommend {
    padding: 50px 0 90px;
    background: url(/assets/skincare/belotero/images/recommend01.jpg) center top/cover no-repeat;
    position: relative; }
    article section.s-recommend .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-recommend .container ul {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 25px 30px; }
        article section.s-recommend .container ul li {
          display: flex;
          justify-content: center;
          align-items: flex-start;
          flex-direction: column;
          gap: 7px 0;
          width: 400px;
          height: 130px;
          border-radius: 10px;
          box-shadow: 4px 4px 13px rgba(0, 0, 0, 0.1);
          position: relative; }
          article section.s-recommend .container ul li::before, article section.s-recommend .container ul li::after {
            content: "";
            width: 34px;
            height: 34px;
            border-radius: 100%;
            position: absolute;
            left: -11px;
            top: -12px; }
          article section.s-recommend .container ul li::before {
            background: #0b3d41;
            background: linear-gradient(135deg, #0b3d41 0%, #4bc9bb 100%);
            box-shadow: 4px 4px 13px rgba(0, 0, 0, 0.25); }
          article section.s-recommend .container ul li::after {
            background: url(/assets/skincare/belotero/images/check.svg) 55% center/55% auto no-repeat; }
          article section.s-recommend .container ul li:nth-child(1) {
            background: url(/assets/skincare/belotero/images/recommend02.jpg) center right/cover no-repeat; }
          article section.s-recommend .container ul li:nth-child(2) {
            background: url(/assets/skincare/belotero/images/recommend03.jpg) center right/cover no-repeat; }
          article section.s-recommend .container ul li:nth-child(3) {
            background: url(/assets/skincare/belotero/images/recommend04.jpg) center right/cover no-repeat; }
          article section.s-recommend .container ul li:nth-child(4) {
            background: url(/assets/skincare/belotero/images/recommend05.jpg) center right/cover no-repeat; }
          article section.s-recommend .container ul li p {
            line-height: 1.6;
            background: #daece9;
            padding: 0 10px; }
            article section.s-recommend .container ul li p em {
              color: #048c71; }
    @media only screen and (max-width: 979px) {
      article section.s-recommend {
        padding: 7vw 0 12vw; }
        article section.s-recommend .container {
          width: 95%; }
          article section.s-recommend .container ul {
            flex-direction: column;
            gap: 4vw 0; }
            article section.s-recommend .container ul li {
              gap: 1vw 0;
              width: 80vw;
              height: 25vw;
              border-radius: 2vw;
              box-shadow: 0.75vw 0.75vw 2vw rgba(0, 0, 0, 0.1); }
              article section.s-recommend .container ul li::before, article section.s-recommend .container ul li::after {
                width: 7vw;
                height: 7vw;
                left: -2vw;
                top: -2vw; }
              article section.s-recommend .container ul li::before {
                box-shadow: 0.75vw 0.75vw 2vw rgba(0, 0, 0, 0.25); }
              article section.s-recommend .container ul li p {
                padding: 0 2vw; } }
  article section.s-what {
    padding: 50px 0 calc(110px + 6vw);
    background: url(/assets/skincare/belotero/images/what01.jpg) center top no-repeat;
    position: relative;
    overflow: hidden; }
    article section.s-what .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-what .container ul {
        width: 100%;
        height: 700px;
        position: relative;
        z-index: 2; }
        article section.s-what .container ul li {
          display: flex;
          justify-content: center;
          align-items: center;
          background: url(/assets/skincare/belotero/images/what02.png) center top/100% auto no-repeat;
          position: absolute; }
          article section.s-what .container ul li:nth-child(1) {
            width: 460px;
            height: calc(620 / 665 * 100% * (460 / 611));
            padding: 0 0 77px;
            left: 0;
            top: 0; }
          article section.s-what .container ul li:nth-child(2) {
            width: 611px;
            height: calc(620 / 665 * 100%);
            padding: 0 0 100px;
            right: -16px;
            bottom: 0; }
          article section.s-what .container ul li p {
            text-shadow: 0 0 7px white, 0 0 7px white, 0 0 7px white, 0 0 7px white, 0 0 7px white;
            text-align: center; }
            article section.s-what .container ul li p em {
              color: #048c71; }
      article section.s-what .container .component {
        position: relative;
        z-index: 1;
        margin-top: -20px; }
        article section.s-what .container .component::before {
          content: "";
          display: block;
          width: 100vw;
          height: 100vw;
          background: url(/assets/skincare/belotero/images/what03.jpg) center top/2000px auto no-repeat;
          position: absolute;
          left: 50%;
          top: -100px;
          transform: translate(-50%, 0); }
        article section.s-what .container .component > * {
          position: relative;
          z-index: 2; }
        article section.s-what .container .component .img {
          position: absolute;
          left: -220px;
          bottom: -30px;
          z-index: 1; }
        article section.s-what .container .component h3 {
          font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
          font-size: 30px;
          font-weight: 700;
          color: #155257;
          text-align: center;
          margin: 0 0 25px; }
        article section.s-what .container .component .table-box {
          width: 850px;
          margin: 0 auto; }
          article section.s-what .container .component .table-box table {
            width: 100%;
            background: #fff; }
            article section.s-what .container .component .table-box table tr th,
            article section.s-what .container .component .table-box table tr td {
              text-align: center;
              border: none; }
            article section.s-what .container .component .table-box table tr th {
              background: #048c71;
              color: #fff; }
              article section.s-what .container .component .table-box table tr th:first-child {
                width: 265px; }
              article section.s-what .container .component .table-box table tr th + th {
                border-left: 1px solid #fff; }
            article section.s-what .container .component .table-box table tr td {
              padding: 20px 10px; }
              article section.s-what .container .component .table-box table tr td + td {
                border-left: 1px solid #e0ecea; }
            article section.s-what .container .component .table-box table tr:last-child td {
              border-top: 1px solid #e0ecea; }
      article section.s-what .container .comparison {
        position: relative;
        z-index: 1;
        margin: 60px 0 0; }
        article section.s-what .container .comparison .table-box {
          width: 850px;
          margin: 0 auto; }
          article section.s-what .container .comparison .table-box table {
            width: 100%;
            background: #fff; }
            article section.s-what .container .comparison .table-box table tr th,
            article section.s-what .container .comparison .table-box table tr td {
              width: 20%;
              border: 1px solid #c1c1c1;
              text-align: center;
              font-size: 15px;
              padding: 10px 5px; }
              article section.s-what .container .comparison .table-box table tr th.belotero,
              article section.s-what .container .comparison .table-box table tr td.belotero {
                border-left: 3px solid #36c6ac;
                border-right: 3px solid #36c6ac; }
            article section.s-what .container .comparison .table-box table thead tr th {
              background: #048c71;
              color: #fff; }
              article section.s-what .container .comparison .table-box table thead tr th.belotero {
                border-top: 3px solid #36c6ac; }
            article section.s-what .container .comparison .table-box table tbody tr th {
              background: #f5f5f5;
              color: #155257; }
            article section.s-what .container .comparison .table-box table tbody tr:last-child td.belotero {
              border-bottom: 3px solid #36c6ac; }
            article section.s-what .container .comparison .table-box table tbody tr:nth-child(odd) td.belotero {
              background: rgba(89, 182, 172, 0.15); }
            article section.s-what .container .comparison .table-box table tbody tr:nth-child(even) td.belotero {
              background: rgba(89, 182, 172, 0.3); }
    @media only screen and (max-width: 979px) {
      article section.s-what {
        padding: 7vw 0 18vw;
        background-size: 200% auto; }
        article section.s-what .container {
          width: 95%; }
          article section.s-what .container ul {
            height: 116vw; }
            article section.s-what .container ul li {
              font-size: 3.2vw; }
              article section.s-what .container ul li:nth-child(1) {
                width: 60vw;
                height: 65vw;
                padding: 0 10vw 12vw;
                left: -10vw; }
              article section.s-what .container ul li:nth-child(2) {
                width: 80vw;
                height: 85vw;
                padding: 0 5vw 14vw;
                right: -12vw; }
              article section.s-what .container ul li p {
                text-shadow: 0 0 1vw white, 0 0 1vw white, 0 0 1vw white, 0 0 1vw white, 0 0 1vw white; }
          article section.s-what .container .component {
            margin-top: -5vw; }
            article section.s-what .container .component::before {
              height: 125vw;
              background-size: auto 90%;
              top: -25vw; }
            article section.s-what .container .component .img {
              width: 50vw;
              left: -26vw;
              bottom: -5vw;
              opacity: 0.7; }
            article section.s-what .container .component h3 {
              font-size: 4.5vw;
              text-shadow: 0 0 1vw white, 0 0 1vw white, 0 0 1vw white, 0 0 1vw white, 0 0 1vw white;
              margin: 0 0 2.5vw; }
            article section.s-what .container .component .table-box {
              width: 85vw; }
              article section.s-what .container .component .table-box table {
                font-size: 3vw; }
                article section.s-what .container .component .table-box table tr th:first-child {
                  width: 30vw; }
                article section.s-what .container .component .table-box table tr td {
                  padding: 2.5vw 1.5vw; }
          article section.s-what .container .comparison {
            margin: 1.5vw 0 0; }
            article section.s-what .container .comparison .table-box {
              width: 90%; }
              article section.s-what .container .comparison .table-box table {
                width: 170vw; }
                article section.s-what .container .comparison .table-box table tr th,
                article section.s-what .container .comparison .table-box table tr td {
                  width: auto;
                  font-size: 3vw;
                  padding: 2vw 1vw; }
                  article section.s-what .container .comparison .table-box table tr th.belotero,
                  article section.s-what .container .comparison .table-box table tr td.belotero {
                    border-left: 2px solid #36c6ac;
                    border-right: 2px solid #36c6ac; }
                article section.s-what .container .comparison .table-box table thead tr th.belotero {
                  border-top: 2px solid #36c6ac; }
                article section.s-what .container .comparison .table-box table tbody tr th {
                  background: #f5f5f5;
                  color: #155257; }
                article section.s-what .container .comparison .table-box table tbody tr td {
                  width: 35vw; }
                article section.s-what .container .comparison .table-box table tbody tr:last-child td.belotero {
                  border-bottom: 2px solid #36c6ac; } }
  article section.s-movie {
    padding: 50px 0 150px;
    background-image: radial-gradient(circle, white 50%, #dcf0eb 95%); }
    article section.s-movie .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-movie .container .headline {
        text-align: center;
        margin-bottom: 10px;
        color: #048c71;
        font-weight: bold;
        font-size: 26px; }
    @media only screen and (max-width: 979px) {
      article section.s-movie {
        padding: 7vw 0 15vw; }
        article section.s-movie .container {
          width: 95%; }
          article section.s-movie .container .headline {
            margin-bottom: 1vw;
            font-size: 4vw; } }
  article section.s-point {
    padding: 75px 0 260px;
    margin-top: -6vw;
    overflow: hidden;
    position: relative;
    z-index: 2; }
    article section.s-point .mask {
      width: 100%;
      height: 100%;
      position: absolute !important;
      left: 0;
      top: 0;
      mask-image: url("/assets/skincare/belotero/images/mask.svg");
      mask-repeat: no-repeat;
      mask-position: center top;
      mask-size: 100% auto;
      -webkit-mask-image: url("/assets/skincare/belotero/images/mask.svg");
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center top;
      -webkit-mask-size: 100% auto;
      overflow: hidden;
      pointer-events: none;
      background: url(/assets/skincare/belotero/images/point01.jpg) center top/cover no-repeat; }
    article section.s-point > * {
      position: relative; }
    article section.s-point > header {
      margin-bottom: 85px; }
    article section.s-point .grid {
      display: grid;
      grid-template-columns: 1fr 255px 725px 1fr;
      grid-template-rows: auto; }
      article section.s-point .grid + .grid {
        margin-top: 220px; }
      article section.s-point .grid-num {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        position: relative; }
        article section.s-point .grid-num p {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 310px;
          height: 310px;
          position: absolute;
          left: 40px;
          top: -180px; }
          article section.s-point .grid-num p::before, article section.s-point .grid-num p::after {
            content: "";
            display: block;
            width: 100%;
            height: 100%;
            mix-blend-mode: soft-light;
            background: url(/assets/skincare/belotero/images/point02.png) center center/100% auto no-repeat;
            position: absolute;
            left: 0;
            top: 0; }
          article section.s-point .grid-num p::after {
            width: 145px;
            height: 145px;
            left: -80px;
            top: -20px; }
          article section.s-point .grid-num p span {
            font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
            font-size: 85px;
            line-height: 1;
            color: #fff;
            text-shadow: 0 0 27px rgba(21, 82, 87, 0.55), 0 0 27px rgba(21, 82, 87, 0.55), 0 0 27px rgba(21, 82, 87, 0.55), 0 0 27px rgba(21, 82, 87, 0.55); }
      article section.s-point .grid-bg {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
        height: 100%;
        position: relative; }
        article section.s-point .grid-bg::before {
          content: "";
          width: 1235px;
          height: 100%;
          background: #fff;
          background: linear-gradient(90deg, white 55%, rgba(255, 255, 255, 0) 100%);
          border-radius: 30px 0 0 30px;
          position: absolute;
          left: 0;
          top: 0; }
      article section.s-point .grid-img {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        height: 100%;
        pointer-events: none;
        position: relative; }
        article section.s-point .grid-img .img {
          position: absolute; }
          article section.s-point .grid-img .img img {
            max-width: inherit;
            pointer-events: none; }
          article section.s-point .grid-img .img.img01 {
            left: 50%;
            top: 50%;
            transform: translate(calc(-50% - 10px), calc(-50% + 70px)); }
          article section.s-point .grid-img .img.img02 {
            left: -120px;
            bottom: -100px; }
          article section.s-point .grid-img .img.img03 {
            left: -220px;
            bottom: -200px; }
      article section.s-point .grid-text {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
        width: 100%;
        padding: 35px 0 65px;
        position: relative; }
        article section.s-point .grid-text h3 {
          display: flex;
          justify-content: center;
          align-items: center;
          min-height: 85px;
          font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
          font-size: 30px;
          color: #fff;
          line-height: 1.3;
          background: #07332a;
          background: linear-gradient(90deg, #07332a 0%, #15856c 100%);
          padding: 5px;
          margin: 0 -10px 20px -28px;
          position: relative; }
          article section.s-point .grid-text h3::before {
            content: "";
            width: 28px;
            height: 14px;
            clip-path: polygon(0 0, 100% 0, 100% 100%);
            background: #8ab3ab;
            position: absolute;
            left: 0;
            bottom: -14px; }
        article section.s-point .grid-text-explanation {
          padding: 0 50px 0 65px; }
          article section.s-point .grid-text-explanation p em {
            color: #048c71; }
      article section.s-point .grid.reverse {
        grid-template-columns: 1fr 725px 255px 1fr; }
        article section.s-point .grid.reverse .grid-num {
          grid-column: 3 / 4; }
          article section.s-point .grid.reverse .grid-num p {
            left: inherit;
            right: 40px; }
            article section.s-point .grid.reverse .grid-num p::after {
              left: inherit;
              right: -80px; }
        article section.s-point .grid.reverse .grid-bg {
          grid-column: 2 / 3;
          grid-row: 1 / 2;
          height: 100%;
          position: relative; }
          article section.s-point .grid.reverse .grid-bg::before {
            background: linear-gradient(270deg, white 55%, rgba(255, 255, 255, 0) 100%);
            border-radius: 0 30px 30px 0;
            left: inherit;
            right: 0; }
        article section.s-point .grid.reverse .grid-img {
          grid-column: 3 / 4;
          grid-row: 1 / 2;
          height: 100%;
          position: relative; }
        article section.s-point .grid.reverse .grid-text {
          grid-column: 2 / 3; }
          article section.s-point .grid.reverse .grid-text h3 {
            background: linear-gradient(270deg, #07332a 0%, #15856c 100%);
            margin: 0 -28px 20px -10px; }
            article section.s-point .grid.reverse .grid-text h3::before {
              clip-path: polygon(0 0, 100% 0, 0 100%);
              left: inherit;
              right: 0; }
        article section.s-point .grid.reverse .grid-explanation {
          padding: 0 65px 0 50px; }
    @media only screen and (max-width: 979px) {
      article section.s-point {
        padding: 10vw 0 23vw;
        margin-top: -6vw; }
        article section.s-point > header {
          margin-bottom: 12vw; }
        article section.s-point .grid {
          display: grid;
          grid-template-columns: 1fr 20vw 75vw 1fr; }
          article section.s-point .grid + .grid {
            margin-top: 16vw; }
          article section.s-point .grid-num p {
            width: 30vw;
            height: 30vw;
            left: -1vw;
            top: -17vw; }
            article section.s-point .grid-num p::after {
              width: 17vw;
              height: 17vw;
              left: -7vw;
              top: -8vw; }
            article section.s-point .grid-num p span {
              font-size: 12vw;
              text-shadow: 0 0 3vw rgba(21, 82, 87, 0.55), 0 0 3vw rgba(21, 82, 87, 0.55), 0 0 3vw rgba(21, 82, 87, 0.55), 0 0 3vw rgba(21, 82, 87, 0.55); }
          article section.s-point .grid-bg {
            z-index: 3; }
            article section.s-point .grid-bg::before {
              width: 100vw;
              border-radius: 4vw 0 0 4vw; }
          article section.s-point .grid-img {
            z-index: 1; }
            article section.s-point .grid-img .img.img01 {
              transform: translate(calc(-50% + 2vw), calc(-50% + 6vw)); }
              article section.s-point .grid-img .img.img01 img {
                width: 90vw; }
            article section.s-point .grid-img .img.img02 {
              left: -28vw;
              bottom: -12vw; }
              article section.s-point .grid-img .img.img02 img {
                width: 70vw; }
            article section.s-point .grid-img .img.img03 {
              left: -15vw;
              bottom: -15vw; }
              article section.s-point .grid-img .img.img03 img {
                width: 70vw; }
          article section.s-point .grid-text {
            padding: 4vw 0 6vw;
            z-index: 4; }
            article section.s-point .grid-text h3 {
              min-height: 15vw;
              font-size: 4vw;
              padding: 1vw 3vw;
              margin: 0 -4vw 3vw -3vw;
              text-align: center; }
              article section.s-point .grid-text h3::before {
                width: 3vw;
                height: 1.5vw;
                bottom: -1.5vw; }
            article section.s-point .grid-text-explanation {
              padding: 0 0 0 4vw; }
          article section.s-point .grid.reverse {
            grid-template-columns: 1fr 75vw 20vw 1fr; }
            article section.s-point .grid.reverse .grid-num p {
              right: -1vw; }
              article section.s-point .grid.reverse .grid-num p::after {
                left: inherit;
                right: -7vw; }
            article section.s-point .grid.reverse .grid-bg::before {
              border-radius: 0 4vw 4vw 0;
              left: inherit;
              right: 0; }
            article section.s-point .grid.reverse .grid-text h3 {
              margin: 0 -3vw 3vw -4vw; }
            article section.s-point .grid.reverse .grid-text-explanation {
              padding: 0 4vw 0 0; } }
  article section.s-photo {
    background: url(/assets/skincare/belotero/images/photo01.jpg) center top/cover no-repeat;
    padding: 50px 0 120px; }
    article section.s-photo .container {
      width: 980px;
      text-align: center;
      margin: 0 auto; }
      article section.s-photo .container ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 40px 0; }
        article section.s-photo .container ul li {
          width: 470px; }
          article section.s-photo .container ul li + li {
            width: 705px; }
          article section.s-photo .container ul li .img img {
            border-radius: 25px 0; }
          article section.s-photo .container ul li .name {
            font-size: 15px;
            text-align: right;
            margin: 3px 0 0; }
      article section.s-photo .container .mhlw-risk {
        min-height: inherit;
        margin: 50px 0 0; }
        article section.s-photo .container .mhlw-risk .mhlw-risk-single {
          text-align: left;
          margin: 0; }
    @media only screen and (max-width: 979px) {
      article section.s-photo {
        padding: 7vw 0 12vw;
        background-position: left -75vw top;
        background-size: auto 100%; }
        article section.s-photo .container {
          width: 90%; }
          article section.s-photo .container ul {
            gap: 4vw 0; }
            article section.s-photo .container ul li {
              width: 100%; }
              article section.s-photo .container ul li .img img {
                border-radius: 3vw 0; }
              article section.s-photo .container ul li .name {
                font-size: 3vw;
                margin: 0.5vw 0 0; }
          article section.s-photo .container .mhlw-risk {
            margin: 5vw 0 0; }
            article section.s-photo .container .mhlw-risk .mhlw-risk-single {
              font-size: 2.5vw;
              padding: 2vw; } }
  article section.s-price {
    background: url(/assets/skincare/belotero/images/price01.jpg) center top/cover no-repeat;
    padding: 50px 0 90px; }
    article section.s-price .container ul {
      width: 845px;
      background: #fff;
      border-radius: 30px;
      padding: 50px 50px 50px 0;
      margin: 0 auto; }
      article section.s-price .container ul li {
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
        font-weight: 700; }
        article section.s-price .container ul li .price_left {
          flex: 1;
          font-size: 28px;
          text-align: center; }
        article section.s-price .container ul li .price_right .price_inner {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 0 0 0 20px; }
          article section.s-price .container ul li .price_right .price_inner + .price_inner {
            border-top: 1px dashed #313636;
            margin-top: 15px;
            padding-top: 20px; }
          article section.s-price .container ul li .price_right .price_inner .note {
            margin-right: 70px; }
            article section.s-price .container ul li .price_right .price_inner .note p {
              width: 170px;
              text-align: center;
              font-weight: bold;
              border: 1px solid #313636; }
          article section.s-price .container ul li .price_right .price_inner .price {
            font-family: "Libertinus Serif", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
            font-weight: 400;
            font-style: normal;
            font-size: 80px;
            line-height: 1; }
            article section.s-price .container ul li .price_right .price_inner .price > span {
              font-size: 38px;
              font-weight: 700;
              position: relative; }
              article section.s-price .container ul li .price_right .price_inner .price > span > span {
                font-size: 14px;
                white-space: nowrap;
                position: absolute;
                left: 50%;
                bottom: 45px;
                transform: translate(-50%, 0); }
          article section.s-price .container ul li .price_right .price_inner.monitor {
            color: #048c71; }
            article section.s-price .container ul li .price_right .price_inner.monitor .note p {
              border-color: #048c71; }
    article section.s-price .container .campaign {
      display: block;
      width: 845px;
      height: 100px;
      background: #b2ece4;
      border-radius: 30px 30px 0 0;
      margin: 0 auto;
      position: relative; }
      article section.s-price .container .campaign::before {
        position: absolute;
        content: "";
        background: url(/assets/skincare/belotero/images/campaign.png) center center/100% auto no-repeat;
        display: block;
        width: 415px;
        height: 101px;
        top: -20px;
        left: 50%;
        transform: translate(-50%, 0); }
      article section.s-price .container .campaign + ul {
        border-radius: 0 0 30px 30px; }
        article section.s-price .container .campaign + ul li .price {
          display: block;
          width: 300px; }
          article section.s-price .container .campaign + ul li .price.before {
            position: relative;
            font-size: 54px;
            display: inline-block;
            width: auto; }
            article section.s-price .container .campaign + ul li .price.before::before {
              content: "";
              display: block;
              width: 100%;
              height: 2px;
              background: #de6a8f;
              position: absolute;
              right: 0;
              top: 50%;
              transform: translate(0, -50%) rotate(5deg); }
            article section.s-price .container .campaign + ul li .price.before::after {
              position: absolute;
              display: block;
              content: '';
              background: url(/assets/skincare/belotero/images/arrow.svg) center center/100% auto no-repeat;
              width: 47px;
              height: 26px;
              right: -60px;
              top: 50%;
              transform: translate(0, -50%); }
          article section.s-price .container .campaign + ul li .price.after {
            text-align: right;
            color: #de6a8f; }
    @media only screen and (max-width: 979px) {
      article section.s-price {
        padding: 7vw 0 12vw; }
        article section.s-price .container ul {
          width: 90%;
          border-radius: 4vw;
          padding: 5vw; }
          article section.s-price .container ul li {
            flex-direction: column; }
            article section.s-price .container ul li .price_left {
              font-size: 4.5vw;
              margin: 0 0 2vw; }
            article section.s-price .container ul li .price_right {
              width: 100%; }
              article section.s-price .container ul li .price_right .price_inner {
                padding: 0;
                justify-content: center; }
                article section.s-price .container ul li .price_right .price_inner + .price_inner {
                  margin-top: 2vw;
                  padding-top: 2.5vw; }
                article section.s-price .container ul li .price_right .price_inner .note {
                  font-size: 3vw;
                  margin-right: 5vw; }
                  article section.s-price .container ul li .price_right .price_inner .note p {
                    width: 22vw; }
                article section.s-price .container ul li .price_right .price_inner .price {
                  font-size: 12vw; }
                  article section.s-price .container ul li .price_right .price_inner .price > span {
                    font-size: 6vw; }
                    article section.s-price .container ul li .price_right .price_inner .price > span > span {
                      font-size: 2.7vw;
                      bottom: 7vw; }
        article section.s-price .container .campaign {
          width: 90%;
          height: 14.6vw;
          padding: 5vw;
          border-radius: 4vw 4vw 0 0; }
          article section.s-price .container .campaign::before {
            width: 60vw;
            height: 14.6vw;
            top: -3vw; }
          article section.s-price .container .campaign + ul {
            border-radius: 0 0 4vw 4vw; }
            article section.s-price .container .campaign + ul li .price {
              width: 100%; }
              article section.s-price .container .campaign + ul li .price.before {
                font-size: 10vw;
                width: auto; }
                article section.s-price .container .campaign + ul li .price.before::after {
                  width: 10vw;
                  height: 5.5vw;
                  right: -12vw; }
              article section.s-price .container .campaign + ul li .price.after {
                margin-left: 4vw; } }
  article section.s-qa {
    background: #daebe9;
    padding: 50px 0 110px; }
    article section.s-qa .faq-box {
      width: 980px;
      margin: 0 auto; }
      article section.s-qa .faq-box .question::before,
      article section.s-qa .faq-box .answer::before {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 40px;
        height: 40px;
        font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
        font-size: 20px;
        color: #fff;
        border-radius: 100%;
        top: 7px;
        left: 25px;
        z-index: 2; }
      article section.s-qa .faq-box .question {
        min-height: 40px;
        font-weight: bold;
        color: #fff;
        background: #07332a;
        background: linear-gradient(90deg, #07332a 0%, #15856c 100%);
        padding: 10px 15px 10px 88px;
        border-radius: 20px 20px 0 0; }
        article section.s-qa .faq-box .question::before {
          background: #048c71; }
      article section.s-qa .faq-box .answer {
        display: block;
        padding: 15px 20px 20px 88px;
        border-radius: 0 0 20px 20px;
        margin: 0;
        border: 1px solid #048c71;
        background: #fff;
        border-top: none; }
        article section.s-qa .faq-box .answer::before {
          background: #045e4c;
          top: 17px; }
        article section.s-qa .faq-box .answer + .question {
          margin-top: 30px; }
        article section.s-qa .faq-box .answer p + p,
        article section.s-qa .faq-box .answer ul + p {
          margin-top: 1em; }
    @media only screen and (max-width: 979px) {
      article section.s-qa {
        padding: 7vw 0 12vw; }
        article section.s-qa .faq-box {
          width: 95%; }
          article section.s-qa .faq-box .question::before,
          article section.s-qa .faq-box .answer::before {
            width: 7vw;
            height: 7vw;
            font-size: 4vw;
            top: 2vw;
            left: 3vw; }
          article section.s-qa .faq-box .question {
            min-height: 12vw;
            padding: 2.5vw 2vw 2.5vw 13vw;
            border-radius: 3vw 3vw 0 0; }
          article section.s-qa .faq-box .answer {
            padding: 3vw 3vw 3vw 13vw;
            border-radius: 0 0 3vw 3vw; }
            article section.s-qa .faq-box .answer::before {
              top: 3.5vw; }
            article section.s-qa .faq-box .answer + .question {
              margin-top: 4vw; } }
  article section.s-clinic {
    padding: 50px 0 90px; }
    article section.s-clinic .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-clinic .container .bc_01_047 .bc-item > .info {
        font-size: 19px;
        text-align: left; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info > .name {
          font-weight: bold;
          color: #155257;
          margin: 0 0 20px; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info > .address {
          font-size: 19px;
          margin: 0 0 15px; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .number {
          font-weight: bold;
          color: #155257; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .freetel .-freetelcolor {
          fill: #155257 !important; }
    @media only screen and (max-width: 979px) {
      article section.s-clinic {
        padding: 7vw 0 0; }
        article section.s-clinic .container {
          width: 95%;
          margin: 0 auto; }
          article section.s-clinic .container .bc_01_047 .bc-item {
            padding: 0 2vw; }
            article section.s-clinic .container .bc_01_047 .bc-item > .info {
              padding: 0;
              margin: 0 0 3vw; }
              article section.s-clinic .container .bc_01_047 .bc-item > .info > .name {
                font-size: 5vw;
                margin: 0; }
              article section.s-clinic .container .bc_01_047 .bc-item > .info .address {
                font-size: 3vw;
                margin: 2vw 0 0; }
              article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel {
                margin: 2vw 0 0; }
                article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .number {
                  font-size: 5.5vw; }
                article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .freetel {
                  width: 7vw;
                  height: 7vw;
                  margin: 0 2vw 0 0; }
            article section.s-clinic .container .bc_01_047 .bc-item + .bc-item {
              margin-top: 5vw;
              padding-top: 5vw;
              border-color: #59b6ac; } }
