@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&family=Noto+Serif+JP:wght@500&family=Cormorant+Infant:wght@300..700&family=Zen+Kaku+Gothic+New:wght@500&display=swap");
/* 青は使わない */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap");
@keyframes trigger-skinclinic {
  0% {
    background: currentColor; }
  50% {
    background: transparent; }
  100% {
    background: transparent; } }

@keyframes trigger-skinclinicAt {
  0% {
    background: transparent; }
  50% {
    background: currentColor; }
  100% {
    background: currentColor; } }

@keyframes trigger-skinclinic01 {
  0% {
    top: -10px;
    transform: rotate(0); }
  50% {
    top: 0;
    transform: rotate(0); }
  100% {
    top: 0;
    transform: rotate(-32deg); } }

@keyframes trigger-skinclinic01At {
  0% {
    top: 0;
    transform: rotate(-32deg); }
  50% {
    top: 0;
    transform: rotate(0); }
  100% {
    top: -10px;
    transform: rotate(0); } }

@keyframes trigger-skinclinic02 {
  0% {
    bottom: -10px;
    transform: rotate(0); }
  50% {
    bottom: 0;
    transform: rotate(0); }
  100% {
    bottom: 0;
    transform: rotate(32deg); } }

@keyframes trigger-skinclinic02At {
  0% {
    bottom: 0;
    transform: rotate(32deg); }
  50% {
    bottom: 0;
    transform: rotate(0); }
  100% {
    bottom: -10px;
    transform: rotate(0); } }

@media only screen and (max-width: 979px) {
  @keyframes trigger-skinclinic01 {
    0% {
      top: -2vw;
      transform: rotate(0); }
    50% {
      top: 0;
      transform: rotate(0); }
    100% {
      top: 0;
      transform: rotate(-32deg); } }
  @keyframes trigger-skinclinic01At {
    0% {
      top: 0;
      transform: rotate(-32deg); }
    50% {
      top: 0;
      transform: rotate(0); }
    100% {
      top: -2vw;
      transform: rotate(0); } }
  @keyframes trigger-skinclinic02 {
    0% {
      bottom: -2vw;
      transform: rotate(0); }
    50% {
      bottom: 0;
      transform: rotate(0); }
    100% {
      bottom: 0;
      transform: rotate(32deg); } }
  @keyframes trigger-skinclinic02At {
    0% {
      bottom: 0;
      transform: rotate(32deg); }
    50% {
      bottom: 0;
      transform: rotate(0); }
    100% {
      bottom: -2vw;
      transform: rotate(0); } } }

#main article section.s-mv {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 220px;
  background: linear-gradient(to right, #F1DDD7, #A98B89 35%, #A98B89 65%, #F1DDD7);
  text-align: center;
  padding: 0; }
  #main article section.s-mv header {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0 20px;
    color: #fff; }
    #main article section.s-mv header p {
      font-family: "trajan-pro-3", serif;
      font-optical-sizing: auto;
      font-weight: 300;
      font-style: normal;
      font-size: 56px;
      letter-spacing: -0.01em;
      line-height: 1;
      filter: drop-shadow(0 0 30px #a98b89) drop-shadow(0 0 30px rgba(169, 139, 137, 0.5)) drop-shadow(0 0 30px rgba(169, 139, 137, 0.5)); }
    #main article section.s-mv header h1 {
      font-size: 20px;
      font-weight: 500;
      filter: drop-shadow(0 0 10px rgba(169, 139, 137, 0.5)) drop-shadow(0 0 10px rgba(169, 139, 137, 0.5)); }
  @media only screen and (max-width: 979px) {
    #main article section.s-mv {
      height: 30vw;
      padding: 0; }
      #main article section.s-mv header {
        gap: 0 3vw; }
        #main article section.s-mv header p {
          font-size: 9vw;
          filter: drop-shadow(0 0 4vw #a98b89) drop-shadow(0 0 4vw rgba(169, 139, 137, 0.5)) drop-shadow(0 0 4vw rgba(169, 139, 137, 0.5)); }
        #main article section.s-mv header h1 {
          font-size: 4vw;
          filter: drop-shadow(0 0 1.5vw rgba(169, 139, 137, 0.5)) drop-shadow(0 0 1.5vw rgba(169, 139, 137, 0.5)); } }

#main article section.s-intro {
  background: #F3F2F1;
  padding-block: 70px 90px; }
  #main article section.s-intro .container {
    width: 980px;
    text-align: center;
    margin: 0 auto; }
    #main article section.s-intro .container .text01 {
      display: flex;
      justify-content: center;
      align-items: center;
      color: #A98B89;
      gap: 0 20px; }
      #main article section.s-intro .container .text01 .arrow {
        width: 95px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 0 30px;
        position: relative; }
        #main article section.s-intro .container .text01 .arrow::before {
          content: "";
          display: block;
          width: 100%;
          height: 33px;
          background: url(/assets/clinic/skin/campaign/images/intro01.svg) center top/100% 100% no-repeat;
          position: absolute;
          left: 0;
          bottom: 0; }
        #main article section.s-intro .container .text01 .arrow p {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 65px;
          font-size: 28px;
          writing-mode: vertical-rl;
          border-left: 1px solid #A98B89;
          border-right: 1px solid #A98B89;
          padding: 10px 0 0; }
      #main article section.s-intro .container .text01 .off {
        font-family: var(--fontInt);
        font-weight: 600;
        font-size: 90px;
        line-height: 1; }
        #main article section.s-intro .container .text01 .off em {
          font-size: 110px; }
    #main article section.s-intro .container .text02 {
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 500;
      font-style: normal;
      font-size: 30px;
      line-height: 1.5;
      color: #A98B89;
      margin: 40px 0 0; }
    #main article section.s-intro .container ul.open {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 50px 0;
      margin: 50px 0 0; }
      #main article section.s-intro .container ul.open li {
        width: 470px;
        border: 1px solid #ACA49F;
        padding: 1px 20px 25px; }
        #main article section.s-intro .container ul.open li .ribbon {
          display: flex;
          justify-content: center;
          align-items: center;
          margin: -30px 0 25px; }
          #main article section.s-intro .container ul.open li .ribbon p {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 39px;
            font-family: var(--fontInt);
            font-weight: 600;
            color: #F1DDD7;
            line-height: 1;
            background: #7A6F69;
            padding: 5px 25px 6px;
            position: relative; }
            #main article section.s-intro .container ul.open li .ribbon p::before, #main article section.s-intro .container ul.open li .ribbon p::after {
              content: "";
              display: block;
              width: 44px;
              height: 49px;
              height: calc(49 / 39 * 100%);
              background: url(/assets/clinic/skin/campaign/images/ribbon.svg) right top/auto 100% no-repeat;
              position: absolute;
              top: 0; }
            #main article section.s-intro .container ul.open li .ribbon p::before {
              right: 100%;
              right: calc(100% - 1px); }
            #main article section.s-intro .container ul.open li .ribbon p::after {
              transform: scale(-1, 1);
              left: 100%;
              left: calc(100% - 1px); }
        #main article section.s-intro .container ul.open li .open-inner {
          display: flex;
          justify-content: center;
          gap: 0 20px;
          color: #A98B89; }
          #main article section.s-intro .container ul.open li .open-inner .date {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100px;
            height: 100px;
            font-family: var(--fontInt);
            font-weight: 600;
            font-size: 14px;
            line-height: 1.25;
            background: #fff;
            border-radius: 100%;
            margin: 10px 0 0; }
            #main article section.s-intro .container ul.open li .open-inner .date span {
              font-size: 28px;
              letter-spacing: 0.1em;
              padding-left: 0.1em; }
          #main article section.s-intro .container ul.open li .open-inner .clinic-name {
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 500;
            font-style: normal;
            font-size: 24px;
            line-height: 1.4; }
            #main article section.s-intro .container ul.open li .open-inner .clinic-name em {
              font-size: 32px;
              font-weight: 600; }
          #main article section.s-intro .container ul.open li .open-inner .clinic-btn {
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 15px 0 0; }
            #main article section.s-intro .container ul.open li .open-inner .clinic-btn a {
              display: flex;
              justify-content: center;
              align-items: center;
              min-width: 220px;
              min-height: 38px;
              font-size: 16px;
              color: #A98B89;
              text-decoration: none;
              border: 1px solid #A98B89;
              border-radius: 1000px;
              padding: 3px 20px;
              position: relative; }
              #main article section.s-intro .container ul.open li .open-inner .clinic-btn a::before {
                content: "";
                display: block;
                width: 6px;
                height: 11px;
                background: #ACA49F;
                clip-path: polygon(0 0, 100% 50%, 0 100%, 35% 50%);
                position: absolute;
                right: 10px;
                top: 50%;
                transform: translate(0, -50%); }
    #main article section.s-intro .container ul.link {
      display: flex;
      flex-wrap: wrap;
      gap: 25px 16px;
      margin: 50px 0 0; }
      #main article section.s-intro .container ul.link li {
        width: 316px; }
        #main article section.s-intro .container ul.link li a {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 100%;
          height: 75px;
          font-size: 18px;
          line-height: 1.4;
          color: #7A6F69;
          background: #fff;
          border-radius: 20px;
          text-decoration: none;
          box-shadow: 0 2px 2px rgba(172, 164, 159, 0.65);
          padding: 5px 10px 12px;
          position: relative; }
          #main article section.s-intro .container ul.link li a::before {
            content: "";
            width: 20px;
            height: 20px;
            background: url(/assets/clinic/skin/images/common/icon-arrow.svg) center center/50% auto no-repeat #A98B89;
            border-radius: 100%;
            position: absolute;
            left: 50%;
            bottom: -10px;
            transform: translate(-50%, 0) rotate(90deg); }
  @media only screen and (max-width: 979px) {
    #main article section.s-intro {
      padding-block: 9vw 12vw; }
      #main article section.s-intro .container {
        width: 95%; }
        #main article section.s-intro .container .text01 {
          gap: 0 3vw; }
          #main article section.s-intro .container .text01 .arrow {
            width: 15vw;
            padding: 0 0 4.75vw; }
            #main article section.s-intro .container .text01 .arrow::before {
              height: 5vw; }
            #main article section.s-intro .container .text01 .arrow p {
              width: 10vw;
              font-size: 5vw;
              padding: 1.5vw 0 0; }
          #main article section.s-intro .container .text01 .off {
            font-size: 10vw; }
            #main article section.s-intro .container .text01 .off em {
              font-size: 12vw; }
        #main article section.s-intro .container .text02 {
          font-size: 4vw;
          margin: 5vw 0 0; }
        #main article section.s-intro .container ul.open {
          width: 90%;
          flex-direction: column;
          gap: 8vw 0;
          margin: 10vw auto 0; }
          #main article section.s-intro .container ul.open li {
            width: 100%;
            padding: 1px 4vw 4vw; }
            #main article section.s-intro .container ul.open li .ribbon {
              margin: -5.5vw 0 3.5vw; }
              #main article section.s-intro .container ul.open li .ribbon p {
                height: 7vw;
                padding: 1vw 3vw 1.1vw; }
                #main article section.s-intro .container ul.open li .ribbon p::before, #main article section.s-intro .container ul.open li .ribbon p::after {
                  width: 10vw; }
            #main article section.s-intro .container ul.open li .open-inner {
              gap: 0 2.5vw; }
              #main article section.s-intro .container ul.open li .open-inner .date {
                width: 18vw;
                height: 18vw;
                font-size: 3vw;
                margin: 1vw 0 0; }
                #main article section.s-intro .container ul.open li .open-inner .date span {
                  font-size: 5vw;
                  letter-spacing: 0.05em;
                  padding-left: 0.05em; }
              #main article section.s-intro .container ul.open li .open-inner .clinic {
                flex: 1; }
                #main article section.s-intro .container ul.open li .open-inner .clinic-name {
                  font-size: 4vw; }
                  #main article section.s-intro .container ul.open li .open-inner .clinic-name em {
                    font-size: 6vw; }
                #main article section.s-intro .container ul.open li .open-inner .clinic-btn {
                  margin: 2.5vw 0 0; }
                  #main article section.s-intro .container ul.open li .open-inner .clinic-btn a {
                    min-width: 40vw;
                    min-height: 8vw;
                    font-size: 3.5vw;
                    padding: 0.5vw 6vw 0.7vw; }
                    #main article section.s-intro .container ul.open li .open-inner .clinic-btn a::before {
                      width: 1.5vw;
                      height: 2.75vw;
                      right: 2vw; }
        #main article section.s-intro .container ul.link {
          gap: 5vw 3%;
          margin: 7vw 0 0; }
          #main article section.s-intro .container ul.link li {
            width: 48.5%; }
            #main article section.s-intro .container ul.link li a {
              height: 16vw;
              font-size: 3.5vw;
              border-radius: 3vw;
              box-shadow: 0 0.5vw 0.5vw rgba(172, 164, 159, 0.65);
              padding: 1.5vw 1.5vw 3vw; }
              #main article section.s-intro .container ul.link li a::before {
                width: 4.5vw;
                height: 4.5vw;
                bottom: -2.25vw; } }

#main article section.s-list {
  padding: 100px 0 0; }
  #main article section.s-list .list {
    width: 980px;
    font-size: 18px;
    margin: 0 auto; }
    #main article section.s-list .list > li {
      background: #F1DDD7;
      border-radius: 10px;
      padding: 30px 30px 40px; }
      #main article section.s-list .list > li + li {
        margin-top: 50px; }
      #main article section.s-list .list > li > header {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        text-align: center;
        margin: 0 0 25px; }
        #main article section.s-list .list > li > header h2 {
          font-family: "Noto Sans JP", sans-serif;
          font-optical-sizing: auto;
          font-weight: 500;
          font-style: normal;
          font-size: 30px;
          line-height: 1.3;
          color: #7A6F69; }
        #main article section.s-list .list > li > header .header-caution {
          line-height: 1.2;
          text-align: center;
          margin: 12px 0 0; }
      #main article section.s-list .list > li .clinic-link {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 20px;
        margin: 15px 0 25px; }
        #main article section.s-list .list > li .clinic-link > li a {
          display: flex;
          justify-content: center;
          align-items: center;
          font-family: "Noto Sans JP", sans-serif;
          font-optical-sizing: auto;
          font-weight: 500;
          font-style: normal;
          color: #7A6F69;
          text-decoration: none;
          border: 1px solid #7A6F69;
          border-radius: 1000px;
          background: rgba(255, 255, 255, 0.75);
          padding: 4px 45px 6px;
          position: relative; }
          #main article section.s-list .list > li .clinic-link > li a::before {
            content: "";
            display: block;
            width: 6px;
            height: 11px;
            background: #7A6F69;
            clip-path: polygon(0 0, 100% 50%, 0 100%, 35% 50%);
            position: absolute;
            right: 10px;
            top: 50%;
            transform: translate(0, -50%); }
      #main article section.s-list .list > li .list-inner {
        background: #fff;
        padding: 30px 40px 40px; }
        #main article section.s-list .list > li .list-inner .explanation {
          font-size: 16px;
          margin: 0 0 30px; }
        #main article section.s-list .list > li .list-inner > header {
          display: flex;
          justify-content: center;
          align-items: center;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          text-align: center;
          color: #fff;
          background: #A98B89;
          margin: 0 0 30px;
          padding: 10px; }
          #main article section.s-list .list > li .list-inner > header h3 {
            font-size: 20px;
            line-height: 1.2; }
          #main article section.s-list .list > li .list-inner > header .catuion {
            font-size: 14px;
            line-height: 1.2;
            font-weight: 600; }
        #main article section.s-list .list > li .list-inner .container {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0 30px;
          color: #7A6F69; }
          #main article section.s-list .list > li .list-inner .container + .container {
            margin-top: 30px; }
          #main article section.s-list .list > li .list-inner .container + header {
            margin-top: 30px; }
          #main article section.s-list .list > li .list-inner .container-left {
            flex: 1; }
            #main article section.s-list .list > li .list-inner .container-left p {
              font-size: 20px;
              line-height: 1.4; }
          #main article section.s-list .list > li .list-inner .container-right-price {
            display: flex;
            justify-content: flex-end;
            align-items: flex-end;
            gap: 0 15px; }
            #main article section.s-list .list > li .list-inner .container-right-price .price-wrap {
              flex: 1;
              display: flex;
              justify-content: center;
              align-items: flex-end;
              flex-direction: column;
              gap: 20px 0; }
              #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner {
                width: 100%;
                display: flex;
                justify-content: flex-end;
                align-items: center;
                gap: 0 15px;
                color: #7A6F69; }
                #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .type {
                  min-width: 150px;
                  display: flex;
                  justify-content: flex-end;
                  align-items: center; }
                  #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .type p {
                    font-size: 15px;
                    border: 1px solid #7A6F69;
                    border-radius: 1000px;
                    padding: 0 10px; }
                #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .price {
                  flex: 1;
                  display: flex;
                  justify-content: flex-start; }
                  #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .price p {
                    font-size: 28px;
                    line-height: 1;
                    white-space: nowrap; }
                    #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .price p > span {
                      font-size: 24px; }
                #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal {
                  display: flex; }
                  #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal .price {
                    padding: 0 70px 0 0; }
                    #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal .price p {
                      padding: 0 5px;
                      position: relative; }
                      #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal .price p::before {
                        content: "";
                        display: block;
                        width: 100%;
                        height: 2px;
                        background: #A98B89;
                        position: absolute;
                        left: 0;
                        top: 50%;
                        transform: translate(0, -50%); }
                      #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal .price p::after {
                        content: "";
                        display: block;
                        width: 46px;
                        height: 46px;
                        background: url(/assets/clinic/skin/campaign/images/arrow-price.svg) center bottom/100% auto no-repeat;
                        position: absolute;
                        right: -60px;
                        bottom: -20px; }
                #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign {
                  color: #A98B89; }
                  #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign .type p {
                    border-color: #A98B89; }
                  #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign .price p {
                    font-size: 64px;
                    line-height: 1;
                    text-align: right; }
                    #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign .price p > span {
                      font-size: 36px;
                      position: relative; }
                      #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign .price p > span > span {
                        font-size: 14px;
                        position: absolute;
                        left: 50%;
                        bottom: 39px;
                        transform: translate(-50%, 0);
                        white-space: nowrap; }
            #main article section.s-list .list > li .list-inner .container-right-price .off {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 90px;
              height: 90px;
              background: #A98B89;
              border-radius: 100%; }
              #main article section.s-list .list > li .list-inner .container-right-price .off p {
                font-family: "Noto Sans JP", sans-serif;
                font-optical-sizing: auto;
                font-weight: 500;
                font-style: normal;
                text-align: center;
                font-size: 20px;
                line-height: 1.2;
                color: #fff; }
                #main article section.s-list .list > li .list-inner .container-right-price .off p > span {
                  font-size: 24px; }
                  #main article section.s-list .list > li .list-inner .container-right-price .off p > span > span {
                    font-weight: 500;
                    font-size: 30px; }
          #main article section.s-list .list > li .list-inner .container-right-number {
            max-width: 560px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0 5px;
            background: #F3F2F1;
            padding: 5px;
            margin: 20px 0 0; }
            #main article section.s-list .list > li .list-inner .container-right-number-left {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 170px;
              text-align: center; }
            #main article section.s-list .list > li .list-inner .container-right-number-right {
              display: flex;
              justify-content: center;
              align-items: flex-end;
              flex-direction: column;
              flex: 1;
              background: #fff;
              padding: 10px 30px; }
        #main article section.s-list .list > li .list-inner.agingcare .container-right-number {
          margin: 20px 0 10px auto;
          color: #7A6F69; }
        #main article section.s-list .list > li .list-inner.agingcare .container + .container {
          margin-top: 60px; }
        #main article section.s-list .list > li .list-inner.agingcare .container .container-left p span {
          font-weight: bold; }
      #main article section.s-list .list > li .list-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 30px 0 0; }
        #main article section.s-list .list > li .list-btn a {
          display: flex;
          justify-content: center;
          align-items: center;
          min-width: 365px;
          height: 65px;
          font-size: 18px;
          color: #fff;
          background: #524B47;
          text-decoration: none;
          border-radius: 1000px;
          padding: 5px 20px 7px;
          position: relative; }
          #main article section.s-list .list > li .list-btn a::before {
            content: "";
            display: block;
            width: 11px;
            height: 18px;
            background: #fff;
            clip-path: polygon(0 0, 100% 50%, 0 100%, 35% 50%);
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translate(0, -50%); }
  @media only screen and (max-width: 979px) {
    #main article section.s-list {
      padding: 12vw 0 0; }
      #main article section.s-list .list {
        width: 95%;
        font-size: 3vw; }
        #main article section.s-list .list > li {
          border-radius: 1.5vw;
          padding: 3vw 3vw 4vw; }
          #main article section.s-list .list > li + li {
            margin-top: 6vw; }
          #main article section.s-list .list > li > header {
            margin: 0 0 3.5vw; }
            #main article section.s-list .list > li > header h2 {
              font-size: 5vw; }
            #main article section.s-list .list > li > header .header-caution {
              margin: 1.5vw 0 0; }
          #main article section.s-list .list > li .clinic-link {
            gap: 2vw;
            margin: 2vw 0 3vw; }
            #main article section.s-list .list > li .clinic-link > li a {
              padding: 0.5vw 6vw 1vw; }
              #main article section.s-list .list > li .clinic-link > li a::before {
                width: 1.5vw;
                height: 2.75vw;
                right: 2vw; }
          #main article section.s-list .list > li .list-inner {
            padding: 3vw 4vw 4vw; }
            #main article section.s-list .list > li .list-inner .explanation {
              font-size: 3vw;
              margin: 0 0 4vw; }
            #main article section.s-list .list > li .list-inner > header {
              margin: 0 0 4vw;
              padding: 1.5vw 2vw; }
              #main article section.s-list .list > li .list-inner > header h3 {
                font-size: 3.5vw; }
              #main article section.s-list .list > li .list-inner > header .catuion {
                font-size: 2.5vw; }
            #main article section.s-list .list > li .list-inner .container {
              flex-direction: column;
              gap: 4vw 0; }
              #main article section.s-list .list > li .list-inner .container + .container {
                margin-top: 5vw; }
              #main article section.s-list .list > li .list-inner .container + header {
                margin-top: 5vw; }
              #main article section.s-list .list > li .list-inner .container-left p {
                font-size: 4vw; }
              #main article section.s-list .list > li .list-inner .container-right-price {
                gap: 3vw 0;
                padding: 0 5vw;
                position: relative; }
                #main article section.s-list .list > li .list-inner .container-right-price .price-wrap {
                  gap: 3vw 0; }
                  #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner {
                    gap: 0 2vw; }
                    #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .type {
                      min-width: 26vw; }
                      #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .type p {
                        font-size: 2.7vw;
                        padding: 0 1.5vw; }
                    #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .price p {
                      font-size: 6vw; }
                      #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner .price p > span {
                        font-size: 5vw; }
                    #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal .price {
                      padding: 0 10vw 0 0; }
                      #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal .price p {
                        padding: 0 0.7vw; }
                        #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.normal .price p::after {
                          width: 7vw;
                          height: 7vw;
                          right: -8.5vw;
                          bottom: -2vw; }
                    #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign .price p {
                      font-size: 10vw; }
                      #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign .price p > span {
                        font-size: 6vw; }
                        #main article section.s-list .list > li .list-inner .container-right-price .price-wrap .price-inner.campaign .price p > span > span {
                          font-size: 2.5vw;
                          bottom: 7vw; }
                #main article section.s-list .list > li .list-inner .container-right-price .off {
                  width: 13vw;
                  height: 13vw;
                  position: absolute;
                  right: -5.5vw;
                  top: -2.5vw; }
                  #main article section.s-list .list > li .list-inner .container-right-price .off p {
                    font-size: 3vw; }
                    #main article section.s-list .list > li .list-inner .container-right-price .off p > span {
                      font-size: 3.5vw; }
                      #main article section.s-list .list > li .list-inner .container-right-price .off p > span > span {
                        font-size: 4.5vw; }
              #main article section.s-list .list > li .list-inner .container-right-number {
                max-width: inherit;
                width: 100%;
                gap: 0 1vw;
                padding: 1vw;
                margin: 3vw 0 0; }
                #main article section.s-list .list > li .list-inner .container-right-number-left {
                  width: 20vw;
                  line-height: 1.3; }
                #main article section.s-list .list > li .list-inner .container-right-number-right {
                  padding: 1.5vw 3vw; }
            #main article section.s-list .list > li .list-inner.agingcare .container-right-number {
              margin: 4vw 0 3vw auto; }
            #main article section.s-list .list > li .list-inner.agingcare .container + .container {
              margin-top: 8vw; }
          #main article section.s-list .list > li .list-btn {
            margin: 4vw 0 0; }
            #main article section.s-list .list > li .list-btn a {
              display: flex;
              justify-content: center;
              align-items: center;
              min-width: 50vw;
              height: 10vw;
              font-size: 3.5vw;
              padding: 0.5vw 6vw 1vw; }
              #main article section.s-list .list > li .list-btn a::before {
                width: 1.5vw;
                height: 2.75vw;
                right: 3vw; } }
