.common-width {
  max-width: 1240px;
  width: 90%;
  margin: 0 auto;
  display: block;
}

.common-ma {
  padding: 80px 0 0 0;
}

#cta-bottom {
  position: fixed;
  right: 0;
  bottom: -97px;
  z-index: 2;
  transition: all ease 0.5s;
}
#cta-bottom #pagetop {
  display: block;
  width: 52px;
  height: 52px;
  margin: 0 16px 8px auto;
}
#cta-bottom #pagetop img {
  width: 100%;
}
#cta-bottom #cta-salon {
  background: #880C37;
  padding: 6px 8px;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.7rem;
  color: #fff;
}
#cta-bottom #cta-salon::before {
  content: "";
  background: url(../images/icon-web.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 13px;
  display: block;
  margin-right: 3px;
}

#cta-bottom.is-show {
  bottom: 0;
}

.btn {
  font-family: "Quicksand", sans-serif;
  background: #fff;
  border: 1px solid #9C9C9C;
  font-size: 1.6rem;
  border-radius: 50px;
  color: #333333;
  text-align: center;
  display: block;
  padding: 8px 0;
  width: 200px;
  margin: 0 auto;
}

.page-header-left h2 {
  font-size: 1.7rem;
  color: #BFBABC;
  line-height: 1.1;
}
.page-header-left h2 span {
  font-size: 4.2rem;
  font-family: "Quicksand", sans-serif;
  line-height: 1.1;
  color: #787487;
}

.post {
  opacity: 0;
}

.fadein {
  opacity: 0;
  transition: all 1.3s;
  transform: translate(0, 45px);
}

.anchor {
  display: block;
  padding-top: 140px;
  margin-top: -140px !important;
}

#key-visual {
  width: 100%;
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
#key-visual .logo-top {
  position: absolute;
  top: 12px;
  left: 1vw;
  width: 142px;
  height: 51px;
}
#key-visual .key-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
  gap: 3px;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
#key-visual .key-list .key-item:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}
#key-visual .key-list .key-item:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}
#key-visual .key-list .key-item:nth-child(3) {
  grid-column: 3/4;
  grid-row: 1/2;
}
#key-visual .key-list .key-item:nth-child(4) {
  grid-column: 1/2;
  grid-row: 2/3;
}
#key-visual .key-list .key-item:nth-child(5) {
  grid-column: 2/3;
  grid-row: 2/3;
}
#key-visual .key-list .key-item:nth-child(6) {
  grid-column: 3/4;
  grid-row: 2/3;
}
#key-visual .key-list .key-item:nth-child(7) {
  height: 20vh;
  grid-column: 1/4;
  grid-row: 3/4;
  background: url(../images/key-bg.webp) no-repeat center;
  background-size: cover;
  position: relative;
}
#key-visual .key-list .key-item:nth-child(7) .key-logo {
  position: absolute;
  top: 0;
  bottom: 80px;
  left: 0;
  right: 0;
  margin: auto;
  width: 100px;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 1;
}
#key-visual .key-list .key-item:nth-child(7) .key-logo img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#key-visual .key-list .key-item:nth-child(7) .key-txt {
  position: absolute;
  top: 20px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 360px;
  width: 70%;
}
#key-visual .key-list .key-item:nth-child(7) .key-txt img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#key-visual .key-list .key-item:nth-child(8) {
  grid-column: 1/2;
  grid-row: 4/5;
}
#key-visual .key-list .key-item:nth-child(9) {
  grid-column: 2/3;
  grid-row: 4/5;
}
#key-visual .key-list .key-item:nth-child(10) {
  grid-column: 3/4;
  grid-row: 4/5;
}
#key-visual .key-list .key-item:nth-child(11) {
  grid-column: 1/2;
  grid-row: 5/6;
}
#key-visual .key-list .key-item:nth-child(12) {
  grid-column: 2/3;
  grid-row: 5/6;
}
#key-visual .key-list .key-item:nth-child(13) {
  grid-column: 3/4;
  grid-row: 5/6;
}
#key-visual .key-list .key-item video, #key-visual .key-list .key-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  height: 20vh;
}
#key-visual .key-list .key-item .pc {
  display: none;
}

#subkey-visual {
  height: 260px;
  position: relative;
  display: grid;
  place-items: center;
}
#subkey-visual .logo-top {
  position: absolute;
  top: 12px;
  left: 1vw;
  width: 142px;
  height: 51px;
}
#subkey-visual .key-txt {
  height: -moz-fit-content;
  height: fit-content;
}
#subkey-visual .pankuzu {
  position: absolute;
  bottom: 8px;
  right: 2vw;
  display: flex;
  align-items: center;
  z-index: 2;
}
#subkey-visual .pankuzu li {
  margin-right: 48px;
  position: relative;
}
#subkey-visual .pankuzu li:last-child {
  margin-right: 0;
}
#subkey-visual .pankuzu li:last-child::after {
  display: none;
}
#subkey-visual .pankuzu li::after {
  content: ">";
  font-size: 1.7rem;
  font-family: "Quicksand", sans-serif;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -28px;
}
#subkey-visual .pankuzu li a {
  font-size: 1.6rem;
  font-family: "Quicksand", sans-serif;
}

#subkey-visual2 {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  display: grid;
  place-items: center;
}
#subkey-visual2 .subkey-top {
  width: 100%;
  height: 260px;
  position: relative;
  display: grid;
  place-items: center;
}
#subkey-visual2 .subkey-top .logo-top {
  position: absolute;
  top: 12px;
  left: 1vw;
  width: 142px;
  height: 51px;
}
#subkey-visual2 .subkey-top .key-txt {
  font-size: 5.6rem;
  color: #CB2D63;
  text-align: center;
  font-family: "Quicksand", sans-serif;
  height: -moz-fit-content;
  height: fit-content;
}
#subkey-visual2 .subkey-top .key-txt span {
  font-size: 4.5rem;
  color: #CB2D63;
  font-family: "Quicksand", sans-serif;
}
#subkey-visual2 .subkey-top .pankuzu {
  position: absolute;
  bottom: 8px;
  right: 2vw;
  display: flex;
  align-items: center;
  z-index: 2;
}
#subkey-visual2 .subkey-top .pankuzu li {
  margin-right: 48px;
  position: relative;
}
#subkey-visual2 .subkey-top .pankuzu li:last-child {
  margin-right: 0;
}
#subkey-visual2 .subkey-top .pankuzu li:last-child::after {
  display: none;
}
#subkey-visual2 .subkey-top .pankuzu li::after {
  content: ">";
  font-size: 1.7rem;
  font-family: "Quicksand", sans-serif;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -28px;
}
#subkey-visual2 .subkey-top .pankuzu li a {
  font-size: 1.6rem;
  font-family: "Quicksand", sans-serif;
}
#subkey-visual2 .sub-img {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: calc(100vh - 260px);
}
#subkey-visual2 .sub-img img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
#subkey-visual2 .sub-img img:last-child {
  display: none;
}

.menu-bg {
  background: url(../images/menu/bg.webp) no-repeat center;
  background-size: cover;
}
.menu-bg .key-txt {
  width: 210px;
}

.faq-bg {
  background: url(../images/faq/bg.webp) no-repeat center;
  background-size: cover;
}
.faq-bg .key-txt {
  width: 120px;
}

.news-bg {
  background: url(../images/news/bg.webp) no-repeat center;
  background-size: cover;
}
.news-bg .key-txt {
  width: 200px;
}

.salon-bg {
  position: relative;
}
.salon-bg .sub-img {
  position: absolute;
  display: grid;
  height: 100%;
  grid-template-columns: 1fr 1fr;
}
.salon-bg .sub-img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.salon-bg .key-txt {
  width: 180px;
  position: relative;
  z-index: 1;
}

.products-bg {
  background: url(../images/products/bg.webp) no-repeat center;
  background-size: cover;
}
.products-bg .key-txt {
  width: 280px;
}

.contact-bg {
  background: url(../images/contact/bg.webp) no-repeat center;
  background-size: cover;
}
.contact-bg .key-txt {
  width: 240px;
}

.recruit-bg {
  position: relative;
}
.recruit-bg .sub-img {
  position: absolute;
  display: grid;
  height: 100%;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.recruit-bg .sub-img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.recruit-bg .key-txt {
  width: 200px;
  position: relative;
  z-index: 1;
}

.not-bg {
  background: url(../images/news/bg.webp) no-repeat center;
  background-size: cover;
}
.not-bg .key-txt {
  width: 260px;
}

#top-contents {
  margin-bottom: 160px;
}
#top-contents .news .news-left {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: -moz-fit-content;
  height: fit-content;
}
#top-contents .news .news-left .btn {
  margin: 0 0 0 auto;
}
#top-contents .news .news-list {
  margin-top: 28px;
}
#top-contents .news .news-list .news-box {
  border-top: 1px solid #E9E9E9;
}
#top-contents .news .news-list .news-box:last-child {
  border-bottom: 1px solid #E9E9E9;
}
#top-contents .news .news-list .news-box a {
  padding: 12px 0;
  display: flex;
}
#top-contents .news .news-list .news-box a .news-thumbnail {
  width: 20%;
  max-width: 150px;
}
#top-contents .news .news-list .news-box a .news-contents {
  max-width: calc(100% - 150px);
  width: 80%;
  padding: 0 0 0 32px;
}
#top-contents .news .news-list .news-box a .news-contents time {
  font-size: 1.5rem;
  color: #8F8F8F;
  font-family: "Quicksand", sans-serif;
}
#top-contents .news .news-list .news-box a .news-contents h3 {
  font-size: 1.8rem;
  font-weight: 500;
}
#top-contents .product h2 {
  text-align: center;
}
#top-contents .product .product-bnr {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
#top-contents .product .product-bnr li:nth-child(1) .product-thumbnail {
  border: 1px solid #BFBABC;
}
#top-contents .product .product-bnr li:nth-child(1) .product-logo {
  background: #380082;
}
#top-contents .product .product-bnr li:nth-child(2) .product-logo {
  background: #272634;
}
#top-contents .product .product-bnr li a {
  display: flex;
}
#top-contents .product .product-bnr li a .product-thumbnail {
  width: 38%;
}
#top-contents .product .product-bnr li a .product-thumbnail img {
  -o-object-fit: cover;
     object-fit: cover;
}
#top-contents .product .product-bnr li a .product-logo {
  width: 62%;
  display: grid;
  place-items: center;
  padding: 16px 0;
}
#top-contents .product .product-bnr li a .product-logo img {
  width: 120px;
  height: 58px;
  -o-object-fit: contain;
     object-fit: contain;
}
#top-contents .greeting .greeting-contents {
  max-width: 1075px;
  width: 90%;
  margin: 0 auto;
  padding: 40px 0;
  background: url(../images/key-bg.webp) no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
}
#top-contents .greeting .greeting-contents h2 {
  text-align: center;
}
#top-contents .greeting .greeting-contents h3 {
  text-align: center;
  font-size: 2.4rem;
  font-family: "Noto Serif JP";
  margin: 16px auto;
}
#top-contents .greeting .greeting-contents h3 span {
  font-size: 2.8rem;
  color: #E16690;
  font-family: "Noto Serif JP";
}
#top-contents .greeting .greeting-contents h3 br {
  display: none;
}
#top-contents .greeting .greeting-contents .greeting-txt {
  font-size: 1.6rem;
  line-height: 1.8;
  max-width: 700px;
  width: 90%;
  margin: 0 auto 24px auto;
}
#top-contents .greeting .greeting-contents .name {
  text-align: right;
  font-weight: 500;
  font-size: 1.6rem;
  max-width: 700px;
  width: 90%;
  margin: 0 auto;
}
#top-contents .greeting .greeting-imglist {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: -3vw;
}
#top-contents .greeting .greeting-imglist li img {
  display: block;
}
#top-contents .age {
  width: 90%;
  margin: 0 auto;
}
#top-contents .age h2 {
  font-size: 2.8rem;
  text-align: center;
  font-family: "Noto Serif JP";
}
#top-contents .age h2 span {
  font-size: 3.6rem;
  color: #E16690;
  font-family: "Noto Serif JP";
}
#top-contents .age .age-list {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px 28px;
}
#top-contents .age .age-list li {
  position: relative;
}
#top-contents .age .age-list li:nth-child(even) h3 {
  background: #CB2D63;
}
#top-contents .age .age-list li:nth-child(odd) h3 {
  background: #E16690;
}
#top-contents .age .age-list li h3 {
  font-family: "Quicksand", sans-serif;
  font-size: 2.1rem;
  text-align: center;
  color: #fff;
  padding: 4px 0;
  max-width: 240px;
  width: 85%;
  border-radius: 50px;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
}
#top-contents .age .age-list li figure img {
  border-radius: 12px;
}
#top-contents .age .age-list li p {
  font-size: 1.7rem;
  line-height: 1.5;
  margin-top: 12px;
}
#top-contents .menu {
  background: url(../images/menu-bg.webp) no-repeat;
  background-size: cover;
  padding: 60px 0;
  margin-top: 80px;
}
#top-contents .menu h2 {
  color: #fff;
  text-align: center;
}
#top-contents .menu h2 span {
  color: #fff;
}
#top-contents .menu .menu-contents {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}
#top-contents .menu .menu-contents li a {
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 0 16px 0 16px;
  position: relative;
}
#top-contents .menu .menu-contents li a::before {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  left: 0;
}
#top-contents .menu .menu-contents li a::after {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
#top-contents .menu .menu-contents li a h3 {
  text-align: center;
  font-size: 1.8rem;
  color: #BFBABC;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1.1;
  padding: 3rem 0;
  margin-top: 8px;
}
#top-contents .menu .menu-contents li a h3 span {
  font-size: 2.8rem;
  font-family: "Quicksand", sans-serif;
  line-height: 1.1;
}
#top-contents .salon-info {
  margin-top: 80px;
}
#top-contents .salon-info h2 {
  text-align: center;
}
#top-contents .salon-info .salon-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  margin-top: 24px;
}
#top-contents .salon-info .salon-wrap .salon-item {
  padding: 40px 3vw 24px 3vw;
}
#top-contents .salon-info .salon-wrap .salon-item h3 {
  font-size: 3.2rem;
  font-family: "Quicksand", sans-serif;
  text-align: center;
  line-height: 0.6;
}
#top-contents .salon-info .salon-wrap .salon-item h3 strong {
  font-size: 2.2rem;
  line-height: 1.1;
}
#top-contents .salon-info .salon-wrap .salon-item h3 span {
  font-size: 1.6rem;
  line-height: 1.1;
}
#top-contents .salon-info .salon-wrap .salon-item .btn {
  background: #7B7577;
  color: #fff;
  margin: 24px auto;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area {
  background: #fff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  padding: 16px 0;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area h4 {
  font-size: 2.1rem;
  text-align: center;
  font-weight: 500;
  margin-bottom: 12px;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list {
  display: flex;
  align-items: center;
  justify-content: center;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list .contact-btn:nth-child(1) {
  margin-right: 2%;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list .contact-btn:nth-child(1) a {
  background: #E16690;
  pointer-events: none;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list .contact-btn:nth-child(1) a::before {
  background: url(../images/tel.svg) no-repeat;
  background-size: contain;
  width: 11px;
  height: 11px;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list .contact-btn:nth-child(2) a {
  background: #880C37;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list .contact-btn:nth-child(2) a::before {
  background: url(../images/icon-web.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 12px;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list .contact-btn a {
  color: #fff;
  padding: 8px 0;
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
}
#top-contents .salon-info .salon-wrap .salon-item .contact-area .btn-list .contact-btn a::before {
  content: "";
  display: block;
  margin-right: 3px;
}
#top-contents .salon-info .salon-wrap .salon-item .staff, #top-contents .salon-info .salon-wrap .salon-item .style {
  margin-top: 32px;
}
#top-contents .salon-info .salon-wrap .salon-item .staff h4, #top-contents .salon-info .salon-wrap .salon-item .style h4 {
  text-align: center;
  font-size: 3.2rem;
  text-align: center;
  font-family: "Quicksand", sans-serif;
}
#top-contents .salon-info .salon-wrap .salon-item .staff .splide__slide img, #top-contents .salon-info .salon-wrap .salon-item .style .splide__slide img {
  height: 13vw;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top-contents .salon-info .salon-wrap .salon-design {
  background: url(../images/salon-design-bg.webp) no-repeat center;
  background-size: cover;
}
#top-contents .salon-info .salon-wrap .salon-style {
  background: url(../images/salon-style-bg.webp) no-repeat center;
  background-size: cover;
}
#top-contents .recruit {
  margin-top: 80px;
  background: url(../images/key-bg.webp) no-repeat;
  background-size: cover;
  padding: 40px 40px;
}
#top-contents .recruit h2 {
  text-align: center;
}
#top-contents .recruit p {
  font-size: 2rem;
  text-align: center;
  margin: 16px auto;
}
#top-contents .recruit p br {
  display: none;
}
#top-contents .recruit .btn {
  background: #880C37;
  color: #fff;
  border: none;
}
#top-contents .recruit .recruit-imglist {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 24px;
}
#top-contents .recruit .recruit-imglist img {
  display: block;
}
#top-contents .instagram-bnr {
  display: grid;
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
  grid-template-columns: 1fr;
  gap: 28px;
}
#top-contents .instagram-bnr .bnr-box {
  background: linear-gradient(-90deg, rgb(126, 75, 173), rgb(190, 50, 127), rgb(249, 165, 85));
  padding: 8px;
}
#top-contents .instagram-bnr .bnr-box:nth-child(1) a {
  background: url(../images/instagram-axt-bg.webp) no-repeat center;
  background-size: cover;
}
#top-contents .instagram-bnr .bnr-box:nth-child(2) a {
  background: url(../images/instagram-style-bg.webp) no-repeat;
  background-size: cover;
}
#top-contents .instagram-bnr .bnr-box:nth-child(3) a {
  background: url(../images/instagram-reel-bg.webp) no-repeat center;
  background-size: cover;
}
#top-contents .instagram-bnr .bnr-box a {
  display: block;
  padding: 24px 0 16px 0;
}
#top-contents .instagram-bnr .bnr-box a h3 {
  font-size: 2.4rem;
  text-align: center;
}
#top-contents .instagram-bnr .bnr-box a h3 span {
  font-family: "Quicksand", sans-serif;
  font-size: 3.2rem;
}
#top-contents .instagram-bnr .bnr-box a h3 strong {
  font-family: "Quicksand", sans-serif;
  font-size: 2.4rem;
}
#top-contents .instagram-bnr .bnr-box a figure {
  width: 200px;
  margin: 6px auto 8px auto;
}
#top-contents .instagram-bnr .bnr-box a figure img {
  display: block;
}
#top-contents .instagram-bnr .bnr-box a p {
  background: #656172;
  padding: 6px 0;
  border-radius: 50px;
  width: 200px;
  margin: 0 auto;
}
#top-contents .instagram-bnr .bnr-box a p img {
  width: 84px;
  margin: 0 auto;
}

#menu-contents .menu-btn .intro {
  font-size: 1.8rem;
  text-align: center;
}
#menu-contents .menu-btn .menu-contents {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
}
#menu-contents .menu-btn .menu-contents li a {
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 0 16px 0 16px;
  position: relative;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.08);
}
#menu-contents .menu-btn .menu-contents li a::before {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  left: 0;
}
#menu-contents .menu-btn .menu-contents li a::after {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
#menu-contents .menu-btn .menu-contents li a h3 {
  text-align: center;
  font-size: 1.6rem;
  color: #BFBABC;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1.1;
  padding: 2rem 0;
  margin-top: 8px;
}
#menu-contents .menu-btn .menu-contents li a h3 span {
  font-size: 2.2rem;
  font-family: "Quicksand", sans-serif;
  line-height: 1.1;
}
#menu-contents .menu {
  border-top: 1px solid #DFDFDF;
  padding: 32px 0;
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
}
#menu-contents .menu:last-child {
  margin-bottom: 100px;
  border-bottom: 1px solid #DFDFDF;
}
#menu-contents .menu .menu-title {
  padding-right: 24px;
}
#menu-contents .menu .menu-title h2 {
  font-size: 1.4rem;
  font-family: "M PLUS 1", sans-serif;
  color: #BFBABC;
  line-height: 1.1;
}
#menu-contents .menu .menu-title h2 span {
  font-size: 2.6rem;
  color: #CB2D63;
  font-family: "Quicksand", sans-serif;
  line-height: 1.1;
}
#menu-contents .menu .menu-title .tyuui {
  font-size: 1.4rem;
  margin-top: 12px;
}
#menu-contents .menu .menu-title .student {
  font-size: 1.5rem;
  background: #fff;
  border: 1px solid #BFBABC;
  padding: 2px 16px;
  border-radius: 50px;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 6px;
}
#menu-contents .menu .menu-contents {
  width: 68%;
  display: grid;
  gap: 16px;
  height: -moz-fit-content;
  height: fit-content;
}
#menu-contents .menu .menu-contents .menu-item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  overflow: hidden;
}
#menu-contents .menu .menu-contents .menu-item dt, #menu-contents .menu .menu-contents .menu-item dd {
  font-size: 1.5rem;
}
#menu-contents .menu .menu-contents .menu-item dt {
  background: #FFFAF5;
  padding-right: 4px;
  position: relative;
  z-index: 1;
}
#menu-contents .menu .menu-contents .menu-item dd {
  width: 85px;
  font-family: "Jost";
  position: relative;
}
#menu-contents .menu .menu-contents .menu-item dd::before {
  content: "";
  width: 100vw;
  height: 1px;
  position: absolute;
  background-image: linear-gradient(to right, rgb(101, 97, 114), rgb(101, 97, 114) 1px, transparent 3px, transparent 6px);
  background-size: 8px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
  top: 0;
  bottom: 0;
  right: 86px;
  margin: auto;
}
#menu-contents .menu .menu-contents .menu-item .menu-info {
  width: 100%;
  font-size: 1.5rem;
  color: #B1B0B2;
}
#menu-contents .menu .menu-contents .menu-img {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
#menu-contents .menu + .menu {
  margin-top: 0;
}

#faq-contents .intro {
  font-size: 1.8rem;
  text-align: center;
}
#faq-contents .faq-list {
  display: grid;
  gap: 16px;
  margin: 24px auto 120px auto;
}
#faq-contents .faq-list .faq-box {
  padding: 24px 40px;
  background: #fff;
  border-radius: 0 16px 0 16px;
  position: relative;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.08);
}
#faq-contents .faq-list .faq-box::before {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  left: 0;
}
#faq-contents .faq-list .faq-box::after {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
#faq-contents .faq-list .faq-box h2 {
  font-size: 2.2rem;
  color: #CB2D63;
  border-bottom: 1px solid #DFDFDF;
  padding-bottom: 6px;
  position: relative;
  padding-left: 32px;
}
#faq-contents .faq-list .faq-box h2::before {
  content: "Q";
  font-size: 3.2rem;
  color: #CB2D63;
  font-family: "Quicksand", sans-serif;
  position: absolute;
  top: -10px;
  left: 0;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
#faq-contents .faq-list .faq-box .faq-a {
  font-size: 1.6rem;
  line-height: 1.7;
  margin-top: 12px;
}

#news-contents {
  margin-bottom: 120px;
}
#news-contents .news-list .news-box {
  border-top: 1px solid #E9E9E9;
}
#news-contents .news-list .news-box:last-child {
  border-bottom: 1px solid #E9E9E9;
}
#news-contents .news-list .news-box a {
  padding: 12px 0;
  display: flex;
}
#news-contents .news-list .news-box a .news-thumbnail {
  width: 20%;
  max-width: 150px;
}
#news-contents .news-list .news-box a .news-contents {
  max-width: calc(100% - 150px);
  width: 80%;
  padding: 0 0 0 32px;
}
#news-contents .news-list .news-box a .news-contents time {
  font-size: 1.5rem;
  color: #8F8F8F;
  font-family: "Quicksand", sans-serif;
}
#news-contents .news-list .news-box a .news-contents h3 {
  font-size: 1.8rem;
  font-weight: 500;
}
#news-contents .pagenation ul {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 16px 24px;
  margin: 40px 0;
  position: relative;
}
#news-contents .pagenation ul li {
  margin-right: 2%;
}
#news-contents .pagenation ul li a {
  font-size: 1.7rem;
  font-family: "Quicksand";
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  height: 35px;
  font-size: 1.7rem;
  width: 35px;
  background: #DC4177;
  border-radius: 50px;
}
#news-contents .pagenation ul .page-active {
  font-size: 1.7rem;
  font-family: "Quicksand";
}
#news-contents .pagenation ul .next a, #news-contents .pagenation ul .prev a {
  color: #656172;
  font-size: 1.7rem;
  background: none;
  width: auto;
  font-family: "Quicksand";
}
#news-contents .pagenation ul .next {
  position: absolute;
  right: 2%;
  top: 0;
  bottom: 0;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
}
#news-contents .pagenation ul .prev {
  position: absolute;
  left: 2%;
  top: 0;
  bottom: 0;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
}
#news-contents .news-detail .news-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 6px;
}
#news-contents .news-detail .news-title time {
  font-size: 1.5rem;
  color: #8F8F8F;
  font-family: "Quicksand", sans-serif;
  width: 90px;
}
#news-contents .news-detail .news-title h2 {
  width: calc(100% - 90px);
  font-size: 2.2rem;
  color: #CB2D63;
}
#news-contents .news-detail .news-contents {
  padding: 24px 0;
  border-top: 1px solid #E9E9E9;
  border-bottom: 1px solid #E9E9E9;
}
#news-contents .news-detail .news-contents h1 {
  font-size: 3.6rem;
}
#news-contents .news-detail .news-contents h2 {
  font-size: 3.2rem;
}
#news-contents .news-detail .news-contents h3 {
  font-size: 3rem;
}
#news-contents .news-detail .news-contents h4 {
  font-size: 2.8rem;
}
#news-contents .news-detail .news-contents h5 {
  font-size: 2.4rem;
}
#news-contents .news-detail .news-contents h6 {
  font-size: 2.1rem;
}
#news-contents .news-detail .news-contents a {
  color: #CB2D63;
  text-decoration: underline;
}
#news-contents .news-detail .news-contents p {
  font-size: 1.6rem;
}
#news-contents .news-detail .news-contents figure {
  max-width: 600px;
  width: auto;
  margin: 12px auto;
}
#news-contents .news-detail .btn {
  margin: 32px auto 0 auto;
}

#salon-contents .salon-list {
  display: grid;
  gap: 24px;
  margin-bottom: 120px;
}
#salon-contents .salon-list .salon-box .salon-link {
  display: flex;
}
#salon-contents .salon-list .salon-box .salon-link figure {
  width: 40%;
}
#salon-contents .salon-list .salon-box .salon-link figure img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt {
  width: 60%;
  background: #fff;
  padding: 24px;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt h2 {
  font-size: 3.6rem;
  color: #CB2D63;
  font-family: "Quicksand", sans-serif;
  line-height: 1;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt h2 span {
  font-size: 2.8rem;
  color: #CB2D63;
  font-family: "Quicksand", sans-serif;
  line-height: 1;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt p {
  font-size: 1.8rem;
  color: #919191;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt dl {
  margin: 16px 0;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt dl dt, #salon-contents .salon-list .salon-box .salon-link .salon-txt dl dd {
  font-size: 1.5rem;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt dl dd br {
  display: none;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list {
  display: flex;
  align-items: center;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li {
  width: 48%;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li:nth-child(1) {
  margin-right: 4%;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li:nth-child(1) .btn {
  background: #CB2D63;
  font-size: 1.6rem;
  padding: 8px 0;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li:nth-child(1) .btn::before {
  background: url(../images/icon-web.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 12px;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li:nth-child(2) a {
  background: #656172;
  pointer-events: none;
  font-size: 1.8rem;
  padding: 6px 0;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li:nth-child(2) a::before {
  background: url(../images/tel.svg) no-repeat;
  background-size: contain;
  width: 14px;
  height: 14px;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li a {
  width: 100%;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: relative;
  border: none;
}
#salon-contents .salon-list .salon-box .salon-link .salon-txt .btn-list li a::before {
  content: "";
  display: block;
  margin-right: 4px;
}

#hairdesign-axt-contents .salon-info {
  width: 90%;
  margin: 0 auto;
}
#hairdesign-axt-contents .salon-info .info-txt {
  background: #fff;
  padding: 32px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
}
#hairdesign-axt-contents .salon-info .info-txt h2 {
  font-size: 5.2rem;
  color: #CB2D63;
  font-family: "Quicksand", sans-serif;
  line-height: 1.2;
}
#hairdesign-axt-contents .salon-info .info-txt h2 span {
  font-size: 4rem;
  color: #CB2D63;
  font-family: "Quicksand", sans-serif;
  line-height: 1.2;
}
#hairdesign-axt-contents .salon-info .info-txt p {
  font-size: 2.3rem;
  color: #919191;
  line-height: 1;
}
#hairdesign-axt-contents .salon-info .info-txt .info-list {
  margin-top: 24px;
  display: grid;
  gap: 6px;
}
#hairdesign-axt-contents .salon-info .info-txt .info-list .info-item {
  display: flex;
  align-items: center;
}
#hairdesign-axt-contents .salon-info .info-txt .info-list .info-item dt, #hairdesign-axt-contents .salon-info .info-txt .info-list .info-item dd {
  font-size: 1.6rem;
}
#hairdesign-axt-contents .salon-info .info-txt .info-list .info-item dt {
  width: 103px;
  background: #EDECEF;
  padding: 4px 0;
  text-align: center;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#hairdesign-axt-contents .salon-info .info-txt .info-list .info-item dd {
  width: calc(100% - 103px);
  padding-left: 16px;
}
#hairdesign-axt-contents .salon-info .salon-map iframe {
  width: 100%;
  height: 280px;
}
#hairdesign-axt-contents .staff {
  margin-bottom: 100px;
}
#hairdesign-axt-contents .staff h2 {
  text-align: center;
}
#hairdesign-axt-contents .staff .intro {
  font-size: 1.8rem;
  text-align: center;
  margin: 24px 0 12px 0;
}
#hairdesign-axt-contents .staff .staff-list {
  display: grid;
  gap: 24px;
}
#hairdesign-axt-contents .staff .staff-list .staff-item {
  display: flex;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-img {
  width: 220px;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-img img {
  -o-object-fit: cover;
     object-fit: cover;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt {
  width: calc(100% - 220px);
  background: #fff;
  padding: 16px 0 24px 24px;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-prof h3 {
  font-size: 2.2rem;
  font-weight: 600;
  border-bottom: 1px solid #DFDFDF;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-prof .name {
  color: #BFBABC;
  font-size: 1.4rem;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-prof .yaku {
  font-size: 1.4rem;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-prof .message {
  margin-top: 12px;
  font-size: 1.4rem;
  line-height: 1.5;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info {
  display: grid;
  gap: 6px;
  margin-top: 12px;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item {
  display: flex;
  align-items: center;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item dt, #hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item dd {
  font-size: 1.5rem;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item dt {
  width: 84px;
  background: #EDECEF;
  padding: 4px 0;
  text-align: center;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item dd {
  width: calc(100% - 84px);
  padding-left: 16px;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item dd a {
  text-decoration: underline;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item .instagram a {
  position: relative;
  display: flex;
  align-items: center;
  transition: all ease 0.5s;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item .instagram a:hover {
  color: #CB2D63;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item .instagram a::before {
  content: "";
  background: url(../images/salon/instagram.svg) no-repeat;
  background-size: contain;
  width: 17px;
  height: 17px;
  margin-right: 4px;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item .reserve a {
  color: #CB2D63;
  transition: all ease 0.5s;
}
#hairdesign-axt-contents .staff .staff-list .staff-item .staff-txt .staff-info .info-item .reserve a:hover {
  color: #880C37;
}

#products-contents .milbon-bnr {
  display: flex;
}
#products-contents .milbon-bnr figure {
  width: 50%;
}
#products-contents .milbon-bnr figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
#products-contents .milbon-bnr .milbon-txt {
  width: 50%;
  background: #380082;
  padding: 16px 24px;
  display: grid;
  place-items: center;
}
#products-contents .milbon-bnr .milbon-txt .txt-wrap h2 {
  width: 90px;
  margin: 0 auto;
}
#products-contents .milbon-bnr .milbon-txt .txt-wrap p {
  font-size: 1.5rem;
  color: #fff;
  line-height: 1.5;
  margin: 12px auto;
}
#products-contents .milbon-bnr .milbon-txt .txt-wrap .btn {
  background: none;
  color: #fff;
}
#products-contents .products-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin: 60px auto 100px auto;
}
#products-contents .products-list li a {
  display: block;
  position: relative;
  overflow: hidden;
}
#products-contents .products-list li a p {
  font-size: 1.8rem;
  text-align: center;
  margin-top: 4px;
}
#products-contents .refa-bnr {
  display: flex;
  margin-bottom: 120px;
}
#products-contents .refa-bnr figure {
  width: 35%;
}
#products-contents .refa-bnr figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
#products-contents .refa-bnr .refa-txt {
  width: 65%;
  background: #272634;
  display: grid;
  place-items: center;
  padding: 40px 0;
}
#products-contents .refa-bnr .refa-txt h2 {
  width: 300px;
}

#contact-contents .intro {
  font-size: 1.8rem;
  text-align: center;
}
#contact-contents form {
  margin-top: 24px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 40px 48px;
  border-radius: 0 16px 0 16px;
  position: relative;
}
#contact-contents form::before {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  left: 0;
}
#contact-contents form::after {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
#contact-contents form dl div {
  padding: 12px 0;
}
#contact-contents form dl div dt {
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 8px;
}
#contact-contents form dl div dt span.hissu {
  color: #fff;
  background: #CB2D63;
  line-height: 1;
  font-size: 1.2rem;
  padding: 1px 4px;
  margin-right: 6px;
}
#contact-contents form dl div dt br {
  display: none;
}
#contact-contents form dl div dd input, #contact-contents form dl div dd textarea {
  font-size: 1.7rem;
  padding: 16px 16px;
  background: #F8F8F6;
  border: 1px solid #D5D5D5;
  box-sizing: border-box;
  width: 100%;
  border-radius: 3px;
  font-weight: bold;
}
#contact-contents form dl div .radio label {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
  font-size: 1.5rem;
  margin: 6px 24px 6px 0;
  display: inline-block;
  width: auto;
}
#contact-contents form dl div .radio input {
  border-radius: 50px;
  position: absolute;
  background-color: #fff;
  border: 1px solid #D4D0D0;
  width: 16px;
  height: 16px;
  font-size: 16px;
  top: 1px;
  left: 0;
  accent-color: #CB2D63;
}
#contact-contents form dl div .radio .visually-hidden {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
#contact-contents form .check {
  margin-top: 24px;
  text-align: center;
}
#contact-contents form .check label {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
#contact-contents form .check label span {
  font-size: 1.8rem;
  font-weight: 500;
}
#contact-contents form .btn-group {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 40px auto 0 auto;
  position: relative;
}
#contact-contents form .btn-group::before {
  content: "";
  background: url(../images/contact/arrow.svg) no-repeat;
  background-size: contain;
  width: 5px;
  height: 9px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 24px;
  z-index: 1;
}
#contact-contents form .btn-group input[type=submit] {
  border: none;
  font-size: 1.7rem;
  -webkit-appearance: none;
  padding: 16px 60px;
  background: #CB2D63;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
}
#contact-contents form .wpcf7-not-valid-tip {
  font-size: 1.3rem;
}
#contact-contents form .wpcf7-response-output {
  font-size: 1.8rem;
  text-align: center;
  color: #dc3232;
  font-weight: bold;
}
#contact-contents form .wpcf7-spinner {
  position: absolute !important;
}
#contact-contents .privacy {
  margin: 100px auto;
}
#contact-contents .privacy h2 {
  text-align: center;
}
#contact-contents .privacy .privacy-contents {
  background: #fff;
  padding: 32px;
  margin-top: 16px;
}
#contact-contents .privacy .privacy-contents .intro, #contact-contents .privacy .privacy-contents h3, #contact-contents .privacy .privacy-contents p {
  font-size: 1.6rem;
  text-align: left;
}
#contact-contents .privacy .privacy-contents ol {
  margin-top: 16px;
  display: grid;
  gap: 16px;
}
#contact-contents .privacy .privacy-contents ol h3 {
  font-weight: 600;
}

#recruit-contents .greeting .greeting-contents {
  max-width: 1075px;
  width: 90%;
  margin: 0 auto;
  padding: 40px 0;
  background: url(../images/key-bg.webp) no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
}
#recruit-contents .greeting .greeting-contents h2 {
  text-align: center;
}
#recruit-contents .greeting .greeting-contents h3 {
  text-align: center;
  font-size: 2.8rem;
  color: #E16690;
  font-family: "Noto Serif JP";
  margin: 16px auto;
}
#recruit-contents .greeting .greeting-contents .greeting-txt {
  font-size: 1.6rem;
  line-height: 1.8;
  max-width: 700px;
  width: 90%;
  margin: 0 auto 24px auto;
}
#recruit-contents .greeting .greeting-contents .name {
  text-align: right;
  font-weight: 500;
  font-size: 1.6rem;
  max-width: 700px;
  width: 90%;
  margin: 0 auto;
}
#recruit-contents .greeting .greeting-imglist {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: -3vw;
}
#recruit-contents .greeting .greeting-imglist li img {
  display: block;
}
#recruit-contents .message {
  display: flex;
  justify-content: space-between;
}
#recruit-contents .message figure {
  width: 240px;
}
#recruit-contents .message figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
#recruit-contents .message .message-txt {
  width: calc(100% - 240px - 4%);
}
#recruit-contents .message .message-txt .name {
  font-size: 2rem;
  font-weight: 600;
  margin: 8px 0 12px 0;
  display: flex;
  align-items: center;
}
#recruit-contents .message .message-txt .name span {
  font-size: 1.5rem;
  color: #fff;
  background: #CB2D63;
  padding: 2px 12px;
  margin-right: 8px;
}
#recruit-contents .message .message-txt .txt-detail {
  font-size: 1.6rem;
  line-height: 1.6;
}
#recruit-contents .voice h2 {
  text-align: center;
}
#recruit-contents .voice .voice-list {
  display: grid;
  gap: 24px;
  margin-top: 16px;
}
#recruit-contents .voice .voice-list .voice-box {
  padding: 32px;
  background: #fff;
  border-radius: 0 16px 0 16px;
  position: relative;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.08);
}
#recruit-contents .voice .voice-list .voice-box::before {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  left: 0;
}
#recruit-contents .voice .voice-list .voice-box::after {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
#recruit-contents .voice .voice-list .voice-box figure {
  width: 220px;
  margin: 0 auto 16px auto;
}
#recruit-contents .voice .voice-list .voice-box figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
#recruit-contents .voice .voice-list .voice-box .voice-txt h3 {
  font-size: 2.1rem;
  font-weight: 600;
  border-bottom: 1px solid #DFDFDF;
  text-align: center;
}
#recruit-contents .voice .voice-list .voice-box .voice-txt .name {
  color: #BFBABC;
  font-size: 1.5rem;
  margin: 4px 0;
  text-align: center;
}
#recruit-contents .voice .voice-list .voice-box .voice-txt .yaku {
  font-size: 1.5rem;
  text-align: center;
}
#recruit-contents .voice .voice-list .voice-box .voice-txt .txt-detail {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-top: 12px;
}
#recruit-contents .lesson h2 {
  text-align: center;
}
#recruit-contents .lesson .intro {
  font-size: 1.7rem;
  text-align: center;
  margin: 24px auto;
}
#recruit-contents .lesson .splide__slide img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  display: block;
}
#recruit-contents .lesson .lesson-detail {
  margin-top: 40px;
}
#recruit-contents .lesson .lesson-detail table {
  width: 100%;
  margin-top: 12px;
}
#recruit-contents .lesson .lesson-detail table tr {
  border-bottom: 1px solid #DFDFDF;
}
#recruit-contents .lesson .lesson-detail table tr:last-child {
  border-bottom: none;
}
#recruit-contents .lesson .lesson-detail table tr th, #recruit-contents .lesson .lesson-detail table tr td {
  font-size: 1.6rem;
  padding: 12px 0;
  text-align: center;
}
#recruit-contents .lesson .lesson-detail table tr th {
  background: #CB2D63;
  font-weight: 500;
  color: #fff;
  border-right: 1px solid #DFDFDF;
}
#recruit-contents .lesson .lesson-detail table tr th:last-child {
  border-right: none;
}
#recruit-contents .lesson .lesson-detail table tr td {
  background: #fff;
  border-right: 1px solid #DFDFDF;
}
#recruit-contents .lesson .lesson-detail table tr td:last-child {
  border-right: none;
}
#recruit-contents .lesson .lesson-detail .tyuui {
  font-size: 1.6rem;
  margin-top: 8px;
}
#recruit-contents .lesson .lesson-detail .tyuui span {
  color: #CB2D63;
  font-size: 1.7rem;
}
#recruit-contents .lesson .lesson-detail .debut {
  background: url(../images/recruit/lesson-bg.webp) no-repeat center;
  background-size: cover;
  padding: 48px 0;
  position: relative;
  margin-top: 68px;
}
#recruit-contents .lesson .lesson-detail .debut::before {
  content: "";
  background: url(../images/recruit/arrow.svg) no-repeat;
  background-size: contain;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  margin: auto;
}
#recruit-contents .lesson .lesson-detail .debut p {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 600;
  color: #CB2D63;
}
#recruit-contents .flow {
  overflow: hidden;
}
#recruit-contents .flow h2 {
  text-align: center;
}
#recruit-contents .flow .flow-list {
  margin-top: 16px;
}
#recruit-contents .flow .flow-list .flow-box {
  display: flex;
  justify-content: space-between;
  padding-bottom: 24px;
}
#recruit-contents .flow .flow-list .flow-box .time {
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  font-weight: 600;
  padding: 16px 0;
  border-radius: 8px;
  height: -moz-fit-content;
  height: fit-content;
  width: 200px;
  background: #CB2D63;
  position: relative;
  z-index: 2;
}
#recruit-contents .flow .flow-list .flow-box .time::before {
  content: "";
  width: 1px;
  height: 15vw;
  position: absolute;
  background-image: linear-gradient(to bottom, rgb(203, 45, 99), rgb(203, 45, 99) 4px, transparent 4px, transparent 2px);
  background-size: 1px 8px;
  background-repeat: repeat-y;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
#recruit-contents .flow .flow-list .flow-box .flow-contents {
  width: calc(100% - 200px - 4%);
  display: flex;
  justify-content: space-between;
}
#recruit-contents .flow .flow-list .flow-box .flow-contents figure {
  width: 25%;
}
#recruit-contents .flow .flow-list .flow-box .flow-contents figure img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 6px;
}
#recruit-contents .flow .flow-list .flow-box .flow-contents .flow-txt {
  width: 72%;
}
#recruit-contents .flow .flow-list .flow-box .flow-contents .flow-txt h3 {
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 2px;
  border-bottom: 1px solid #DFDFDF;
}
#recruit-contents .flow .flow-list .flow-box .flow-contents .flow-txt p {
  font-size: 1.6rem;
  margin-top: 2px;
}
#recruit-contents .point h2 {
  text-align: center;
}
#recruit-contents .point .point-list {
  margin-top: 16px;
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
}
#recruit-contents .point .point-list .point-box {
  padding: 24px;
  background: #fff;
  border-radius: 0 16px 0 16px;
  position: relative;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.08);
}
#recruit-contents .point .point-list .point-box:nth-child(1) h3::before {
  content: "01";
}
#recruit-contents .point .point-list .point-box:nth-child(2) h3::before {
  content: "02";
}
#recruit-contents .point .point-list .point-box:nth-child(3) h3::before {
  content: "03";
}
#recruit-contents .point .point-list .point-box:nth-child(4) h3::before {
  content: "04";
}
#recruit-contents .point .point-list .point-box:nth-child(5) h3::before {
  content: "05";
}
#recruit-contents .point .point-list .point-box:nth-child(6) h3::before {
  content: "06";
}
#recruit-contents .point .point-list .point-box:nth-child(7) h3::before {
  content: "07";
}
#recruit-contents .point .point-list .point-box:nth-child(8) h3::before {
  content: "08";
}
#recruit-contents .point .point-list .point-box:nth-child(9) h3::before {
  content: "09";
}
#recruit-contents .point .point-list .point-box:nth-child(10) h3::before {
  content: "10";
}
#recruit-contents .point .point-list .point-box::before {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  left: 0;
}
#recruit-contents .point .point-list .point-box::after {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
#recruit-contents .point .point-list .point-box h3 {
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 600;
  padding-bottom: 6px;
  border-bottom: 1px solid #DFDFDF;
  padding-left: 32px;
  position: relative;
}
#recruit-contents .point .point-list .point-box h3::before {
  content: "";
  font-size: 1.7rem;
  background: #E16690;
  font-family: "Quicksand", sans-serif;
  font-weight: 400;
  color: #fff;
  text-align: center;
  position: absolute;
  display: grid;
  place-items: center;
  top: -3px;
  left: 0;
  border-radius: 50px;
  width: 28px;
  height: 28px;
}
#recruit-contents .point .point-list .point-box p {
  font-size: 1.6rem;
  margin-top: 6px;
}
#recruit-contents .recruitment h2 {
  text-align: center;
}
#recruit-contents .recruitment .tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 20px;
  margin-top: 16px;
}
#recruit-contents .recruitment .tab label {
  order: -1;
  width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4em 1em;
  border-radius: 50px;
  border: 1px solid #BFBABC;
  background-color: #fff;
  font-size: 1.7rem;
  text-align: center;
  cursor: pointer;
  transition: all ease 0.5s;
  font-family: "Noto Sans JP";
}
#recruit-contents .recruitment .tab label br {
  display: none;
}
#recruit-contents .recruitment .tab label:hover {
  background: #CB2D63;
  color: #fff;
  border: none;
}
#recruit-contents .recruitment .tab label:has(:checked) {
  border: 1px solid #BFBABC;
  background-color: #CB2D63;
  color: #fff;
  border: none;
}
#recruit-contents .recruitment .tab label:has(:checked) + div {
  display: block;
}
#recruit-contents .recruitment .tab label input {
  display: none;
}
#recruit-contents .recruitment .tab .tab-contents {
  padding: 24px 40px;
  background: #fff;
  border-radius: 0 16px 0 16px;
  position: relative;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.08);
  display: none;
  width: 100%;
  margin-top: 24px;
  background: #fff;
  position: relative;
}
#recruit-contents .recruitment .tab .tab-contents::before {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  left: 0;
}
#recruit-contents .recruitment .tab .tab-contents::after {
  content: "";
  background: url(../images/menu-icon.svg) no-repeat;
  background-size: contain;
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
#recruit-contents .recruitment .tab .tab-contents .intro {
  font-size: 1.6rem;
  margin-bottom: 16px;
}
#recruit-contents .recruitment .tab .tab-contents table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 8px;
}
#recruit-contents .recruitment .tab .tab-contents table tr th, #recruit-contents .recruitment .tab .tab-contents table tr td {
  font-size: 1.6rem;
}
#recruit-contents .recruitment .tab .tab-contents table tr th {
  background: #EDECEF;
  font-weight: 400;
  width: 100px;
  vertical-align: middle;
}
#recruit-contents .recruitment .tab .tab-contents table tr td {
  padding: 8px 16px 8px 20px;
  background: #fff;
  width: calc(100% - 100px);
}
#recruit-contents .rest {
  background: url(../images/key-bg.webp) no-repeat center;
  background-size: cover;
  padding: 40px 0;
  margin: 60px auto 120px auto;
}
#recruit-contents .rest h2 {
  text-align: center;
}
#recruit-contents .rest h3 {
  font-size: 2.8rem;
  font-family: "Noto Serif JP";
  text-align: center;
  color: #E16690;
  margin: 16px 0;
}
#recruit-contents .rest h3 br {
  display: none;
}
#recruit-contents .rest .rest-txt {
  font-size: 1.6rem;
  width: 90%;
  margin: 0 auto;
}
#recruit-contents .rest h4 {
  background: #E16690;
  padding: 6px 24px;
  border-radius: 50px;
  color: #fff;
  font-size: 1.8rem;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 32px auto 16px auto;
}
#recruit-contents .rest .rest-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 8px;
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
}
#recruit-contents .rest .rest-list h5, #recruit-contents .rest .rest-list p {
  font-size: 1.6rem;
  text-align: center;
  padding: 6px 0;
}
#recruit-contents .rest .rest-list h5 {
  background: #EDECEF;
}
#recruit-contents .rest .rest-list p {
  background: #fff;
}

#global-footer .footer-info {
  background: url(../images/footer-infobg.webp) no-repeat center;
  background-size: cover;
  padding: 80px 0;
}
#global-footer .footer-info h2 {
  color: #9F97B7;
}
#global-footer .footer-info .info-contents {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
}
#global-footer .footer-info .info-contents .info-list {
  margin: 12px 0;
}
#global-footer .footer-info .info-contents .info-list .info-item {
  margin: 8px 0;
}
#global-footer .footer-info .info-contents .info-list .info-item dt, #global-footer .footer-info .info-contents .info-list .info-item dd {
  font-size: 1.6rem;
  color: #000;
}
#global-footer .footer-info .info-contents .info-list .info-item dt {
  font-weight: 600;
}
#global-footer .footer-info .info-contents .info-list .info-item dd a {
  text-decoration: underline;
  color: #DC4177;
}
#global-footer .footer-info .info-contents .info-left {
  width: 55%;
}
#global-footer .footer-info .info-contents .info-left h3 {
  font-size: 1.6rem;
  color: #fff;
  background: #656172;
  padding: 4px;
  text-align: center;
  border-radius: 50px;
  width: 200px;
}
#global-footer .footer-info .info-contents .info-left .salontitle {
  margin-top: 36px;
}
#global-footer .footer-info .info-contents .info-left iframe {
  width: 100%;
  height: 170px;
}
#global-footer .footer-info .info-contents .info-left .card {
  background: #fff;
  padding-bottom: 16px;
}
#global-footer .footer-info .info-contents .info-left .card h3 {
  font-size: 1.5rem;
  text-align: center;
  color: #fff;
  padding: 6px 0;
  width: 100%;
  border-radius: 0;
  margin-bottom: 16px;
}
#global-footer .footer-info .info-contents .info-left .card .card-list {
  display: flex;
  align-items: center;
  justify-content: center;
}
#global-footer .footer-info .info-contents .info-left .card .card-list:last-child img {
  height: 23px;
}
#global-footer .footer-info .info-contents .info-left .card .card-list li {
  margin: 1%;
}
#global-footer .footer-info .info-contents .info-left .card .card-list li img {
  width: -moz-fit-content;
  width: fit-content;
  height: 40px;
  -o-object-fit: contain;
     object-fit: contain;
}
#global-footer .footer-info .info-contents .info-left .card .card-img {
  display: none;
}
#global-footer .footer-info .info-contents .info-right {
  width: 38%;
}
#global-footer .footer-info .info-contents .info-right .carender {
  font-size: 1.6rem;
}
#global-footer .footer-info .info-contents .info-right .carender .month-dayname-space {
  font-size: 1.1rem;
}
#global-footer .footer-bottom {
  padding: 60px 0 12px 0;
  background: url(../images/key-bg.webp) no-repeat center;
  background-size: cover;
}
#global-footer .footer-bottom .bottom-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#global-footer .footer-bottom .bottom-wrap .logo {
  width: 168px;
}
#global-footer .footer-bottom .bottom-wrap .footer-menu {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
#global-footer .footer-bottom .bottom-wrap .footer-menu .footer-list:nth-child(1) {
  display: grid;
  gap: 10px;
}
#global-footer .footer-bottom .bottom-wrap .footer-menu .footer-list:nth-child(2) {
  margin-left: 120px;
}
#global-footer .footer-bottom .bottom-wrap .footer-menu .footer-list:nth-child(2) span {
  font-size: 1.4rem;
}
#global-footer .footer-bottom .bottom-wrap .footer-menu .footer-list:nth-child(2) li:nth-of-type(n+2) {
  padding-left: 1rem;
  border-left: 1px solid #BEBEBE;
}
#global-footer .footer-bottom .bottom-wrap .footer-menu .footer-list .menu a {
  font-size: 1.7rem;
  font-weight: 400;
  display: block;
  color: #575A59;
  font-family: "Quicksand", sans-serif;
}
#global-footer .footer-bottom .copy_small {
  text-align: center;
  font-size: 1.2rem;
  margin-top: 60px;
}

#contents-404 {
  margin-bottom: 120px;
}
#contents-404 h2 {
  font-size: 2.8rem;
  text-align: center;
  font-family: "Noto Serif JP";
  margin-bottom: 16px;
}
#contents-404 p {
  font-size: 1.6rem;
  text-align: center;
}/*# sourceMappingURL=tb_style.css.map */