#kachi-premium header h1 span {
  display: inline-block;
  padding-bottom: 10px; }
  @media screen and (max-width: 767px) {
    #kachi-premium header h1 span {
      font-size: 0.7em;
      line-height: 1.5; } }
#kachi-premium > section h2 {
  position: relative;
  padding-left: 15px;
  padding-bottom: 0;
  font-size: 25px;
  text-align: left;
  color: #792529; }
  @media screen and (max-width: 767px) {
    #kachi-premium > section h2 {
      margin-bottom: 20px;
      font-size: 22px; } }
  #kachi-premium > section h2::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 5px;
    height: calc(100% - 12px);
    background-color: #792529; }
#kachi-premium > section p {
  font-size: 15px;
  line-height: 1.6;
  text-align: justify; }
  #kachi-premium > section p.phone {
    margin-top: 10px !important;
    padding-top: 6px;
    border-top: 1px dotted #000;
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      #kachi-premium > section p.phone {
        font-size: 15px; } }
    #kachi-premium > section p.phone::before {
      content: '';
      display: inline-block;
      width: 14px;
      height: 14px;
      margin-right: 5px;
      background-image: url("../img/kachi-salon/phone.png");
      background-size: cover; }
    #kachi-premium > section p.phone a[href^="tel:"] {
      pointer-events: none; }
      @media screen and (max-width: 767px) {
        #kachi-premium > section p.phone a[href^="tel:"] {
          pointer-events: auto; } }
    #kachi-premium > section p.phone + .address {
      margin-top: 0; }
  #kachi-premium > section p.note {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 12px;
    line-height: 1.5; }
#kachi-premium > section figure {
  margin-top: 20px; }
  #kachi-premium > section figure figcaption {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.5; }
#kachi-premium > section h4 {
  position: relative;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0; }
  @media screen and (max-width: 767px) {
    #kachi-premium > section h4 {
      font-size: 16px; } }
  #kachi-premium > section h4 span:nth-child(1) {
    display: inline-block;
    width: 5em;
    padding: 4px 0;
    margin-right: 10px;
    background-color: #000;
    border-radius: 100vmax;
    font-size: 12px;
    line-height: 1;
    color: #FFF;
    text-align: center;
    transform: translateY(-2px); }
    @media screen and (max-width: 767px) {
      #kachi-premium > section h4 span:nth-child(1) {
        padding: 2px 0;
        margin-right: 6px;
        font-size: 11px; } }
  #kachi-premium > section h4 span:nth-child(2) {
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    place-content: center;
    width: fit-content;
    height: 100%;
    padding-inline: 20px;
    background-color: #727171;
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      #kachi-premium > section h4 span:nth-child(2) {
        position: relative;
        width: 100%;
        margin-top: 5px;
        padding-inline: 8px;
        font-size: 12px; } }
#kachi-premium > section .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 50px; }
  @media screen and (max-width: 767px) {
    #kachi-premium > section .grid {
      grid-template-columns: 1fr; } }
#kachi-premium > section .grid2 {
  display: grid;
  grid-template-columns: auto 30%;
  gap: 40px;
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    #kachi-premium > section .grid2 {
      grid-template-columns: 1fr;
      gap: 20px;
      margin-bottom: 30px; } }
  #kachi-premium > section .grid2 P {
    margin-top: 0; }
    #kachi-premium > section .grid2 P img {
      float: left;
      width: 200px;
      margin: 0 20px 20px 0; }
      @media screen and (max-width: 767px) {
        #kachi-premium > section .grid2 P img {
          float: right;
          width: 160px;
          margin: 0 0 15px 15px; } }
  #kachi-premium > section .grid2 figure {
    margin-top: 0; }
#kachi-premium > section .grid3 {
  display: grid;
  grid-template-columns: auto 60%;
  gap: 40px; }
  @media screen and (max-width: 767px) {
    #kachi-premium > section .grid3 {
      grid-template-columns: 1fr;
      gap: 20px; } }
  #kachi-premium > section .grid3 P {
    margin-top: 0; }
  #kachi-premium > section .grid3 figure {
    margin-top: 0; }
#kachi-premium > section.s01 {
  margin-top: 80px; }
  @media screen and (max-width: 767px) {
    #kachi-premium > section.s01 {
      margin-top: 50px; } }
  @media screen and (max-width: 767px) {
    #kachi-premium > section.s01 .grid {
      margin-bottom: 30px; } }
  #kachi-premium > section.s01 .grid h2 {
    margin-top: 0; }
  #kachi-premium > section.s01 .grid p + div {
    margin-top: 20px; }
  #kachi-premium > section.s01 h3 {
    margin: 50px 0 30px;
    font-size: 22px; }
    @media screen and (max-width: 767px) {
      #kachi-premium > section.s01 h3 {
        margin: 30px 0 20px;
        font-size: 18px; } }
    @media screen and (max-width: 767px) {
      #kachi-premium > section.s01 h3 + .grid {
        gap: 30px; } }
    #kachi-premium > section.s01 h3 + .grid .phone {
      margin-top: 10px !important;
      padding-top: 0;
      border: none; }
  #kachi-premium > section.s01 h4 {
    padding: 6px 10px;
    margin-bottom: 20px;
    background-color: #000;
    color: #FFF; }
    #kachi-premium > section.s01 h4 span:nth-child(1) {
      background-color: #FFF;
      color: #000; }
    #kachi-premium > section.s01 h4 small {
      font-size: 0.7em; }
  #kachi-premium > section.s01 figure + .address {
    margin: 5px 0; }
#kachi-premium > section.s02 {
  margin-top: 120px;
  padding-bottom: 50px; }
  @media screen and (max-width: 767px) {
    #kachi-premium > section.s02 {
      margin-top: 40px;
      padding-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    #kachi-premium > section.s02 .grid {
      gap: 30px; } }
  #kachi-premium > section.s02 .grid > div {
    display: grid; }
    #kachi-premium > section.s02 .grid > div.header {
      place-content: center;
      padding: 0 50px;
      background-color: #000;
      color: #FFF; }
      @media screen and (max-width: 767px) {
        #kachi-premium > section.s02 .grid > div.header {
          padding: 30px; } }
      #kachi-premium > section.s02 .grid > div.header h2 {
        margin: 0;
        padding: 0;
        font-size: 36px;
        color: #FFF;
        text-align: center; }
        @media screen and (max-width: 767px) {
          #kachi-premium > section.s02 .grid > div.header h2 {
            font-size: 24px; } }
        #kachi-premium > section.s02 .grid > div.header h2::before {
          display: none; }
        #kachi-premium > section.s02 .grid > div.header h2 span:nth-child(1) {
          display: block;
          font-size: 21px; }
          @media screen and (max-width: 767px) {
            #kachi-premium > section.s02 .grid > div.header h2 span:nth-child(1) {
              font-size: 18px; } }
        #kachi-premium > section.s02 .grid > div.header h2 span:nth-child(2) {
          display: block;
          margin-top: 10px;
          padding: 6px;
          border: 1px solid #CCC;
          font-size: 13px; }
          @media screen and (max-width: 767px) {
            #kachi-premium > section.s02 .grid > div.header h2 span:nth-child(2) {
              font-size: 14px; } }
      #kachi-premium > section.s02 .grid > div.header p {
        margin: 20px 0 0; }
    #kachi-premium > section.s02 .grid > div h4 {
      order: 2; }
    #kachi-premium > section.s02 .grid > div figure {
      order: 1;
      margin-top: 0;
      margin-bottom: 15px; }
    #kachi-premium > section.s02 .grid > div p {
      order: 3; }
