@charset "UTF-8";

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/

h1, h2, h3, h4, h5, h6, p {
  text-wrap: wrap;
}


@media screen and (max-width: 1350px) and (min-width: 835px) {
  .tablet-px-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
}

@media screen and (min-width: 1023px){
  /*必要ならばここにコードを書く*/
	body::-webkit-scrollbar {
		display: none;
	}
	.page-homepage #services {
    position: relative;
  }
  .page-homepage #services .desktop-carousel-view {
    position: relative;
    width: calc(100vw - (50vw - 50%));
    margin-left: auto;
    overflow: hidden;
  }

  .page-homepage #services .custom-carousel {
    margin-left: 0;
    padding-left: 50px; /* keep your normal left space */
    padding-right: 0;
  }
	
	.page-homepage #testimonials {
    position: relative;
  }

  .page-homepage #testimonials .carousel-wrapper {
    position: relative;
    width: calc(100vw - (50vw - 30%));
    margin-left: auto;
    overflow: hidden;
  }
}

@media screen and (max-width: 1024px) {
	#news-hero .mobile-block-show {
		width: 100%;
	}
}

/*834px以下*/
@media screen and (min-width: 834px){
	 .col-md-4 {
		width: 100%;
		max-width: 33% !important;
		display: block;
	}

	.col-md-6 {
		width: 100%;
		max-width: 50% !important;
		display: block;
	}

	.col-md-4{
		width: 100%;
		max-width: 33%  !important;
		display: block;
	}
	
	.col-md-mid-4 {
		width: 100%;
		max-width: 40%  !important;
		display: block;
	}

	.col-md-8 {
		width: 100%;
		max-width: 60% !important;
		display: block;
	}

	.col-md-3 {
		width: 100%;
		max-width: 25% !important;
		display: block;
	}

	.col-md-1 {
		width: 1% !important;
	}
	
	.col-md-11 {
		width: 90% !important;
	}

	.col-md-9 {
		width: 100%;
		max-width: 75% !important;
		display: block;
	}

	.col-md-2 {
		width: 100%;
		max-width: 15% !important;
		display: block;
	}

	.col-md-10 {
		width: 100%;
		max-width: 85% !important;
		display: block;
	}

	.d-md-flex {
		display: flex !important;
	}
	
	.d-md-block {
		display: block !important;
	}
	
	.mobile-menu-toggle-container {
		display: none;
	}
	
	.pb-200 {
		padding-bottom: 200px !important;
	}
	
	
	.pb-100 {
		padding-bottom: 100px !important;
	}

	.pt-100 {
		padding-top: 100px !important;
	}
	
	.franchise-line {
		position: relative;
		width: 100%;
		padding: 120px 0;
		background: radial-gradient(circle at 80% 50%, #fff8f8 0%, #fde8e6 100%);
		overflow: hidden;
	}

	.franchise-line::before,
	.franchise-line::after {
	  content: "";
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background-repeat: no-repeat;
	  background-size: cover;
	  background-position: center;
	  pointer-events: none;
	  z-index: 0;
	}

	.franchise-line::before {
		top: 0;
		background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3000 600' preserveAspectRatio='none'><path fill='%23fdfdfd' d='M0,80 C900,20 2100,90 3000,60 L3000,0 L0,0 Z'/></svg>");
		transform: scalex(-1);
	}

	.franchise-line::after {
		bottom: 0;
		background-image: url(" data:image/svg+xml;utf8,\ <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3000 600' preserveAspectRatio='none'>\ <path fill='%23fdfdfd' d='M0,500 C900,480 2100,550 3000,500 L3000,600 L0,600 Z'/>\ </svg>");
		transform: scalex(-1);
	}
	

	.pb-30 {
		padding-bottom: 30px !important;
	}

	
/* 	
	.custom-carousel::before, .custom-carousel::after {
		content: '';
		position: absolute;
		top: 0;
		width: 50px;
		height: 100%;
		z-index: 2;
		pointer-events: none;
	}

	.custom-carousel::after {
		right: 0;
		background: linear-gradient(to left, white 0%, transparent 100%);
	}

	.custom-carousel::before {
		left: 0;
		background: linear-gradient(to right, white 0%, transparent 100%);
	} */
	
	
	.background-bg-negative-bottom-200 {
		background-position: center calc(100% + 200px) !important;
	}

	.background-bg-negative-bottom-500 {
		background-position: center calc(100% + 500px) !important;
	}

	.background-bg-negative-bottom-300 {
		background-position: center calc(100% + 300px) !important;
	}

}

@media screen and (max-width: 833px) {
	.text-md-left { text-align: left !important; }
   .fs-md-40 { font-size: 40px !important; }
  .fs-md-36 { font-size: 36px !important; }
  .fs-md-32 { font-size: 32px !important; }
  .fs-md-30 { font-size: 30px !important; }
  .fs-md-28 { font-size: 28px !important; }
  .fs-md-26 { font-size: 26px !important; }
  .fs-md-25 { font-size: 25px !important; }
  .fs-md-24 { font-size: 24px !important; }
  .fs-md-23 { font-size: 23px !important; }
  .fs-md-22 { font-size: 22px !important; }
  .fs-md-20 { font-size: 20px !important; }
  .fs-md-18 { font-size: 18px !important; }
  .fs-md-17 { font-size: 17px !important; }
  .fs-md-16 { font-size: 16px !important; }
  .fs-md-15 { font-size: 15px !important; }
  .fs-md-14 { font-size: 14px !important; }
  .fs-md-13 { font-size: 13px !important; }
  .fs-md-11 { font-size: 11px !important; }
  .fs-md-12 { font-size: 12px !important; }
  .fs-md-10 { font-size: 10px !important; }
  .fs-md-8  { font-size: 8px !important; }
	
	.m-md-0 { margin: 0 !important; }
  .mt-md-0 { margin-top: 0 !important; }
  .mb-md-0 { margin-bottom: 0 !important; }
  .ml-md-0 { margin-left: 0 !important; }
  .mr-md-0 { margin-right: 0 !important; }
  .mx-md-0 { margin-left: 0 !important; margin-right: 0 !important; }
  .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; }

  .mt-md-5 { margin-top: 5px !important; }
  .mt-md-10 { margin-top: 10px !important; }
  .mt-md-20 { margin-top: 20px !important; }
	.mt-md-25 {margin-top: 25px !important;}
  .mt-md-30 { margin-top: 30px !important; }
  .mt-md-40 { margin-top: 40px !important; }
  .mt-md-50 { margin-top: 50px !important; }

  .mb-md-10 { margin-bottom: 10px !important; }
  .mb-md-20 { margin-bottom: 20px !important; }
  .mb-md-30 { margin-bottom: 30px !important; }
  .mb-md-50 { margin-bottom: 50px !important; }

  .ml-md-10 { margin-left: 10px !important; }
  .ml-md-20 { margin-left: 20px !important; }
  .ml-md-30 { margin-left: 30px !important; }

  .mr-md-10 { margin-right: 10px !important; }
  .mr-md-20 { margin-right: 20px !important; }
  .mr-md-30 { margin-right: 30px !important; }

  .mx-md-10 { margin-left: 10px !important; margin-right: 10px !important; }
  .mx-md-20 { margin-left: 20px !important; margin-right: 20px !important; }
  .mx-md-30 { margin-left: 30px !important; margin-right: 30px !important; }
  .mx-md-50 { margin-left: 50px !important; margin-right: 50px !important; }

  .my-md-10 { margin-top: 10px !important; margin-bottom: 10px !important; }
  .my-md-20 { margin-top: 20px !important; margin-bottom: 20px !important; }
  .my-md-30 { margin-top: 30px !important; margin-bottom: 30px !important; }
  .my-md-50 { margin-top: 50px !important; margin-bottom: 50px !important; }
	
	.p-md-0 { padding: 0 !important; }
  .pt-md-0 { padding-top: 0 !important; }
  .pb-md-0 { padding-bottom: 0 !important; }
  .pl-md-0 { padding-left: 0 !important; }
  .pr-md-0 { padding-right: 0 !important; }
  .px-md-0 { padding-left: 0 !important; padding-right: 0 !important; }
  .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; }

  .pt-md-5 { padding-top: 5px !important; }
  .pt-md-10 { padding-top: 10px !important; }
  .pt-md-20 { padding-top: 20px !important; }
  .pt-md-30 { padding-top: 30px !important; }
  .pt-md-50 { padding-top: 50px !important; }

  .pb-md-10 { padding-bottom: 10px !important; }
	.pb-md-12 { padding-bottom: 12px !important; }
  .pb-md-20 { padding-bottom: 20px !important; }
  .pb-md-30 { padding-bottom: 30px !important; }
  .pb-md-50 { padding-bottom: 50px !important; }
	.pb-md-100 { padding-bottom: 100px !important; }

  .pl-md-10 { padding-left: 10px !important; }
  .pl-md-20 { padding-left: 20px !important; }
  .pl-md-30 { padding-left: 30px !important; }

  .pr-md-10 { padding-right: 10px !important; }
  .pr-md-20 { padding-right: 20px !important; }
  .pr-md-30 { padding-right: 30px !important; }

  .px-md-10 { padding-left: 10px !important; padding-right: 10px !important; }
  .px-md-20 { padding-left: 20px !important; padding-right: 20px !important; }
  .px-md-30 { padding-left: 30px !important; padding-right: 30px !important; }
  .px-md-50 { padding-left: 50px !important; padding-right: 50px !important; }

  .py-md-10 { padding-top: 10px !important; padding-bottom: 10px !important; }
  .py-md-20 { padding-top: 20px !important; padding-bottom: 20px !important; }
  .py-md-30 { padding-top: 30px !important; padding-bottom: 30px !important; }
  .py-md-50 { padding-top: 50px !important; padding-bottom: 50px !important; }
	
	.text-md-center {
		text-align: center !important;
	}
	
	.w-md-100 {
		width: 100% !important;
	}
	
	.flex-direction-column-reverse {
	  flex-direction: column-reverse !important;
	}
	
	#header .mobile-menu {
		display: block;
	}
	
	#header .website-menu {
		display: none;
	}
	
	/* Menu links */
	#header .mobile-menu ul {
	  list-style: none;
	  padding: 0;
	  margin: 0 0 30px;
	}

	#header .mobile-menu ul li {
	  margin: 15px 0;
	}

	#header .mobile-menu ul li a {
	  text-decoration: none;
	  color: #333;
	  font-size: 14px;
	  font-weight: 500;
	}
	
	#header .section-container {
		padding: 0 30px 0px 30px !important;
	}
	
	#header .mobile-menu-toggle-container {
    float: right;
	}
	
	header .lumicia-logo {
		width: 100px !important;
	}

	#header .mobile-menu-toggle-container .menu-toggle .font-arsenal {
		padding-top: 4px;
	}
	
	/* Hamburger button */
	header .menu-toggle {
	  border: none;
	  background: #E0686E;
	  border-radius: 50%;
	  width: 60px;
	  height: 60px;
	  display: flex;
	  flex-direction: column;
	  justify-content: center;
	  align-items: center;
	  cursor: pointer;
	  position: relative;
	}

	/* Overlay menu */
	.mobile-menu {
	  position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: auto;
        background: #fff;
        box-shadow: -4px 0 10px rgba(0, 0, 0, 0.1);
        transition: right 0.3s ease;
        padding: 30px 50px 50px 30px;
        z-index: 999;
        text-align: center;
	}
	
	header .mobile-menu ul {
		list-style: none;
		padding: 0;
		margin-top: 30px;
	}

	header .mobile-menu ul a {
		font-size: 13px;
		text-decoration: none;
		font-family: 'Arsenal';
		color: var(--dark-grey);
	}

	header .mobile-menu .btn-reserve {
		font-size: 13px;
		column-gap: 20px;
		font-weight: 300;
		padding: 5px 15px;
		margin-top: 20px;
	}
	
	header .social-media-logo img {
		width: 25px;
	}

	.mobile-menu.active {
	  right: 0;
	  display: block !important;  
	}
	
	header {
		position: relative;
		z-index: 9999999;
		background: transparent !important;
	}

	.page-homepage #hero h1 {
		font-size: 40px !important;
	}

	.page-homepage #hero .section-container {
        height: unset !important;
        background-image: none !important;
        padding: 50px 0;
    }
	
	.page-homepage #hero .hero-mobile-image {
		display: block;
		width: 100%;
	}

	.page-homepage #hero .column-container {
		padding: 0;
	}

	.mobile-custom-padding {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}

	.page-homepage #hero .row.mobile-custom-padding {
		justify-content: center;
		margin-top: -20px;
		position: relative;
		z-index: 9999;
	}

	.mobile-hidden {
		display: none !important;
	}
	
	.page-homepage #about {
    	padding: 0 !important;
	}

	#about .red {
		font-size: 12px;
	}

	#about h3.black {
		font-size: 22px;
	}

	#about h4.black {
		font-size: 20px;
		margin-top: 15px;
	}

	#about p.fs-16 {
		margin-top: 15px !important;
		font-size: 13px;
	}

	#about .btn-default a {
		font-size: 13px;
	}

	#about .btn-default {
		margin-top: 30px !important;
	}

	#about .img-wrapper {
		display: flex;
		margin-top: 30px;
	}

	#about .section-container {
		padding: 0 !important;
	}
	
	#about .right-girl {
		right: 0;
		position: absolute;
		bottom: -30px;
	}

	#about .img-wrapper img {
		width: 250px;
	}
	
	.mobile-text-with-lines {
		display: flex !important;
	}
	
	#influencers .section-container {
		padding: 80px 0 100px 0 !important;
	}

	#influencers .section-container {
		padding: 80px 0 0 0 !important;
	}
	
	#point .section-container {
		padding: 0 !important;
	}


	#influencers .mobile-content .col-md-3 {
		flex: 0 0 70%;
		max-width: 200px;
		scroll-snap-align: start;
	}

	#influencers .mobile-content {
		display: flex;
        overflow-x: auto;
        gap: 16px;
        padding: 0 0 100px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
	}

	#influencers .mobile-content::-webkit-scrollbar {
		display: none;
	}
	
	#influencers .column-container {
		padding: 0;
	}
	
	.page-homepage #before-after {
		padding: 50px 0 !important;
	}

	#before-after .section-container .column-container {
		text-align: center;
	}

	#before-after .section-container h6.red {
		font-size: 12px;
	}

	#before-after .section-container h3.black {
		font-size: 22px;
	}

	#before-after .border-thin-red, #before-after .border-thin-red-right {
		border: unset !important;
	}
	
	#before-after .full-width-section h3.red {
		font-size: 24px;
	}

	#before-after .full-width-section .fs-15, #before-after .full-width-section .fs-14 {
		font-size: 10px;
	}

	#before-after .full-width-section .fs-28 {
		font-size: 20px;
	}

	#before-after .full-width-section .fs-22 {
		font-size: 16px;
	}

	#before-after .full-width-section .row.mt-30 {
		margin-top: 0;
	}

	#before-after .px-50>.column-container {
		border-top: 1px solid var(--border-red);
		padding-left: 0;
		padding-right: 0;
		margin: auto 30px;
	}

	.page-franchise .franchise-line .section-container {
		background-image: url(/wp/wp-content/uploads/2025/10/lumicia-contact-line-bg.png);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}
	
	#before-after .px-50 {
		padding: 0;
	}

	#before-after .border-thin-red-bottom {
		border-bottom: 1px solid var(--border-red);
	}
	
	#before-after .img-wrapper {
		overflow: hidden;
		width: 160px;
	}
	
	.page-homepage #before-after>.section-container {
		margin-bottom: 5px;
	}
	
	#point h6.black {
		font-size: 12px;
	}

	#point h3.black {
		font-size: 22px;
	}

	#point p.red {
		font-size: 18px;
	}

	#point p.black {
		font-size: 13px;
		margin-top: 10px;
	}

	#point .box-point-container {
		border: 1px solid #8f8f8f4a;
		margin-bottom: 30px;
		background-color: #ffffff;
	}
	
	#services .section-container {
		padding: 0 !important;
	}

	#services h6.red {
		font-size: 12px;
	}

	#services h3.black {
		font-size: 22px;
	}

	#services .d-flex {
		justify-content: space-between;
		align-items: center;
		margin-top: 10px;
	}
	
	#services .services-some-paragraph p {
		font-size: 11px;
	}


	
	#services .mobile-column-container {
		padding-right: 0;
	}

	.carousel-button-contaniner {
		column-gap: 10px !important;
	}

	.carousel-btn {
		width: 30px !important;
		height: 30px !important;
		line-height: 0;
	}
	
	#treatments .tiktok-treatments-container .col-3 {
		flex: 0 0 70%;
		max-width: 250px;
		scroll-snap-align: start;
	}

	#treatments .tiktok-treatments-container {
		display: flex;
		overflow-x: auto;
		gap: 30px;
		padding: 0;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	
	#testimonials h6.red {
		font-size: 12px;
	}

	#testimonials h3.black {
		font-size: 24px;
	}

	#testimonials .carousel-item p {
		font-size: 10px;
	}

	.page-homepage #testimonials .testimonials-header img {
		padding-bottom: 5px;
	}
	
	#testimonials .carousel-button-contaniner {
		justify-content: flex-end;
		margin-top: 0 !important;
	}
	
	#testimonials .col-md-3 .mobile-custom-padding {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	.page-homepage #testimonials .carousel-item {
		width: 320px !important;
	}
	
	#testimonials .section-container {
		padding: 30px 0 0 0 !important;
	}
	
	#flow h6.red {
		font-size: 12px;
	}

	#flow h3.black {
		font-size: 24px;
	}

	.step-text {
		margin-top: 20px;
		padding: 10px 0 !important;
	}
	
	.step-text .black {
		margin-top: 0 !important;
	}

	.step-title-mobile {
		display: block !important;
		font-size: 18px !important;
		margin-bottom: 15px;
	}
	
	.mobile-contact-bg-show {
		background-image: url(/wp/wp-content/uploads/2025/10/mobile-pink-bg.png) !important;
		background-size: cover;
		background-repeat: no-repeat;
        background-position: center calc(100% + 800px) !important; 
	}

	.step-content .img-wrapper img {
		width: 100% !important;
		max-width: fit-content;
	}
	
	.step-content .img-wrapper {
		width: unset !important;
		max-width: fit-content !important;
	}

	.step-number {
		font-size: 18px !important;
	}

	.step-content p.black {
		font-size: 12px;
	}
	
	.step-last-mobile::after {
		content: "";
		position: absolute;
		top: 10px;
		left: 5px;
		width: 12px;
		height: 12px;
		background-color: #E0686E;
		border-radius: 50%;
	}
	
	.step:not(.step-last)::after {
		top: 10px !important;
	}
	
	#flow .column-container {
		padding-top: 0;
	}

	.page-homepage #flow .section-container {
		padding: 100px 0 50px 0 !important;
	}

	#news h6.red, #news-posts h6.red {
		font-size: 12px;
	}

	#news h3.black, #news-posts h3.black {
		font-size: 24px;
	}

	#news .news-cat, #news-posts .news-cat, .news-cat {
		font-size: 10px;
	}

	#news .news-title a, #news-posts .news-title a {
		flex: 1;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		min-width: 0;
		display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
	}

	#news .news-date, #news .news-title, #news-posts .news-date, #news-posts .news-title {
		font-size: 13px;
		display: flex;
	}

	#news .news-header, #news-posts .news-header {
		margin-bottom: 5px !important;
	}

	#news .news-item, #news-posts .news-item {
		margin: 15px 0 !important;
	}
	
	#news .column-container, #news-posts .column-container {
		padding-top: 0;
	}
	
	.page-homepage #news .section-container {
		padding: 0 0 50px 0 !important;
	}
	
	#lumicia-slider .lumicia-background-text {
		font-size: 52px !important;
	}

	#lumicia-slider .text-container {
		text-align: center;
		margin-top: -15px !important;
	}
	
	#lumicia-slider .slide img {
		width: 230px !important;
		border-radius: 15px;
	}

	#lumicia-slider .slider .slide-track {
		gap: 20px !important;;
	}
	
	.mobile-button-container {
		display: block !important;
		margin-top: 30px;
	}

	.mobile-button-container a, .accordion-redirect-container a {
		font-size: 13px !important;
	}
	
	#salon-list .accordion-redirect-container.mobile-button-container {
		display: flex !important;
		margin-top: 30px;
	}

	#salon-list h6.red {
		font-size: 12px;
	}

	#salon-list h3.black {
		font-size: 24px;
	}

	#salon-list .col-md-9 .column-container {
		padding: 15px 0;
	}

	#salon-list .accordion-title {
		font-size: 16px;
		padding: 18px 20px !important;
	}

	#salon-list .accordion-content .accordion-left-container p {
		font-size: 15px;
	}
	
	.store-details-container, .reservation-container {
		column-gap: 7px !important;
	}

	#salon-list .accordion-branch-details p {
		font-size: 12px;
	}

	#salon-list .accordion-redirect-container.mobile-button-container p {
		font-size: 13px;
	}

	#salon-list .btn-red-arrow-only a {
		height: 25px !important;
		width: 25px !important;
	}

	#salon-list .store-details-container, .reservation-container {
		column-gap: 10px;
	}

	#salon-list .accordion-content.open {
		padding: 20px 20px 30px 20px;
	}
	
	#salon-list .accordion-body:not(:last-child) {
		padding-bottom: 30px;
	}
	
	#salon-list .mobile-button-container.mt-30 {
		text-align: center;
	}
	
	#salon-list .col-md-3 .column-container {
		padding: 0;
		margin-bottom: 20px;
	}
	
	.custom-section-container {
		max-width: unset !important;
		margin: 0 30px;
		padding-top: 0;
	}

	#salon-list .custom-section-container .column-container, .contact-section-container .column-container {
		text-align: center !important;
		padding: 50px 30px !important;
	}

	#salon-list .custom-section-container .column-container p.fs-14, .contact-section-container .column-container p.fs-14{
		width: unset !important;
		font-size: 13px !important;
	}

	#salon-list .custom-section-container .column-container .btn-default a, .contact-section-container .column-container .btn-default a{
		font-size: 14px !important;
		font-weight: 300 !important;
		column-gap: 10px !important;
	}
	
	#salon-list .contact-container, .contact-section-container .contact-container {
		margin: auto 30px !important;
	}

	#salon-list .custom-section-container, .contact-section-container {
		padding-top: 0 !important;
	}
	
	#before-footer p.fs-12 {
		font-size: 10px;
	}

	#before-footer p.fs-26 {
		font-size: 20px;
	}

	#before-footer p.fs-16 {
		font-size: 13px;
	}

	#before-footer .btn-arrow-only a {
		width: 30px !important;
		height: 30px !important;
		font-size: medium;
	}
	
	#before-footer .custom-container {
		height: 180px !important;
	}

	#footer .footer-lumicia-logo {
		width: 125px;
	}

	#footer .footer-menu ul a {
		font-size: 13px;
	}

	#footer .footer-menu ul {
		padding: 0 !important;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}

	#footer .footer-copyright p {
		font-size: 10px;
		text-align: center;
		margin-top: 10px;
	}

	#footer .footer-location-container p {
		font-size: 13px;
	}

	#footer .footer-location-container .fs-16.grey {
		font-weight: 300;
	}
	
	#footer .footer-location-branches {
		flex-wrap: wrap;
		column-gap: 30px;
	}
	
	#footer .social-media-logo img {
		width: 30px;
	}
	
	#footer .column-container {
		padding: 0;
	}
	
	#lumicia-slider .column-container {
		padding-left: 0;
		padding-right: 0;
	}
	
	#treatments {
		padding-bottom: 200px;
    	margin-bottom: -100px;
	}
	
	.mobile-block-show {
		display: block !important;
	}
	
	.mobile-flex-show {
		display: flex !important;
	}
	
	.mobile-padding-x-0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.mobile-padding-x-30 {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}
	
	.mobile-padding-left-30 {
		padding-left: 30px !important;
	}
	
	.page-homepage .hero-bg-design {
		background-image: url(/wp/wp-content/uploads/2025/10/homepage-bg-phone.jpg) !important;
	}


    /*Franchise Page*/
	.page-franchise #franchise-hero .full-width-section {
		max-width: 100% !important;
		background-image: url(/wp/wp-content/uploads/2025/09/franchise-hero-bg-mobile-img.png) !important;
		height: 300px !important;
	}

	.page-franchise #franchise-hero h1 {
		font-size: 18px !important;
	}

	.page-franchise #franchise-hero .hero-container {
		margin: auto 30px !important;
		border-radius: 8px !important;
		background-color: #ffffffdb !important;
	}
	
	.page-franchise #strong-point .strong-point-box-container {
		height: unset !important;
	}

	.page-franchise #strong-point .strong-point-box-container .point-information {
		height: unset !important;
	}

	.page-franchise #strong-point .strong-point-box-container img {
		width: 50px !important;
	}
	
	#franchise-simulation .simulation-row>div {
    flex: 0 0 auto;
	}

	#franchise-simulation .simulation-row {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 10px;
	}

	#franchise-simulation .simulation-row::-webkit-scrollbar {
	  display: none;
	}

	#franchise-simulation .simulation-row {
	  -ms-overflow-style: none; 
	  scrollbar-width: none;   
	}
	
	.page-privacy-policy .contact-section-container {
		padding-bottom: 0 !important;
	}
	
	.page-company #point .section-container {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	.page-company #company-rep-message p {
		line-height: 1.3em;
		letter-spacing: 1px !important;
	}
	
	.page-company #salon-list .col-md-3 > .column-container {
		text-align: center;
	}
	
	
	.page-404 .background-section-bottom-pink{
		background-position: bottom !important;
	}

	
	.page-news .page-numbers {
		width: 30px !important;
		height: 30px !important;
		font-size: 15px !important;
	}
	
	.posts-news .social-media-top-container img, .posts-news .social-media-bottom-container img {
		width: 10px !important;
	}
	
	.posts-news .social-media-bottom-container {
		border-radius: 3px !important;
		padding: 10px 5px !important;
		width: 100% !important;
	}
	
	.page-news .news-item .img-wrapper img {
		max-width: 100% !important;
		height: 100% !important;
	}
	
	.posts-salon #salon-hero {
		background-image: url(/wp/wp-content/uploads/2025/10/Salon-List-Hero-Mobile.webp) !important;
		height: 300px !important;
	}
	
	.posts-salon .salon-table-left {
		width: 30% !important;
	}
	
	.archive-salon .salon-filter-buttons {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.archive-salon .filter-btn {
		padding: 15px 10px !important;
	}
	
	#archive-salon-filter .accordion-redirect-container a {
		font-size: 12px !important;
		width: 23px !important;
		height: 23px !important;
	}
	
	#wpcf7-f228-o1 .form-group-inquiry .wpcf7-checkbox {
		grid-template-columns: unset !important;
	}

	#wpcf7-f228-o1 .required-text {
		font-size: 13px !important;
	}

	#wpcf7-f228-o1 p:not(.required-text) {
		font-size: 15px !important;
	}

	#wpcf7-f228-o1 .wpcf7-form .form-group {
		margin-top: 30px !important;
	} 

	#wpcf7-f228-o1 .wpcf7-form .form-group input.wpcf7-text, #wpcf7-f228-o1 .wpcf7-form .form-group textarea.wpcf7-textarea {
		font-size: 15px !important;
		padding: 15px !important;
	}

	#wpcf7-f228-o1 .wpcf7-form .form-group input.wpcf7-text::placeholder, #wpcf7-f228-o1 .wpcf7-form .form-group textarea.wpcf7-textarea::placeholder {
		font-size: 15px !important;
	}

	#wpcf7-f228-o1 .wpcf7-form .btn-red-variant-vice-versa .wpcf7-submit {
		font-size: 15px !important;
		width: 200px !important;
	}

	#wpcf7-f228-o1 .wpcf7-form .button-container {
		margin-top: 20px !important;
	}

	#wpcf7-f228-o1 .wpcf7-form .form-acceptance {
		margin-top: 20px !important;
	}

	#wpcf7-f228-o1 .wpcf7-form .form-paragraph {
		margin-top: 10px !important;
	}
	
	.sidebar-container a {
		transform: unset !important;
		writing-mode: unset !important;
		border-radius: 8px 8px 0 0 !important;
		padding: 12px 30px !important;
		letter-spacing: 0.07em !important;
		width: 280px;
	}

	.sidebar-container {
		right: unset  !important;
		top: unset  !important;
		bottom: 0  !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
	
	.gap-md-15 {
		column-gap: 15px !important;
	}
	
	.page-homepage .background-3 {
		margin-top: -130px !important;
	}
	
	.page-franchise #franchise-ads .youtube-container {
		padding: 20px !important;
	}
	
	.page-franchise #franchise-ads .video {
		margin-top: 10px !important;
	}
	
	#treatments .text-with-lines::before, #treatments .text-with-lines::after {
		width: 25px !important;
		margin: 0px 10px !important;
	}

	#treatments .mobile-text-with-lines {
		padding: 0 !important;
	}

	#treatments .mobile-text-with-lines h4 {
		line-height: 1.6em !important;
	}
	
	.page-franchise #franchise-cost .cost-table .red-bg {
		width: 45% !important;
	}
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

main, footer, header {
	background-color: #ffffff;
}

/* Animation */
@keyframes fadeInUp {
	from {
		transform: translate3d(0,40px,0);
		opacity: 0;
	}
	to {
		transform: translate3d(0,0,0);
		opacity: 1;
	}
}

.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-webkit-animation-fill-mode: both;
}

.fadeInUp {
	animation-name: fadeInUp;
	-webkit-animation-name: fadeInUp;
}

/* Start hidden */
.hidden {
	opacity: 0;
}

#main {
	padding: 0 !important;
}

p {
	line-height: 1.5em;
	letter-spacing: 0.05em;
}

:root {
  --red: #E0686E;
  --black: #3E4443;
  --grey: #3E4443B2;
  --lightpink: #FDFDFD;
  --white: #ffffff;
  --darkgrey: #989898;
  --purple: #9B66CA;
  --border-red: #E0686E80;
  --green: #05C756;
}

h6 {
    font-family: "Arsenal", sans-serif;
    font-weight: 400;
    font-size: 14px;
}

h3 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 44px;
	line-height: 1.3em;
}

p, a, span {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 400;
}

h3.red {
    font-family: "Arsenal", sans-serif;
    font-weight: 400;
    font-size: 40px;
}

.step-number {
    font-family: 'Arsenal';
    font-size: 24px;
}

.step-text .red {
    font-size: 24px;
}

.news-date {
    font-family: 'Arsenal';
}

.lumicia-background-text {
    font-family: 'Arsenal';
}

.font-zen {
	font-family: 'Zen Kaku Gothic New';
	font-weight: 400;
}

.fw-500 {
	font-weight: 500;
}

.fw-700 {
	font-weight: 700 !important; 
}

.font-arsenal {
	font-family: 'Arsenal';
	font-weight: 400;
}

.footer-menu li a, .footer-copyright p, .footer-single-location>p {
    font-family: 'Arsenal';
}

.salon-map iframe {
    border-radius: 16px;
}

section .section-container {
	margin: auto;
	width: 100%;
	max-width: 1600px;
	padding: 50px 30px;
}

.row {
	display: flex;
	column-gap: 30x
}

.col-6 {
	width: 100%;
	max-width: 50%;
	display: block;
}

.col-4 {
	width: 100%;
	max-width: 33%;
	display: block;
}

.col-8 {
	width: 100%;
	max-width: 60%;
	display: block;
}

.col-3 {
	width: 100%;
	max-width: 25%;
	display: block;
}

.black {
	color: var(--black);
}

.col-1 {
	width: 10%;
}

.col-11 {
	width: 90%;
}

.col-9 {
	width: 100%;
	max-width: 75%;
	display: block;
}

.col-2 {
	width: 100%;
	max-width: 15%;
	display: block;
}

.col-10 {
	width: 100%;
	max-width: 85%;
	display: block;
}

.col-12 {
	width: 100%;
	max-width: 100%;
	display: block;
}

.d-flex {
	display: flex;
	column-gap: 15px;
}

.column-container {
	padding: 20px;
}

.d-block {
	display: block;
}

.gap-50 {
	column-gap: 50px;
}

.gap-40 {
	column-gap: 40px;
}

.gap-30 {
	column-gap: 30px;
}

.gap-20 {
	column-gap: 20px;
}

.gap-15 {
	column-gap: 15px;
}


.gap-10 {
	column-gap: 10px;
}

.d-none {
	display: none;
}

.text-center{
	text-align: center;
}

.text-left{
	text-align: left;
}

.text-right{
	text-align: right;
}

.justify-content-center {
	justify-content: center;
}

.justify-content-space-between {
	justify-content: space-between;
}

.justify-content-flex-end {
	justify-content: flex-end;
}

.align-items-center {
	align-items: center;
}

.align-content-center{
	align-content: center;
}

.red {
	color: var(--red);
}

.black {
	color: var(--black);
}

.grey {
	color: var(--grey);
}

.white {
	color: var(--white);
}

.lightpink {
	color: var(--lightpink);
}

.fs-60 {
	font-size: 60px;
}

.fs-45 {
	font-size: 45px;
}

.fs-44 {
	font-size: 44px;
}

.fs-40 {
	font-size: 40px;
}

.fs-36 {
	font-size: 32px;
}

.fs-32 {
	font-size: 32px;
}

.fs-30 {
	font-size: 30px;
}

.fs-28 {
	font-size: 28px;
}

.fs-26 {
	font-size: 26px;
}

.fs-25 {
	font-size: 25px;
}

.fs-22 {
	font-size: 22px;
}

.fs-24 {
	font-size: 24px;
}

.fs-23 {
	font-size: 23px;
}

.fs-20 {
	font-size: 20px;
}

.fs-18 {
	font-size: 18px;
}

.fs-17 {
	font-size: 17px;
}

.fs-16 {
	font-size: 16px;
}

.fs-15 {
	font-size: 15px;
}

.fs-14 {
	font-size: 14px;
}

.fs-13 {
	font-size: 13px;
}

.fs-12 {
	font-size: 12px;
}

.fs-10 {
	font-size: 10px;
}

.fs-8 {
	font-size: 8px;
}

.fw-300 {
	font-weight: 300;
}

.fw-400 {
	font-weight: 400;
}

.mx-0 {
	margin-top: 0px;
	margin-bottom: 0px;
}

.my-0 {
	margin-left: 0px;
	margin-right: 0px;
}

.mx-30 {
	margin-top: 30px;
	margin-bottom: 30px;
}

.mx-50 {
	margin-top: 50px;
	margin-bottom: 50px;
}

.my-30 {
	margin-left: 30px;
	margin-right: 30pxt;
}

.mt-80 {
	margin-top: 80px;
}

.mt-60 {
	margin-top: 60px;
}

.mt-50 {
	margin-top: 50px;
}

.mb-50 {
	margin-bottom: 50px;
}

.ml-30 {
	margin-left: 30px;
}

.mr-30 {
	margin-right: 30px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-20 {
	margin-top: 20px;
}

.mt-15 {
	margin-top: 15px;
}

.mt-9 {
	margin-top: 9px;

}

.mt-40 {
	margin-top: 40px;
}


.mt-10 {
	margin-top: 10px;
}

.mt-8 {
	margin-top: 8px;
}

.m-0 {
	margin: 0;
}

.mb-10 {
	margin-bottom: 10px;
}

.pb-10 {
	padding-bottom: 10px;
}

.float-right {
	float: right;
}

.px-0 {
	padding-top: 0px;
	padding-bottom: 0px;
}

.py-0 {
	padding-left: 0px;
	padding-right: 0px;
}

.px-50 {
	padding-top: 50px;
	padding-bottom: 50px;
}

.py-30 {
	padding-left: 30px;
	padding-right: 30px;
}

.pt-20 {
	padding-top: 20px;
}

.pt-10 {
	padding-top: 10px;
}

.pt-0 {
	padding-top: 0 !important;
}

.pr-0 {
	padding-right: 0 !important;
}

.pb-5 {
	padding-bottom: 5px;
}

.pt-50 {
	padding-top: 50px;
}

.pb-50 {
	padding-bottom: 50px;
}

.pl-30 {
	padding-left: 30px;
}

.pr-30 {
	padding-right: 30px;
}

.pl-20 {
	padding-left: 20px;
}

.pr-20 {
	padding-right: 20px;
}

.pb-20 {
	padding-bottom: 20px;
}

.p-10 {
	padding: 10px;
}

.p-15 {
	padding: 15px;
}

.pl-15 {
	padding-left: 15px;
}

.pr-8 {
	padding-right: 8px;
}

.pr-15 {
	padding-right: 15px;
}

.p-20 {
	padding: 20px;
}

.p-0 {
	padding: 0;
}

.pl-100 {
	padding-left: 100px;
}

.px-100 {
	padding-left: 100px;
	padding-right: 100px;
}

.letter-spacing-5 {
	letter-spacing: 0.05em;
}

.letter-spacing-5 {
	letter-spacing: 0.05em;
}

.letter-spacing-6 {
	letter-spacing: 0.06em;
}

.letter-spacing-7 {
	letter-spacing: 0.07em;
}

.letter-spacing-8 {
	letter-spacing: 0.08em;
}

.letter-spacing-9 {
	letter-spacing: 0.09em;
}

.line-height-130 {
	line-height: 1.3em;
}

.line-height-140 {
	line-height: 1.4em;
}

.line-height-150 {
	line-height: 1.5em;
}

.line-height-160 {
	line-height: 1.6em;
}

.line-height-170 {
	line-height: 1.7em;
}

.line-height-180 {
	line-height: 1.8em;
}

.line-height-190 {
	line-height: 1.9em;
}

.line-height-200 {
	line-height: 2em;
}

.width-230 {
	width: 230px;
}

.flex-direction-column {
	flex-direction: column;
}

.page-homepage #hero h1 {
	font-size: 94px;
    font-weight: 400;
    line-height: 1.3em;
    font-family: 'Zen Kaku Gothic New';
}


.btn-default a, .btn-default .wpcf7-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border: 1px solid var(--grey);
    border-radius: 50px;
    font-size: 16px;
    text-decoration: none;
    color: var(--grey);
    font-weight: 500;
    background-color: transparent;
    transition: 0.3s;
    font-family: 'Arsenal';
    letter-spacing: 2px;
    column-gap: 30px;
}

.btn-default {
    background-color: transparent;
    border: 0;
}

.btn-default .arrow {
    transition: 0.3s;
}

.btn-default a:hover {
    background-color: var(--grey);
    color: #ffffff;
}

.btn-default a:hover .arrow {
    transform: translateX(5px);
}

.btn-red-variant a {
    border: 1px solid var(--red);
    color: var(--red);
}

.btn-red-variant a:hover {
    background-color: var(--red);
}

.btn-red-variant-vice-versa a, .btn-red-variant-vice-versa .wpcf7-submit{
    border: 1px solid var(--red);
	background-color: var(--red);
    color: #ffffff;
}

.btn-red-variant-vice-versa a:hover, .btn-red-variant-vice-versa .wpcf7-submit:hover {
    background-color: #ffffff;
	color: var(--red)
}

.btn-arrow-only a {
    width: 40px;
    height: 40px;
    border: 1px solid var(--grey);
    border-radius: 50px;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
	text-decoration: none;
    color: var(--grey);
    font-size: 23px;
}

.btn-arrow-only a:hover {
    background-color: var(--grey);
    color: #ffffff;
    transform: scale(1.1);
}

.btn-arrow-only {
	border: 0;
	background-color: transparent;
	display: flex;
}
.btn-red-arrow-only a {
    width: 30px;
    height: 30px;
    border: 1px solid var(--red);
    border-radius: 50px;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s 
ease;
    text-decoration: none;
    color: var(--red);
    font-size: 18px;
}

.btn-red-arrow-only a:hover {
    background-color: var(--red);
    color: #ffffff;
    transform: scale(1.1);
}

.btn-red-arrow-only {
	border: 0;
	background-color: transparent;
	display: flex;
}

.btn-green-variant a {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border: 1px solid var(--green);
    border-radius: 50px;
    font-size: 16px;
    text-decoration: none;
    color: #ffffff;
    font-weight: 500;
    background-color: var(--green);
    transition: 0.3s;
    font-family: 'Arsenal';
    letter-spacing: 2px;
    column-gap: 30px;
}

.btn-green-variant {
    background-color: transparent;
    border: 0;
}

.btn-green-variant .arrow {
    transition: 0.3s;
}

.btn-green-variant a:hover {
    background-color: #019941;
}

.btn-green-variant a:hover .arrow {
    transform: translateX(5px);
}

#header .btn-reserve {
    display: flex;
    column-gap: 8px;
}

header .btn-reserve:hover {
	background-color: #ffffff !important;
    color: var(--red)  !important;
}

header .btn-reserve:hover img {
    filter: brightness(0) saturate(100%) invert(42%) sepia(70%) saturate(484%) hue-rotate(322deg) brightness(93%) contrast(93%);
}

#header .main-nav a {
    font-family: 'Poppins';
    font-weight: 400;
    color: var(--grey);
}

.gap-0 {
	column-gap: 0;
}

.border-thin-red {
    border: 1px solid var(--border-red);
}

.border-thin-red-right {
	border-right: 1px solid var(--border-red);
}

.page-homepage #hero {
    padding-top: 180px;
    margin-top: -220px;
}
/* 
.page-homepage #about, .page-homepage #influencers {
	background-color: #FFEFED;
} */

.page-homepage .hero-bg-design {
    background-image: url(/wp/wp-content/uploads/2025/09/hero-with-some-sections-bg-design.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}

.page-homepage #hero .section-container {
	background-image: url(/wp/wp-content/uploads/2025/10/hero-image.webp);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
	height: 800px;
	max-width: 100%;
	background-position: calc(100% + 200px) center;
}

.page-homepage #hero .section-container > .row {
	max-width: 1600px;
	margin: auto;
}

.page-homepage #about .about-container {
    height: 500px;
    position: relative;
}

.page-homepage #about .about-right-container img {
    position: absolute;
    right: 0;
    bottom: 0;
}

.page-homepage #about .about-left-container img {
    position: absolute;
    top: 0;
    left: 0;
}

.page-homepage #influencers .influencer-img-bg {
    background-color: #ffffff;
    padding: 10px;
    border-radius: 5px;
	box-shadow: 10px 30px 50px 10px #FFD2CC;
}

.tiktok-wrapper:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
}

#treatments {
  background: linear-gradient(180deg, rgba(253, 253, 253, 1) 0%, /* top pure white */ rgba(255, 228, 228, 0.8) 40%, /* soft pink starts lower */ rgba(255, 228, 228, 1) 70%, /* stronger pink mid */ rgba(255, 210, 210, 1) 90%, /* full pink near bottom */ rgba(255, 228, 228, 1) 100% /* subtle fade end */);
    padding-bottom: 300px;
    margin-bottom: -200px;
}

.page-homepage #lumicia-photo {
	background-color: transparent;
}

.tiktok-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tiktok-video {
  width: 100%;
  height: 360px;
  display: block;
  object-fit: cover;
  border-radius: 16px;
  overflow: hidden;
  background: transparent !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

#point .box-point-container {
    box-shadow: 10px 30px 50px 10px #FFD2CCB2;
    border-radius: 16px;
    padding: 15px;
	height: 100%;
	background: #ffffff;
}

#point .box-point-container img {
    width: 420px;
	margin-bottom: 15px;
}

#influencers .mobile-text-with-lines, #treatments .mobile-text-with-lines {
	display: none;
}

.carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}


.page-homepage #services .custom-carousel, .posts-salon .custom-carousel {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    scrollbar-width: none;
	padding: 30px 50px 100px 50px;
	margin-left: -50px;
}

.text-decoration-none {
	text-decoration: none;
}

.custom-carousel::-webkit-scrollbar, #treatments .tiktok-treatments-container::-webkit-scrollbar, .posts-salon .custom-carousel::webkit-scrollbar {
    display: none;
}

.carousel-btn {
    width: 40px;
    height: 40px;
    border: 1px solid var(--grey);
    border-radius: 50px;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-btn:hover {
    background-color: var(--grey);
    color: #ffffff;
    transform: scale(1.1);
}

.carousel-button-contaniner {
    display: flex;
    column-gap: 20px;
    justify-content: flex-end;
}

.page-homepage #services .carousel-item, .posts-salon .custom-carousel .carousel-item {
    flex: 0 0 330px;
    background: #fff;
    padding: 20px;
    box-shadow: 10px 30px 50px 10px #FFD2CCB2;
    border-radius: 16px;
    border: 1px #8F8F8F80;
	    transition: 0.5s;
}

#services .d-none, .d-none {
	display: none;
}


.page-homepage #services .carousel-item img, .posts-salon .custom-carousel .carousel-item img {
	width: 100%;
	border-radius: 10px;
	margin-bottom: 10px;
}



.page-homepage #testimonials .purple-line {
	border: 1px solid var(--purple);
}

.page-homepage #testimonials .testimonials-header {
    background-color: #F7F5EC;
    padding-top: 10px;
    padding-bottom: 10px;
}

.page-homepage #testimonials .testimonials-menu {
    background-color: var(--darkgrey);
    padding: 0 5px;
}

.page-homepage #testimonials .carousel-item {
    flex: 0 0 auto;
    width: 650px;  
    box-shadow: 0px 15px 20px 0px #FFD2CCB2;
	background-color: #ffffff;
}


.page-homepage #testimonials {
    background-image: url(/wp/wp-content/uploads/2025/09/home-voice-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}

.carousel-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
    transition: 0.5s;
}


.page-homepage #testimonials .custom-carousel {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 30px;
    scrollbar-width: none;
	padding: 0 30px 50px 30px;
}

.step {
  position: relative;
  padding-left: 30px;
}

#flow .step-title-mobile {
	display: none;
}

.step-content .img-wrapper {
    border-radius: 8px;
}

.step:not(.step-last)::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 10px;
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, rgba(217, 74, 74, 0.6), rgb(217 74 74 / 11%));
}

.step::after {
    content: "";
    position: absolute;
    top: 15px;
    left: 5px;
    width: 12px;
    height: 12px;
    background-color: #E0686E;
    border-radius: 50%;
}

.step-content:not(.step-last .step-content) {
    padding-bottom: 30px;
}

.step-text {
    border-top: 1px solid var(--border-red);
    border-bottom: 1px solid var(--border-red);
    padding: 20px 0;
	width: 100%;
}

.step-content .img-wrapper {
    max-width: 300px;
    height: 200px;
    overflow: hidden;
	display: flex;
    align-items: flex-end;
	box-shadow: 0 15px 20px 0 #FFD2CCB2;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(-250px * 7));
    transform: translateX(calc(-250px * 7));
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(-250px * 7));
    transform: translateX(calc(-250px * 7));
  }
}

#lumicia-slider .slider {
  margin: auto;
  overflow: hidden;
  position: relative;
}

#lumicia-slider .slider::before,
#lumicia-slider .slider::after {
  background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);
  content: "";
  position: absolute;
  width: 200px;
  z-index: 2;
}

#lumicia-slider .slider::after {
  right: 0;
  top: 0;
  -webkit-transform: rotateZ(180deg);
  transform: rotateZ(180deg);
}

#lumicia-slider .slider::before {
  left: 0;
  top: 0;
}

#lumicia-slider .slider .slide-track {
  -webkit-animation: scroll 40s linear infinite;
  animation: scroll 40s linear infinite;
  display: flex;
  width: calc(330px * 14);
  gap: 50px;
}


#lumicia-slider .lumicia-background-text {
    font-size: 200px;
    color: #E0686E0D;
}

#lumicia-slider .text-container {
    text-align: center;
    margin-top: -150px;
}

#lumicia-slider .slide img {
    border-radius: 25px;
	width: 300px;
}

#news .news-title:hover, #news-posts .news-title:hover {
    color: var(--red);
}

#news .news-title a, #news-posts .news-title a {
    text-decoration: none;
    transition: 0.5s;
}

#news .news-item, #news-posts .news-item {
    margin: 30px 0;
    border-bottom: 1px solid var(--border-red);
	padding-bottom: 15px;
}

#news .news-cat, #news-posts .news-cat, .news-cat {
    border: 1px solid #3e44436b;
    padding: 0px 3px;
}

#news .news-header, #news-posts .news-header {
	margin-bottom: 15px;
}

.custom-accordion {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-anchor: none;
}

.accordion-item {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 15px 20px 0 #FFD2CCB2;
  overflow: hidden;
}

.accordion-title {
  width: 100%;
  padding: 18px 20px;
  text-align: left;
  background: none;
  border: none;
  outline: none;
  color: #000000 !important;
  font-size: 22px;
  font-family: 'Zen Kaku Gothic New';
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  transition: 0.5s;
}

.accordion-title:hover {
	background-color: #ffd2cc63;
}

.accordion-item .active {
    background-color: #ffd2ccf7;
}

.accordion-arrow {
  transition: transform 0.3s ease;
}

.accordion-title.active .accordion-arrow {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: padding 0.2s ease;
  padding: 0 20px;
}

.accordion-body:not(:last-child) {
    padding-bottom: 50px;
    border-bottom: 1px solid var(--grey);
}

.accordion-content.open {
    padding: 30px 30px 50px 30px;
    max-height: 100%;
}

.accordion-body:not(:first-child) {
    padding-top: 30px;
}

.accordion-left-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;  
}

.accordion-redirect-container {
    column-gap: 30px;
}

.accordion-branch-details>.row {
    border-bottom: 1px solid #3e44434a;
    margin-top: 10px;
}

.store-details-container, .reservation-container {
    align-items: center;
}

.custom-section-container {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 50px 0 100px 0;
}

.contact-container {
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 20px 20px 10px #FFCEC7;
    border-radius: 16px;
	background-color: #ffffff;
}

.contact-image-border {
	border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

/* #before-footer .salon-list-container {
	background-image: 
        linear-gradient(rgba(253, 253, 253, 0.9), rgba(253, 253, 253, 0.9)), 
        url(/wp/wp-content/uploads/2025/09/before-footer-background-1-1.jpg);
    background-size: cover;
    background-position: center;
}
 */
#before-footer .salon-list-container {
    position: relative;
    background: url(/wp/wp-content/uploads/2025/09/before-footer-background-1-1.jpg) center/cover no-repeat;
    overflow: hidden;
	background-size: cover;
    background-position: center;
}

#before-footer .salon-list-container::before, #before-footer .recruitment-container::before, #before-footer .franchise-page-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(253, 253, 253, 0.9);
    transition: background 0.5s ease;
}

#before-footer .salon-list-container:hover p, #before-footer .recruitment-container:hover p, #before-footer .franchise-page-container:hover p {
    color: #ffffff !important;
	transition: background 0.5s ease;
}

#before-footer .salon-list-container:hover .btn-arrow-only span, #before-footer .recruitment-container:hover .btn-arrow-only span, #before-footer .franchise-page-container:hover .btn-arrow-only span {
    color: #ffffff !important;
	border-color: #ffffff !important;
	background-color: transparent !important;
	transition: background 0.5s ease;
}

#before-footer .salon-list-container:hover::before, #before-footer .recruitment-container:hover::before, #before-footer .franchise-page-container:hover::before {
    background: rgba(253, 253, 253, 0);
}

#before-footer .custom-container .column-container {
	position: relative;
}

#services .carousel-btn, #testimonials .carousel-btn {
    color: var(--grey);
}

#before-footer .recruitment-container {
	background-image: url(/wp/wp-content/uploads/2025/09/before-footer-background-2-1.jpg);
    overflow: hidden;
	background-size: cover;
    background-position: center;
	position: relative;
}

#before-footer .franchise-page-container {
    background-image: url(/wp/wp-content/uploads/2025/09/before-footer-background-3-1.jpg);
    overflow: hidden;
	background-size: cover;
    background-position: center;
	position: relative;
}

#before-footer .custom-container {
    height: 400px;
    align-content: center;
}

#news .news-item:first-child {
    margin-top: 0;
}



/*FOOTER CSS*/

.footer-menu ul {
    list-style: none;
}

.footer-menu li:not(:last-child) a {
    border-right: 1px solid var(--black);
}

.footer-menu a {
    text-decoration: none;
    color: var(--black);
    padding: 0 15px 0 0;
}

.footer-menu-container {
    margin-top: 50px;
    justify-content: space-between;
    align-items: center;
	border-bottom: 1px solid var(--grey);
    padding-bottom: 10px;
}

.footer-location-container {
    width: 100%;
    max-width: 770px;
    margin: 20px auto 0 auto;
}

.footer-single-location {
    border-bottom: 1px solid var(--grey);
}

.footer-single-location:not(:last-child) {
    margin-bottom: 15px;
}


/*HEADER CSS*/
.main-nav .menu {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 30px;
}

.main-nav .menu li {
    position: relative;
}

.main-nav .menu a {
    text-decoration: none;
    color: #333;
    font-weight: 500;
    font-size: 18px;
}

.main-nav .menu li.dropdown:hover .submenu {
    display: block;
}

#header .section-container {
    padding: 0 30px 30px 30px;
}

#header .lumicia-logo {
    width: 100px;
}

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

table {
    width: 100%;
    border-collapse: collapse;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Submenu */
.main-nav .submenu {
    display: none;
    position: absolute;
    background: #fff;
    list-style: none;
    padding: 10px 0;
    margin: 0;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.main-nav .submenu li {
    padding: 5px 20px;
}

.main-nav .submenu a {
    color: #333;
    font-size: 14px;
}

.header-menu-column {
	justify-content: flex-end;
}

.text-with-lines::before, .text-with-lines::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: var(--grey);
    vertical-align: middle;
    margin: 0 15px;
}

.text-with-lines, .text-with-left-lines {
    position: relative;
    display: inline-block;
}

.text-with-left-lines::before {
	content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: var(--grey);
    vertical-align: middle;
    margin: 0 15px 0 0;
}

.text-with-red-left-lines::before {
	content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: var(--red);
    vertical-align: middle;
    margin: 0 15px 0 0;
}

.text-with-underline p {
    border-bottom: 1px solid var(--border-red);
}

.text-with-diagonal-lines p::after {
    content: "／";
    margin-left: 8px;
}

.text-with-diagonal-lines {
    position: relative;
    display: inline-block;
}

.text-with-diagonal-lines p::before {
    content: "＼";
    margin-right: 8px;
}

.page-homepage #treatments .tiktok-treatments-container img {
    width: 330px;
}

.page-homepage #testimonials .carousel-button-contaniner {
    justify-content: flex-start;
    margin-top: 50px;
}

#lumicia-photo .section-container {
    max-width: 2400px;
    padding: 0;
}

#lumicia-photo img {
    width: 100%;
}

.sidebar-container {
    position: fixed;
    right: 0;
    top: 50%;
}

.sidebar-container a {
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    padding: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 0;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 0;
    letter-spacing: 5px;
    font-size: 16px;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 400;
    column-gap: 10px;
}

.sidebar-container .sidebar-button img {
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}

.sidebar-container:hover .sidebar-button img {
    filter: brightness(0) saturate(100%) invert(44%) sepia(65%) saturate(615%) hue-rotate(314deg) brightness(97%) contrast(90%);
}

.page-homepage #influencers .section-container {
    max-width: 1140px;
    padding: 40px 0 150px 0;
}

#before-after>.section-container {
    margin-bottom: 30px;
}

#before-after {
    padding: 40px 0 0 0;
}

#before-after .section-container {
    max-width: 1200px;
    padding: 0;
}

#point .section-container {
    max-width: 1200px;
    padding: 120px 0;
}

.page-homepage #services .section-container {
    max-width: 1200px;
    padding: 100px 0;
}

.page-homepage #treatments .section-container {
    max-width: 1200px;
    padding-bottom: 0;
}

.page-homepage #lumicia-photo .section-container {
    max-width: 100%;
    padding: 0;
}

.page-homepage #testimonials .section-container {
    max-width: 1320px;
    padding: 50px 0 50px;
}

.page-homepage .background-3 {
	background: linear-gradient(135deg, #FFEBE8 0%, #FFF6F6 50%, #FDFDFD 70%, #FDFDFD 100%);
	margin-top: -230px;
}

#flow, .page-homepage #news {
	background: transparent;
}

.page-homepage #flow .section-container {
    max-width: 1200px;
    padding: 120px 0;
}

.page-homepage #news .section-container {
    max-width: 1040px;
    padding: 100px 0;
}

#lumicia-slider .full-width-section {
    max-width: 100%;
    margin: auto;
}

.page-homepage #salon-list .section-container {
    max-width: 1200px;
    padding-bottom: 120px;
}

#footer .section-container {
    max-width: 1040px;
}

#point {
	background: linear-gradient(
    0deg,
    rgba(253, 253, 253, 1) 0%,
    rgba(255, 228, 228, 0.76) 36%,
    rgba(255, 228, 228, 1) 58%,
    rgba(253, 253, 253, 0) 92%
  );
}

#treatments .tiktok-treatments-container::-webkit-scrollbar {
	display: none;
}

#before-footer .fs-12 {
    padding-bottom: 10px;
}

#footer .footer-single-location p {
    margin-bottom: 5px;
}

.page-privacy-policy #policy-paragraph p {
    letter-spacing: 0.05em;
}

/* FRANCHISE PAGE */
.page-franchise #franchise-hero h1 {
    font-weight: 500;
    font-size: 30px;
    line-height: 1.5em;
    letter-spacing: 3px;
}

.page-franchise #franchise-hero .hero-container {
    width: auto;
    margin: auto;
    padding: 20px;
    background-color: #ffffff;
}

.page-franchise #franchise-hero .full-width-section {
    max-width: 100%;
    margin: auto;
    background-image: url(/wp/wp-content/uploads/2025/09/Franchise-hero-background.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-franchise #franchise-ads .youtube-container {
    padding: 30px 60px;
    background-color: #FFEBE8;
    box-shadow: 0 20px 20px 10px #ffcec7cc;
	border-radius: 16px;
	margin-top: -20px;
}

.page-franchise #franchise-ads .video {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 ratio */
    height: 0;
	margin-top: 30px;
}

.page-franchise #franchise-ads .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 16px;
}

.page-franchise #franchise-rep-message img {
    width: 550px;
}

.page-franchise .franchise-line .contact-line-container {
    justify-content: center;
    align-items: center;
    box-shadow: 5px 30px 20px 0 #FFD2CC;
    border-radius: 16px;
	background-color: #ffffff;
    padding: 50px;
}

.page-franchise .franchise-line .custom-section-container {
	max-width: 800px;
}

.page-franchise #strong-point .strong-point-box-container {
    border-radius: 16px;
    background-color: #ffffff;
    box-shadow: 10px 30px 50px 10px #FFD2CC;
    padding: 24px 25px;
    text-align: center;
    margin-top: 35px;
}

.page-franchise #strong-point .strong-point-box-container .support-details-text {
    background-color: #FFEBE8;
    font-weight: 500;
    margin-bottom: 10px;
}

.page-franchise #strong-point .strong-point-box-container .point-information {
    height: 350px;
}

.page-franchise #strong-point .strong-point-box-container .point-information .red {
    font-weight: 570;
}

.page-franchise #strong-point .strong-point-box-container {
    height: 540px;
}

.page-franchise #franchise-cost .cost-container {
    padding: 50px 100px;
    box-shadow: 0 20px 20px 10px #ffcec79e;
    background-color: #ffffff;
    border-radius: 16px;
}

.page-franchise #franchise-cost .cost-table .red-bg {
    background-color: #FFEBE8;
    text-align: center;
	width: 30%;
}

.page-franchise #franchise-cost .cost-table table, .page-franchise #franchise-cost .cost-table td, .page-franchise #franchise-cost .cost-table tr {
    border: 0.5px solid #3e444342;
	padding: 5px;
}

.page-franchise #franchise-cost table {
    overflow: hidden;
    border-radius: 12px;
	margin-bottom: 0;
}

.page-franchise #franchise-cost .cost-table {
    border: 0.5px solid #3e444342;
    border-radius: 12px;
}

.page-franchise #franchise-cost td:not(.red-bg) {
    background-color: #ffffff;
}

.page-franchise #franchise-cost .red-container>div {
    background-color: var(--red);
    color: #ffffff;
    padding: 10px 30px;
    border-radius: 8px;
}

.page-franchise #franchise-simulation .text-with-underline {
    border-bottom: 1px solid #3e444342;
    padding: 5px 0 3px 0;
}

.page-franchise #franchise-simulation .text-with-underline-last {
    padding: 5px 0 3px 0;
}

.page-franchise #franchise-simulation .simulation-red-container {
    border: 1px solid #e0686e96;
    border-radius: 8px;
}

.page-franchise #franchise-simulation .simulation-red-bg {
    background-color: var(--red);
    padding: 25px 10px;
    justify-content: center;
    align-items: baseline;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.page-franchise #franchise-simulation .simulation-light-red-bg {
    background-color: #FFEBE8;
    justify-content: center;
    padding: 15px 10px;
    border-bottom: 1px solid #e0686e96;
}

.page-franchise #franchise-simulation .simulation-light-red-bg .red-bg {
    background-color: var(--red);
    padding: 2px 5px;
    border-radius: 4px;
}

.page-franchise #franchise-simulation .left-column {
	display: flex;
    align-items: flex-end;
	justify-content: flex-end;
}

.page-franchise #franchise-step .step-content {
    column-gap: 50px;
}

.page-franchise #franchise-step .step-text .black {
    margin-top: 10px;
}

.page-franchise #franchise-step .step-content .img-wrapper img {
    height: 100%;
    border-radius: 8px;
    object-fit: cover;
}

.page-franchise #franchise-step .step-content .img-wrapper {
    box-shadow: 0 15px 20px 0 #FFD2CC;
    width: 400px;
    max-width: 100%;
}

.page-franchise #franchise-step .step-number {
    margin-bottom: 15px;
}

.page-franchise #franchise-faq p.q-and-a-with-bg {
    background-color: #FF6391;
    padding: 4px 7px;
    border-radius: 50px;
    line-height: 1em;
}

.page-franchise #franchise-faq .accordion-text-title {
    display: flex;
    align-items: center;
    column-gap: 20px;
}

.page-franchise #franchise-faq .accordion-content.open {
    padding: 20px 18px 20px 18px;
    max-height: 100%;
}

.page-franchise #franchise-faq .accordion-body {
    column-gap: 20px;
}

.page-franchise #franchise-faq .accordion-title {
    background-color: #FFEFED;
}

.page-franchise #franchise-faq .accordion-title:hover {
    background-color: #ffd2cc75;
}

.page-franchise #franchise-faq .accordion-item {
    box-shadow: 0 10px 20px 0 #FFD2CCB2;
}

.page-franchise #franchise-faq .custom-section-container .button-container {
    width: 300px;
} 

.page-franchise .franchise-line .custom-section-container {
    max-width: 800px;
    padding: 50px 0;
}

.page-franchise .franchise-line .custom-section-container {
    max-width: 800px;
    padding: 50px 0;
}

.page-franchise #franchise-rep-message .section-container, .page-company #company-rep-message .section-container {
    max-width: 1200px;
    padding-bottom: 100px;
}

.page-franchise #strong-point .section-container {
    max-width: 1275px;
    padding: 120px 0;
}

.page-franchise #franchise-cost .section-container {
    max-width: 960px;
    padding: 50px 0 100px 0;
}

.page-franchise #franchise-simulation .section-container {
    max-width: 1300px;
    padding: 100px 0;
}

.page-franchise #franchise-step .section-container {
    max-width: 960px;
    padding: 80px 0 150px;
}

.page-franchise #franchise-faq .section-container {
    padding: 80px 0 50px 0;
}

.page-franchise #franchise-faq .section-container>.row {
    max-width: 720px;
	margin: auto;
}

.page-franchise #franchise-simulation .text-with-underline {
	border: unset !important;
}


.page-franchise #franchise-faq .custom-section-container {
    padding-top: 150px;
}


/* PRIVACY POLICY */

.page-privacy-policy #policy-paragraph .section-container {
    max-width: 840px;
}

.page-privacy-policy p {
	line-height: 1.6em;
}

.page-privacy-policy .privacy-bg, .background-section-bottom-pink{
    background-image: url(/wp/wp-content/uploads/2025/10/Privacy-Policy-BG.jpg);
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}

.page-news .background-section-bottom-pink {
    background-image: url(/wp/wp-content/uploads/2025/10/Privacy-Policy-BG.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center calc(100% + 200px);
}


.page-404 .background-section-bottom-pink{
    background-image: url(/wp/wp-content/uploads/2025/10/Privacy-Policy-BG.jpg);
    background-size: cover;
    background-position: bottom;
    background-position: center calc(100% + 300px);
}


/* COMPANY */

.page-company #company-details .section-container {
    max-width: 1140px;
}

.black-circle-with-number {
    background-color: #3E4443;
    border-radius: 50%;
    width: 40px;
    height: 40px;
	margin: auto;
}

.page-company section {
	background-color: #FDFDFD;
}


/* NEWS */

.page-news .cat-btn {
    border: 1px solid #3e444373;
    padding: 8px 13px;
    transition: 0.3s;
}

.page-news .cat-btn.active {
    background-color: var(--red);
    border-color: var(--red);
    color: #ffffff;
}


.page-news .page-numbers {
    font-size: 20px;
    font-family: 'Arsenal';
    text-decoration: none;
    border-radius: 50%;
    border: 1px solid #3e444373;
    width: 40px;
    height: 40px;
    padding-top: 4px;
}


.page-news .page-numbers.current {
    background-color: var(--red);
    border-color: var(--red);
    color: #ffffff;
}

.page-news .page-numbers.next, .page-news .page-numbers.prev {
    border: unset;
}

.page-news #news-posts .section-container {
	max-width: 1040px;
}

.news-title:not(.posts-news .news-title) {
  display: -webkit-box !important;
  -webkit-line-clamp: 1; 
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}


.posts-news .section-container {
	max-width: 1040px;
}

.posts-news .x-container {
    background-color: #000000;
}

.posts-news .b-container {
	background-color: #2C6EBD;
}

.posts-news .pocket-container {
	background-color: #EF4056;
}

.posts-news .line-container {
	background-color: rgba(0,195,0);
}

.posts-news .facebook-container {
    background-color: #3B5998;
}

.posts-news .copy-container {
    background-color: #333333;
}

.posts-news .social-media-top-container img, .posts-news .social-media-bottom-container img {
    width: 15px;
}

.posts-news .social-media-top-container {
    border-radius: 5px;
    padding: 0 5px 5px;
    width: 100%;
}

.posts-news .social-media-bottom-container {
	border-radius: 5px;
    padding: 15px 5px;
    width: 100%;
}

.page-news .news-item .img-wrapper img {
    max-width: 171px;
    height: 120px;
	object-fit: cover;
    object-position: top;
}

.posts-salon #salon-hero {
    background-image: url(/wp/wp-content/uploads/2025/10/Salon-List-Hero.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 430px;
}

.posts-salon #salon-hero .hero-container {
	width: auto;
	margin: auto;
	padding: 20px;
	background-color: #FFFFFF;
}

#salon-basic-info .section-container {
    max-width: 1140px;
}

#salon-basic-info .salon-table-left {
    width: 25%;
	vertical-align: top;
}

#salon-basic-info .salon-border-bottom {
    border-bottom: 1px solid #3e44433d;
}


#salon-basic-info .salon-info .salon-border-bottom td {
    padding: 13px 0 10px 0;
}

.posts-salon #salon-basic-info {
    background-image: url(/wp/wp-content/uploads/2025/10/salon-basic-info-bg.webp);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
}

.posts-salon .salon-info {
    background: transparent !important;
}

#salon-basic-info  td {
    line-height: 1.6em;
    letter-spacing: 1px;
}

.posts-salon .sidebar-container .sidebar-button:hover img {
    filter: brightness(0) saturate(100%) invert(42%) sepia(70%) saturate(484%) hue-rotate(322deg) brightness(93%) contrast(93%);
}

.archive-salon .salon-filter-buttons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 25px;
}


.archive-salon .filter-btn {
    background-color: #FDFDFD;
    box-shadow: 0 15px 20px 0 #FFD2CCB2;
    padding: 18px 60px;
    border-radius: 8px;
    border: none;
    transition: 0.3s;
    cursor: pointer;
    color: #3E444333;
    font-size: 22px;
    font-family: 'Zen Kaku Gothic New';
}

.archive-salon .filter-btn.active {
    background-color: var(--red);
    color: #FFFFFF;
}

.archive-salon .filter-btn:hover:not(.active) {
    background: #ff1d1d36;
    color: #FFFFFF;
}

.archive-salon #archive-salon-filter .section-container {
	max-width:1200px;
}

.archive-salon .prefecture-title {
    background-color: #E0686E1A;
    padding: 6px 10px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.archive-salon .salon-list {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.archive-salon .salon-item:not(.salon-item:last-child) {
    border-bottom: 1px solid #3e444333;
}

#wpcf7-f228-o1 .required-text {
    font-size: 18px;
    background-color: var(--red);
    color: #ffffff;
    padding: 5px 10px;
    border-radius: 8px;
    font-weight: 300;
}

#wpcf7-f228-o1 p:not(.required-text) {
    font-size: 20px;
    font-family: 'Zen Kaku Gothic New';
    letter-spacing: 0.05em;
    color: var(--black);
}

#wpcf7-f228-o1 .form-group-inquiry .wpcf7-checkbox {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 15px;
    max-width: 800px;
    margin-top: 10px;
}

#wpcf7-f228-o1 .form-group-inquiry .wpcf7-checkbox .wpcf7-list-item {
    margin-left: 0;
}

#wpcf7-f228-o1 .wpcf7-form .form-group {
    margin-top: 50px;
}

#wpcf7-f228-o1 .wpcf7-form .form-group input.wpcf7-text {
    width: 100%;
    padding: 20px;
    box-shadow: 0 5px 15px 0 #3E44430D;
    border: none;
    margin-top: 10px;
    border-radius: 8px;
}

#wpcf7-f228-o1 .wpcf7-form .form-group input.wpcf7-text, #wpcf7-f228-o1 .wpcf7-form .form-group textarea.wpcf7-textarea {
    width: 100%;
    padding: 20px;
    box-shadow: 0 5px 15px 0 #3E44430D;
    border: none;
    margin-top: 10px;
    border-radius: 8px;
    font-family: 'Zen Kaku Gothic New';
    font-size: 20px;
    color: var(--black);
    letter-spacing: 0.05em;
}

#wpcf7-f228-o1 .wpcf7-form .form-group input.wpcf7-text::placeholder, #wpcf7-f228-o1 .wpcf7-form .form-group textarea.wpcf7-textarea::placeholder {
    font-size: 20px;
    font-family: 'Zen Kaku Gothic New';
    letter-spacing: 0.05em;
    color: #3E444333;
}

#wpcf7-f228-o1 .not-required-text {
    font-size: 18px;
    background-color: var(--white);
    color: var(--black);
    padding: 5px 10px;
    border-radius: 8px;
    font-weight: 300;
    border: 1px solid #e0686e85;
}

#wpcf7-f228-o1 .wpcf7-form .btn-red-variant-vice-versa .wpcf7-submit {
    width: 250px;
    padding: 15px;
    font-size: 22px;
    font-weight: 300;
    cursor: pointer;
}

#wpcf7-f228-o1 .wpcf7-form .button-container {
    text-align: center;
    margin-top: 40px;
}

#wpcf7-f228-o1 .wpcf7-form .form-paragraph {
    text-align: center;
    margin-top: 20px;
}

#wpcf7-f228-o1 .wpcf7-form .form-acceptance {
    margin-top: 40px;
    text-align: center;
}

#contact-details .section-container {
    max-width: 1040px;
}

#wpcf7-f228-o1 .wpcf7-form .form-group input.wpcf7-text:focus-visible, #wpcf7-f228-o1 .wpcf7-form .form-group textarea.wpcf7-textarea:focus-visible {
	outline: none!important;
}

#wpcf7-f228-o1 .wpcf7-form .wpcf7-not-valid-tip {
    display: none;
}

#wpcf7-f228-o1 .wpcf7-form .form-group input.wpcf7-not-valid, #wpcf7-f228-o1 .wpcf7-form .form-group textarea.wpcf7-not-valid {
    border: 1px solid var(--red);
    color: var(--red);
}

#wpcf7-f228-o1 .wpcf7-form .form-group span.wpcf7-not-valid .wpcf7-list-item-label {
    color: var(--red);
}


#wpcf7-f228-o1 .wpcf7-form .button-container .btn-default {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: auto;
}

#wpcf7-f228-o1 .wpcf7-form .btn-red-variant-vice-versa .wpcf7-spinner {
	text-align: center;
	margin: 10px auto !important;
}

#wpcf7-f228-o1 .wpcf7-form .form-acceptance .wpcf7-list-item {
    margin-left: 0;
    margin-right: 10px;
}

#salon-basic-info .company-salon-map-address-link td {
    padding-top: 0 !important;
}

#salon-basic-info .company-salon-map-address td {
    padding-top: 13px !important;
}

#salon-basic-info .company-salon-list li {
    position: relative;
    padding-left: 15px;
    display: inline-block;
}

#salon-basic-info .company-salon-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}


#salon-basic-info .company-salon-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: currentColor;
}

/* TABLET CSS */

@media screen and (max-width:600px){
	.about-label{
		padding-left:0 !important;
		padding-right:0 !important;
	}
	.about-label h4 {
	  margin: 0;
		  line-height: 1.6; 
	}
	.news-categories{
		margin-top:-20px;
		gap:9px !important;
	}
	a.news-btn{
		font-size:11px !important;
		padding:4px 8px !important;
	}
}