@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Alex+Brush&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");
em {
  font-style: normal; }

article {
  position: relative;
  margin: 0; }
  article > nav {
    margin: 20px 0; }
    article > nav > ul {
      display: flex;
      justify-content: center;
      align-items: center; }
      article > nav > ul > li {
        border-left: 1px solid #cad3d4; }
        article > nav > ul > li:last-child {
          border-right: 1px solid #cad3d4; }
        article > nav > ul > li a {
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          text-decoration: none;
          padding: 3px 45px; }
          article > nav > ul > li a span {
            display: block; }
            article > nav > ul > li a span.en {
              font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
              font-size: 11px;
              color: #0f85b0; }
            article > nav > ul > li a span.ja {
              font-size: 15px; }
    @media only screen and (max-width: 979px) {
      article > nav {
        margin: 3vw 0; }
        article > nav > ul {
          flex-wrap: wrap; }
          article > nav > ul > li {
            width: 50%;
            border-left: none;
            border-top: 1px solid #cad3d4; }
            article > nav > ul > li:last-child {
              border-right: none; }
            article > nav > ul > li:nth-child(even) {
              border-left: 1px solid #cad3d4; }
            article > nav > ul > li:nth-child(5), article > nav > ul > li:nth-child(6) {
              border-bottom: 1px solid #cad3d4; }
            article > nav > ul > li a {
              padding: 1.5vw 0; }
              article > nav > ul > li a span.en {
                font-size: 2.5vw; }
              article > nav > ul > li a span.ja {
                font-size: 3.5vw; } }
  article section {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    text-align: center;
    position: relative; }
    @media only screen and (max-width: 979px) {
      article section {
        font-size: 3.5vw; } }
    article section > header {
      text-align: center;
      font-family: "Zen Old Mincho", serif;
      font-weight: 700;
      font-style: normal;
      margin: 0 0 55px;
      padding: 80px 0 0;
      position: relative; }
      article section > header::before {
        content: "";
        width: 1px;
        height: 60px;
        background: #0f85b0;
        position: absolute;
        left: 50%;
        top: 0; }
      article section > header p {
        font-size: 70px;
        font-weight: 400;
        line-height: 0.7;
        background: linear-gradient(0deg, #527cbc 5%, #3ea3b9 95%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        padding: 0 0 0.15em;
        position: relative; }
      article section > header h2 {
        font-size: 23px;
        font-weight: bold;
        color: #0f85b0;
        margin: 5px 0 0; }
      @media only screen and (max-width: 979px) {
        article section > header {
          margin: 0 0 7vw; }
          article section > header p {
            font-size: 4vw;
            padding: 12vw 0 0 0.2em;
            background-size: auto 10vw; }
          article section > header h2 {
            font-size: 4vw;
            margin: 3vw 0 0; } }
      @media only screen and (max-width: 979px) {
        article section > header {
          margin: 0 0 6vw;
          padding: 80px 0 0;
          position: relative; }
          article section > header::before {
            content: "";
            width: 1px;
            height: 60px;
            background: #0f85b0;
            position: absolute;
            left: 50%;
            top: 0; }
          article section > header p {
            font-size: 70px;
            font-weight: 400;
            line-height: 0.7;
            background: linear-gradient(0deg, #527cbc 5%, #3ea3b9 95%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            padding: 0 0 0.15em;
            position: relative; }
          article section > header h2 {
            font-size: 23px;
            font-weight: bold;
            color: #0f85b0;
            margin: 5px 0 0; } }
  @media only screen and (max-width: 979px) and (max-width: 979px) {
    article section > header {
      margin: 0 0 7vw;
      padding: 13vw 0 0; }
      article section > header::before {
        height: 10vw; }
      article section > header p {
        font-size: 10vw; }
      article section > header h2 {
        font-size: 4vw;
        margin: 1vw 0 0; } }
    article section .mask {
      width: 100%;
      height: 105%;
      height: calc(100% + 5vw);
      position: absolute !important;
      left: 0;
      top: 0;
      mask-image: url("/assets/slimming/nutrition-program/images/wave01.svg");
      mask-repeat: no-repeat;
      mask-position: center top;
      mask-size: 100% auto;
      -webkit-mask-image: url("/assets/slimming/nutrition-program/images/wave01.svg");
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center top;
      -webkit-mask-size: 100% auto;
      overflow: hidden;
      pointer-events: none; }
      article section .mask.mask01 {
        background: #f7f0e2; }
      article section .mask.mask02 {
        background: #e7f2f7; }
      article section .mask.mask03 {
        background: #4eb3c8;
        background: linear-gradient(90deg, #4eb3c8 0%, #5179b5 100%); }
    article section.s-mv {
      background: url("/assets/slimming/nutrition-program/images/mv_bg.jpg") center top no-repeat; }
      @media only screen and (max-width: 979px) {
        article section.s-mv {
          background: none; } }
    article section.s-worries {
      min-height: 700px;
      background: url("/assets/slimming/nutrition-program/images/worries01.jpg") center bottom/cover no-repeat;
      padding: 50px 0 15vw; }
      article section.s-worries h2 {
        font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
        font-size: 50px;
        font-weight: 600;
        color: #121f53;
        line-height: 1; }
        article section.s-worries h2 em {
          font-size: 70px;
          background: url("/assets/slimming/nutrition-program/images/worries03.svg") right 18px bottom/85% auto no-repeat;
          padding: 0 35px;
          position: relative;
          margin: 0 10px; }
          article section.s-worries h2 em::before, article section.s-worries h2 em::after {
            content: "";
            display: block;
            width: 53px;
            height: 53px;
            background: url("/assets/slimming/nutrition-program/images/worries02.svg") center top/100% auto no-repeat;
            position: absolute; }
          article section.s-worries h2 em::before {
            left: 0;
            top: 10px;
            transform: scale(-1, -1); }
          article section.s-worries h2 em::after {
            right: 0;
            bottom: 0; }
      article section.s-worries ul {
        display: flex;
        justify-content: center;
        margin: 40px 0 0;
        gap: 0 30px; }
        article section.s-worries ul li {
          display: flex;
          justify-content: center;
          align-items: center;
          font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
          font-size: 26px;
          font-weight: 500;
          color: #fff;
          line-height: 1.5;
          padding: 0 0 50px;
          text-shadow: 0 0 13px rgba(0, 0, 0, 0.35); }
          article section.s-worries ul li em {
            font-size: 36px;
            color: #fdef93;
            display: contents; }
          article section.s-worries ul li.bg01 {
            width: 251px;
            height: 265px;
            background: url("/assets/slimming/nutrition-program/images/worries04.png") center top/100% auto no-repeat; }
          article section.s-worries ul li.bg02 {
            width: 291px;
            height: 279px;
            background: url("/assets/slimming/nutrition-program/images/worries05.png") center top/100% auto no-repeat;
            margin: 70px 0 0; }
          article section.s-worries ul li.bg03 {
            width: 286px;
            height: 260px;
            background: url("/assets/slimming/nutrition-program/images/worries06.png") center top/100% auto no-repeat; }
      @media only screen and (max-width: 979px) {
        article section.s-worries {
          min-height: inherit;
          padding: 7vw 0 20vw; }
          article section.s-worries h2 {
            font-size: 5.5vw; }
            article section.s-worries h2 em {
              font-size: 8vw;
              background: url("/assets/slimming/nutrition-program/images/worries03.svg") right 3vw bottom/85% auto no-repeat;
              padding: 0 4vw;
              margin: 0 1.5vw; }
              article section.s-worries h2 em::before, article section.s-worries h2 em::after {
                width: 6vw;
                height: 6vw; }
              article section.s-worries h2 em::before {
                top: 1.5vw; }
          article section.s-worries ul {
            margin: 10vw 0 0;
            gap: 0 1vw; }
            article section.s-worries ul li {
              font-size: 3.2vw;
              line-height: 1.3;
              text-shadow: 0 0 2vw rgba(0, 0, 0, 0.35); }
              article section.s-worries ul li em {
                font-size: 4.2vw; }
              article section.s-worries ul li.bg01 {
                width: 28vw;
                height: 31vw;
                padding: 0 0 6vw 2vw; }
              article section.s-worries ul li.bg02 {
                width: 35vw;
                height: 34vw;
                margin: 8vw 0 0;
                padding: 0 0 7vw 0; }
              article section.s-worries ul li.bg03 {
                width: 32vw;
                height: 30vw;
                padding: 0 0 5vw 1vw; } }
    article section.s-point {
      padding: 25px 0 60px;
      margin: -8vw 0 0;
      overflow: inherit; }
      article section.s-point > * {
        position: relative; }
      article section.s-point .container01 {
        width: 800px;
        height: 400px;
        margin: -6vw auto 60px;
        padding: 10px; }
        article section.s-point .container01::before {
          content: "";
          display: block;
          width: 804px;
          height: 282px;
          background: url("/assets/slimming/nutrition-program/images/point01.png") center bottom/100% auto no-repeat;
          position: absolute;
          left: 50%;
          bottom: -40px;
          transform: translate(-50%, 0); }
        article section.s-point .container01::after {
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          background: #fff;
          position: absolute;
          left: 0;
          top: 0; }
        article section.s-point .container01_inner {
          width: 100%;
          height: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          border: 1px solid #0f85b0;
          position: relative;
          z-index: 1; }
          article section.s-point .container01_inner p {
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-weight: 400;
            line-height: 1.6; }
            article section.s-point .container01_inner p.text01 {
              font-size: 28px;
              color: #0f85b0; }
            article section.s-point .container01_inner p.text02 {
              font-size: 48px;
              color: #f1994d;
              margin: 10px 0 0; }
              article section.s-point .container01_inner p.text02 span {
                background: linear-gradient(transparent calc(100% - 1px), #f1994d calc(100% - 1px)); }
      article section.s-point .arrow {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 555px;
        height: 117px;
        background: #cba552;
        background: linear-gradient(0deg, #cba552 0%, rgba(203, 165, 82, 0) 80%);
        -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
                clip-path: polygon(0 0, 100% 0, 50% 100%);
        margin: 0 auto;
        padding: 0 0 35px;
        z-index: 2; }
        article section.s-point .arrow::after {
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          background: #f7f0e2;
          -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
                  clip-path: polygon(0 0, 100% 0, 50% 100%);
          position: absolute;
          left: 0;
          bottom: 1px; }
        article section.s-point .arrow p {
          color: #f0c361;
          line-height: 1;
          position: relative;
          z-index: 1; }
          article section.s-point .arrow p.en {
            font-size: 16px;
            background: #f7f0e2;
            margin: 10px -1.5em 0 0;
            padding: 2px 0 3px;
            z-index: 2; }
          article section.s-point .arrow p.num {
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-size: 84px;
            font-weight: 400; }
      article section.s-point .container02 {
        width: 980px;
        margin: 0 auto;
        background: #faf6ee;
        border: 1px solid #cba552;
        border-radius: 30px;
        margin: -35px auto 0;
        padding: 60px 20px 50px;
        z-index: 1; }
        article section.s-point .container02 + .arrow {
          margin-top: 55px; }
        article section.s-point .container02 h3 {
          font-family: "Zen Old Mincho", serif;
          font-weight: 700;
          font-style: normal;
          font-size: 46px;
          font-weight: 500;
          color: #0f85b0;
          margin: 0 0 25px;
          line-height: 1.2; }
        article section.s-point .container02 .container02_plan {
          width: 900px;
          height: 763px;
          background: url("/assets/slimming/nutrition-program/images/point02.png") center center no-repeat;
          margin: 25px auto 0;
          position: relative; }
          article section.s-point .container02 .container02_plan li {
            width: 275px;
            border: 1px solid #0f85b0;
            border-radius: 15px;
            overflow: hidden;
            position: absolute; }
            article section.s-point .container02 .container02_plan li.part01 {
              left: 0;
              top: 95px; }
            article section.s-point .container02 .container02_plan li.part02 {
              left: 35px;
              top: 435px; }
            article section.s-point .container02 .container02_plan li.part03 {
              border: 1px solid #f1994d;
              right: 20px;
              top: 100px; }
              article section.s-point .container02 .container02_plan li.part03 p.index {
                background: #f9b44c;
                background: linear-gradient(90deg, #f9b44c 0%, #ee852a 100%); }
              article section.s-point .container02 .container02_plan li.part03 p.treatment {
                color: #f1994d; }
            article section.s-point .container02 .container02_plan li.part04 {
              right: 25px;
              top: 510px; }
            article section.s-point .container02 .container02_plan li p {
              font-size: 24px; }
              article section.s-point .container02 .container02_plan li p.index {
                color: #fff;
                background: #3ea3b9;
                background: linear-gradient(90deg, #3ea3b9 0%, #2c5798 100%);
                padding: 6px 0 8px; }
              article section.s-point .container02 .container02_plan li p.treatment {
                display: flex;
                justify-content: center;
                align-items: center;
                text-align: left;
                line-height: 1.3;
                color: #0f85b0;
                background: #fff;
                padding: 15px 10px 20px; }
        article section.s-point .container02 .img {
          margin: 25px auto 0; }
        article section.s-point .container02 .btn {
          text-align: center;
          margin: 50px 0 0; }
          article section.s-point .container02 .btn a {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            min-width: 430px;
            min-height: 60px;
            color: #fff;
            background: #ee852a;
            background: linear-gradient(0deg, #ee852a 0%, #f9b44c 100%);
            font-size: 20px;
            padding: 0 70px;
            text-decoration: none;
            border-radius: 100px;
            position: relative; }
            article section.s-point .container02 .btn a::before {
              content: "";
              display: block;
              width: 29px;
              height: 29px;
              background: url("/assets/slimming/nutrition-program/images/arrow01.svg") center center/100% auto no-repeat;
              position: absolute;
              right: 25px;
              top: 50%;
              transform: translate(0, -50%); }
      @media only screen and (max-width: 979px) {
        article section.s-point {
          padding: 4vw 0 10vw; }
          article section.s-point .container01 {
            width: 90vw;
            height: 40vw;
            margin: -12vw auto 8vw;
            padding: 1.5vw; }
            article section.s-point .container01::before {
              width: 85vw;
              height: 30vw;
              bottom: -5vw;
              transform: translate(-50%, 0); }
            article section.s-point .container01_inner p.text01 {
              font-size: 3.5vw; }
            article section.s-point .container01_inner p.text02 {
              font-size: 4.5vw;
              margin: 2vw 0 0; }
          article section.s-point .arrow {
            width: 80vw;
            height: 16vw;
            padding: 0 0 5vw; }
            article section.s-point .arrow p.en {
              font-size: 2.5vw;
              margin: 2vw -1.2em 0 0;
              padding: 0.8vw 0 0.5vw; }
            article section.s-point .arrow p.num {
              font-size: 12vw; }
          article section.s-point .container02 {
            width: 95%;
            border-radius: 4vw;
            margin: -5vw auto 0;
            padding: 8vw 3vw 6vw; }
            article section.s-point .container02 + .arrow {
              margin-top: 6vw; }
            article section.s-point .container02 h3 {
              font-size: 5vw;
              margin: 0 0 3.5vw; }
            article section.s-point .container02 .container02_plan {
              width: 100%;
              height: 82vw;
              background-size: 40vw auto;
              margin: 4vw auto 0; }
              article section.s-point .container02 .container02_plan li {
                width: 28vw;
                border-radius: 2.5vw; }
                article section.s-point .container02 .container02_plan li.part01 {
                  top: 11vw; }
                article section.s-point .container02 .container02_plan li.part02 {
                  left: 4vw;
                  top: 46vw; }
                article section.s-point .container02 .container02_plan li.part03 {
                  right: 2vw;
                  top: 8vw; }
                article section.s-point .container02 .container02_plan li.part04 {
                  right: 4vw;
                  top: 53vw; }
                article section.s-point .container02 .container02_plan li p {
                  font-size: 3vw; }
                  article section.s-point .container02 .container02_plan li p.index {
                    padding: 1vw 0 1.2vw; }
                  article section.s-point .container02 .container02_plan li p.treatment {
                    padding: 2vw 1.5vw 3vw; }
            article section.s-point .container02 .img {
              margin: 4vw auto 0; }
            article section.s-point .container02 .btn {
              margin: 5vw 0 0; }
              article section.s-point .container02 .btn a {
                min-width: 70vw;
                min-height: 11vw;
                font-size: 4vw;
                padding: 0 8vw; }
                article section.s-point .container02 .btn a::before {
                  width: 6vw;
                  height: 6vw;
                  right: 3.5vw; } }
    article section.s-intro {
      padding: 25px 0 95px; }
      article section.s-intro > ul {
        width: 980px;
        margin: 0 auto;
        position: relative; }
        article section.s-intro > ul > li {
          background: #fff;
          padding: 0 0 45px;
          border-radius: 25px; }
          article section.s-intro > ul > li + li {
            margin-top: 30px; }
          article section.s-intro > ul > li h3 {
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: "Zen Old Mincho", serif;
            font-weight: 700;
            font-style: normal;
            font-size: 30px;
            height: 65px;
            color: #fff;
            background: url("/assets/slimming/nutrition-program/images/introduction01.jpg") center center/cover no-repeat;
            border-radius: 25px 25px 0 0;
            margin: 0 0 40px; }
            article section.s-intro > ul > li h3 .new {
              padding: 0 0 0 150px;
              position: relative; }
              article section.s-intro > ul > li h3 .new::before {
                content: "New!";
                display: flex;
                justify-content: center;
                align-items: center;
                width: 117px;
                height: 85px;
                font-family: "Alex Brush", cursive;
                font-weight: 400;
                font-style: normal;
                font-size: 35px;
                background: url("/assets/slimming/nutrition-program/images/introduction06.svg") center center/100% auto no-repeat;
                padding: 10px 0 0;
                position: absolute;
                left: 0;
                top: 50%;
                transform: translate(0, -50%); }
          article section.s-intro > ul > li .container {
            display: flex;
            justify-content: center; }
            article section.s-intro > ul > li .container .img {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 305px; }
            article section.s-intro > ul > li .container .text {
              flex: 1;
              padding: 0 25px 0 0;
              text-align: left; }
              article section.s-intro > ul > li .container .text .btn {
                text-align: center;
                margin: 30px 0 0; }
                article section.s-intro > ul > li .container .text .btn a {
                  display: inline-flex;
                  justify-content: center;
                  align-items: center;
                  min-width: 430px;
                  min-height: 60px;
                  color: #0f85b0;
                  font-size: 20px;
                  font-weight: 500;
                  background: #fff;
                  padding: 0 35px 3px;
                  text-decoration: none;
                  border: 1px solid #0f85b0;
                  border-radius: 100px;
                  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
                  position: relative; }
                  article section.s-intro > ul > li .container .text .btn a::before {
                    content: "";
                    display: block;
                    width: 10px;
                    height: 15px;
                    background: url("/assets/slimming/nutrition-program/images/arrow02.svg") center center/100% auto no-repeat;
                    position: absolute;
                    right: 15px;
                    top: 50%;
                    transform: translate(0, -50%); }
            article section.s-intro > ul > li .container .point {
              padding: 1px 15px 20px;
              background: #e4f1f7;
              position: relative;
              margin: 45px 0 0; }
              article section.s-intro > ul > li .container .point .point_index {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 191px;
                height: 33px;
                font-family: "Zen Old Mincho", serif;
                font-weight: 700;
                font-style: normal;
                font-size: 20px;
                color: #fff;
                background: #0f85b0;
                border-radius: 100px;
                padding: 0 0 3px;
                margin: -11px auto 15px; }
              article section.s-intro > ul > li .container .point > ul {
                display: flex;
                justify-content: space-around;
                gap: 0 10px; }
                article section.s-intro > ul > li .container .point > ul > li {
                  flex: 1;
                  text-align: center;
                  background: #fff;
                  padding: 15px 10px 12px;
                  border-radius: 10px; }
                  article section.s-intro > ul > li .container .point > ul > li p {
                    font-size: 15px;
                    color: #0f85b0; }
                    article section.s-intro > ul > li .container .point > ul > li p.text01 {
                      font-family: "Zen Old Mincho", serif;
                      font-weight: 700;
                      font-style: normal;
                      font-size: 20px;
                      border-bottom: 1px solid #0f85b0;
                      line-height: 1.4;
                      padding: 0 0 4px;
                      margin: 10px 0; }
      @media only screen and (max-width: 979px) {
        article section.s-intro {
          padding: 1px 0 12vw; }
          article section.s-intro > ul {
            width: 95%; }
            article section.s-intro > ul > li {
              padding: 0 0 6vw;
              border-radius: 3vw; }
              article section.s-intro > ul > li + li {
                margin-top: 5vw; }
              article section.s-intro > ul > li h3 {
                font-size: 4vw;
                height: inherit;
                min-height: 10vw;
                border-radius: 3vw 3vw 0 0;
                margin: 0 0 5vw;
                padding: 2vw 0; }
                article section.s-intro > ul > li h3 .new {
                  padding: 0 0 0 20vw; }
                  article section.s-intro > ul > li h3 .new::before {
                    width: 18vw;
                    height: 13vw;
                    font-size: 6vw;
                    padding: 1vw 0 0; }
              article section.s-intro > ul > li .container {
                flex-direction: column;
                padding: 0 3vw; }
                article section.s-intro > ul > li .container .img {
                  width: 100%;
                  margin: 0 0 3vw; }
                  article section.s-intro > ul > li .container .img img {
                    max-width: 40vw;
                    max-height: 40vw;
                    width: auto; }
                article section.s-intro > ul > li .container .text {
                  flex: inherit;
                  padding: 0; }
                  article section.s-intro > ul > li .container .text .btn {
                    margin: 4vw 0 0; }
                    article section.s-intro > ul > li .container .text .btn a {
                      min-width: 70vw;
                      min-height: 10vw;
                      font-size: 3.5vw;
                      padding: 0 8vw 0.5vw;
                      box-shadow: 0 0.7vw 1vw rgba(0, 0, 0, 0.1); }
                      article section.s-intro > ul > li .container .text .btn a::before {
                        width: 2vw;
                        height: 3vw;
                        right: 2.5vw; }
                article section.s-intro > ul > li .container .point {
                  padding: 1px 2.5vw 3vw;
                  margin: 7vw 0 0; }
                  article section.s-intro > ul > li .container .point .point_index {
                    width: 30vw;
                    height: 7vw;
                    font-size: 3.5vw;
                    padding: 0 0 0.5vw;
                    margin: -3vw auto 2.5vw; }
                  article section.s-intro > ul > li .container .point > ul {
                    gap: 2vw;
                    flex-wrap: wrap; }
                    article section.s-intro > ul > li .container .point > ul > li {
                      flex: inherit;
                      width: calc(50% - 1vw);
                      padding: 2.5vw 2vw 1.5vw;
                      border-radius: 2vw; }
                      article section.s-intro > ul > li .container .point > ul > li figure {
                        padding: 0 7vw; }
                      article section.s-intro > ul > li .container .point > ul > li p {
                        font-size: 3vw; }
                        article section.s-intro > ul > li .container .point > ul > li p.text01 {
                          font-size: 4vw;
                          padding: 0 0 0.7vw;
                          margin: 1.5vw 0; } }
    article section.s-plan {
      padding: 25px 0 160px; }
      article section.s-plan > header::before {
        background: #fff; }
      article section.s-plan > header p {
        color: #fff;
        background: none;
        -webkit-background-clip: inherit;
        -webkit-text-fill-color: inherit; }
      article section.s-plan > header h2 {
        color: #fff; }
      article section.s-plan .container {
        width: 980px;
        background: #fff;
        padding: 55px 40px 65px;
        margin: 0 auto;
        position: relative; }
        article section.s-plan .container + .container {
          margin-top: 70px; }
        article section.s-plan .container h3 {
          display: flex;
          justify-content: center;
          align-items: center;
          font-family: "Zen Old Mincho", serif;
          font-weight: 700;
          font-style: normal;
          height: 70px;
          font-size: 40px;
          color: #fff;
          background: #0f85b0;
          background: linear-gradient(90deg, rgba(15, 133, 176, 0) 0%, #0f85b0 20%, #0f85b0 80%, rgba(15, 133, 176, 0) 100%);
          margin: 0 0 35px; }
          article section.s-plan .container h3 span {
            position: relative;
            padding: 0 0 0 60px; }
            article section.s-plan .container h3 span::before {
              content: "";
              display: block;
              width: 110px;
              height: 110px;
              border: 2px solid #0f85b0;
              border-radius: 100px;
              position: absolute;
              left: -70px;
              top: 50%;
              transform: translate(0, -50%); }
        article section.s-plan .container h4 {
          font-size: 30px;
          line-height: 1.4;
          color: #0f85b0;
          margin: 0 0 15px; }
        article section.s-plan .container > ul + h4 {
          margin-top: 40px; }
        article section.s-plan .container > ul li {
          display: flex;
          justify-content: center;
          align-items: center;
          background: #dff1f8;
          padding: 20px; }
          article section.s-plan .container > ul li + li {
            margin-top: 15px; }
          article section.s-plan .container > ul li .plan_wrap {
            display: flex;
            width: 475px;
            gap: 0 50px; }
            article section.s-plan .container > ul li .plan_wrap .plan_inner {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 100%;
              min-height: 110px;
              background: #fff;
              border-radius: 10px; }
              article section.s-plan .container > ul li .plan_wrap .plan_inner p {
                font-size: 21px;
                color: #0f85b0;
                font-weight: 500;
                line-height: 1.3; }
                article section.s-plan .container > ul li .plan_wrap .plan_inner p span {
                  font-size: 18px; }
                  article section.s-plan .container > ul li .plan_wrap .plan_inner p span.frame {
                    display: inline-flex;
                    justify-content: center;
                    align-items: center;
                    font-size: 17px;
                    background: #fcfcd9;
                    border: 1px solid #0f85b0;
                    padding: 2px 5px; }
              article section.s-plan .container > ul li .plan_wrap .plan_inner:last-child {
                position: relative; }
                article section.s-plan .container > ul li .plan_wrap .plan_inner:last-child::before {
                  content: "";
                  width: 27px;
                  height: 27px;
                  background: url("/assets/slimming/nutrition-program/images/plan03.svg") center center/100% auto no-repeat;
                  position: absolute;
                  left: -38px;
                  top: 50%;
                  transform: translate(0, -50%); }
            article section.s-plan .container > ul li .plan_wrap.saxenda {
              flex-direction: column;
              background: #fff;
              border-radius: 10px;
              gap: 0;
              padding: 20px; }
              article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda {
                display: flex;
                justify-content: center;
                align-items: center; }
                article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda + .plan_saxenda {
                  margin-top: 10px; }
                article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda p {
                  font-size: 20px;
                  font-weight: 700;
                  line-height: 1.4;
                  color: #369fb4; }
                  article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda p.name {
                    flex: 1; }
                  article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda p.note {
                    width: 90px;
                    font-size: 17px;
                    background: #fcfcd9;
                    border: 1px solid #369fb4; }
                  article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda p.price {
                    width: 110px;
                    text-align: right; }
          article section.s-plan .container > ul li .price_wrap {
            flex: 1; }
            article section.s-plan .container > ul li .price_wrap p.price {
              font-size: 80px;
              font-weight: 600;
              color: #0f85b0;
              line-height: 1;
              text-align: right;
              padding: 0 20px 0 0; }
              article section.s-plan .container > ul li .price_wrap p.price > span {
                font-size: 42px;
                font-weight: 500;
                position: relative; }
                article section.s-plan .container > ul li .price_wrap p.price > span > span {
                  font-size: 16px;
                  font-weight: 600;
                  position: absolute;
                  left: 50%;
                  bottom: 53px;
                  transform: translate(-50%, 0);
                  white-space: nowrap; }
        article section.s-plan .container.cool h3 span::before {
          background: url("/assets/slimming/nutrition-program/images/plan01.jpg") center center/100% auto no-repeat; }
        article section.s-plan .container.saxenda h3 {
          background: #369fb4;
          background: linear-gradient(90deg, rgba(54, 159, 180, 0) 0%, #369fb4 20%, #369fb4 80%, rgba(54, 159, 180, 0) 100%); }
          article section.s-plan .container.saxenda h3 span::before {
            border-color: #369fb4;
            background: url("/assets/slimming/nutrition-program/images/plan02.jpg") center center/100% auto no-repeat; }
        article section.s-plan .container.saxenda h4 {
          color: #369fb4; }
        article section.s-plan .container.saxenda ul li {
          background: #e2f7f8; }
          article section.s-plan .container.saxenda ul li .price_wrap p.price {
            color: #369fb4; }
        article section.s-plan .container p.term {
          text-align: right;
          font-size: 17px; }
      @media only screen and (max-width: 979px) {
        article section.s-plan {
          padding: 1px 0 12vw; }
          article section.s-plan .container {
            width: 95%;
            padding: 6vw 5vw 7vw; }
            article section.s-plan .container + .container {
              margin-top: 6vw; }
            article section.s-plan .container h3 {
              height: 12vw;
              font-size: 4.5vw;
              margin: 0 0 4.5vw; }
              article section.s-plan .container h3 span {
                padding: 0 0 0 8vw; }
                article section.s-plan .container h3 span::before {
                  width: 15vw;
                  height: 15vw;
                  left: -13vw;
                  top: 50%;
                  transform: translate(0, -50%); }
            article section.s-plan .container h4 {
              font-size: 4vw;
              margin: 0 0 2vw; }
            article section.s-plan .container > ul + h4 {
              margin-top: 5vw; }
            article section.s-plan .container > ul li {
              flex-direction: column;
              padding: 2.5vw 2.5vw 3vw; }
              article section.s-plan .container > ul li + li {
                margin-top: 2.5vw; }
              article section.s-plan .container > ul li .plan_wrap {
                width: 100%;
                gap: 0 8vw; }
                article section.s-plan .container > ul li .plan_wrap .plan_inner {
                  min-height: 20vw;
                  border-radius: 1.5vw; }
                  article section.s-plan .container > ul li .plan_wrap .plan_inner p {
                    font-size: 3.5vw;
                    line-height: 1.7; }
                    article section.s-plan .container > ul li .plan_wrap .plan_inner p span {
                      font-size: 3vw; }
                      article section.s-plan .container > ul li .plan_wrap .plan_inner p span.frame {
                        font-size: 3vw;
                        padding: 0 1vw; }
                  article section.s-plan .container > ul li .plan_wrap .plan_inner:last-child::before {
                    width: 5vw;
                    height: 5vw;
                    left: -6.5vw; }
                article section.s-plan .container > ul li .plan_wrap.saxenda {
                  border-radius: 1.5vw;
                  gap: 0;
                  padding: 2.5vw; }
                  article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda + .plan_saxenda {
                    margin-top: 1.5vw; }
                  article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda p {
                    font-size: 3.5vw; }
                    article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda p.note {
                      width: 15vw;
                      font-size: 3vw; }
                    article section.s-plan .container > ul li .plan_wrap.saxenda .plan_saxenda p.price {
                      width: 18vw; }
              article section.s-plan .container > ul li .price_wrap {
                flex: inherit;
                width: 100%;
                margin: 1vw 0 0; }
                article section.s-plan .container > ul li .price_wrap p.price {
                  font-size: 12vw;
                  padding: 0;
                  text-align: center; }
                  article section.s-plan .container > ul li .price_wrap p.price > span {
                    font-size: 7vw; }
                    article section.s-plan .container > ul li .price_wrap p.price > span > span {
                      font-size: 3vw;
                      bottom: 8.5vw; }
            article section.s-plan .container p.term {
              font-size: 3.2vw; } }
    article section.s-clinic {
      padding: 1px 0 90px;
      background: #fff; }
      article section.s-clinic > header {
        margin-top: -25px; }
      article section.s-clinic .container {
        width: 980px;
        margin: 0 auto; }
        article section.s-clinic .container .bc_01_047 .bc-item > .info {
          text-align: left; }
          article section.s-clinic .container .bc_01_047 .bc-item > .info > .name {
            color: #0f85b0;
            font-weight: 500; }
          article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .number {
            color: #0f85b0; }
      @media only screen and (max-width: 979px) {
        article section.s-clinic {
          padding: 1px 0 5vw; }
          article section.s-clinic > header {
            margin-top: -4vw; }
          article section.s-clinic .container {
            width: 95%;
            margin: 0 auto; }
            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; }
              article section.s-clinic .container .bc_01_047 .bc-item > .info > .address {
                font-size: 3.5vw;
                margin: 0 0 3vw; }
              article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel {
                line-height: 1.2; }
                article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .freetel {
                  width: 7vw;
                  height: 7vw;
                  margin: 0 3vw 0 0; }
                article section.s-clinic .container .bc_01_047 .bc-item > .info > .tel > .number {
                  font-size: 6vw; } }
    article section.s-comment {
      padding: 25px 0 0; }
      article section.s-comment .container {
        position: relative;
        text-align: left; }
        article section.s-comment .container .comment_wrap {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          width: 980px;
          margin: 0 auto;
          position: relative;
          overflow: hidden; }
          article section.s-comment .container .comment_wrap .text {
            padding: 0 20px 0 0;
            flex: 1;
            font-size: 18px; }
            article section.s-comment .container .comment_wrap .text p + p {
              margin-top: 10px; }
            article section.s-comment .container .comment_wrap .text .dr {
              display: flex;
              justify-content: flex-end;
              line-height: 1.4;
              padding: 30px 30px 0 0; }
              article section.s-comment .container .comment_wrap .text .dr strong {
                display: contents;
                font-size: 30px;
                font-weight: normal; }
          article section.s-comment .container .comment_wrap figure {
            padding-top: 20px; }
            article section.s-comment .container .comment_wrap figure img {
              width: 100%; }
      @media only screen and (max-width: 979px) {
        article section.s-comment {
          padding: 2vw 0 0; }
          article section.s-comment .container .comment_wrap {
            width: 100%;
            position: relative;
            padding: 0 0 12vw; }
            article section.s-comment .container .comment_wrap .text {
              padding: 0 4vw;
              font-size: 3.7vw; }
              article section.s-comment .container .comment_wrap .text p + p {
                margin-top: 4vw; }
              article section.s-comment .container .comment_wrap .text p:nth-child(n + 4) {
                padding-right: 30vw; }
              article section.s-comment .container .comment_wrap .text p:nth-child(n + 5) {
                padding-right: 40vw; }
              article section.s-comment .container .comment_wrap .text p:nth-child(n + 6) {
                padding-right: 44vw; }
              article section.s-comment .container .comment_wrap .text p.dr {
                justify-content: flex-start;
                padding: 0;
                margin: 4vw 0 0; }
                article section.s-comment .container .comment_wrap .text p.dr strong {
                  font-size: 5vw; }
            article section.s-comment .container .comment_wrap figure {
              padding-top: 0;
              width: 50%;
              position: absolute;
              right: -5vw;
              bottom: -5vw; } }
