@charset "UTF-8";

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

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*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-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;
	}
}

@media screen and (max-width: 833px) {
   .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-10 { margin-top: 10px !important; }
  .mt-md-20 { margin-top: 20px !important; }
  .mt-md-30 { margin-top: 30px !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-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-20 { padding-bottom: 20px !important; }
  .pb-md-30 { padding-bottom: 30px !important; }
  .pb-md-50 { padding-bottom: 50px !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 p {
		font-size: 12px !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 100px 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;
	}

	#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: 300px !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;
	}

	.step-title-mobile {
		display: block !important;
		font-size: 18px !important;
		margin-bottom: 15px;
	}

	.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: 50px 0;
	}

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

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

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

	#news .news-title a {
		flex: 1;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		min-width: 0;
	}

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

	#news .news-header {
		margin-bottom: 0 !important;
	}

	#news .news-item {
		margin: 15px 0 !important;
	}
	
	#news .column-container {
		padding-top: 0;
	}
	
	.page-homepage #news .section-container {
		padding: 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;
	}

	#salon-list .accordion-content .accordion-left-container p {
		font-size: 13px;
	}

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

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

	#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 {
		text-align: center;
		padding: 50px 30px;
	}

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

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

	#salon-list .custom-section-container {
		padding-top: 0;
	}
	
	#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;
	}
	
	.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;
	}


    /*Franchise Page*/
	.page-franchise #franchise-hero .full-width-section {
		max-width: 100% !important;
		background-image: url(/top/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;   
	}
}

/*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;
}

: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;
}

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

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

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;
}

.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;
}

.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-45 {
	font-size: 45px;
}

.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-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;
}

.fw-500 {
	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-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-10 {
	margin-top: 10px;
}

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

.m-0 {
	margin: 0;
}

.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-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;
}

.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;
}

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


.btn-default a {
    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 {
    border: 1px solid var(--red);
	background-color: var(--red);
    color: #ffffff;
}

.btn-red-variant-vice-versa a: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: 40px;
    height: 40px;
    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: 23px;
}

.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: 15px;
}

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: 150px;
    margin-top: -220px;
}
/* 
.page-homepage #about, .page-homepage #influencers {
	background-color: #FFEFED;
} */

.page-homepage .hero-bg-design {
    background-image: url(/top/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(/top/wp-content/uploads/2025/09/home-hero-girl-with-bg.png);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
	height: 800px;
}

.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;
}

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

#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 {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    scrollbar-width: none;
	padding: 0 50px 100px 0;
}


.custom-carousel::-webkit-scrollbar, #treatments .tiktok-treatments-container::-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 {
    flex: 0 0 330px;
    background: #fff;
    padding: 15px;
    box-shadow: 10px 30px 50px 10px #FFD2CCB2;
    border-radius: 16px;
    border: 1px #8F8F8F80;
}

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


.page-homepage #services .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(/top/wp-content/uploads/2025/09/home-voice-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}


.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:not(.step-last)::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: 25px;
}

.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;
}

@-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 {
    color: var(--red);
}

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

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

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

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

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

.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 var(--grey);
    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(/top/wp-content/uploads/2025/09/before-footer-background-1-1.jpg);
    background-size: cover;
    background-position: center;
}

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

#before-footer .recruitment-container {
	background-image: 
        linear-gradient(rgba(253, 253, 253, 0.9), rgba(253, 253, 253, 0.9)), 
        url(/top/wp-content/uploads/2025/09/before-footer-background-2-1.jpg);
    background-size: cover;
    background-position: center;
}

#before-footer .franchise-page-container {
    background-image: 
        linear-gradient(rgba(253, 253, 253, 0.9), rgba(253, 253, 253, 0.9)), 
        url(/top/wp-content/uploads/2025/09/before-footer-background-3-1.jpg);
    background-size: cover;
    background-position: center;
}

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



/*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: 150px;
}

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;
}

.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;
}

.page-homepage #salon-list {
    background-image: url(http://lishinc.xsrv.jp/top/wp-content/uploads/2025/09/FRANCHISE.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
}

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

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

.page-homepage #before-after {
    padding: 150px 0 120px 0;
}

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

.page-homepage #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: 1400px;
    padding: 0;
}

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

.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;
}

/* 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: 2300px;
    margin: auto;
    background-image: url(/top/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: 50px;
}

.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 #3e444342;
    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 #3e444342;
}

.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;
} 

.franchise-line .section-container {
    background-image: url(/top/wp-content/uploads/2025/09/lumicia-contact-line-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

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

.page-franchise .franchise-line .section-container {
    background-image: url(/top/wp-content/uploads/2025/09/lumicia-contact-line-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

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

.page-franchise #franchise-faq {
    background-image: url(/top/wp-content/uploads/2025/09/FRANCHISE.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
}

.page-franchise #franchise-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;
}


/* TABLET CSS */