@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300..700;1,300..700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");
article section {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.7; }
  @media (max-width: 979px) {
    article section {
      font-size: 3.5vw; } }
  article section p em {
    font-style: normal; }
  article section > header {
    text-align: center;
    width: 474px;
    margin: 0 auto 70px;
    position: relative; }
    article section > header::before {
      content: "";
      display: block;
      width: 100%;
      height: 118px;
      background: url("/assets/datsumo/images/index01.svg") center center/100% auto no-repeat;
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translate(-50%, 0); }
    article section > header > * {
      position: relative; }
    article section > header p {
      font-family: "Cormorant Infant", serif;
      font-optical-sizing: auto;
      font-weight: 500;
      font-style: normal;
      line-height: 0.7;
      font-size: 70px;
      background: linear-gradient(0deg, #d4ac3e 0%, #915e02 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }
    article section > header h2 {
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: "Zen Old Mincho", serif;
      font-weight: 700;
      font-style: normal;
      height: 88px;
      font-size: 20px;
      padding: 0 0 7px; }
    article section > header.others {
      width: 833px; }
      article section > header.others h3 {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        font-family: "Zen Old Mincho", serif;
        font-weight: 700;
        font-style: normal;
        height: 48px;
        font-size: 20px;
        padding: 0; }
        article section > header.others h3 + p {
          display: flex;
          justify-content: center;
          align-items: flex-start;
          font-family: "Zen Old Mincho", serif;
          font-weight: 700;
          font-style: normal;
          height: 48px;
          font-size: 20px;
          background: none;
          -webkit-background-clip: inherit;
          -webkit-text-fill-color: inherit;
          padding: 7px 0 0; }
      article section > header.others::before {
        background: url("/assets/datsumo/images/index02.svg") center center/100% auto no-repeat; }
    article section > header.comparison {
      width: 680px; }
      article section > header.comparison::before {
        background: url("/assets/datsumo/images/index02.svg") center center/100% 100% no-repeat; }
    article section > header.demerit, article section > header.column {
      width: 540px; }
      article section > header.demerit::before, article section > header.column::before {
        background-size: 100% 100%; }
    article section > header.comment {
      width: 640px; }
      article section > header.comment::before {
        background-size: 100% 100%; }
    @media (max-width: 979px) {
      article section > header {
        width: 70vw;
        margin: 0 auto 7vw; }
        article section > header::before {
          width: 100%;
          height: 18vw; }
        article section > header p {
          font-size: 9vw; }
        article section > header h2 {
          height: 14.5vw;
          font-size: 3vw;
          padding: 0 0 1.5vw; }
        article section > header.others {
          width: 75vw; }
          article section > header.others h3 {
            height: 7.5vw;
            font-size: 3vw; }
            article section > header.others h3 + p {
              height: 9.5vw;
              font-size: 3vw;
              padding: 1.5vw 0 0; }
          article section > header.others::before {
            width: 100%;
            height: 27vw;
            background: url("/assets/datsumo/images/index02_sp.svg") center top/100% auto no-repeat; }
          article section > header.others p {
            line-height: 1; }
          article section > header.others h2 {
            height: 13.5vw; }
        article section > header.comparison {
          width: 90vw; }
          article section > header.comparison::before {
            background: url("/assets/datsumo/images/index02.svg") center center/100% 100% no-repeat; }
        article section > header.demerit, article section > header.column {
          width: 80vw; }
        article section > header.comment {
          width: 70vw; }
          article section > header.comment::before {
            background: url("/assets/datsumo/images/index02.svg") center center/100% 100% no-repeat; } }
  article section .btn_common {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
    margin: 40px 0 0; }
    article section .btn_common a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      max-width: 480px;
      height: 100%;
      font-size: 20px;
      color: #fff;
      text-decoration: none;
      background: #9d7406;
      background: linear-gradient(0deg, #9d7406 0%, #d1a93b 100%);
      border: 1px solid #9d7406;
      border-radius: 100px;
      padding: 0 65px;
      position: relative; }
      article section .btn_common a::before {
        content: "";
        width: 28px;
        height: 28px;
        background: #9d7406;
        border-radius: 100%;
        position: absolute;
        right: 25px;
        top: 50%;
        transform: translate(0, -50%); }
      article section .btn_common a::after {
        content: "";
        width: 10px;
        height: 11px;
        background: #fff;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        position: absolute;
        right: 31px;
        top: 50%;
        transform: translate(0, -50%); }
    article section .btn_common.pink a {
      background: #e3618c;
      background: linear-gradient(0deg, #e3618c 0%, #e383a3 100%);
      border: 1px solid #e3618c; }
      article section .btn_common.pink a::before {
        background: #e34b7d; }
    article section .btn_common.blue a {
      background: #377ac8;
      background: linear-gradient(0deg, #377ac8 0%, #6b96c8 100%);
      border: 1px solid #377ac8; }
      article section .btn_common.blue a::before {
        background: #276ec1; }
    article section .btn_common.mens {
      height: 110px;
      margin: 20px 0; }
      article section .btn_common.mens a {
        max-width: 600px;
        flex-direction: column;
        background: #131d36;
        background: linear-gradient(0deg, #131d36 0%, #334884 100%);
        border: 1px solid #131d36; }
        article section .btn_common.mens a::before {
          background: #131d36; }
        article section .btn_common.mens a span {
          font-size: 18px; }
    @media (max-width: 979px) {
      article section .btn_common {
        height: 11vw;
        margin: 5vw 0 0; }
        article section .btn_common a {
          max-width: 75vw;
          font-size: 4vw;
          padding: 0 8vw 0.75vw; }
          article section .btn_common a::before {
            width: 5vw;
            height: 5vw;
            right: 3.5vw; }
          article section .btn_common a::after {
            width: 2vw;
            height: 2.4vw;
            right: 4.6vw; }
        article section .btn_common.mens {
          height: 18vw;
          margin: 3vw 0; }
          article section .btn_common.mens a {
            max-width: 100%; }
            article section .btn_common.mens a span {
              font-size: 3vw; } }
  article section.s-mv {
    text-align: center;
    background: url("/assets/datsumo/images/mv_bg.jpg") center top no-repeat; }
    @media (max-width: 979px) {
      article section.s-mv {
        background: none; } }
  article section.s-banner {
    padding: 30px 0; }
    @media (max-width: 979px) {
      article section.s-banner {
        padding: 5vw 2.5vw; } }
  article section.s-reason {
    background: #8c8c8c;
    background: linear-gradient(90deg, #8c8c8c 0%, #e7e5e6 45%, #efedee 55%, #8c8c8c 100%);
    padding: 40px 0; }
    article section.s-reason .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-reason .container .reason_index {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 587px;
        height: 42px;
        color: #9c6c20;
        background: url("/assets/datsumo/images/reason01.svg") center top/100% auto no-repeat;
        margin: 0 auto;
        position: relative;
        z-index: 2; }
      article section.s-reason .container ul {
        width: 970px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin: -14px auto 0;
        position: relative;
        z-index: 1; }
        article section.s-reason .container ul li {
          width: 300px;
          height: 78px; }
          article section.s-reason .container ul li:nth-child(n + 4) {
            width: 480px;
            margin-top: 20px; }
          article section.s-reason .container ul li > a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 100%;
            font-size: 22px;
            color: #fff;
            background: #9a691a;
            background: linear-gradient(0deg, #9a691a 0%, #bd9847 100%);
            border: 1px solid #fff;
            border-radius: 5px;
            box-shadow: 0 6px 6px rgba(0, 0, 0, 0.1);
            text-decoration: none; }
    @media (max-width: 979px) {
      article section.s-reason {
        padding: 5vw 0; }
        article section.s-reason .container {
          width: 95%; }
          article section.s-reason .container .reason_index {
            width: 80vw;
            height: 5.5vw;
            font-size: 3vw; }
          article section.s-reason .container ul {
            width: 100%;
            margin: -1.6vw auto 0; }
            article section.s-reason .container ul li {
              width: 32%;
              height: 12vw; }
              article section.s-reason .container ul li:nth-child(n + 4) {
                width: 49%;
                margin-top: 2%; }
              article section.s-reason .container ul li a {
                font-size: 2.7vw;
                border-radius: 1vw;
                box-shadow: 0 1vw 1vw rgba(0, 0, 0, 0.1); } }
  article section.s-intro {
    background: url("/assets/datsumo/images/intro01.jpg") center center/cover no-repeat;
    padding: 75px 0 90px; }
    article section.s-intro .container {
      width: 980px;
      text-align: center;
      margin: 0 auto; }
      article section.s-intro .container p {
        font-family: "Zen Old Mincho", serif;
        font-weight: 700;
        font-style: normal;
        font-size: 22px;
        font-weight: 700; }
        article section.s-intro .container p + p {
          margin-top: 1em; }
          article section.s-intro .container p + p > span {
            font-size: 26px;
            color: #9c6c20; }
          article section.s-intro .container p + p > em {
            position: relative; }
            article section.s-intro .container p + p > em::before {
              content: "";
              display: block;
              width: 100%;
              height: 35%;
              background: #e4cb74;
              background: linear-gradient(90deg, #e4cb74 0%, #f0e5a1 50%, #e4cb74 100%);
              position: absolute;
              left: 0;
              bottom: 0; }
            article section.s-intro .container p + p > em > span {
              font-size: 26px;
              position: relative; }
    @media (max-width: 979px) {
      article section.s-intro {
        background-image: url("/assets/datsumo/images/intro01_sp.jpg");
        padding: 8vw 0 10vw; }
        article section.s-intro .container {
          width: 95%; }
          article section.s-intro .container p {
            font-size: 3.5vw;
            line-height: 1.5; }
            article section.s-intro .container p + p > span {
              font-size: 4vw; }
            article section.s-intro .container p + p > em {
              position: relative; }
              article section.s-intro .container p + p > em::before {
                content: "";
                display: block;
                width: 100%;
                height: 35%;
                background: #e4cb74;
                background: linear-gradient(90deg, #e4cb74 0%, #f0e5a1 50%, #e4cb74 100%);
                position: absolute;
                left: 0;
                bottom: 0; }
              article section.s-intro .container p + p > em > span {
                font-size: 4vw;
                position: relative; } }
  article section.s-point {
    padding: 110px 0;
    background: url("/assets/datsumo/images/point01.jpg") center top/100% auto repeat-y; }
    article section.s-point .grid {
      display: grid;
      grid-template-columns: 1fr 30px 190px 600px 190px 30px 1fr;
      grid-template-rows: 80px 80px auto; }
      article section.s-point .grid.title_large {
        grid-template-rows: 100px 100px auto; }
      article section.s-point .grid-bg {
        grid-column: 1 / 7;
        grid-row: 2 / 4;
        background: #808080;
        background: linear-gradient(36deg, #d4d4d4 14%, #808080 100%);
        border-radius: 0 30px 30px 0;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        padding: 3px 3px 3px 0; }
        article section.s-point .grid-bg .inner {
          width: 100%;
          height: 100%;
          border-radius: 0 27px 27px 0;
          background: #fff; }
      article section.s-point .grid-title {
        grid-column: 1 / 5;
        grid-row: 1 / 3;
        background: url("/assets/datsumo/images/point02.jpg") right center/cover no-repeat;
        border-radius: 0 30px 30px 0; }
        article section.s-point .grid-title header {
          height: 100%;
          display: flex;
          justify-content: center;
          align-items: flex-end;
          flex-direction: column;
          text-align: right;
          padding: 0 40px 0 0; }
          article section.s-point .grid-title header .num_wrap {
            display: flex;
            justify-content: flex-end;
            align-items: center; }
            article section.s-point .grid-title header .num_wrap p {
              font-family: "Cormorant Infant", serif;
              font-optical-sizing: auto;
              font-weight: 500;
              font-style: normal;
              line-height: 0.7;
              color: #fff;
              line-height: 1; }
              article section.s-point .grid-title header .num_wrap p.en {
                font-size: 22px;
                padding: 0 1.4em 0 0;
                position: relative; }
                article section.s-point .grid-title header .num_wrap p.en::after {
                  content: "\FF0F";
                  font-size: 18px;
                  position: absolute;
                  right: 0.3em;
                  top: 50%;
                  transform: translate(0, -50%); }
              article section.s-point .grid-title header .num_wrap p.num {
                font-size: 46px;
                line-height: 0.7; }
          article section.s-point .grid-title header h3 {
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-size: 36px;
            color: #fff1b0;
            line-height: 1.2;
            margin: 10px 0 0; }
      article section.s-point .grid-text {
        grid-column: 3 / 6;
        grid-row: 3 / 4;
        padding: 40px 40px 70px; }
        article section.s-point .grid-text p em {
          font-weight: bold;
          color: #9c6c20;
          background: #fff1b0;
          padding: 0 0.25em; }
        article section.s-point .grid-text .list-note {
          margin-top: 5px; }
          article section.s-point .grid-text .list-note li {
            font-size: 14px; }
        article section.s-point .grid-text .arrow {
          width: 500px;
          height: 70px;
          filter: drop-shadow(0 12px 8px rgba(0, 0, 0, 0.07));
          padding: 1px 0 0;
          position: relative; }
          article section.s-point .grid-text .arrow p {
            text-align: center;
            line-height: 1.4;
            z-index: 2;
            position: relative; }
            article section.s-point .grid-text .arrow p span {
              font-size: 20px;
              font-weight: 500; }
          article section.s-point .grid-text .arrow_inner {
            width: 100%;
            height: 100%;
            clip-path: polygon(0 0, 100% 0, 50% 100%);
            background: #fff;
            margin: 0 auto;
            position: absolute;
            left: 0;
            top: 0;
            z-index: 1; }
          article section.s-point .grid-text .arrow.point01 {
            margin: 50px auto 0; }
            article section.s-point .grid-text .arrow.point01 p {
              margin-top: -15px; }
          article section.s-point .grid-text .arrow.point02 {
            margin: 80px auto 0; }
            article section.s-point .grid-text .arrow.point02 p {
              margin-top: -45px; }
        article section.s-point .grid-text .caution {
          text-align: center;
          background: #f3f3f3;
          padding: 20px 30px 30px;
          margin: 50px 0 0; }
          article section.s-point .grid-text .caution_index {
            font-size: 24px;
            font-weight: 500;
            margin: 0 0 5px; }
            article section.s-point .grid-text .caution_index span {
              color: #bc283d;
              position: relative; }
              article section.s-point .grid-text .caution_index span::before, article section.s-point .grid-text .caution_index span::after {
                content: "";
                width: 29px;
                height: 28px;
                background: url("/assets/datsumo/images/point03.svg") center top/100% auto no-repeat;
                position: absolute;
                top: 50%;
                transform: translate(0, -50%); }
              article section.s-point .grid-text .caution_index span::before {
                left: -35px; }
              article section.s-point .grid-text .caution_index span::after {
                right: -35px; }
          article section.s-point .grid-text .caution_inner {
            display: flex;
            justify-content: center;
            background: #fff;
            padding: 15px 25px;
            margin: 15px 0 0; }
            article section.s-point .grid-text .caution_inner ul {
              text-align: left; }
              article section.s-point .grid-text .caution_inner ul li + li {
                margin-top: 5px; }
            article section.s-point .grid-text .caution_inner p {
              text-align: left; }
        article section.s-point .grid-text .container01 {
          display: flex;
          justify-content: space-between;
          gap: 40px;
          width: 800px;
          margin: 40px auto 0; }
          article section.s-point .grid-text .container01 .btn_common {
            margin: 0;
            width: 100%; }
        article section.s-point .grid-text .container02 {
          text-align: center;
          margin: 25px 0 0; }
          article section.s-point .grid-text .container02 ul {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 20px; }
            article section.s-point .grid-text .container02 ul li {
              width: 440px;
              border: 1px solid #ccc; }
              article section.s-point .grid-text .container02 ul li a {
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
                font-weight: 500;
                text-decoration: none;
                height: 70px;
                position: relative; }
                article section.s-point .grid-text .container02 ul li a::before {
                  content: "";
                  width: 15px;
                  height: 15px;
                  clip-path: polygon(100% 0, 100% 100%, 0 100%);
                  background: #ccc;
                  position: absolute;
                  right: 5px;
                  bottom: 5px; }
                article section.s-point .grid-text .container02 ul li a span {
                  font-size: 14px;
                  display: inline-flex; }
          article section.s-point .grid-text .container02 > p {
            font-size: 16px;
            margin: 10px 0 0; }
        article section.s-point .grid-text .container03 {
          text-align: center;
          margin: 25px 0 0; }
          article section.s-point .grid-text .container03 ul {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 20px; }
            article section.s-point .grid-text .container03 ul li {
              display: flex;
              align-items: center;
              width: 440px;
              height: 70px;
              font-size: 20px;
              text-align: left;
              font-weight: 500;
              color: #9d7406;
              background: url("/assets/datsumo/images/point08.svg") 45px center no-repeat #f3f3f3;
              padding: 10px 10px 10px 90px; }
          article section.s-point .grid-text .container03 > p {
            font-size: 16px;
            margin: 10px 0 0; }
    article section.s-point [id^="point"],
    article section.s-point + .grid {
      margin-top: 65px; }
    article section.s-point .therefore {
      margin: 65px 0 0; }
      article section.s-point .therefore .arrow {
        width: 740px;
        height: 100px;
        filter: drop-shadow(0 12px 8px rgba(0, 0, 0, 0.15));
        margin: 0 auto;
        position: relative;
        z-index: 2; }
        article section.s-point .therefore .arrow::before {
          content: "";
          width: 784px;
          height: 231px;
          background: url("/assets/datsumo/images/point04.png") center bottom/100% auto no-repeat;
          position: absolute;
          left: 50%;
          bottom: -135px;
          transform: translate(-50%, 0);
          pointer-events: none; }
        article section.s-point .therefore .arrow p {
          display: flex;
          justify-content: center;
          align-items: center;
          font-family: "Zen Old Mincho", serif;
          font-weight: 700;
          font-style: normal;
          width: 100%;
          height: 100%;
          font-size: 36px;
          line-height: 1.4;
          z-index: 2;
          padding: 0 0 20px;
          position: relative; }
        article section.s-point .therefore .arrow_inner {
          width: 100%;
          height: 100%;
          clip-path: polygon(0 0, 100% 0, 50% 100%);
          background: white;
          background: linear-gradient(0deg, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 100%);
          margin: 0 auto;
          position: absolute;
          left: 0;
          top: 0;
          z-index: 1; }
      article section.s-point .therefore .container {
        width: 980px;
        text-align: center;
        border-radius: 20px;
        border: 1px solid #9c6c20;
        background: rgba(255, 255, 255, 0.6);
        margin: -30px auto 0;
        padding: 90px 20px 60px;
        position: relative;
        z-index: 1; }
        article section.s-point .therefore .container .text {
          position: relative; }
          article section.s-point .therefore .container .text::before, article section.s-point .therefore .container .text::after {
            content: "";
            display: block;
            width: 81px;
            height: 207px;
            background: url("/assets/datsumo/images/point05.png") center top/100% auto no-repeat;
            position: absolute;
            top: 50%; }
          article section.s-point .therefore .container .text::before {
            left: 70px;
            transform: translate(0, calc(-50% - 10px)); }
          article section.s-point .therefore .container .text::after {
            right: 85px;
            transform: translate(0, calc(-50% - 10px)) scale(-1, 1); }
          article section.s-point .therefore .container .text p {
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-size: 46px;
            font-weight: 600;
            line-height: 1.5;
            color: #9c6c20; }
            article section.s-point .therefore .container .text p.text02 em {
              font-size: 52px;
              line-height: 1;
              color: #fff;
              text-shadow: 2px 2px 3px #9c6c20;
              background: #9c7305;
              background: linear-gradient(135deg, #9c7305 0%, #d6ae40 50%, #9c7305 100%);
              padding: 5px 15px 1px;
              margin: 0 5px 0 0; }
              article section.s-point .therefore .container .text p.text02 em > span {
                font-size: 56px; }
                article section.s-point .therefore .container .text p.text02 em > span > span {
                  font-size: 72px;
                  line-height: 1; }
            article section.s-point .therefore .container .text p.text03 {
              font-size: 25px;
              color: #000;
              margin: 5px 0 0; }
        article section.s-point .therefore .container .img {
          margin: 20px 0 15px; }
      article section.s-point .therefore .achievements {
        width: 684px;
        height: 173px;
        background: url("/assets/datsumo/images/point07.png") center top/100% auto no-repeat;
        margin: 35px auto 0;
        position: relative;
        text-decoration: none; }
        article section.s-point .therefore .achievements a {
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          width: 100%;
          height: 100%;
          text-decoration: none;
          padding: 20px 0 28px; }
          article section.s-point .therefore .achievements a p {
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-size: 22px;
            font-weight: 600;
            line-height: 1;
            color: #9c6c20; }
            article section.s-point .therefore .achievements a p.num {
              font-size: 31px;
              margin: 10px 0 0; }
              article section.s-point .therefore .achievements a p.num em {
                font-size: 51px; }
            article section.s-point .therefore .achievements a p.caution {
              width: 100%;
              font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN";
              font-size: 16px;
              font-weight: normal;
              text-align: center;
              color: #000;
              position: absolute;
              left: 0;
              bottom: 0; }
    @media (max-width: 979px) {
      article section.s-point {
        padding: 12vw 0;
        overflow: hidden; }
        article section.s-point .grid {
          display: grid;
          grid-template-columns: 3vw 82vw 9vw 3vw 3vw;
          grid-template-rows: 10vw 10vw auto; }
          article section.s-point .grid.title_large {
            grid-template-rows: 12vw 12vw auto; }
          article section.s-point .grid-bg {
            grid-column: 1 / 5;
            border-radius: 0 4vw 4vw 0;
            box-shadow: 0 1.5vw 2.5vw rgba(0, 0, 0, 0.1);
            padding: 0.5vw 0.5vw 0.5vw 0; }
            article section.s-point .grid-bg .inner {
              border-radius: 0 3.5vw 3.5vw 0; }
          article section.s-point .grid-title {
            grid-column: 1 / 3;
            border-radius: 0 4vw 4vw 0; }
            article section.s-point .grid-title header {
              padding: 0 6vw 0 0; }
              article section.s-point .grid-title header .num_wrap p.en {
                font-size: 3.5vw; }
                article section.s-point .grid-title header .num_wrap p.en::after {
                  font-size: 3vw; }
              article section.s-point .grid-title header .num_wrap p.num {
                font-size: 7vw;
                line-height: 0.7; }
              article section.s-point .grid-title header h3 {
                font-size: 4.5vw;
                margin: 1vw 0 0; }
          article section.s-point .grid-text {
            grid-column: 2 / 4;
            padding: 5vw 0 7vw; }
            article section.s-point .grid-text p em {
              font-weight: bold;
              color: #9c6c20;
              background: #fff1b0;
              padding: 0 0.25em; }
            article section.s-point .grid-text .list-note {
              margin: 1vw 0 0; }
              article section.s-point .grid-text .list-note li {
                font-size: 3vw; }
            article section.s-point .grid-text .arrow {
              width: 80vw;
              height: 12vw;
              filter: drop-shadow(0 1.5vw 1vw rgba(0, 0, 0, 0.07)); }
              article section.s-point .grid-text .arrow p span {
                font-size: 4vw; }
              article section.s-point .grid-text .arrow.point01 {
                margin: 8vw auto 0; }
                article section.s-point .grid-text .arrow.point01 p {
                  margin-top: -4vw; }
              article section.s-point .grid-text .arrow.point02 {
                margin: 14vw auto 0; }
                article section.s-point .grid-text .arrow.point02 p {
                  margin-top: -10vw; }
            article section.s-point .grid-text .caution {
              padding: 3vw 4vw 4vw;
              margin: 7vw 0 0; }
              article section.s-point .grid-text .caution_index {
                font-size: 4vw;
                margin: 0 0 1vw; }
                article section.s-point .grid-text .caution_index span::before, article section.s-point .grid-text .caution_index span::after {
                  width: 5vw;
                  height: 5vw; }
                article section.s-point .grid-text .caution_index span::before {
                  left: -6vw; }
                article section.s-point .grid-text .caution_index span::after {
                  right: -6vw; }
              article section.s-point .grid-text .caution_inner {
                padding: 2vw 3vw;
                margin: 2vw 0 0; }
                article section.s-point .grid-text .caution_inner ul li {
                  font-size: 3.5vw; }
                  article section.s-point .grid-text .caution_inner ul li + li {
                    margin-top: 1vw; }
            article section.s-point .grid-text .container01 {
              flex-direction: column;
              gap: 3vw;
              width: 100%;
              margin: 6vw auto 0; }
            article section.s-point .grid-text .container02 {
              margin: 5vw 0 0; }
              article section.s-point .grid-text .container02 ul {
                gap: 3vw; }
                article section.s-point .grid-text .container02 ul li {
                  width: calc((100% - 3vw) / 2); }
                  article section.s-point .grid-text .container02 ul li a {
                    height: 18vw;
                    line-height: 1.3; }
                    article section.s-point .grid-text .container02 ul li a::before {
                      width: 3vw;
                      height: 3vw;
                      right: 1vw;
                      bottom: 1vw; }
                    article section.s-point .grid-text .container02 ul li a span {
                      font-size: 2.5vw; }
              article section.s-point .grid-text .container02 > p {
                font-size: 2.5vw;
                margin: 1vw 0 0; }
            article section.s-point .grid-text .container03 {
              margin: 4vw 0 0; }
              article section.s-point .grid-text .container03 ul {
                gap: 3vw; }
                article section.s-point .grid-text .container03 ul li {
                  width: calc((100% - 3vw) / 2);
                  height: 12vw;
                  font-size: 3.5vw;
                  background-position: 3vw center;
                  background-size: 5vw auto;
                  padding: 0 1vw 0 10vw; }
              article section.s-point .grid-text .container03 > p {
                font-size: 2.5vw;
                margin: 1vw 0 0; }
        article section.s-point [id^="point"],
        article section.s-point + .grid {
          margin-top: 7vw; }
        article section.s-point .therefore {
          margin: 8vw 0 0; }
          article section.s-point .therefore .arrow {
            width: 100vw;
            height: 15vw;
            filter: drop-shadow(0 1.5vw 1vw rgba(0, 0, 0, 0.15)); }
            article section.s-point .therefore .arrow::before {
              width: 120vw;
              height: 30vw;
              bottom: -23vw; }
            article section.s-point .therefore .arrow p {
              font-size: 6vw;
              padding: 0 0 3vw; }
          article section.s-point .therefore .container {
            width: 95%;
            border-radius: 3.5vw;
            margin: -3vw auto 0;
            padding: 12vw 3vw 7vw; }
            article section.s-point .therefore .container .text::before, article section.s-point .therefore .container .text::after {
              width: 9vw;
              height: 23vw; }
            article section.s-point .therefore .container .text::before {
              left: 0;
              transform: translate(0, calc(-50% - 2vw)); }
            article section.s-point .therefore .container .text::after {
              right: 0;
              transform: translate(0, calc(-50% - 2vw)) scale(-1, 1); }
            article section.s-point .therefore .container .text p {
              font-size: 5.5vw; }
              article section.s-point .therefore .container .text p.text02 em {
                font-size: 6vw;
                text-shadow: 0.4vw 0.4vw 0.5vw #9c6c20;
                padding: 0.5vw 2.5vw 0.4vw;
                margin: 0 1vw 0 0; }
                article section.s-point .therefore .container .text p.text02 em > span {
                  font-size: 6.2vw; }
                  article section.s-point .therefore .container .text p.text02 em > span > span {
                    font-size: 8vw; }
              article section.s-point .therefore .container .text p.text03 {
                font-size: 3.5vw;
                margin: 1vw 0 0; }
            article section.s-point .therefore .container .img {
              margin: 3vw 10vw 2.5vw; }
              article section.s-point .therefore .container .img + p {
                font-size: 3vw; }
          article section.s-point .therefore .achievements {
            width: 100%;
            height: 22.5vw;
            margin: 5vw auto 0; }
            article section.s-point .therefore .achievements a {
              padding: 3vw 0 3.5vw; }
              article section.s-point .therefore .achievements a p {
                font-size: 3vw; }
                article section.s-point .therefore .achievements a p.num {
                  font-size: 4.5vw;
                  margin: 1vw 0 0; }
                  article section.s-point .therefore .achievements a p.num em {
                    font-size: 6vw; }
                article section.s-point .therefore .achievements a p.caution {
                  font-size: 2.5vw; } }
  article section.s-others {
    padding: 110px 0;
    background: #fcfaf7;
    position: relative;
    overflow: hidden; }
    article section.s-others::before, article section.s-others::after {
      content: "";
      display: block;
      pointer-events: none;
      position: absolute;
      z-index: 1; }
    article section.s-others::before {
      width: 1041px;
      height: 1114px;
      background: url("/assets/datsumo/images/others01.jpg") center top/100% auto no-repeat;
      left: 0;
      top: 0; }
    article section.s-others::after {
      width: 1127px;
      height: 861px;
      background: url("/assets/datsumo/images/others02.jpg") center bottom/100% auto no-repeat;
      right: 0;
      bottom: 0; }
    article section.s-others > * {
      position: relative;
      z-index: 2; }
    article section.s-others .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-others .container + .container {
        margin-top: 25px; }
      article section.s-others .container .inner {
        background: #fff;
        border: 5px solid #eeeeee;
        border-radius: 15px;
        padding: 30px;
        text-align: center;
        margin: 0 auto; }
        article section.s-others .container .inner h4 {
          font-family: "Cormorant Infant", serif;
          font-optical-sizing: auto;
          font-weight: 500;
          font-style: normal;
          line-height: 0.7;
          display: inline-flex;
          justify-content: center;
          align-items: center;
          min-width: 260px;
          font-size: 24px;
          line-height: 1.4;
          color: #fff;
          background: linear-gradient(90deg, #969696 0%, #d9d9d9 50%, #969696 100%);
          clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0 50%);
          margin: 0 0 15px;
          padding: 6px 30px 3px; }
        article section.s-others .container .inner p {
          text-align: left; }
          article section.s-others .container .inner p.text01 {
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-size: 30px;
            font-weight: 600;
            color: #9c6c20;
            line-height: 1.4;
            text-align: center;
            margin: 0 0 15px; }
          article section.s-others .container .inner p em {
            font-weight: bold;
            color: #9c6c20;
            background: #fff1b0;
            padding: 0 0.5em; }
        article section.s-others .container .inner .caution {
          text-align: center;
          background: #f3f3f3;
          padding: 20px 30px 30px;
          margin: 30px 0 0; }
          article section.s-others .container .inner .caution_index {
            font-size: 24px;
            font-weight: 500;
            text-align: center;
            margin: 0 0 5px; }
            article section.s-others .container .inner .caution_index span {
              color: #bc283d;
              position: relative; }
              article section.s-others .container .inner .caution_index span::before, article section.s-others .container .inner .caution_index span::after {
                content: "";
                width: 29px;
                height: 28px;
                background: url("/assets/datsumo/images/point03.svg") center top/100% auto no-repeat;
                position: absolute;
                top: 50%;
                transform: translate(0, -50%); }
              article section.s-others .container .inner .caution_index span::before {
                left: -35px; }
              article section.s-others .container .inner .caution_index span::after {
                right: -35px; }
          article section.s-others .container .inner .caution_inner {
            display: flex;
            justify-content: center;
            background: #fff;
            padding: 15px 25px;
            margin: 15px 0 0; }
            article section.s-others .container .inner .caution_inner p {
              text-align: left; }
        article section.s-others .container .inner .btn_common {
          margin-top: 20px; }
        article section.s-others .container .inner .btn_wrap {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 40px;
          margin-top: 20px; }
          article section.s-others .container .inner .btn_wrap .btn_common {
            margin-top: 0; }
      article section.s-others .container.column2 {
        display: flex;
        justify-content: space-between; }
        article section.s-others .container.column2 .inner {
          width: 475px;
          padding-left: 30px;
          padding-right: 30px;
          margin: 0; }
    article section.s-others .arrow {
      width: 740px;
      height: 100px;
      filter: drop-shadow(0 12px 8px rgba(0, 0, 0, 0.15));
      margin: 50px auto 0;
      position: relative;
      z-index: 2; }
      article section.s-others .arrow p {
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: "Zen Old Mincho", serif;
        font-weight: 700;
        font-style: normal;
        width: 100%;
        height: 100%;
        font-size: 36px;
        line-height: 1.4;
        z-index: 2;
        padding: 0 0 20px;
        position: relative; }
      article section.s-others .arrow_inner {
        width: 100%;
        height: 100%;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        background: white;
        background: linear-gradient(0deg, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 100%);
        margin: 0 auto;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 1; }
    article section.s-others .text {
      width: 980px;
      margin: 40px auto 0; }
      article section.s-others .text p.text01 {
        font-family: "Zen Old Mincho", serif;
        font-weight: 700;
        font-style: normal;
        font-size: 22px;
        text-align: center; }
        article section.s-others .text p.text01 em {
          position: relative; }
          article section.s-others .text p.text01 em::before {
            content: "";
            display: block;
            width: 100%;
            height: 35%;
            background: #e4cb74;
            background: linear-gradient(90deg, #e4cb74 0%, #f0e5a1 50%, #e4cb74 100%);
            position: absolute;
            left: 0;
            bottom: 0; }
          article section.s-others .text p.text01 em > span {
            position: relative; }
        article section.s-others .text p.text01 > span {
          color: #9c6c20; }
      article section.s-others .text p + p {
        margin-top: 1.5em; }
    article section.s-others .banner {
      text-align: center;
      margin: 40px 0 0; }
    @media (max-width: 979px) {
      article section.s-others {
        padding: 12vw 0; }
        article section.s-others::before {
          width: 50vw;
          height: 55vw;
          background: url("/assets/datsumo/images/others01_sp.jpg") center top/100% auto no-repeat; }
        article section.s-others::after {
          width: 100%;
          height: 60vw;
          background: url("/assets/datsumo/images/others02_sp.jpg") center bottom/100% auto no-repeat; }
        article section.s-others .container {
          width: 95%; }
          article section.s-others .container + .container {
            margin-top: 4vw; }
          article section.s-others .container .inner {
            border: 1vw solid #eeeeee;
            border-radius: 2.5vw;
            padding: 4vw; }
            article section.s-others .container .inner h4 {
              min-width: 40vw;
              font-size: 3.5vw;
              margin: 0 0 2vw;
              padding: 1.2vw 4vw 0.7vw;
              clip-path: polygon(2vw 0, calc(100% - 2vw) 0, 100% 50%, calc(100% - 2vw) 100%, 2vw 100%, 0 50%); }
            article section.s-others .container .inner p {
              font-size: 3vw; }
              article section.s-others .container .inner p.text01 {
                font-size: 4vw;
                margin: 0 0 2.5vw; }
              article section.s-others .container .inner p em {
                padding: 0 0.25em; }
            article section.s-others .container .inner .caution {
              padding: 2vw 3vw 3vw;
              margin: 5vw 0 0; }
              article section.s-others .container .inner .caution_index {
                font-size: 4vw;
                margin: 0 0 1vw; }
                article section.s-others .container .inner .caution_index span::before, article section.s-others .container .inner .caution_index span::after {
                  width: 5vw;
                  height: 5vw; }
                article section.s-others .container .inner .caution_index span::before {
                  left: -6vw; }
                article section.s-others .container .inner .caution_index span::after {
                  right: -6vw; }
              article section.s-others .container .inner .caution_inner {
                padding: 2vw 3vw;
                margin: 2vw 0 0; }
                article section.s-others .container .inner .caution_inner p {
                  font-size: 3vw; }
            article section.s-others .container .inner .btn_common {
              margin-top: 2.5vw; }
              article section.s-others .container .inner .btn_common a {
                font-size: 3vw;
                line-height: 1.3;
                text-align: center;
                padding: 0 8vw 0.75vw 4vw; }
            article section.s-others .container .inner .btn_wrap {
              flex-direction: column;
              gap: 3vw;
              margin-top: 2.5vw; }
              article section.s-others .container .inner .btn_wrap .btn_common {
                width: 75vw;
                margin-top: 0; }
          article section.s-others .container.column2 .inner {
            width: 48.5%;
            padding-left: 2vw;
            padding-right: 2vw; }
        article section.s-others .arrow {
          width: 100vw;
          height: 15vw;
          filter: drop-shadow(0 1.5vw 1vw rgba(0, 0, 0, 0.15));
          margin: 6vw auto 0; }
          article section.s-others .arrow::before {
            width: 120vw;
            height: 30vw;
            bottom: -23vw; }
          article section.s-others .arrow p {
            font-size: 6vw;
            padding: 0 0 3vw; }
        article section.s-others .text {
          width: 95%;
          margin: 5vw auto 0; }
          article section.s-others .text p.text01 {
            font-size: 4.2vw; }
          article section.s-others .text p + p {
            margin-top: 1em; }
        article section.s-others .banner {
          margin: 6vw 2.5vw 0; } }
  article section.s-price {
    padding: 110px 0; }
    article section.s-price > header {
      margin-bottom: 30px; }
    article section.s-price .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-price .container .text01 {
        text-align: center;
        margin: 0 0 70px; }
      article section.s-price .container .charge-list {
        margin: 0; }
        article section.s-price .container .charge-list .charge-header .head.hoshou {
          background: #946105; }
        article section.s-price .container .charge-list .link-inline {
          color: #946105; }
      article section.s-price .container .norikae_container {
        margin: 40px 0 0; }
        article section.s-price .container .norikae_container .bnr {
          margin: 0 0 20px; }
      article section.s-price .container .norikaeWrap {
        display: flex;
        justify-content: space-between;
        margin: 20px 0 0; }
        article section.s-price .container .norikaeWrap + p {
          margin: 20px 0 0; }
      article section.s-price .container .masuiWrap {
        display: flex;
        justify-content: space-between;
        margin: 30px 0 0;
        flex-wrap: wrap; }
        article section.s-price .container .masuiWrap_inner {
          position: relative;
          z-index: 1; }
          article section.s-price .container .masuiWrap_inner:nth-child(3) {
            margin-top: 20px; }
          article section.s-price .container .masuiWrap_inner.new .title {
            padding-left: 85px;
            line-height: 1.2;
            padding-top: 0; }
          article section.s-price .container .masuiWrap_inner.new .fukidashi {
            z-index: 10;
            position: absolute;
            top: -10px;
            left: 10px;
            display: inline-block;
            width: 65px;
            height: 60px;
            text-align: center;
            background-image: linear-gradient(0deg, #b8974a, #88580a);
            box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.4);
            display: flex;
            justify-content: center; }
            article section.s-price .container .masuiWrap_inner.new .fukidashi:before {
              position: absolute;
              content: "";
              right: -10px;
              width: 0;
              height: 0;
              border-right: 10px solid transparent;
              border-bottom: 10px solid #565656; }
            article section.s-price .container .masuiWrap_inner.new .fukidashi p {
              color: #fff;
              font-size: 20px;
              padding-top: 16px; }
      article section.s-price .container .tabacc.-pc-accordion.-sp-accordion {
        width: 100%; }
        article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow {
          width: 480px; }
        article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .title {
          margin: 0;
          min-height: inherit;
          height: 85px;
          background: #f9888d;
          font-size: 30px;
          font-weight: bold; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .title > span {
            font-size: 17px; }
        article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content {
          border: 2px solid #f9888d;
          border-top: none;
          padding: 10px 20px; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap {
            display: flex;
            line-height: 1.5; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap .bui {
              width: 25%; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap .bui p {
                font-size: 17px; }
                article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap .bui p::before {
                  content: "\25CF";
                  color: #f9888d;
                  margin: 0 2px 0 0; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap.Lparts .bui {
              width: 50%; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap {
            display: flex;
            justify-content: center;
            align-items: center; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > p {
              display: flex;
              justify-content: flex-end;
              align-items: center;
              text-align: center;
              flex: 1; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > p span {
                min-width: 120px;
                border: 1px solid #f9888d;
                color: #f9888d;
                font-size: 20px;
                font-weight: bold;
                line-height: 1.2;
                padding: 5px 15px; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div {
              min-width: 240px;
              margin: 10px 0 0; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p {
                font-weight: bold;
                text-align: center;
                line-height: 1; }
                article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:first-child {
                  font-size: 68px;
                  color: #f9888d; }
                  article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:first-child > span {
                    position: relative;
                    font-size: 32px; }
                    article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:first-child > span > span {
                      font-size: 15px;
                      position: absolute;
                      right: 1px;
                      top: -14px;
                      white-space: nowrap; }
                article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:last-child {
                  margin: 5px 0 0; }
        article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .title {
          background: #cca437;
          color: #fff;
          border: 3px solid #886301;
          pointer-events: none; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .title::after {
            display: none; }
        article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content {
          border: 3px solid #cccccc;
          border-top: none; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div:first-child {
            min-width: inherit;
            flex: 1; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div:first-child > p {
              font-size: 20px; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div:first-child > p span {
                display: inline-flex;
                justify-content: center;
                align-items: center;
                text-align: center;
                min-width: 120px;
                font-size: 20px;
                font-weight: bold;
                line-height: 1.2;
                padding: 5px 15px;
                border: 1px solid #cca437;
                color: #cca437; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div:last-child {
            width: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div:last-child p {
              margin: 0;
              line-height: 1; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div:last-child p:first-child {
                color: #cca437; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap + p {
            margin: 15px 0 0; }
      article section.s-price .container h3 {
        background: #f5f5f5;
        font-size: 28px;
        text-align: center;
        margin: 40px 0 0; }
      article section.s-price .container ul.payment {
        display: flex;
        justify-content: space-between;
        margin: 25px 0 30px; }
        article section.s-price .container ul.payment li {
          width: 150px;
          height: 130px;
          border: 2px solid #ff8c96;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          font-size: 17px;
          font-weight: bold;
          color: #ff8c96;
          border-radius: 5px; }
          article section.s-price .container ul.payment li > p {
            margin: 10px 0 0; }
      article section.s-price .container .paymentBtn {
        width: 560px;
        height: 85px;
        min-height: inherit;
        background: #ff8c96;
        font-size: 24px;
        border-radius: 100px;
        margin: 30px 0 0; }
      article section.s-price .container .unacceptable {
        background: #f9f3e7;
        padding: 20px;
        margin: 30px 0 0; }
        article section.s-price .container .unacceptable p.index {
          font-size: 25px;
          font-weight: 600;
          text-align: center;
          color: #946105;
          margin: 0 0 10px; }
      article section.s-price .container .yoyaku_method {
        background: #f9f3e7;
        padding: 30px;
        margin: 30px 0 0; }
        article section.s-price .container .yoyaku_method p.index {
          font-size: 20px;
          font-weight: 600;
          text-align: center;
          border-bottom: 1px solid #9c6c20;
          margin: 0 0 10px;
          padding: 0 0 10px; }
      article section.s-price .container ul.knowledge_link {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin: 50px 0 0; }
        article section.s-price .container ul.knowledge_link li {
          border-left: 1px solid #cbb79a; }
          article section.s-price .container ul.knowledge_link li:nth-child(4), article section.s-price .container ul.knowledge_link li:nth-child(9) {
            border-right: 1px solid #cbb79a; }
          article section.s-price .container ul.knowledge_link li:nth-child(n + 5) {
            margin-top: 10px; }
          article section.s-price .container ul.knowledge_link li a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            font-size: 20px;
            text-decoration: none;
            color: #5a5656;
            padding: 5px 34px; }
            article section.s-price .container ul.knowledge_link li a span {
              position: relative;
              padding: 0 30px 0 0; }
              article section.s-price .container ul.knowledge_link li a span::before {
                content: "";
                width: 24px;
                height: 24px;
                background: url("/assets/datsumo/images/price11.png") center top/auto 100% no-repeat;
                position: absolute;
                right: 0;
                top: 50%;
                transform: translate(0, -50%); }
      article section.s-price .container .knowledge {
        height: 125px;
        background: url("/assets/datsumo/images/price12.jpg") center top/cover no-repeat;
        padding: 12px;
        clip-path: polygon(35px 0, calc(100% - 35px) 0, 100% 50%, calc(100% - 35px) 100%, 35px 100%, 0 50%);
        filter: drop-shadow(0 0 1px rgba(255, 241, 176, 0.45));
        margin: 60px 0 0; }
        article section.s-price .container .knowledge_inner {
          display: flex;
          justify-content: center;
          align-items: center;
          height: 100%;
          background: url("/assets/datsumo/images/price13.jpg") center top/cover no-repeat;
          clip-path: polygon(29px 0, calc(100% - 29px) 0, 100% 50%, calc(100% - 29px) 100%, 29px 100%, 0 50%); }
          article section.s-price .container .knowledge_inner p {
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-size: 34px;
            color: #fff; }
      article section.s-price .container .mhlw-risk-single p {
        font-size: 1.2rem; }
    @media (max-width: 979px) {
      article section.s-price {
        padding: 12vw 0; }
        article section.s-price > header {
          margin-bottom: 4vw; }
        article section.s-price .container {
          width: 95%; }
          article section.s-price .container .text01 {
            margin: 0 0 7vw; }
          article section.s-price .container .norikae_container {
            margin: 5vw 0 0; }
            article section.s-price .container .norikae_container .bnr {
              margin: 0 0 3vw; }
          article section.s-price .container .bnr {
            margin: 5vw 0 0; }
            article section.s-price .container .bnr + p {
              margin: 3vw 0 0; }
          article section.s-price .container .masuiWrap {
            margin: 2.5vw 0 0;
            flex-direction: column;
            flex-wrap: nowrap; }
            article section.s-price .container .masuiWrap + p {
              margin: 3vw 0 0; }
            article section.s-price .container .masuiWrap_inner {
              width: 100%;
              margin-bottom: 2vw; }
              article section.s-price .container .masuiWrap_inner:nth-child(3) {
                margin-top: 0; }
              article section.s-price .container .masuiWrap_inner.new {
                margin-top: 2vw; }
                article section.s-price .container .masuiWrap_inner.new .title {
                  padding-left: 15vw; }
                article section.s-price .container .masuiWrap_inner.new .fukidashi {
                  left: 6px;
                  width: 12vw;
                  height: 11vw; }
                  article section.s-price .container .masuiWrap_inner.new .fukidashi p {
                    font-size: 4vw;
                    padding-top: 3vw; }
          article section.s-price .container .norikaeWrap {
            margin: 2.5vw 0 0;
            flex-direction: column; }
            article section.s-price .container .norikaeWrap + p {
              margin: 3vw 0 0; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow {
            width: 100%; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion + .tabacc {
            margin-top: 3vw; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .title {
            height: 14vw;
            font-size: 5vw; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .title::after {
              margin-top: 0;
              right: 3vw;
              transform: translate(0, -50%);
              background-size: 3vw auto;
              width: 9vw;
              height: 9vw; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .title > span {
              font-size: 3.5vw; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content {
            border: 0.7vw solid #f9888d;
            border-top: none;
            padding: 2vw 2.5vw 2.5vw; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap .bui p {
              font-size: 3.5vw; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap .bui p::before {
                margin: 0 0.3vw 0 0; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .buiWrap.Lparts .bui {
              width: 50%; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap {
              display: flex; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > p {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                text-align: center;
                flex: 1; }
                article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > p span {
                  min-width: 20vw;
                  border: 0.3vw solid #f9888d;
                  font-size: 4vw;
                  padding: 0.5vw 2vw; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div {
                min-width: 53vw;
                margin: 0; }
                article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:first-child {
                  font-size: 14vw; }
                  article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:first-child > span {
                    font-size: 8vw; }
                    article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:first-child > span > span {
                      font-size: 3.5vw;
                      right: 0.7vw;
                      top: -3.2vw; }
                article section.s-price .container .tabacc.-pc-accordion.-sp-accordion > .contents > .content .priceWrap > div p:last-child {
                  font-size: 3.2vw;
                  margin: 1vw 0 0; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .title {
            border: 0.7vw solid #cccccc; }
          article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content {
            border: 0.7vw solid #cccccc;
            border-top: none; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > p span {
              border: 0.3vw solid #cca437; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div {
              width: 53vw; }
              article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap > div p {
                font-size: 14vw; }
            article section.s-price .container .tabacc.-pc-accordion.-sp-accordion.yellow > .contents > .content .priceWrap + p {
              margin: 2vw 0 0; }
          article section.s-price .container h3 {
            font-size: 5vw;
            margin: 5vw 0 0; }
          article section.s-price .container ul.payment {
            flex-wrap: wrap;
            margin: 3vw 0 4vw; }
            article section.s-price .container ul.payment li {
              width: 31vw;
              height: 31vw;
              border: 0.6vw solid #ff8c96;
              font-size: 3.2vw;
              border-radius: 2vw; }
              article section.s-price .container ul.payment li:nth-child(n + 4) {
                margin-top: 1.7vw; }
              article section.s-price .container ul.payment li > div {
                max-width: 20vw;
                margin: 0 auto; }
              article section.s-price .container ul.payment li > p {
                margin: 1.5vw 0 0; }
          article section.s-price .container .paymentBtn {
            width: 100%;
            height: 12vw;
            font-size: 4vw;
            margin: 4vw 0 0; }
          article section.s-price .container .unacceptable {
            padding: 3vw;
            margin: 4vw 0 0; }
            article section.s-price .container .unacceptable p.index {
              font-size: 4.5vw;
              margin: 0 0 1.5vw; }
          article section.s-price .container .yoyaku_method {
            padding: 4vw;
            margin: 4vw 0 0; }
            article section.s-price .container .yoyaku_method p.index {
              font-size: 4vw;
              margin: 0 0 1vw;
              padding: 0 0 1vw; }
          article section.s-price .container ul.knowledge_link {
            margin: 6vw 0 0; }
            article section.s-price .container ul.knowledge_link li {
              border-left: 1px solid #cbb79a; }
              article section.s-price .container ul.knowledge_link li:nth-child(4), article section.s-price .container ul.knowledge_link li:nth-child(9) {
                border-right: none; }
              article section.s-price .container ul.knowledge_link li:nth-child(3), article section.s-price .container ul.knowledge_link li:nth-child(6) {
                border-right: 1px solid #cbb79a; }
              article section.s-price .container ul.knowledge_link li:nth-child(n + 4) {
                margin-top: 1.5vw; }
              article section.s-price .container ul.knowledge_link li a {
                font-size: 3vw;
                padding: 1vw 4vw; }
                article section.s-price .container ul.knowledge_link li a span {
                  padding: 0 5vw 0 0; }
                  article section.s-price .container ul.knowledge_link li a span::before {
                    width: 4vw;
                    height: 4vw; }
          article section.s-price .container .knowledge {
            height: 20vw;
            padding: 2vw;
            clip-path: polygon(5vw 0, calc(100% - 5vw) 0, 100% 50%, calc(100% - 5vw) 100%, 5vw 100%, 0 50%);
            margin: 8vw 0 0; }
            article section.s-price .container .knowledge_inner {
              height: 100%;
              clip-path: polygon(4vw 0, calc(100% - 4vw) 0, 100% 50%, calc(100% - 4vw) 100%, 4vw 100%, 0 50%); }
              article section.s-price .container .knowledge_inner p {
                font-size: 5vw; }
          article section.s-price .container .mhlw-risk {
            height: inherit; }
            article section.s-price .container .mhlw-risk .mhlw-risk-single {
              padding: 2vw;
              font-size: 2.5vw; } }
  article section.s-what {
    padding: 110px 0;
    background: url("/assets/datsumo/images/what01.jpg") center top/cover no-repeat; }
    article section.s-what .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-what .container p + p {
        margin-top: 2em; }
      article section.s-what .container p em {
        font-weight: bold;
        color: #9c6c20;
        background: #fff1b0;
        padding: 0 0.25em; }
    @media (max-width: 979px) {
      article section.s-what {
        padding: 12vw 0; }
        article section.s-what .container {
          width: 95%; }
          article section.s-what .container p + p {
            margin-top: 1em; } }
  article section.s-knowledge {
    padding: 110px 0; }
    @media (max-width: 979px) {
      article section.s-knowledge {
        padding: 12vw 0; } }
    article section.s-knowledge .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-knowledge .container p + p {
        margin-top: 2em; }
      article section.s-knowledge .container em {
        font-weight: bold;
        font-style: normal;
        color: #9c6c20;
        background: #fff1b0;
        padding: 0 0.25em; }
      @media (max-width: 979px) {
        article section.s-knowledge .container {
          width: 95%; } }
    article section.s-knowledge:nth-child(odd) {
      background: #f9f3e7; }
    article section.s-knowledge#comparison .table-box {
      margin: 20px 0 0; }
      article section.s-knowledge#comparison .table-box > table > tbody > tr > td {
        padding: 15px;
        font-size: 20px;
        font-weight: 500;
        line-height: 1.5; }
      @media (max-width: 979px) {
        article section.s-knowledge#comparison .table-box {
          margin: 0; }
          article section.s-knowledge#comparison .table-box > table > tbody > tr > td {
            font-size: 3.2vw; }
          article section.s-knowledge#comparison .table-box > table > tbody > tr > td:nth-of-type(2) {
            width: auto; } }
      @media (max-width: 640px) {
        article section.s-knowledge#comparison .table-box > table > tbody > tr > td:first-of-type {
          width: 15vw;
          padding: 2vw; }
        article section.s-knowledge#comparison .table-box > table > tbody > tr > td:nth-of-type(2) {
          width: auto; } }
      article section.s-knowledge#comparison .table-box .tb-inner {
        text-align: center; }
      article section.s-knowledge#comparison .table-box .tb-inner span {
        display: block;
        margin-bottom: 5px;
        font-size: 30px;
        font-weight: 600; }
        @media (max-width: 979px) {
          article section.s-knowledge#comparison .table-box .tb-inner span {
            margin-bottom: 1vw;
            font-size: 5vw; } }
      article section.s-knowledge#comparison .table-box .text-icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center; }
      article section.s-knowledge#comparison .table-box .text-icon .img {
        flex: 0 1 46px;
        margin: 0 0 5px;
        text-align: center; }
      article section.s-knowledge#comparison .table-box .text-icon p {
        text-align: center; }
      @media (max-width: 979px) {
        article section.s-knowledge#comparison .table-box {
          padding: 3vw 0 0; }
          article section.s-knowledge#comparison .table-box .text-icon .img {
            flex: 0 1 8vw;
            margin-bottom: 1.5vw; } }
    article section.s-knowledge#flow .step-box.-title-accent2 > .text > .step > .inner {
      color: #9c6c20;
      font-style: normal; }
    article section.s-knowledge#flow .slick-dots li button::before {
      background-color: #9c6c20; }
    article section.s-knowledge#about .table-box th,
    article section.s-knowledge#about .table-box td {
      padding: 20px; }
    article section.s-knowledge#about .table-box th {
      background-color: #eeeeee;
      font-weight: bold; }
    @media (max-width: 979px) {
      article section.s-knowledge#about .table-box th,
      article section.s-knowledge#about .table-box td {
        padding: 3vw; } }
    article section.s-knowledge#comment .comment_cont {
      position: relative; }
      article section.s-knowledge#comment .comment_cont .text {
        width: 600px;
        font-size: 20px;
        line-height: 1.85;
        position: relative; }
        article section.s-knowledge#comment .comment_cont .text .frame {
          background: #f9f3e7;
          padding: 37px; }
        article section.s-knowledge#comment .comment_cont .text .name {
          margin: 40px 0 0;
          line-height: 1.5;
          font-weight: bold; }
          article section.s-knowledge#comment .comment_cont .text .name .name_txt {
            font-size: 30px; }
      article section.s-knowledge#comment .comment_cont.aikawa {
        padding: 0 0 20px; }
        article section.s-knowledge#comment .comment_cont.aikawa .text .frame p.large {
          font-size: 34px;
          font-weight: bold;
          line-height: 1.4; }
          article section.s-knowledge#comment .comment_cont.aikawa .text .frame p.large span {
            background: linear-gradient(transparent 50%, rgba(255, 255, 0, 0.5) 50%); }
        article section.s-knowledge#comment .comment_cont.aikawa .text .frame p:last-child {
          margin-top: 1.5em; }
        article section.s-knowledge#comment .comment_cont.aikawa .text .name {
          margin-right: 135px;
          text-align: right; }
        article section.s-knowledge#comment .comment_cont.aikawa figure {
          position: absolute;
          right: -100px;
          bottom: 0; }
      article section.s-knowledge#comment .comment_cont.nishikawa {
        padding: 0 0 75px;
        margin: 50px 0 0; }
        article section.s-knowledge#comment .comment_cont.nishikawa .text {
          margin-left: auto; }
          article section.s-knowledge#comment .comment_cont.nishikawa .text .name {
            margin-left: 85px; }
        article section.s-knowledge#comment .comment_cont.nishikawa figure {
          position: absolute;
          right: inherit;
          left: -55px;
          bottom: 0; }
    @media (max-width: 979px) {
      article section.s-knowledge#comment {
        overflow: hidden; }
        article section.s-knowledge#comment .comment_cont {
          width: 94%;
          margin: 0 auto; }
          article section.s-knowledge#comment .comment_cont .text {
            width: 100%;
            font-size: 3.5vw;
            line-height: 1.5; }
            article section.s-knowledge#comment .comment_cont .text .frame {
              padding: 4vw;
              border-radius: 3vw; }
            article section.s-knowledge#comment .comment_cont .text .name {
              margin: 0;
              font-size: 3.2vw; }
              article section.s-knowledge#comment .comment_cont .text .name .name_txt {
                font-size: 5vw; }
          article section.s-knowledge#comment .comment_cont.aikawa {
            padding: 0 0 10vw; }
            article section.s-knowledge#comment .comment_cont.aikawa .text .frame p.large {
              font-size: 6vw;
              font-weight: bold;
              line-height: 1.4; }
            article section.s-knowledge#comment .comment_cont.aikawa .text .frame p:last-child {
              margin-top: 1.5em; }
            article section.s-knowledge#comment .comment_cont.aikawa .text .name {
              margin: 5vw 45vw 0 0; }
            article section.s-knowledge#comment .comment_cont.aikawa figure {
              width: 56vw;
              right: -15vw;
              bottom: -8vw; }
          article section.s-knowledge#comment .comment_cont.nishikawa {
            padding: 0 0 10vw;
            margin: 5vw auto 0; }
            article section.s-knowledge#comment .comment_cont.nishikawa .text .frame {
              margin-left: auto; }
              article section.s-knowledge#comment .comment_cont.nishikawa .text .frame p:nth-child(n + 5) {
                padding: 0 0 0 30vw; }
            article section.s-knowledge#comment .comment_cont.nishikawa .text .name {
              margin: 5vw 0 0 40vw; }
            article section.s-knowledge#comment .comment_cont.nishikawa figure {
              width: 56vw;
              left: -18vw; } }
    article section.s-knowledge#qa .faq-box > .question::before,
    article section.s-knowledge#qa .faq-box > .answer::before {
      background-color: #9c6c20;
      font-family: serif; }
    article section.s-knowledge#qa .faq-box h3 {
      color: #9c6c20; }
    @media (max-width: 979px) {
      article section.s-knowledge#qa .faq-box > .question,
      article section.s-knowledge#qa .faq-box > .answer {
        min-height: 7vw;
        padding-left: 9vw; }
        article section.s-knowledge#qa .faq-box > .question::before,
        article section.s-knowledge#qa .faq-box > .answer::before {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 7vw;
          height: 7vw;
          font-size: 5vw;
          line-height: 1; }
        article section.s-knowledge#qa .faq-box > .question h3,
        article section.s-knowledge#qa .faq-box > .answer h3 {
          font-size: 4.5vw;
          line-height: 1.4; }
      article section.s-knowledge#qa .faq-box .answer {
        margin: 3vw 0 0; }
      article section.s-knowledge#qa .faq-box + .faq-box {
        border-top: 1px solid #ccc;
        padding: 4vw 0 0;
        margin: 4vw 0 0; } }
  article section.s-clinic {
    padding: 110px 0; }
    article section.s-clinic .container {
      width: 980px;
      margin: 0 auto; }
      article section.s-clinic .container p em {
        font-weight: bold;
        color: #9c6c20;
        background: #fff1b0;
        padding: 0 0.25em; }
      article section.s-clinic .container #clinic-map {
        height: 2000px; }
        article section.s-clinic .container #clinic-map #fukidashi-chugoku {
          top: 154px;
          left: 205px; }
        article section.s-clinic .container #clinic-map div.clinic-area div::after {
          display: block;
          font-size: 11px;
          color: #fff; }
          @media screen and (max-width: 979px) {
            article section.s-clinic .container #clinic-map div.clinic-area div::after {
              color: #000; } }
        article section.s-clinic .container #clinic-map #tokai {
          top: 100px; }
        article section.s-clinic .container #clinic-map .aga_sapporo,
        article section.s-clinic .container #clinic-map .smcsendai,
        article section.s-clinic .container #clinic-map .lab,
        article section.s-clinic .container #clinic-map .omotesando-annex,
        article section.s-clinic .container #clinic-map .aga-shinjuku,
        article section.s-clinic .container #clinic-map .aga_sinjuku_south,
        article section.s-clinic .container #clinic-map .aga_ikebukuro,
        article section.s-clinic .container #clinic-map .aga_yokohama,
        article section.s-clinic .container #clinic-map .aga_nagoya,
        article section.s-clinic .container #clinic-map .smc-osaka,
        article section.s-clinic .container #clinic-map .aga_hiroshima,
        article section.s-clinic .container #clinic-map .aga_omiya,
        article section.s-clinic .container #clinic-map .rs-fukuoka,
        article section.s-clinic .container #clinic-map .laser_shinjuku,
        article section.s-clinic .container #clinic-map .kobe,
        article section.s-clinic .container #clinic-map .takatsuki {
          display: block !important; }
        article section.s-clinic .container #clinic-map .minamiaoyama,
        article section.s-clinic .container #clinic-map .itaewon-sakae,
        article section.s-clinic .container #clinic-map .itaewon-shinsaibashi,
        article section.s-clinic .container #clinic-map .itaewon-fukuokatenjin {
          display: none; }
    @media (max-width: 979px) {
      article section.s-clinic {
        padding: 12vw 0; }
        article section.s-clinic .container {
          width: 95%; } }
  article section.s-news {
    background-color: #fff4e3; }
    article section.s-news::before, article section.s-news::after {
      content: none; }
    article section.s-news .table_wrap {
      margin: 20px 0; }
      article section.s-news .table_wrap > p {
        font-size: 22px;
        text-align: center;
        margin: 0 0 8px;
        padding: 0 0 0 90px; }
      article section.s-news .table_wrap table {
        width: 550px;
        margin: 0 auto;
        border-collapse: collapse; }
        article section.s-news .table_wrap table th,
        article section.s-news .table_wrap table td {
          font-size: 20px;
          text-align: center;
          border: 1px solid #cccccc;
          padding: 15px 5px; }
        article section.s-news .table_wrap table thead tr th {
          line-height: 1.2; }
          article section.s-news .table_wrap table thead tr th span {
            font-size: 15px;
            font-weight: normal; }
          article section.s-news .table_wrap table thead tr th.old {
            background: #ffe2e6; }
          article section.s-news .table_wrap table thead tr th.new {
            background: #bde8f7; }
          article section.s-news .table_wrap table thead tr th:first-child {
            border: none; }
        article section.s-news .table_wrap table tbody tr th {
          width: 110px;
          font-weight: normal;
          background: #f5f5f5; }
        article section.s-news .table_wrap table tbody tr td {
          font-weight: bold;
          border-left: none;
          border-right: none; }
          article section.s-news .table_wrap table tbody tr td.new {
            font-size: 24px;
            color: #10a2ed;
            background: #f4fcff;
            position: relative; }
            article section.s-news .table_wrap table tbody tr td.new::before {
              content: "";
              width: 31px;
              height: 31px;
              background: url(/assets/datsumo/images/price_arrow.svg) center center/100% auto no-repeat;
              position: absolute;
              left: -12px;
              top: 50%;
              transform: translate(0, -50%); }
            article section.s-news .table_wrap table tbody tr td.new .noChanges {
              background-color: #10a2ed;
              font-size: 13px;
              padding: 5px;
              color: #fff;
              margin-left: 5px;
              border-radius: 5px;
              vertical-align: middle; }
          article section.s-news .table_wrap table tbody tr td.stop {
            color: #000;
            background: #f5f5f5; }
          article section.s-news .table_wrap table tbody tr td:last-child {
            border-right: 1px solid #cccccc; }
    @media (max-width: 979px) {
      article section.s-news .table_wrap {
        margin: 4vw 0; }
        article section.s-news .table_wrap > p {
          font-size: 4.5vw;
          margin: 0 0 1vw;
          padding: 0 0 0 15vw; }
        article section.s-news .table_wrap table {
          width: 100%; }
          article section.s-news .table_wrap table th,
          article section.s-news .table_wrap table td {
            font-size: 3.5vw;
            padding: 2vw 0.5vw; }
          article section.s-news .table_wrap table thead tr th span {
            font-size: 3vw; }
          article section.s-news .table_wrap table tbody tr th {
            width: 15vw; }
          article section.s-news .table_wrap table tbody tr td.new {
            font-size: 4vw; }
            article section.s-news .table_wrap table tbody tr td.new::before {
              width: 6vw;
              height: 6vw;
              left: -2.7vw; }
            article section.s-news .table_wrap table tbody tr td.new .noChanges {
              display: inline-block; } }
