@charset "UTF-8";
@import "https://use.fontawesome.com/releases/v5.10.2/css/all.css";
article {
  overflow: hidden; }
  article em {
    font-style: normal; }
  article section {
    font-size: 20px;
    line-height: 1.6; }
    @media screen and (max-width: 979px) {
      article section {
        font-size: 3.7vw; } }
    article section em {
      font-style: normal;
      font-weight: bold; }
    article section .marker {
      background: #fcefba;
      color: #1175a3;
      padding: 0 3px; }
      @media screen and (max-width: 979px) {
        article section .marker {
          padding: 0 0.5vw; } }
    article section > header {
      margin: 0 0 50px; }
      article section > header h2 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column; }
        article section > header h2 span {
          font-weight: bold;
          text-align: center;
          line-height: 1.2;
          color: #1175a3; }
          article section > header h2 span.en {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 172px;
            font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
            font-size: 60px;
            background: url(/assets/datsumo/needle/images/index01.png) center top/auto 100% no-repeat;
            padding: 0 0 17px; }
          article section > header h2 span.ja {
            display: block;
            font-size: 21px;
            margin: 5px 0 0;
            padding: 0 0 15px;
            position: relative; }
            article section > header h2 span.ja::before {
              content: "";
              display: block;
              width: 165px;
              height: 1px;
              background: #1175a3;
              position: absolute;
              left: 50%;
              bottom: 0;
              transform: translate(-50%, 0); }
      @media screen and (max-width: 979px) {
        article section > header {
          margin: 0 0 7vw; }
          article section > header h2 span.en {
            height: 25vw;
            font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
            font-size: 10vw;
            padding: 0 0 2vw; }
          article section > header h2 span.ja {
            font-size: 3.7vw;
            margin: 1vw 0 0;
            line-height: 1.4;
            padding: 0 0 2vw;
            position: relative; }
            article section > header h2 span.ja::before {
              width: 30vw; } }
    article section.s-mv {
      position: relative; }
      article section.s-mv .mv-wrap {
        position: relative; }
        @media screen and (min-width: 980px) {
          article section.s-mv .mv-wrap {
            max-width: 1800px;
            background: url(/assets/datsumo/needle/images/mv_bg.jpg) center top no-repeat;
            border-radius: 30px;
            overflow: hidden;
            margin: 0 auto; } }
        @media screen and (max-width: 979px) {
          article section.s-mv .mv-wrap img {
            width: 100%;
            border-radius: 0; } }
      article section.s-mv .nav-inner {
        max-width: 980px;
        margin: 0 auto;
        font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia; }
      article section.s-mv .nav-wrap {
        width: 1800px;
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, 0); }
        article section.s-mv .nav-wrap .corner-left {
          display: block;
          width: 30px;
          height: 30px;
          position: absolute;
          left: 30px;
          top: -30px; }
          article section.s-mv .nav-wrap .corner-left:before {
            content: "";
            display: block;
            width: 200%;
            height: 200%;
            position: absolute;
            bottom: 0;
            right: 0;
            overflow: hidden;
            background: transparent;
            border-radius: 50%;
            box-shadow: -30px 30px 0 0 #ffffff; }
        article section.s-mv .nav-wrap nav {
          width: 720px;
          background: #fff;
          position: relative;
          z-index: 1;
          border-radius: 0 30px 0 0; }
          article section.s-mv .nav-wrap nav:before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            width: 200vw;
            height: 100%;
            background-color: #fff;
            z-index: -1;
            border-top-right-radius: 30px; }
          article section.s-mv .nav-wrap nav .corner-right {
            display: block;
            width: 30px;
            height: 30px;
            position: absolute;
            right: -60px;
            bottom: -0; }
            article section.s-mv .nav-wrap nav .corner-right:before {
              content: "";
              display: block;
              width: 200%;
              height: 200%;
              position: absolute;
              bottom: 0;
              right: 0;
              overflow: hidden;
              background: transparent;
              border-radius: 50%;
              box-shadow: -30px 30px 0 0 #ffffff; }
          article section.s-mv .nav-wrap nav ul {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            width: 100%;
            position: relative; }
            article section.s-mv .nav-wrap nav ul li {
              text-align: center; }
              article section.s-mv .nav-wrap nav ul li a {
                position: relative;
                display: block;
                text-decoration: none;
                font-size: 14px;
                font-weight: 500;
                color: #1175a3; }
            @media screen and (min-width: 980px) {
              article section.s-mv .nav-wrap nav ul {
                padding: 5px 20px 5px 0; }
                article section.s-mv .nav-wrap nav ul li a {
                  padding: 8px 16px; } }
      @media screen and (max-width: 979px) {
        article section.s-mv .nav-inner {
          max-width: 100%;
          margin-top: -12vw; }
        article section.s-mv .nav-wrap {
          width: 100%;
          position: relative;
          left: inherit;
          bottom: inherit;
          transform: translate(0, 0); }
          article section.s-mv .nav-wrap .corner-left {
            display: none; }
          article section.s-mv .nav-wrap nav {
            width: 100%;
            border-radius: 0; }
            article section.s-mv .nav-wrap nav:before {
              border-top-right-radius: 3vw; }
            article section.s-mv .nav-wrap nav .corner-right {
              display: none; }
            article section.s-mv .nav-wrap nav ul {
              flex-wrap: wrap;
              padding: 0; }
              article section.s-mv .nav-wrap nav ul li {
                width: 50%; }
                article section.s-mv .nav-wrap nav ul li:nth-child(n + 5) {
                  width: calc(100% / 3); }
                article section.s-mv .nav-wrap nav ul li a {
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  height: 13vw;
                  font-size: 3.2vw;
                  line-height: 1.2;
                  padding: 0;
                  position: relative; }
                article section.s-mv .nav-wrap nav ul li:nth-child(2) a::before {
                  content: "";
                  width: 1px;
                  height: 80%;
                  background: #1175a3;
                  position: absolute;
                  right: 0;
                  top: 50%;
                  transform: translate(0, -50%); }
                article section.s-mv .nav-wrap nav ul li:not(:nth-child(n + 5)) a {
                  border-bottom: 1px solid #1175a3; }
                article section.s-mv .nav-wrap nav ul li:nth-child(n + 5) a::before {
                  content: "";
                  width: 1px;
                  height: 60%;
                  background: #1175a3;
                  position: absolute;
                  right: 0;
                  top: 50%;
                  transform: translate(0, -50%); }
                article section.s-mv .nav-wrap nav ul li:last-child a {
                  border-right: none; }
                  article section.s-mv .nav-wrap nav ul li:last-child a::before {
                    display: none; } }
    article section.s-photo {
      background: white;
      background: linear-gradient(0deg, rgba(209, 235, 247, 0.8) 80%, white 100%);
      padding: 60px 0 100px;
      position: relative; }
      article section.s-photo .nintei {
        width: 840px;
        color: #12140e;
        background: url(/assets/datsumo/needle/images/nintei01.jpg) left top no-repeat #fff;
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.11);
        padding: 20px;
        margin: 0 auto 40px; }
        article section.s-photo .nintei_text01 {
          font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
          font-weight: 700;
          text-align: center;
          color: #1175a3;
          margin: 0 0 10px;
          padding-left: 130px; }
        article section.s-photo .nintei_text02 {
          font-size: 26px;
          font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
          font-weight: 700;
          text-align: center;
          line-height: 1.1;
          color: #1175a3;
          margin: 0 0 10px;
          padding-left: 130px; }
          article section.s-photo .nintei_text02 span {
            background: linear-gradient(transparent 60%, #fcefba 60%); }
          article section.s-photo .nintei_text02 em {
            font-size: 40px; }
          article section.s-photo .nintei_text02 strong {
            font-size: 32px; }
        article section.s-photo .nintei_text03 {
          font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
          font-weight: 700;
          text-align: center;
          padding-left: 130px; }
        article section.s-photo .nintei_caution {
          display: flex;
          background: #f2f6fa;
          margin: 15px 0 0; }
          article section.s-photo .nintei_caution_left {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 155px;
            background: #e1eefa;
            clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%);
            padding: 0 10px 0 0; }
            article section.s-photo .nintei_caution_left p {
              font-size: 14px;
              font-weight: 700;
              color: #1175a3; }
          article section.s-photo .nintei_caution_right {
            flex: 1;
            text-align: left;
            padding: 10px 20px; }
            article section.s-photo .nintei_caution_right p {
              font-size: 13px; }
              article section.s-photo .nintei_caution_right p a {
                font-weight: 700;
                color: #1175a3; }
      article section.s-photo .container {
        width: 980px;
        margin: 0 auto; }
        article section.s-photo .container > p {
          font-size: 18px;
          text-align: center; }
        article section.s-photo .container .tab_photo {
          margin-top: 20px; }
          article section.s-photo .container .tab_photo .tabacc .tabs a.title {
            font-size: 30px;
            text-align: center;
            display: block;
            line-height: 1.2;
            background: #96c6de;
            border-color: #96c6de; }
            article section.s-photo .container .tab_photo .tabacc .tabs a.title span {
              font-size: 18px; }
            article section.s-photo .container .tab_photo .tabacc .tabs a.title.-active {
              background: #1273a0;
              border-color: #1273a0;
              color: #fff; }
          article section.s-photo .container .tab_photo .tabacc .contents {
            background: #fff; }
        article section.s-photo .container .photo_slider {
          width: 700px;
          padding: 0 0 30px;
          margin: 10px auto 0; }
          article section.s-photo .container .photo_slider .slick-list .slick-track {
            display: flex;
            align-items: center; }
            article section.s-photo .container .photo_slider .slick-list .slick-track .slick-slide a {
              display: inline-flex;
              position: relative; }
              article section.s-photo .container .photo_slider .slick-list .slick-track .slick-slide a::before {
                font-family: "Font Awesome 5 Free";
                content: "\f00e";
                font-size: 25px;
                font-weight: 900;
                color: #fff;
                text-decoration: none;
                line-height: 1;
                position: absolute;
                right: 10px;
                bottom: 10px; }
            article section.s-photo .container .photo_slider .slick-list .slick-track .slick-slide.slick-current + .slick-slide a {
              display: flex;
              justify-content: flex-end; }
            article section.s-photo .container .photo_slider .slick-list .slick-track .slick-slide.slick-current img {
              width: 100%; }
          article section.s-photo .container .photo_slider .slick-dots {
            bottom: 0; }
            article section.s-photo .container .photo_slider .slick-dots li {
              width: 9px;
              height: 9px; }
              article section.s-photo .container .photo_slider .slick-dots li button::before {
                background: #96c6de;
                width: 100%;
                height: 100%;
                opacity: 1; }
              article section.s-photo .container .photo_slider .slick-dots li.slick-active button::before {
                background: #1175a3; }
          article section.s-photo .container .photo_slider .slick-prev,
          article section.s-photo .container .photo_slider .slick-next {
            width: 40px;
            height: 40px;
            background: #1175a3;
            border-radius: 100%;
            right: -60px;
            opacity: 60%;
            transform: translate(0, calc(-50% - 15px)); }
            article section.s-photo .container .photo_slider .slick-prev::before,
            article section.s-photo .container .photo_slider .slick-next::before {
              content: "";
              display: block;
              width: 13px;
              height: 13px;
              border-top: 3px solid #fff;
              border-right: 3px solid #fff;
              transform: rotate(45deg);
              position: absolute;
              right: 15px;
              bottom: 13px;
              background: none; }
            article section.s-photo .container .photo_slider .slick-prev::after,
            article section.s-photo .container .photo_slider .slick-next::after {
              display: none; }
          article section.s-photo .container .photo_slider .slick-prev {
            right: inherit;
            left: -60px; }
            article section.s-photo .container .photo_slider .slick-prev::before {
              transform: rotate(-135deg);
              right: inherit;
              left: 16px; }
        article section.s-photo .container .risk {
          margin: 10px 0 0; }
          article section.s-photo .container .risk .mhlw-risk {
            min-height: inherit; }
            article section.s-photo .container .risk .mhlw-risk .mhlw-risk-single {
              margin: 0; }
      @media screen and (max-width: 979px) {
        article section.s-photo {
          padding: 7vw 0 10vw; }
          article section.s-photo .nintei {
            width: 95%;
            color: #12140e;
            background-size: 50% auto;
            box-shadow: 0 1vw 2vw rgba(0, 0, 0, 0.11);
            padding: 3vw;
            margin: 0 auto 6vw; }
            article section.s-photo .nintei_text01 {
              font-size: 3.5vw;
              margin: 0 0 1vw;
              padding-left: 20vw; }
            article section.s-photo .nintei_text02 {
              font-size: 4vw;
              line-height: 1.3;
              margin: 0 0 1.5vw;
              padding-left: 20vw; }
              article section.s-photo .nintei_text02 em {
                font-size: 5.5vw; }
              article section.s-photo .nintei_text02 strong {
                font-size: 4.5vw; }
            article section.s-photo .nintei_text03 {
              font-size: 3.2vw;
              padding-left: 0; }
            article section.s-photo .nintei_caution {
              margin: 2vw 0 0; }
              article section.s-photo .nintei_caution_left {
                width: 25vw;
                clip-path: polygon(0 0, calc(100% - 2vw) 0, 100% 50%, calc(100% - 2vw) 100%, 0 100%);
                padding: 0 1vw 0 0; }
                article section.s-photo .nintei_caution_left p {
                  font-size: 2.5vw; }
              article section.s-photo .nintei_caution_right {
                padding: 1.5vw 3vw; }
                article section.s-photo .nintei_caution_right p {
                  font-size: 2.5vw; }
          article section.s-photo .container {
            width: 100%;
            padding: 0 2%; }
            article section.s-photo .container > p {
              font-size: 3vw; }
            article section.s-photo .container .tab_photo {
              margin-top: 2vw; }
              article section.s-photo .container .tab_photo .tabacc .tabs a.title {
                font-size: 5vw;
                min-height: 60px;
                padding: 4px; }
                article section.s-photo .container .tab_photo .tabacc .tabs a.title span {
                  font-size: 3vw; }
            article section.s-photo .container .photo_slider {
              width: 86%;
              padding: 0 0 5vw;
              margin: 1.5vw auto 0; }
              article section.s-photo .container .photo_slider .slick-list .slick-track .slick-slide a::before {
                font-size: 7vw;
                right: 2vw;
                bottom: 2vw; }
              article section.s-photo .container .photo_slider .slick-list .slick-track .slick-slide.slick-current img {
                width: 125%; }
              article section.s-photo .container .photo_slider .slick-dots li {
                margin: 0 1vw;
                width: 2.5vw;
                height: 2.5vw; }
              article section.s-photo .container .photo_slider .slick-prev,
              article section.s-photo .container .photo_slider .slick-next {
                display: block !important;
                width: 7vw;
                height: 7vw;
                right: -30px;
                transform: translate(0, calc(-50% - 2.5vw)); }
                article section.s-photo .container .photo_slider .slick-prev::before,
                article section.s-photo .container .photo_slider .slick-next::before {
                  width: 2.5vw;
                  height: 2.5vw;
                  border-top: 0.5vw solid #fff;
                  border-right: 0.5vw solid #fff;
                  right: 2.5vw;
                  bottom: 2.2vw; }
              article section.s-photo .container .photo_slider .slick-prev {
                right: inherit;
                left: -30px; }
                article section.s-photo .container .photo_slider .slick-prev::before {
                  left: 2.8vw;
                  transform: rotate(-135deg); }
            article section.s-photo .container .risk {
              margin: 3vw 0 0; }
              article section.s-photo .container .risk .mhlw-risk .mhlw-risk-single {
                padding: 2vw;
                font-size: 2.5vw; } }
    article section.s-what {
      background: url(/assets/datsumo/needle/images/what01.jpg) center bottom no-repeat;
      padding: 50px 0 155px; }
      article section.s-what .container {
        width: 980px;
        text-align: center;
        line-height: 2;
        background: rgba(255, 255, 255, 0.8);
        border: 2px solid #fff;
        border-radius: 30px;
        box-shadow: 9px 9px 24px rgba(0, 0, 0, 0.1);
        margin: 0 auto;
        padding: 50px 10px 55px; }
      @media screen and (max-width: 979px) {
        article section.s-what {
          background-size: auto 90%;
          background-position: -100vw bottom;
          padding: 7vw 0 15vw; }
          article section.s-what .container {
            width: 95%;
            border-radius: 4vw;
            box-shadow: 1vw 1vw 2.5vw rgba(0, 0, 0, 0.1);
            margin: 0 auto;
            padding: 4vw 4vw 5vw; } }
    article section.s-how {
      text-align: center;
      background: url(/assets/datsumo/needle/images/how01.jpg) center top no-repeat;
      padding: 60px 0 100px; }
      article section.s-how .container figure {
        margin: 30px 0; }
      @media screen and (max-width: 979px) {
        article section.s-how {
          background-size: cover;
          background-position: -45vw top;
          padding: 7vw 2.5vw 12vw; }
          article section.s-how .container figure {
            margin: 3vw 5vw; } }
    article section.s-suggest {
      text-align: center;
      background: white;
      background: linear-gradient(0deg, white 12%, #d1ebf7 100%);
      padding: 60px 0 100px;
      position: relative; }
      article section.s-suggest header {
        position: relative;
        z-index: 2; }
      article section.s-suggest > [class^="img0"] {
        position: absolute;
        z-index: 1;
        pointer-events: none; }
      article section.s-suggest .img01 {
        left: 50%;
        top: 170px;
        transform: translate(calc(-50% + 840px), 0); }
      article section.s-suggest .img02 {
        left: 50%;
        top: 320px;
        transform: translate(calc(-50% - 700px), 0); }
      article section.s-suggest .img03 {
        left: 50%;
        top: -110px;
        transform: translate(calc(-50% + 600px), 0); }
      article section.s-suggest .text01 {
        font-size: 26px;
        font-weight: bold;
        line-height: 1.8; }
        article section.s-suggest .text01 span {
          background: #fcefba;
          color: #1175a3;
          padding: 0 6px; }
      article section.s-suggest .container {
        margin: 40px 0 0;
        position: relative;
        z-index: 2; }
        article section.s-suggest .container .text02 {
          font-size: 21px;
          font-weight: bold;
          color: #1175a3; }
          article section.s-suggest .container .text02 strong {
            font-size: 25px;
            position: relative; }
            article section.s-suggest .container .text02 strong::before {
              content: "NEW";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 43px;
              height: 43px;
              font-size: 13px;
              font-weight: normal;
              color: #fcf0b9;
              background: url(/assets/datsumo/needle/images/suggest07.svg) center top/100% auto no-repeat;
              position: absolute;
              left: -50px;
              top: 50%;
              transform: translate(0, -50%); }
          article section.s-suggest .container .text02 em {
            color: #e72082;
            text-decoration: underline; }
        article section.s-suggest .container .text03 {
          font-size: 15px;
          margin: 15px 0 0; }
        article section.s-suggest .container ul {
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          width: 980px;
          margin: 30px auto 0;
          position: relative; }
          article section.s-suggest .container ul::before {
            content: "";
            display: block;
            width: 102px;
            height: 102px;
            background: url(/assets/datsumo/needle/images/suggest08.png) center top/100% auto no-repeat;
            position: absolute;
            left: 50%;
            top: -76px;
            transform: translate(calc(-50% - 292px), 0); }
          article section.s-suggest .container ul li {
            width: 264px;
            background: #fff;
            border: 2px solid #fff;
            border-radius: 25px;
            padding: 0;
            box-shadow: 9px 9px 24px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            position: relative; }
            article section.s-suggest .container ul li:nth-child(1) {
              margin-left: 150px; }
            article section.s-suggest .container ul li:nth-child(2) {
              margin-right: 150px; }
            article section.s-suggest .container ul li:nth-child(n + 3) {
              margin-top: 30px; }
            article section.s-suggest .container ul li:nth-child(2), article section.s-suggest .container ul li:nth-child(4), article section.s-suggest .container ul li:nth-child(5) {
              margin-left: 35px; }
            article section.s-suggest .container ul li.new::before {
              content: "NEW";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 150px;
              height: 25px;
              font-size: 16px;
              background: #e72082;
              color: #fcefba;
              position: absolute;
              left: -50px;
              top: 8px;
              transform: rotate(-40deg); }
            article section.s-suggest .container ul li figure {
              background: #dbe2e8;
              background: linear-gradient(90deg, #dbe2e8 0%, white 50%, #dbe2e8 100%);
              padding: 10px 0 0;
              margin: 0; }
            article section.s-suggest .container ul li p {
              height: 100px;
              display: inline-flex;
              align-items: center;
              font-size: 24px;
              font-weight: bold;
              line-height: 1.4;
              color: #1175a3;
              background: url(/assets/datsumo/needle/images/suggest06.svg) left center/34px auto no-repeat;
              padding: 0 0 0 47px; }
      @media screen and (max-width: 979px) {
        article section.s-suggest {
          padding: 7vw 0 10vw; }
          article section.s-suggest .img01 {
            left: -20vw;
            width: 40vw;
            top: inherit;
            bottom: 47vw;
            transform: translate(0, 0); }
          article section.s-suggest .img02 {
            width: 30vw;
            left: inherit;
            right: 7vw;
            top: 0;
            transform: translate(0, 0); }
          article section.s-suggest .img03 {
            width: 40vw;
            left: inherit;
            right: -10vw;
            top: -10vw;
            transform: translate(0, 0); }
          article section.s-suggest .text01 {
            font-size: 4vw; }
            article section.s-suggest .text01 span {
              padding: 0 1vw; }
          article section.s-suggest .container {
            margin: 6vw 0 0; }
            article section.s-suggest .container .text02 {
              font-size: 4vw; }
              article section.s-suggest .container .text02 strong {
                font-size: 4.5vw; }
                article section.s-suggest .container .text02 strong::before {
                  width: 8vw;
                  height: 8vw;
                  font-size: 2.5vw;
                  left: -9vw; }
            article section.s-suggest .container .text03 {
              font-size: 3vw;
              margin: 2vw 0 0; }
            article section.s-suggest .container ul {
              flex-wrap: wrap;
              width: 95%;
              margin: 11vw auto 0; }
              article section.s-suggest .container ul::before {
                width: 14vw;
                height: 14vw;
                left: 8vw;
                top: -10vw;
                transform: translate(0, 0); }
              article section.s-suggest .container ul li {
                width: 32%;
                border-radius: 3vw;
                box-shadow: 1vw 1vw 2.5vw rgba(0, 0, 0, 0.05); }
                article section.s-suggest .container ul li:nth-child(1) {
                  margin-left: 12vw; }
                article section.s-suggest .container ul li:nth-child(2) {
                  margin-right: 12vw; }
                article section.s-suggest .container ul li:nth-child(n + 3) {
                  margin-top: 2vw; }
                article section.s-suggest .container ul li:nth-child(2), article section.s-suggest .container ul li:nth-child(4), article section.s-suggest .container ul li:nth-child(5) {
                  margin-left: 2%; }
                article section.s-suggest .container ul li.new::before {
                  width: 30vw;
                  height: 3.5vw;
                  font-size: 2.5vw;
                  left: -11vw;
                  top: 1vw;
                  padding: 0.5vw 0 0; }
                article section.s-suggest .container ul li figure {
                  padding: 1.5vw 5vw 0; }
                article section.s-suggest .container ul li p {
                  height: 14vw;
                  font-size: 3vw;
                  background-size: 3.5vw auto;
                  padding: 0 0 0 5vw; } }
    article section.s-comparison {
      text-align: center;
      background: url(/assets/datsumo/needle/images/comparison01.jpg) center top/cover no-repeat;
      padding: 60px 0 100px; }
      article section.s-comparison .container01 {
        width: 939px;
        height: 262px;
        background: url(/assets/datsumo/needle/images/comparison02.png) center top no-repeat;
        margin: 80px auto 0;
        padding: 1px 0 0; }
        article section.s-comparison .container01 header {
          width: 652px;
          margin: -16px auto 35px;
          filter: drop-shadow(10px 10px 13px rgba(72, 72, 73, 0.15));
          position: relative; }
          article section.s-comparison .container01 header::before {
            content: "";
            width: 124px;
            height: 111px;
            background: url(/assets/datsumo/needle/images/comparison03.png) center top/100% auto no-repeat;
            position: absolute;
            left: -50px;
            top: 50%;
            transform: translate(0, -50%);
            z-index: 2; }
          article section.s-comparison .container01 header h3 {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 63px;
            font-size: 23px;
            font-weight: bold;
            color: #fff;
            background: #4a99bd;
            background: linear-gradient(97deg, #4a99bd 0%, #1175a3 40%);
            clip-path: polygon(calc(0% + 14px) 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
            padding: 0 0 0 30px;
            position: relative;
            z-index: 1; }
        article section.s-comparison .container01 .text03 {
          font-weight: bold;
          line-height: 2;
          color: #d61b2c;
          margin: 0.5em 0 0; }
          article section.s-comparison .container01 .text03 span {
            background: #fdff5d;
            padding: 0 3px; }
      article section.s-comparison .container02 {
        width: 980px;
        text-align: left;
        border: 2px solid #fff;
        background: url(/assets/datsumo/needle/images/comparison05.jpg) center top/cover no-repeat;
        border-radius: 25px;
        margin: 70px auto 0;
        padding: 35px 65px 45px; }
        article section.s-comparison .container02 header {
          text-align: center; }
          article section.s-comparison .container02 header h3 {
            display: inline-flex;
            font-size: 27px;
            color: #1175a3;
            padding: 0 0 35px;
            position: relative; }
            article section.s-comparison .container02 header h3::before {
              content: "";
              width: 231px;
              height: 170px;
              background: url(/assets/datsumo/needle/images/comparison04.png) center top/100% auto no-repeat;
              position: absolute;
              left: -250px;
              bottom: 25px; }
        article section.s-comparison .container02 .images {
          width: 800px;
          display: flex;
          justify-content: space-between;
          align-items: center;
          background: #fff;
          padding: 20px 35px;
          margin: 1.5em auto; }
      article section.s-comparison .container03 {
        width: 980px;
        background: #000;
        color: #ffecc6;
        background: linear-gradient(45deg, black 0%, #5f400d 50%, black 100%);
        box-shadow: 6px 6px 15px rgba(40, 40, 40, 0.2);
        border: 10px solid #000;
        -o-border-image: linear-gradient(45deg, #9e7b4c 0%, #ce9f67 12%, #f8efb5 24%, #ce9f67 36%, #907448 43%, #cd9f66 50%, #9e7b4c 60%, #ce9f67 68%, #f8efb5 76%, #ce9f67 84%, #97774a 100%) 1;
           border-image: linear-gradient(45deg, #9e7b4c 0%, #ce9f67 12%, #f8efb5 24%, #ce9f67 36%, #907448 43%, #cd9f66 50%, #9e7b4c 60%, #ce9f67 68%, #f8efb5 76%, #ce9f67 84%, #97774a 100%) 1;
        border-image-slice: 1;
        padding: 1px 50px 55px;
        margin: 100px auto 0; }
        article section.s-comparison .container03 .s-sbc-index {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 625px;
          height: 110px;
          background: url(/assets/slimming/machine/ondalift/images/sbc01.svg) center top/100% auto no-repeat;
          margin: -36px auto 50px;
          position: relative; }
          article section.s-comparison .container03 .s-sbc-index p {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 85px;
            height: 85px;
            font-size: 21px;
            font-weight: 700;
            color: #efcc78;
            background: url(/assets/slimming/machine/ondalift/images/sbc02.svg) center top/100% 100% no-repeat;
            position: absolute;
            left: 33px;
            top: -38px; }
            article section.s-comparison .container03 .s-sbc-index p span {
              transform: rotate(15deg);
              padding: 0 0 0 3px; }
          article section.s-comparison .container03 .s-sbc-index h2 {
            font-size: 37px;
            text-align: center;
            line-height: 1.2;
            color: #010000; }
        article section.s-comparison .container03 h3 {
          font-size: 25px;
          color: #fff;
          background: #966512;
          background: linear-gradient(45deg, #966512 0%, #e7bb61 50%, #966512 100%);
          text-align: center;
          padding: 5px;
          margin: 0 0 15px; }
        article section.s-comparison .container03 p {
          text-align: left; }
          article section.s-comparison .container03 p em {
            font-weight: bold;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0) 70%, #b9272d 30%); }
          article section.s-comparison .container03 p + h3 {
            margin-top: 35px; }
        article section.s-comparison .container03 .img-wrap {
          display: grid;
          grid-template-columns: repeat(5, 1fr);
          grid-template-rows: 1fr 155px 1fr;
          grid-column-gap: 0px;
          grid-row-gap: 0px;
          margin: 20px 0 0; }
          article section.s-comparison .container03 .img-wrap .grid.text {
            grid-row: 2 / 3;
            grid-column: 1 / 3;
            font-size: 16px; }
          article section.s-comparison .container03 .img-wrap .grid.img {
            grid-row: 1 / 4;
            grid-column: 3 / 4;
            position: relative; }
            article section.s-comparison .container03 .img-wrap .grid.img::before {
              font-family: "Font Awesome 5 Free";
              content: "\f00e";
              font-size: 25px;
              font-weight: 900;
              color: #000;
              text-decoration: none;
              line-height: 1;
              position: absolute;
              right: 10px;
              bottom: 10px;
              display: inline-block; }
            article section.s-comparison .container03 .img-wrap .grid.img img {
              height: 206px; }
          article section.s-comparison .container03 .img-wrap .grid.img-reverse {
            grid-row: 1 / 4;
            grid-column: 4 / 6; }
          article section.s-comparison .container03 .img-wrap .grid + .grid {
            margin-left: 10px; }
      article section.s-comparison .container04 {
        width: 980px;
        margin: 70px auto 0; }
        article section.s-comparison .container04 table {
          width: 100%;
          border-collapse: collapse;
          background: #fff; }
          article section.s-comparison .container04 table tr th,
          article section.s-comparison .container04 table tr td {
            font-size: 19px;
            border: 1px solid #c9c9c9;
            padding: 20px;
            font-weight: normal; }
          article section.s-comparison .container04 table thead tr th {
            font-size: 28px;
            font-weight: normal; }
            article section.s-comparison .container04 table thead tr th:first-child {
              width: 160px; }
            article section.s-comparison .container04 table thead tr th.sbc {
              background: #ffdbdf; }
            article section.s-comparison .container04 table thead tr th.other {
              background: #f3f3f3; }
          article section.s-comparison .container04 table thead tr td {
            width: calc((100% - 160px) / 3);
            background: #f3f3f3; }
            article section.s-comparison .container04 table thead tr td.laser {
              background: #fff7f8; }
            article section.s-comparison .container04 table thead tr td.needle {
              background: #ff4765;
              color: #feeeac; }
          article section.s-comparison .container04 table tbody tr th {
            padding: 25px 10px; }
          article section.s-comparison .container04 table tbody tr td {
            font-size: 17px;
            text-align: left; }
            article section.s-comparison .container04 table tbody tr td.needle {
              background: #fffddc; }
            article section.s-comparison .container04 table tbody tr td strong {
              color: #f30000; }
            article section.s-comparison .container04 table tbody tr td p {
              text-align: center; }
              article section.s-comparison .container04 table tbody tr td p.mark {
                font-size: 50px;
                font-weight: bold;
                line-height: 1;
                margin: 0 0 10px; }
                article section.s-comparison .container04 table tbody tr td p.mark.color1 {
                  color: #faa049; }
                article section.s-comparison .container04 table tbody tr td p.mark.color2 {
                  color: #a2a2a2; }
                article section.s-comparison .container04 table tbody tr td p.mark.color3 {
                  color: #6a9dd1; }
            article section.s-comparison .container04 table tbody tr td.osusume {
              font-weight: bold;
              text-align: center;
              color: #f30000;
              padding: 15px; }
        article section.s-comparison .container04 > p {
          font-size: 15px;
          text-align: center;
          margin: 5px 0 0; }
      @media screen and (max-width: 979px) {
        article section.s-comparison {
          padding: 7vw 0 10vw;
          overflow: hidden; }
          article section.s-comparison > p {
            padding: 0 2.5vw; }
          article section.s-comparison .container01 {
            width: 100%;
            height: 50vw;
            background-size: auto 100%;
            margin: 10vw auto 0;
            padding: 0 3vw; }
            article section.s-comparison .container01 header {
              width: 90vw;
              margin: -3vw auto 2.5vw;
              filter: drop-shadow(1vw 1vw 1.5vw rgba(72, 72, 73, 0.15)); }
              article section.s-comparison .container01 header::before {
                width: 16vw;
                height: 16vw;
                left: -4vw; }
              article section.s-comparison .container01 header h3 {
                height: 10vw;
                font-size: 3.3vw;
                clip-path: polygon(calc(0% + 2vw) 0, 100% 0, calc(100% - 2vw) 100%, 0 100%);
                padding: 0 0 0 8vw; }
            article section.s-comparison .container01 .text03 {
              font-size: 3.2vw;
              line-height: 1.5; }
              article section.s-comparison .container01 .text03 span {
                padding: 0 0.5vw; }
          article section.s-comparison .container02 {
            width: 95%;
            border-radius: 3vw;
            margin: 7vw auto 0;
            padding: 4vw 4vw 5vw; }
            article section.s-comparison .container02 header h3 {
              font-size: 4.5vw;
              padding: 0 0 4vw; }
              article section.s-comparison .container02 header h3::before {
                width: 29vw;
                height: 20vw;
                left: -33vw;
                bottom: 4vw; }
            article section.s-comparison .container02 .images {
              width: 100%;
              padding: 2.5vw 3vw 3vw;
              margin: 1.5em auto; }
              article section.s-comparison .container02 .images > figure img {
                max-width: inherit;
                width: auto;
                height: 35vw; }
          article section.s-comparison .container03 {
            width: 95%;
            border-width: 5px;
            box-shadow: 1vw 1vw 2vw rgba(40, 40, 40, 0.2);
            padding: 1px 4vw 5vw;
            margin: 12vw auto 0; }
            article section.s-comparison .container03 .s-sbc-index {
              width: 85vw;
              height: 15vw;
              margin: -3.5vw auto 5vw;
              margin: calc(-3.5vw - 6px) auto 6vw; }
              article section.s-comparison .container03 .s-sbc-index p {
                width: 12vw;
                height: 12vw;
                font-size: 3.2vw;
                left: 4vw;
                top: -5vw; }
                article section.s-comparison .container03 .s-sbc-index p span {
                  transform: rotate(15deg);
                  padding: 0 0 0 0.5vw; }
              article section.s-comparison .container03 .s-sbc-index h2 {
                font-size: 5vw; }
            article section.s-comparison .container03 h3 {
              font-size: 4vw;
              padding: 1vw;
              margin: 0 0 2vw; }
            article section.s-comparison .container03 p + h3 {
              margin-top: 4vw; }
            article section.s-comparison .container03 .img-wrap {
              grid-template-columns: repeat(2, 1fr);
              grid-template-rows: repeat(2, 1fr); }
              article section.s-comparison .container03 .img-wrap .grid.text {
                grid-row: 1 / 2;
                grid-column: 1 / 2;
                font-size: 3.5vw; }
              article section.s-comparison .container03 .img-wrap .grid.img {
                grid-row: 1 / 2;
                grid-column: 2 / 3;
                margin-left: 5vw; }
                article section.s-comparison .container03 .img-wrap .grid.img::before {
                  bottom: 5vw; }
                article section.s-comparison .container03 .img-wrap .grid.img img {
                  height: auto; }
              article section.s-comparison .container03 .img-wrap .grid.img-reverse {
                grid-row: 2 / 3;
                grid-column: 1 / 3;
                margin: 3vw 0 0 0; }
          article section.s-comparison .container04 {
            width: 95%;
            margin: 7vw auto 0; }
            article section.s-comparison .container04 table tr th,
            article section.s-comparison .container04 table tr td {
              font-size: 3vw;
              padding: 2vw; }
            article section.s-comparison .container04 table thead tr th {
              font-size: 3.5vw; }
              article section.s-comparison .container04 table thead tr th:first-child {
                width: 20vw; }
            article section.s-comparison .container04 table thead tr td {
              width: calc((100% - 20vw) / 3); }
            article section.s-comparison .container04 table tbody tr th {
              padding: 1.5vw; }
            article section.s-comparison .container04 table tbody tr td {
              font-size: 3vw; }
              article section.s-comparison .container04 table tbody tr td p.mark {
                font-size: 10vw;
                margin: 0 0 1.5vw; }
              article section.s-comparison .container04 table tbody tr td.osusume {
                padding: 1.5vw; }
            article section.s-comparison .container04 > p {
              font-size: 2.5vw;
              margin: 1vw 0 0; } }
    article section.s-price {
      text-align: center;
      background: #f0f8ff;
      padding: 60px 0 100px; }
      article section.s-price .container {
        width: 820px;
        background: #fff;
        margin: 10px auto 0; }
        article section.s-price .container h3 {
          font-size: 24px;
          color: #fff;
          padding: 5px 0 4px;
          background: #1273a0; }
        article section.s-price .container .inner {
          padding: 15px 22px 65px; }
          article section.s-price .container .inner h4 {
            font-size: 22px;
            font-weight: normal;
            background: #feeeac;
            margin: 0 0 15px; }
          article section.s-price .container .inner .text01 {
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 24px;
            font-weight: bold;
            color: #e72082;
            margin: 0 0 5px; }
            article section.s-price .container .inner .text01 .new {
              font-size: 17px;
              line-height: 1.3;
              background: #e72082;
              color: #fcefba;
              padding: 1px 5px 0;
              margin: 0 4px 0 0; }
          article section.s-price .container .inner ul {
            width: 665px;
            margin: 60px auto 0; }
            article section.s-price .container .inner ul li {
              display: flex;
              justify-content: space-between;
              align-items: center;
              font-size: 25px;
              font-weight: bold;
              color: #1175a3;
              border-bottom: 1px dashed #c2c2c2;
              padding: 0 15px 15px; }
              article section.s-price .container .inner ul li + li {
                margin-top: 20px; }
              article section.s-price .container .inner ul li .price_left {
                width: 170px;
                text-align: left; }
                article section.s-price .container .inner ul li .price_left p {
                  font-size: 25px; }
              article section.s-price .container .inner ul li .price_right {
                flex: 1; }
                article section.s-price .container .inner ul li .price_right .price_right_inner {
                  display: flex;
                  justify-content: flex-end;
                  align-items: center; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner + .price_right_inner {
                    border-top: 1px dashed #c2c2c2;
                    padding-top: 20px;
                    margin-top: 15px; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner > p {
                    flex: 1;
                    text-align: left; }
                    article section.s-price .container .inner ul li .price_right .price_right_inner > p .frame {
                      display: inline-flex;
                      justify-content: center;
                      min-width: 113px;
                      border: 1px solid #1175a3; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .price {
                    font-size: 80px;
                    line-height: 1;
                    text-align: right; }
                    article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .price > span {
                      font-size: 46px;
                      position: relative; }
                      article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .price > span > span {
                        font-size: 17px;
                        letter-spacing: 3px;
                        white-space: nowrap;
                        position: absolute;
                        right: 2px;
                        bottom: 53px; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .per_price {
                    text-align: right; }
            article section.s-price .container .inner ul.option {
              margin-top: 25px; }
              article section.s-price .container .inner ul.option li {
                color: #000; }
                article section.s-price .container .inner ul.option li .price_left {
                  width: inherit; }
                  article section.s-price .container .inner ul.option li .price_left p {
                    font-size: 20px; }
                article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price {
                  font-size: 52px;
                  line-height: 1;
                  text-align: right; }
                  article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price > span {
                    font-size: 30px;
                    position: relative; }
                    article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price > span > span {
                      font-size: 11px;
                      letter-spacing: 2px;
                      right: 1px;
                      bottom: 35px; }
                    article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price > span.per {
                      font-size: 40px;
                      margin-left: 8px; }
          article section.s-price .container .inner .option_index {
            width: 170px;
            font-size: 22px;
            font-weight: bold;
            background: #f3f3f3;
            margin: 50px auto 15px;
            padding: 3px; }
          article section.s-price .container .inner .option_text {
            font-size: 15px;
            text-align: center; }
      article section.s-price .caution {
        width: 820px;
        border: 10px solid #e4e4e4;
        background: #fff;
        padding: 40px 50px 50px;
        margin: 55px auto 0; }
        article section.s-price .caution h3 {
          color: #d61b2c;
          font-size: 28px;
          margin: 0 0 30px; }
        article section.s-price .caution > p {
          margin: 0 0 35px; }
        article section.s-price .caution ul li {
          font-size: 18px;
          text-align: left;
          padding: 0 0 0 24px;
          position: relative; }
          article section.s-price .caution ul li::before {
            content: "\25C6";
            font-size: 16px;
            position: absolute;
            left: 0;
            top: 3px; }
          article section.s-price .caution ul li + li {
            margin: 1em 0 0; }
          article section.s-price .caution ul li h4 {
            font-size: 20px; }
            article section.s-price .caution ul li h4 span {
              background: #fcefba;
              padding: 0 3px; }
      @media screen and (max-width: 979px) {
        article section.s-price {
          padding: 7vw 0 10vw; }
          article section.s-price .container {
            width: 95%;
            margin: 1.5vw auto 0; }
            article section.s-price .container h3 {
              font-size: 4.5vw;
              padding: 1vw 0; }
            article section.s-price .container .inner {
              padding: 2vw 2.5vw 5vw; }
              article section.s-price .container .inner h4 {
                font-size: 4vw;
                margin: 0 0 2vw; }
              article section.s-price .container .inner .text01 {
                font-size: 4.5vw;
                margin: 0 0 1vw; }
                article section.s-price .container .inner .text01 .new {
                  font-size: 3vw;
                  padding: 0.2vw 1vw 0;
                  margin: 0 1vw 0 0; }
              article section.s-price .container .inner ul {
                width: 95%;
                margin: 6vw auto 0; }
                article section.s-price .container .inner ul li {
                  font-size: 3.7vw;
                  padding: 0 2vw 2vw; }
                  article section.s-price .container .inner ul li + li {
                    margin-top: 3vw; }
                  article section.s-price .container .inner ul li .price_left {
                    width: 20vw; }
                    article section.s-price .container .inner ul li .price_left p {
                      font-size: 4vw; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner + .price_right_inner {
                    padding-top: 2.5vw;
                    margin-top: 2vw; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner > p .frame {
                    min-width: 17.5vw; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .price {
                    font-size: 11vw; }
                    article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .price > span {
                      font-size: 7vw; }
                      article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .price > span > span {
                        font-size: 3vw;
                        letter-spacing: 0;
                        right: 0.5vw;
                        bottom: 8.2vw; }
                  article section.s-price .container .inner ul li .price_right .price_right_inner .price_wrap .per_price {
                    font-size: 3.5vw; }
                article section.s-price .container .inner ul.option {
                  margin-top: 3vw; }
                  article section.s-price .container .inner ul.option li {
                    color: #000; }
                    article section.s-price .container .inner ul.option li .price_left {
                      width: inherit; }
                      article section.s-price .container .inner ul.option li .price_left p {
                        font-size: 4vw; }
                    article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price {
                      font-size: 9vw; }
                      article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price > span {
                        font-size: 6vw; }
                        article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price > span > span {
                          font-size: 2.5vw;
                          right: 0;
                          bottom: 6.7vw; }
                        article section.s-price .container .inner ul.option li .price_right .price_right_inner .price_wrap .price > span.per {
                          font-size: 7vw;
                          margin-left: 1vw; }
              article section.s-price .container .inner .option_index {
                width: 30vw;
                font-size: 4.5vw;
                margin: 6vw auto 2.5vw;
                padding: 0.5vw; }
              article section.s-price .container .inner .option_text {
                font-size: 3vw; }
          article section.s-price .caution {
            width: 95%;
            font-size: 3.2vw;
            border: 1.5vw solid #e4e4e4;
            padding: 3vw 3vw 4vw;
            margin: 6vw auto 0; }
            article section.s-price .caution h3 {
              font-size: 5vw;
              margin: 0 0 2.5vw; }
            article section.s-price .caution > p {
              margin: 0 0 2.5vw; }
            article section.s-price .caution ul li {
              font-size: 3.2vw;
              padding: 0 0 0 4vw; }
              article section.s-price .caution ul li::before {
                font-size: 3vw;
                top: 1vw; }
              article section.s-price .caution ul li + li {
                margin: 1em 0 0; }
              article section.s-price .caution ul li h4 {
                font-size: 3.7vw; }
                article section.s-price .caution ul li h4 span {
                  padding: 0 0.5vw; } }
    article section.s-flow {
      background: url(/assets/datsumo/needle/images/flow01.jpg) center top/cover no-repeat;
      padding: 60px 0 175px; }
      article section.s-flow header {
        margin: 0 0 90px; }
      article section.s-flow ul {
        width: 855px;
        margin: 0 auto; }
        article section.s-flow ul li {
          padding: 50px 315px 50px 90px;
          background: #fff;
          border-radius: 25px;
          box-shadow: 9px 9px 24px rgba(0, 0, 0, 0.07);
          position: relative; }
          article section.s-flow ul li + li {
            margin-top: 135px; }
          article section.s-flow ul li .step {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            width: 133px;
            height: 133px;
            color: #fff;
            line-height: 1.2;
            background: #1175a3;
            border-radius: 50%;
            position: absolute;
            left: -27px;
            top: -90px;
            box-shadow: 9px 9px 24px rgba(0, 0, 0, 0.07); }
            article section.s-flow ul li .step .num {
              display: block;
              font-size: 38px; }
          article section.s-flow ul li figure {
            position: absolute;
            right: -90px;
            top: 70px; }
            article section.s-flow ul li figure img {
              box-shadow: 9px 9px 24px rgba(0, 0, 0, 0.07); }
          article section.s-flow ul li .text h3 {
            font-size: 27px;
            font-weight: bold;
            color: #1175a3;
            margin: 0 0 0.75em; }
          article section.s-flow ul li .text > p {
            line-height: 1.8; }
      @media screen and (max-width: 979px) {
        article section.s-flow {
          padding: 7vw 0 18vw;
          overflow: hidden; }
          article section.s-flow header {
            margin: 0 0 10vw; }
          article section.s-flow ul {
            width: 95%; }
            article section.s-flow ul li {
              padding: 8vw 42vw 4vw 4vw;
              border-radius: 3vw;
              box-shadow: 1vw 1vw 2.5vw rgba(0, 0, 0, 0.07); }
              article section.s-flow ul li + li {
                margin-top: 12vw; }
              article section.s-flow ul li .step {
                font-size: 3vw;
                width: 15vw;
                height: 15vw;
                left: -4vw;
                top: -8vw;
                box-shadow: 1vw 1vw 2.5vw rgba(0, 0, 0, 0.07); }
                article section.s-flow ul li .step .num {
                  font-size: 6vw; }
              article section.s-flow ul li figure {
                width: 47vw;
                right: -7vw;
                top: 50%;
                transform: translate(0, -50%); }
                article section.s-flow ul li figure img {
                  box-shadow: 1vw 1vw 2.5vw rgba(0, 0, 0, 0.07); }
              article section.s-flow ul li .text h3 {
                font-size: 4.5vw; }
              article section.s-flow ul li .text > p {
                line-height: 1.5; } }
    article section.s-qa {
      background: url(/assets/datsumo/needle/images/qa01.jpg) center top/cover no-repeat;
      padding: 60px 0 100px; }
      article section.s-qa ul {
        width: 900px;
        margin: 0 auto; }
        article section.s-qa ul li {
          background: #fff;
          box-shadow: 9px 9px 24px rgba(0, 0, 0, 0.1);
          border-radius: 30px;
          overflow: hidden; }
          article section.s-qa ul li + li {
            margin-top: 45px; }
          article section.s-qa ul li .qaq,
          article section.s-qa ul li .qaa {
            position: relative; }
            article section.s-qa ul li .qaq::before,
            article section.s-qa ul li .qaa::before {
              content: "Q";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 40px;
              height: 40px;
              font-size: 24px;
              font-weight: bold;
              color: #1175a3;
              background: #fff;
              border-radius: 100%;
              position: absolute;
              left: 25px;
              top: 18px; }
          article section.s-qa ul li .qaq {
            font-size: 24px;
            font-weight: bold;
            color: #1175a3;
            background: #dbe2e8;
            background: linear-gradient(90deg, #dbe2e8 0%, white 50%, #dbe2e8 100%);
            padding: 20px 20px 20px 90px; }
          article section.s-qa ul li .qaa {
            padding: 25px 20px 25px 90px; }
            article section.s-qa ul li .qaa::before {
              content: "A";
              color: #fff;
              background: #1175a3;
              top: 25px; }
      @media screen and (max-width: 979px) {
        article section.s-qa {
          padding: 7vw 0 10vw; }
          article section.s-qa ul {
            width: 95%; }
            article section.s-qa ul li {
              box-shadow: 1vw 1vw 2.5vw rgba(0, 0, 0, 0.1);
              border-radius: 4vw; }
              article section.s-qa ul li + li {
                margin-top: 5vw; }
              article section.s-qa ul li .qaq,
              article section.s-qa ul li .qaa {
                line-height: 1.5; }
                article section.s-qa ul li .qaq::before,
                article section.s-qa ul li .qaa::before {
                  width: 7vw;
                  height: 7vw;
                  font-size: 4vw;
                  left: 3vw;
                  top: 2vw;
                  padding: 0.3vw 0 0; }
              article section.s-qa ul li .qaq {
                font-size: 4.5vw;
                padding: 2.5vw 2.5vw 2vw 13vw; }
              article section.s-qa ul li .qaa {
                padding: 3vw 2.5vw 3vw 13vw; }
                article section.s-qa ul li .qaa::before {
                  top: 3vw; } }
    article section.s-clinic {
      background: #f0f8ff;
      padding: 60px 0 100px; }
      article section.s-clinic .container {
        width: 980px;
        margin: 10px auto 0; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info > .name {
          font-weight: bold;
          color: #1175a3; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .number {
          font-weight: bold;
          color: #1175a3; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .freetel {
          fill: #1175a3; }
      @media screen and (max-width: 979px) {
        article section.s-clinic {
          padding: 7vw 0 10vw; }
          article section.s-clinic .container {
            width: 95%;
            margin: 1.5vw auto 0; }
            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; } }

#clinic-map {
  min-height: 1100px; }
  #clinic-map #hokkaido {
    top: 180px; }
  #clinic-map #tohoku {
    top: 430px; }
  #clinic-map #chugoku {
    top: 450px; }
  #clinic-map #tokai {
    top: 410px; }
