@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap");
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none; }

p {
  margin-bottom: 0.5em;
  line-height: 2; }
  p:last-child {
    margin-bottom: 0; }
  p a {
    text-decoration: underline; }

img {
  max-width: 100%;
  height: auto; }

a {
  color: #111;
  text-decoration: none;
  transition: 0.3s; }
  a:hover, a:link, a:active, a:focus {
    color: #111; }
  a:hover {
    opacity: 0.6; }

body {
  background: #fff;
  color: #111;
  line-height: 2;
  font-family: "M PLUS Rounded 1c", sans-serif; }

.pc {
  display: block; }
  @media only screen and (max-width: 420px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media only screen and (max-width: 420px) {
    .sp {
      display: block; } }

h2.heading01 {
  text-align: center;
  font-size: 35px;
  letter-spacing: 0.1em;
  font-weight: 700;
  line-height: 1.4;
  padding: 1em 0 0.5em; }
  @media only screen and (max-width: 420px) {
    h2.heading01 {
      font-size: 24px; } }
  h2.heading01 span {
    font-size: 0.8em; }
  h2.heading01::after {
    content: "";
    display: block;
    width: 100px;
    height: 8px;
    border-radius: 10em;
    background: #d9e021;
    margin: 0.6em auto; }

.cv_area {
  background-image: url("../img/parts/cv_area/bg.png");
  background-size: cover;
  text-align: center;
  padding: 60px 15px; }
  .cv_area h2 {
    max-width: 700px;
    margin: auto; }
  .cv_area .clm {
    max-width: 700px;
    margin: auto;
    display: flex;
    padding: 40px;
    background: #fff;
    border-radius: 10px; }
    @media only screen and (max-width: 400px) {
      .cv_area .clm {
        padding: 20px;
        display: block; } }
    .cv_area .clm .clm_l,
    .cv_area .clm .clm_r {
      flex: 1;
      padding: 0 10px; }
  .cv_area .comment {
    text-align: center;
    font-size: 14px;
    font-weight: 500; }

.page_top .full_img img {
  width: 100%; }
.page_top .point {
  padding: 20px; }
  .page_top .point ul {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    flex-wrap: wrap; }
    .page_top .point ul li {
      width: calc(100% / 4);
      padding: 40px; }
      @media only screen and (max-width: 420px) {
        .page_top .point ul li {
          width: 100%; } }
      .page_top .point ul li img {
        border-radius: 100%; }
      .page_top .point ul li span {
        display: block;
        text-align: center;
        font-weight: 500;
        font-size: 16px; }
.page_top .recommend {
  margin-bottom: 60px;
  padding: 0 15px; }
  .page_top .recommend .mv_img {
    margin-bottom: 40px; }
  .page_top .recommend ul {
    max-width: 800px;
    margin: auto; }
    .page_top .recommend ul li {
      border: solid 2px #111;
      padding: 40px;
      border-radius: 10px;
      margin-bottom: 20px; }
      @media only screen and (max-width: 420px) {
        .page_top .recommend ul li {
          padding: 30px 15px; } }
      .page_top .recommend ul li h3 {
        display: flex;
        font-size: 25px;
        margin-bottom: 1em; }
        @media only screen and (max-width: 420px) {
          .page_top .recommend ul li h3 {
            font-size: 20px; } }
        .page_top .recommend ul li h3 span {
          display: block; }
          .page_top .recommend ul li h3 span:nth-child(1) {
            width: 2em;
            height: 2em;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #39b54a;
            color: #fff;
            font-size: 1em;
            margin-right: 0.5em;
            border-radius: 5px;
            position: relative; }
            .page_top .recommend ul li h3 span:nth-child(1)::before {
              content: "POINT";
              position: absolute;
              text-align: center;
              width: 100%;
              font-size: 0.5em;
              top: -1.2em;
              line-height: 1;
              color: #111; }
          .page_top .recommend ul li h3 span:nth-child(2) {
            display: block; }
      .page_top .recommend ul li .item {
        display: flex;
        align-items: center;
        gap: 20px;
        flex-wrap: wrap; }
        @media only screen and (max-width: 420px) {
          .page_top .recommend ul li .item {
            display: block; } }
        .page_top .recommend ul li .item img {
          display: block;
          max-width: 250px; }
          @media only screen and (max-width: 420px) {
            .page_top .recommend ul li .item img {
              margin: auto;
              margin-bottom: 20px; } }
        .page_top .recommend ul li .item .txt {
          flex: 1;
          font-size: 16px; }
.page_top .voice {
  padding: 60px 15px; }
  .page_top .voice ul {
    max-width: 800px;
    margin: auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px; }
    .page_top .voice ul li {
      width: calc(100% / 3 - 20px);
      border: solid 2px #111;
      padding: 20px;
      border-radius: 10px; }
      @media only screen and (max-width: 420px) {
        .page_top .voice ul li {
          width: calc(100%); } }
      .page_top .voice ul li h3 {
        display: inline-block;
        border-bottom: solid 2px #d9e021;
        margin-bottom: 0.5em;
        font-size: 15px; }
.page_top .menu {
  padding: 60px 0;
  background-image: url("../img/page/top/menu/bg_img.png");
  background-size: cover;
  text-align: center; }
  .page_top .menu .Mens h3 {
    border-bottom: solid 5px #5cd1e5; }
  .page_top .menu .Mens table tr:nth-child(odd) td {
    background: #5cd1e5; }
    .page_top .menu .Mens table tr:nth-child(odd) td::after {
      border-color: transparent transparent transparent #5cd1e5; }
  .page_top .menu .Mens table tr td {
    background: #a9e9ff; }
    .page_top .menu .Mens table tr td::after {
      border-color: transparent transparent transparent #a9e9ff; }
  .page_top .menu h3 {
    max-width: 120px;
    font-size: 28px;
    border-bottom: solid 5px #ffd2e4;
    font-weight: 500;
    text-align: center;
    margin: 0 auto 0.5em;
    padding-top: 1em; }
  .page_top .menu table {
    width: 800px;
    margin: 0 auto;
    border-spacing: 30px 15px;
    border-collapse: separate; }
    @media only screen and (max-width: 900px) {
      .page_top .menu table {
        width: 100%; } }
    .page_top .menu table tr:nth-child(odd) td {
      background: #ffb6d4; }
      .page_top .menu table tr:nth-child(odd) td::after {
        border-color: transparent transparent transparent #ffb6d4; }
      .page_top .menu table tr:nth-child(odd) td:nth-child(2) {
        background: #e6e6e6; }
        .page_top .menu table tr:nth-child(odd) td:nth-child(2)::after {
          border-color: transparent transparent transparent #e6e6e6; }
    .page_top .menu table tr th {
      font-size: 17px;
      line-height: 0; }
      @media only screen and (max-width: 420px) {
        .page_top .menu table tr th {
          font-size: 12px; } }
    .page_top .menu table tr td {
      background: #ffd2e4;
      width: calc(100% / 3);
      position: relative;
      height: 60px;
      text-align: center;
      font-weight: 500;
      font-size: 17px;
      line-height: 1; }
      @media only screen and (max-width: 420px) {
        .page_top .menu table tr td {
          font-size: 12px; } }
      .page_top .menu table tr td small {
        font-size: 10px; }
      .page_top .menu table tr td::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 0 30px 20px;
        border-color: transparent transparent transparent #ffd2e4;
        position: absolute;
        top: 0;
        right: -20px; }
      .page_top .menu table tr td:last-child::after {
        display: none; }
      .page_top .menu table tr td:nth-child(2) {
        background: #fff; }
        .page_top .menu table tr td:nth-child(2)::after {
          border-color: transparent transparent transparent #fff; }
.page_top .menu_2 {
  padding: 60px 0;
  background-image: url("../img/page/top/menu/bg_img.png");
  background-size: cover;
  text-align: center; }
  .page_top .menu_2 .Mens {
    padding-top: 40px; }
    .page_top .menu_2 .Mens h3 {
      border-bottom: solid 5px #5cd1e5; }
    .page_top .menu_2 .Mens table tr:nth-child(odd) td {
      background: #5cd1e5; }
      .page_top .menu_2 .Mens table tr:nth-child(odd) td::after {
        border-color: transparent transparent transparent #5cd1e5; }
    .page_top .menu_2 .Mens table tr td {
      background: #a9e9ff; }
      .page_top .menu_2 .Mens table tr td::after {
        border-color: transparent transparent transparent #a9e9ff; }
  .page_top .menu_2 h3 {
    max-width: 120px;
    font-size: 28px;
    border-bottom: solid 5px #ffd2e4;
    font-weight: 500;
    text-align: center;
    margin: 0 auto 0.5em;
    padding-top: 1em; }
  .page_top .menu_2 table {
    width: 800px;
    margin: 0 auto;
    border-spacing: 30px 15px;
    border-collapse: separate; }
    @media only screen and (max-width: 900px) {
      .page_top .menu_2 table {
        width: 100%; } }
    .page_top .menu_2 table tr:nth-child(odd) td {
      background: #ffb6d4; }
      .page_top .menu_2 table tr:nth-child(odd) td::after {
        border-color: transparent transparent transparent #ffb6d4; }
    .page_top .menu_2 table tr th {
      font-size: 17px;
      line-height: 0; }
      @media only screen and (max-width: 420px) {
        .page_top .menu_2 table tr th {
          font-size: 14px; } }
    .page_top .menu_2 table tr td {
      background: #ffd2e4;
      width: calc(100% / 3);
      position: relative;
      height: 60px;
      text-align: center;
      font-weight: 500;
      font-size: 17px;
      line-height: 1; }
      @media only screen and (max-width: 420px) {
        .page_top .menu_2 table tr td {
          font-size: 14px; } }
      .page_top .menu_2 table tr td small {
        font-size: 12px; }
      .page_top .menu_2 table tr td::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 0 30px 20px;
        border-color: transparent transparent transparent #ffd2e4;
        position: absolute;
        top: 0;
        right: -20px; }
      .page_top .menu_2 table tr td:last-child::after {
        display: none; }
.page_top .step {
  padding: 60px 15px; }
  .page_top .step ul {
    max-width: 800px;
    margin: auto; }
    .page_top .step ul li {
      display: flex;
      gap: 20px;
      margin-bottom: 60px;
      position: relative; }
      @media only screen and (max-width: 420px) {
        .page_top .step ul li {
          display: block; } }
      .page_top .step ul li:nth-child(odd) .txt_box h3 span:nth-child(1) {
        background: #d9e021; }
      .page_top .step ul li:last-child::after {
        display: none; }
      .page_top .step ul li::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 20px 30px 0 30px;
        border-color: #aaa transparent transparent transparent;
        position: absolute;
        bottom: -40px;
        left: 0;
        right: 0;
        margin: auto; }
      .page_top .step ul li .img_box {
        max-width: 300px; }
        @media only screen and (max-width: 420px) {
          .page_top .step ul li .img_box {
            margin: auto; } }
      .page_top .step ul li .txt_box {
        flex: 1;
        padding-top: 20px; }
        .page_top .step ul li .txt_box h3 {
          display: flex;
          font-size: 22px;
          margin-bottom: 1em; }
          .page_top .step ul li .txt_box h3 span {
            display: block; }
            .page_top .step ul li .txt_box h3 span:nth-child(1) {
              width: 2em;
              height: 2em;
              display: flex;
              align-items: center;
              justify-content: center;
              background: #39b54a;
              color: #fff;
              font-size: 1em;
              margin-right: 0.3em;
              border-radius: 100%;
              position: relative; }
              .page_top .step ul li .txt_box h3 span:nth-child(1)::before {
                content: "STEP";
                position: absolute;
                text-align: center;
                width: 100%;
                font-size: 0.5em;
                top: -1.2em;
                line-height: 1;
                color: #111; }
            .page_top .step ul li .txt_box h3 span:nth-child(2) {
              flex: 1;
              display: block; }
        .page_top .step ul li .txt_box .txt {
          font-size: 17px;
          font-weight: 500; }
.page_top .salon {
  padding: 60px 15px; }
  .page_top .salon table {
    max-width: 800px;
    margin: 0 auto 40px; }
    .page_top .salon table tr {
      display: block;
      border-bottom: solid 1px #d9e021;
      padding: 10px; }
      .page_top .salon table tr th {
        width: 100px;
        text-align: left; }
        @media only screen and (max-width: 420px) {
          .page_top .salon table tr th {
            display: block; } }
  .page_top .salon .map iframe {
    width: 100%;
    height: 400px; }
.page_top .faq {
  padding: 60px 15px; }
  .page_top .faq .accordion {
    max-width: 900px;
    margin: auto; }
    .page_top .faq .accordion .title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: solid 1px #d9e021;
      cursor: pointer;
      padding: 10px 20px 10px 10px;
      font-size: 18px;
      font-weight: 500; }
      .page_top .faq .accordion .title:after {
        content: "";
        display: block;
        width: 0.5em;
        height: 0.5em;
        border-top: solid 2px #111;
        border-right: solid 2px #111;
        transform: rotate(135deg);
        transition: 0.2s; }
      .page_top .faq .accordion .title.open:after {
        transform: rotate(-45deg); }
    .page_top .faq .accordion .content {
      padding: 10px;
      display: none; }

footer {
  padding: 40px 20px; }
  footer .logo img {
    display: block;
    max-width: 200px;
    margin: auto; }

/*# sourceMappingURL=style.css.map */
