@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 "https://use.fontawesome.com/releases/v7.0.0/css/all.css";
@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-general {
  background: #F3F2F1;
  border-radius: 80px;
  padding: 95px 0 100px;
  margin-top: 90px;
  overflow: hidden; }
  #main article section.s-general > * {
    position: relative;
    z-index: 1; }
  #main article section.s-general .container {
    width: 956px;
    margin: 0 auto; }
    #main article section.s-general .container .btn-first {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 0 35px; }
      #main article section.s-general .container .btn-first a {
        display: flex;
        justify-content: center;
        align-items: center;
        min-width: 330px;
        min-height: 65px;
        font-size: 18px;
        font-weight: 500;
        color: #FEFBF6;
        text-decoration: none;
        background: #7A6F69;
        border: 1px solid #7A6F69;
        border-radius: 1000px;
        padding: 0 45px;
        position: relative; }
        #main article section.s-general .container .btn-first a::before {
          content: "";
          display: block;
          width: 12px;
          height: 18px;
          background: #FEFBF6;
          clip-path: polygon(0 0, 100% 50%, 0 100%, 35% 50%);
          position: absolute;
          right: 20px;
          top: 50%;
          transform: translate(0, -50%); }
        #main article section.s-general .container .btn-first a span {
          position: relative;
          padding-left: 1.35em; }
          #main article section.s-general .container .btn-first a span::before {
            content: "\f7e6";
            display: flex;
            justify-content: flex-start;
            align-items: center;
            font-family: "Font Awesome 7 Free";
            width: 100%;
            height: 100%;
            line-height: 1;
            font-weight: 900;
            position: absolute;
            left: 0;
            top: 50%;
            transform: translate(0, -50%);
            padding-bottom: 0.05em; }
    #main article section.s-general .container > ul {
      display: flex;
      flex-wrap: wrap;
      width: 958px;
      margin: 0 auto;
      gap: 32px 29px; }
      #main article section.s-general .container > ul > li {
        width: 300px;
        min-height: 80px;
        background: #fff;
        border-radius: 20px;
        box-shadow: 0 2px 2px rgba(172, 164, 159, 0.65); }
        #main article section.s-general .container > ul > li a {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 100%;
          height: 100%;
          font-size: 20px;
          font-weight: 600;
          line-height: 1.3;
          text-align: center;
          color: #7A6F69;
          padding: 5px 40px;
          text-decoration: none;
          position: relative; }
          #main article section.s-general .container > ul > li a::before {
            content: "\FF0B";
            display: flex;
            justify-content: center;
            align-items: center;
            width: 24px;
            height: 24px;
            line-height: 1;
            border: 1px solid #DCD8D6;
            background: #FEFBF6;
            border-radius: 100%;
            padding: 1px 0 0;
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translate(0, -50%); }
    #main article section.s-general .container > .caution {
      display: block;
      margin: 30px 0 0 40px;
      border-radius: 5px;
      font-size: 18px; }
      #main article section.s-general .container > .caution > ul {
        list-style: disc; }
        #main article section.s-general .container > .caution > ul li a {
          font-weight: bold;
          color: #A98B89; }
    #main article section.s-general .container .insurance-inquiry {
      background: #7A6F69;
      padding: 25px 30px 30px;
      margin: 30px 0 0; }
      #main article section.s-general .container .insurance-inquiry > p {
        font-weight: 500;
        text-align: center;
        color: #FEFBF6;
        margin: 0 0 15px; }
      #main article section.s-general .container .insurance-inquiry-inner {
        display: flex;
        justify-content: center;
        gap: 0 30px; }
        #main article section.s-general .container .insurance-inquiry-inner a {
          flex: 1;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          gap: 3px 0;
          height: 120px;
          font-size: 16px;
          color: #7A6F69;
          text-decoration: none;
          border-radius: 20px; }
          #main article section.s-general .container .insurance-inquiry-inner a p {
            font-weight: 500;
            line-height: 1.2; }
            #main article section.s-general .container .insurance-inquiry-inner a p.icon {
              font-weight: 500;
              padding: 0;
              position: relative; }
              #main article section.s-general .container .insurance-inquiry-inner a p.icon::before {
                content: "";
                width: 30px;
                height: 30px;
                position: absolute;
                left: 0;
                top: 50%;
                transform: translate(0, -50%); }
            #main article section.s-general .container .insurance-inquiry-inner a p.caution {
              font-size: 14px; }
          #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-tel {
            background: #fff;
            border: 1px solid #ACA49F; }
            #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-tel p.icon {
              font-size: 34px;
              padding-left: 40px; }
              #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-tel p.icon::before {
                filter: brightness(0) saturate(100%) invert(44%) sepia(18%) saturate(235%) hue-rotate(337deg) brightness(96%) contrast(87%);
                background: url(/assets/clinic/skin/images/common/icon-tel.svg) center center/100% auto no-repeat; }
          #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-reservation {
            color: #7A6F69;
            background: #F1DDD7; }
            #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-reservation p.icon {
              font-size: 24px;
              padding-left: 37px;
              padding-right: 10px; }
              #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-reservation p.icon::before {
                filter: brightness(0) saturate(100%) invert(44%) sepia(18%) saturate(235%) hue-rotate(337deg) brightness(96%) contrast(87%);
                background: url(/assets/clinic/skin/images/common/icon-reservation.svg) center center/100% auto no-repeat; }
  @media (max-width: 979px) {
    #main article section.s-general {
      margin-top: 10vw;
      padding: 10vw 0 12vw;
      border-radius: 10vw; }
      #main article section.s-general::after {
        width: 53vw;
        left: inherit;
        right: -3vw;
        top: 0;
        transform: translate(0, 0); }
      #main article section.s-general .container {
        width: 95%;
        margin: 0 auto; }
        #main article section.s-general .container .btn-first {
          margin: 0 0 5vw; }
          #main article section.s-general .container .btn-first a {
            min-width: 60vw;
            min-height: 9vw;
            font-size: 3.5vw;
            padding: 0 6vw 0.5vw; }
            #main article section.s-general .container .btn-first a::before {
              width: 2vw;
              height: 3vw;
              right: 3vw; }
        #main article section.s-general .container > ul {
          width: 100%;
          gap: 3vw 3%; }
          #main article section.s-general .container > ul > li {
            width: 48.5%;
            min-height: 12vw;
            border-radius: 2vw;
            box-shadow: 0 0.75vw 0.75vw rgba(172, 164, 159, 0.65); }
            #main article section.s-general .container > ul > li a {
              font-size: 3.5vw;
              padding: 1vw 7vw; }
              #main article section.s-general .container > ul > li a::before {
                width: 5vw;
                height: 5vw;
                right: 2vw; }
        #main article section.s-general .container > .caution {
          margin: 7.5vw 0 0 7.5vw; }
          #main article section.s-general .container > .caution > ul li {
            font-size: 3.5vw; }
        #main article section.s-general .container .insurance-inquiry {
          padding: 3vw 2.5vw 3.5vw;
          margin: 5vw 0 0; }
          #main article section.s-general .container .insurance-inquiry > p {
            margin: 0 0 2vw; }
          #main article section.s-general .container .insurance-inquiry-inner {
            gap: 0 2vw;
            text-align: center;
            margin: 0; }
            #main article section.s-general .container .insurance-inquiry-inner a {
              gap: 0.5vw 0;
              height: 22vw;
              font-size: 3vw;
              border-radius: 3vw; }
              #main article section.s-general .container .insurance-inquiry-inner a p.icon {
                padding: 0 0 0.5vw; }
              #main article section.s-general .container .insurance-inquiry-inner a p.caution {
                font-size: 2.5vw; }
              #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-tel p {
                padding: 0 2vw; }
                #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-tel p.icon {
                  font-size: 5vw;
                  padding-left: 6vw; }
                  #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-tel p.icon::before {
                    width: 5vw;
                    height: 5vw; }
              #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-reservation p.icon {
                font-size: 4vw;
                padding-left: 6vw;
                padding-right: 1.5vw; }
                #main article section.s-general .container .insurance-inquiry-inner a.btn-insurance-reservation p.icon::before {
                  width: 5vw;
                  height: 5vw; } }

.modal-general {
  color: #524B47;
  font-size: 16px;
  max-width: 910px;
  border-radius: 6px;
  padding: 50px 30px; }
  .modal-general a.close-modal {
    background: #524B47;
    top: -22px;
    right: -22px; }
  .modal-general-index {
    text-align: center;
    border-bottom: 2px solid #ACA49F;
    padding-bottom: 20px;
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 10px; }
  .modal-general-subindex {
    color: #7A6F69;
    font-size: 18px;
    font-weight: 600;
    background: #F3F2F1;
    padding: 4px 15px;
    margin: 0 0 15px; }
  .modal-general-price em {
    font-weight: 600;
    font-style: normal; }
  .modal-general-consentform {
    margin: 25px 0 0 !important;
    padding: 15px 20px 20px;
    border: 1px solid #7A6F69;
    border-radius: 15px;
    background: #FEFBF6; }
    .modal-general-consentform-index {
      font-size: 120%;
      font-weight: 600;
      color: #7A6F69; }
    .modal-general-consentform .modal-general-btn {
      margin-top: 15px !important; }
      .modal-general-consentform .modal-general-btn a {
        width: 350px; }
  .modal-general-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 45px 0 0; }
    .modal-general-btn a {
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: 330px;
      min-height: 50px;
      font-size: 18px;
      font-weight: 500;
      color: #fff;
      text-decoration: none;
      background: #A98B89;
      border: 1px solid #A98B89;
      border-radius: 1000px;
      padding: 0 45px;
      position: relative; }
      .modal-general-btn a::before {
        content: "";
        display: block;
        width: 12px;
        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%); }
  .modal-general > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 19px;
    margin: 25px 0 0; }
    .modal-general > ul > li {
      display: flex;
      justify-content: flex-start;
      width: 270px;
      line-height: 1.3;
      border-radius: 15px;
      background-color: #FAFAFA;
      border: 1px solid #DCD8D6;
      padding: 10px 10px 10px 40px;
      position: relative; }
      .modal-general > ul > li::before {
        content: "";
        position: absolute;
        top: 12px;
        left: 15px;
        width: 15px;
        height: 16px;
        background-color: #A98B89;
        -webkit-mask: url("/assets/clinic/skin/branch/eastshinjuku/images/general01.svg") no-repeat center/contain;
        mask: url("/assets/clinic/skin/branch/eastshinjuku/images/general01.svg") no-repeat center/contain; }
      .modal-general > ul > li .small {
        display: contents;
        font-size: 80%; }
  .modal-general ul + .modal-general-subindex {
    margin-top: 30px; }
  .modal-general p + .modal-general-subindex {
    margin-top: 25px; }
  .modal-general > p .caution {
    font-size: 80%; }
  @media (max-width: 979px) {
    .modal-general {
      font-size: 3.5vw;
      border-radius: 3vw;
      padding: 5vw 3vw; }
      .modal-general a.close-modal {
        top: -17px;
        right: -17px; }
      .modal-general-index {
        font-size: 4.5vw;
        margin: 0 0 4vw; }
      .modal-general-subindex {
        font-size: 4vw;
        padding: 0.5vw 2vw;
        margin: 0 0 2.5vw; }
      .modal-general-price span {
        line-height: 1.1; }
        .modal-general-price span em {
          font-size: 4vw; }
      .modal-general-consentform {
        margin: 3vw 0 0 !important;
        padding: 2vw 2.5vw 2.5vw;
        border-radius: 2vw; }
        .modal-general-consentform .modal-general-btn {
          margin-top: 2.5vw !important; }
          .modal-general-consentform .modal-general-btn a {
            width: 70vw; }
      .modal-general-btn {
        margin: 6vw 0 0; }
        .modal-general-btn a {
          min-width: 60vw;
          min-height: 9vw;
          font-size: 3.5vw;
          padding: 0 6vw 0.5vw; }
          .modal-general-btn a::before {
            width: 2vw;
            height: 3vw;
            right: 3vw; }
      .modal-general > ul {
        gap: 2vw 3%;
        margin: 3vw 0 0; }
        .modal-general > ul > li {
          width: 48.5%;
          border-radius: 2vw;
          padding: 1.2vw 1.2vw 1.2vw 6.5vw; }
          .modal-general > ul > li::before {
            top: 1.9vw;
            left: 2.1vw;
            width: 3vw;
            height: 3vw; }
      .modal-general ul + .modal-general-subindex {
        margin-top: 4vw; }
      .modal-general p + .modal-general-subindex {
        margin-top: 3.5vw; } }
