@charset "UTF-8";

/* Color */
:root{
	--ColorNavy  : #060048;
	--ColorPink1 : #E63870; /* rgb(230, 56, 112) */
	--ColorPink2 : #E80064;
	--ColorGray1 : #898989;
	--ColorGray2 : #E9E9E9;
	--ColorBrown1: #4E1E1E; /* rgb(78, 30, 30, 1.0) */
}
/* //Color */

html{
	height:100%;
}
body {
	min-height:100%;
	font-family: "Shippori Mincho", -apple-system, Noto Sans, sans-serif, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
	font-size: 120%;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	color: #333333;
	background-color:#FFFFFF;
	overflow-x: hidden;
}
.wrapper {
	min-height: 100vh;
	position: relative;
	padding-bottom: 20px; /* フッターの高さ */
	box-sizing: border-box;
}
:root{
	--header: 130px;
	scroll-padding: var(--header);
}

/* Common */
br.sp {
	display: none;
}
.btn a {
	/*
	display: flex;
	justify-content: center;
	align-items: center;
	*/
	display: block;
	margin: 0px auto 0;
	padding: 10px 20px;
	font-size: 1.0rem;
	font-weight: 700;
	line-height: 1.1em;
	text-align: center;
	border-radius: 50vh;
	color: #FFFFFF;
	/* background-color: #D21D17; */
	border: solid 3px #D21D17;
	filter: drop-shadow(0px 3px 0px rgb(32 33 33 / 0.1));
	background-color: [object object];
	background-image: linear-gradient(0deg, rgba(106, 10, 10, 1), rgba(210, 29, 23, 1));
}
.btn a:hover {
	transform: translateY(3px);
	filter: unset;
}
.text-shine {
	padding: 10px 0;
	margin: 0;
	font-family: "Shippori Mincho", serif;
	font-size: 2rem;
	font-weight: 700;
	background-image: linear-gradient(
		70deg,
		#FFF 45%, /* font color */
		#d6ab38 50%,
		#FFF 55% /* font color */
	);
	background-size: 500% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	animation: shine 5s infinite;
}
.text-shine2 {
	padding: 10px 0;
	margin: 0;
	font-family: "Shippori Mincho", serif;
	font-size: 2rem;
	font-weight: 700;
	background-image: linear-gradient(
		70deg,
		#4e1e1e 45%, /* font color */
		#d6ab38 50%,
		#4e1e1e 55% /* font color */
	);
	background-size: 500% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	animation: shine 5s infinite;
}
@keyframes shine {
	0% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
.page-top {
	position: fixed;
	bottom: 85px;
	right: 20px;
	font-size: 1rem;
	line-height: 1;
	z-index: 99;
}
.page-top a {
	display: block;
	width: 56px;
	padding: 20px 0px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background-image: linear-gradient(135deg, var(--ColorPink2), var(--ColorPink1));
	border-radius: 90px;
	opacity: 0.9;
	transition: all .3s ease;
}
.page-top a:hover {
	text-decoration: none;
	opacity: .5;
}
.sns_float {
	width: 56px;
	position: fixed;
	bottom: 15px;
	right: 20px;
	z-index: 50;
}
.sns_float li img {
	width: 100%;
}

main {
	margin: 0 0 0 220px;
	background-color:rgba(255,255,255,0.7);
	background-image: linear-gradient(0deg, #f5d1d1, #ffffff);
	background-blend-mode: lighten;
	background-attachment: fixed;
	background-position: center bottom;
	background-size: contain;
	background-repeat: no-repeat;
}
/* //Common */


header {
	position: fixed;
	width: 220px;
	min-height:100%;
	margin: 0 auto;
	padding: 0;
	font-size: 1.0rem;
	line-height: 1.8;
	background: #ffffff;
	z-index: 50;
}

header .header_pc_menu {
	min-height: 100%;
	text-align: center;
}
header .header_pc_menu h1 {
	width: 130px;
	height: 130px;
	margin: 10px auto;
}
header .header_pc_menu h1 img {
	width: 130px;
	height: 130px;
}
header .header_pc_menu ul {
	width: 200px;
	margin: 5px auto 0;
}
header .header_pc_menu ul.menu1 {
	margin: 15px auto 0;
	padding: 0 0 5px;
	border-bottom: 1px solid var(--ColorBrown1);
}
header .header_pc_menu ul.menu3 {
	margin: 0 auto;
	line-height: 1.6;
}
header .header_pc_menu ul li a {
	display: block;
	width: 200px;
}
header .header_pc_menu ul li.select , 
header .header_pc_menu ul li:hover {
	font-weight: 700;
	background: var(--ColorPink1);
}
header .header_pc_menu ul li.select a , 
header .header_pc_menu ul li:hover a {
	color: #ffffff;
}
header .header_pc_menu ul li.bgline img {
	width: 200px;
	margin-top: 5px;
}
header .header_pc_menu ul li.bgline:hover {
	background: unset;
}
header .header_pc_menu ul li.insta-icon:hover {
	background: unset;
}
header .header_pc_menu ul li.insta-icon img {
	width: 30px;
	height: 30px;
}
header .header_pc_menu div {
	margin: 10px auto;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.5;
}
header .header_pc_menu .menu4 {
	width: 200px;
	position: absolute;
	left: 10px;
	bottom: 0;
	border: 2px solid var(--ColorBrown1);
}
header .header_pc_menu .menu4 > div {
	margin: 5px;
	border: 1px solid var(--ColorBrown1);
}
header .header_pc_menu .menu4 > div:before {
	position: absolute;
	content: "";
	top: 5px;
	left: 5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 0 0;
	border-color: var(--ColorBrown1) transparent transparent transparent;
}
header .header_pc_menu div .pc-time-title , 
header .header_pc_menu div .pc-tel-title {
	font-size: 0.9rem;
	font-weight: 300;
}
header .header_pc_menu .menu4 p {
	line-height: 1.3;
}

.header_sp_menu {
	display: none;
}



/* MENU */
/*nav=====*/
header .header_wrap .header_contents .header_right .header_nav ul.nav-pc , 
.nav-sp2 , 
.nav {
	display: none;
}
/*header_pc_nav=====*/
.header_pc_nav {
	position: relative;
	padding-right: 25px;
}
.header_pc_nav a.a_header::after , 
.header_pc_nav.active a.a_header::after {
	content: "";
	position: absolute;
	top: 3px;
	right: 0;
	width: 20px;
	height: 20px;
	background-image: url(../img/icon-arrow.png);
	background-size: cover;
	background-repeat: no-repeat;
	cursor: pointer;
}
.header_pc_nav.active a.a_header::after {
	transform: rotate(180deg);
}
header .header_wrap .header_contents .header_right .header_nav ul li.header_pc_nav {
	position: relative;
}
ul.nav-pc {
	position: absolute;
	left: 0;
	width: 150px;
	margin: 5px 0 0;
	display: flex;
	flex-wrap: wrap;
	background: rgb(30, 44, 91, 0.7);
}
header .header_wrap .header_contents .header_right .header_nav ul.nav-pc li {
	width: 100px;
	padding: 10px 20px;
	border-bottom: unset;
}
header .header_wrap .header_contents .header_right .header_nav ul.nav-pc li.select a::before {
	content: "";
	margin-left: -8px;
	padding-right: 5px;
	border-left: solid 3px #d21d17;
}
header .header_wrap .header_contents .header_right .header_nav ul.nav-pc li a {
	color: #fff;
}
/*header_sp_nav=====*/
.header_sp_nav{
	width: 90px;
	height:90px;
	position: fixed;
	margin: auto;
	padding: 5px;
	cursor: pointer;
	background: var(--ColorBrown1);
	/* border-radius: 5px; */
	top: 0;
	right: 0;
	z-index: 5000;
}
.header_sp_nav.active{
	background: unset;
}
.header_sp_nav2 {
	position: relative;
}
.header_sp_nav2>a::after {
	content: "";
	position: absolute;
	top: 16px;
	left: 85px;
	width: 20px;
	height: 20px;
	background-image: url(../img/icon-arrow.png);
	background-size: cover;
	background-repeat: no-repeat;
	cursor: pointer;
}
.header_sp_nav2.active>a::after {
	transform: rotate(180deg);
}
/*menuボタン内側*/
.header_sp_nav span:nth-of-type(1) , 
.header_sp_nav span:nth-of-type(2) {
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	height: 3px;
	border-radius: 5px;
	background: #fff;
	width: 60%;
	left: 20px;
}
.header_sp_nav span:nth-of-type(1) {
	top: 20px;
}
.header_sp_nav span:nth-of-type(2) {
	top: calc(50% - 4px);
}
.header_sp_nav span:nth-of-type(3) {
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	bottom: 40px;
	left: 20px;
}
.header_sp_nav span:nth-of-type(3)::after {
	content:"MENU";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	color: #fff;
	font-size: 1.0rem;
	font-weight: 700;
	text-transform: uppercase;
	top: 0px;
	left: 0px;
}
/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
.header_sp_nav.active span:nth-of-type(1) {
	top: 15px;
	left: 15px;
	transform: translateY(6px) rotate(-45deg);
	width: 50%;
}
.header_sp_nav.active span:nth-of-type(2){
	top: 27px;
	left: 15px;
	transform: translateY(-6px) rotate(45deg);
	width: 50%;
}
.header_sp_nav.active span:nth-of-type(3)::after {
	content:"CLOSE";/*3つ目の要素のafterにClose表示を指定*/
}
/* MENU 領域外でも閉じるため */
.main_cover , 
.main_cover2 {
	position: fixed;
	width: 100%;
	visibility: hidden;
	z-index: -1;
	-webkit-transition: .3s;
	transition: .3s;
}
.main_cover.active , 
.main_cover2.active {
	height:100%;
	top: 0;
	visibility: visible;
	z-index:10;
}
/* //MENU */



/* Footer */
footer {
	width: calc(100% - 220px);
	margin: 0 0 0 220px;
	padding: 10px 0;
	color:#FFFFFF;
	font-size: 0.9rem;
	background-color: var(--ColorBrown1);
	position:sticky;
	top:100vh;
	text-align: center;
}
.wrapper footer {
	position: absolute;
	top: unset;
	bottom: 0;
}
footer a {
	color:#FFFFFF;
}
footer div#footer-contents {
	width: 90%;
	margin: 0 auto;
}
footer div#footer-contents div#footer-info p {
	margin: 0 auto 20px;
	font-size: 14px;
}
footer div#footer-contents div#footer-menu {
	margin: 0 auto 30px;
}
footer div#footer-contents div#footer-menu ul {
	padding: 15px 0;
	font-size: 16px;
	border-bottom: 1px solid #ffffff;
}
footer div#footer-contents div#footer-menu ul li {
	display: inline-flex;
	width: 49%;
	line-height: 35px;
	font-weight: bold;
	text-decoration: underline;
}
footer div#footer-contents div#footer-menu ul li a, a:active {
	color: #FFFFFF;
}
footer div#footer-contents div#footer-info p {
	margin: 0;
}
/* //Footer */



/* TOP */
#contents-top section .sub_contents {
	max-width: 1000px;
	margin: 20px auto;
}
#contents-top section .inner {
	margin: 0 auto;
	padding: 50px 20px;
}
#contents-top section .inner h2 {
	position: relative;
	margin: 0 0 20px;
	padding: 0 20px;
	color: var(--ColorNavy);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.0em;
	text-align: center;
}
#contents-top section .inner h2::after {
	content: '';
	display: block;
	width: calc(100% - 40px);
	height: 40px;
	margin-top: 10px;
	padding: 0 20px;
	background-image: url(../img/bg03.png);
	/* background-size: cover; */
	background-repeat: no-repeat;
	background-position: center;
}
#contents-top section .inner .sub_contents {
	/* width: calc(100% - 2rem); */
	margin: 0 auto;
}

section.message {
	position: relative;
	z-index:10;
}
section.message .title {
	width: fit-content;
	margin: 30px 0 0;
	background-color: var(--ColorBrown1);
}
section.message .title h2 {
	padding: 20px 50px 20px 30px;
	line-height: 1.8;
}
section.message .sub_contents {
	padding: 0 20px;
}
section.message .sub_contents>p {
	margin-top: 30px;
	letter-spacing: 0.25em;
}
section.message .sub_contents p span.pink {
	color: var(--ColorPink1);
	font-weight: 700;
}
section.message .btns-message {
	display: flex;
	/* gap: 20px; */
	justify-content: space-between;
	max-width: 1000px;
	margin: 50px auto 0;
}
section.message .btns-message a {
	max-width: 22%;
}
section.message .btns-message div {
	border-top : 1px solid var(--ColorGray2);
	border-left: 1px solid var(--ColorGray2);
}
section.message .btns-message a:nth-of-type(odd) {
	box-shadow: 3px 3px 0px rgb(78, 30, 30, 0.8);
}
section.message .btns-message a:nth-of-type(even) {
	box-shadow: 3px 3px 0px rgb(230, 56, 112, 0.8);
}
section.message .btns-message div:hover {
	box-shadow: none;
	transform: translate(3px, 3px);
}
section.message .btns-message div img {
	display: block;
	width: 100%;
}
section.message .btns-message div p {
	width: 100%;
	padding: 10px 0;
	color: #ffffff;
	text-align: center;
}
section.message .btns-message a:nth-of-type(odd) div p {
	background-color: var(--ColorPink1);
}
section.message .btns-message a:nth-of-type(even) div p {
	background-color: var(--ColorBrown1);
}

section.access {
	margin-top: 50px;
}
#contents-top section .inner .sub_contents.access_contents {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
#contents-top section .inner .sub_contents.access_contents .access-map {
	width: 60%;
	max-width: 600px;
}
#contents-top section .inner .sub_contents.access_contents .access-img {
	width: 40%;
	max-width: 400px;
}
#contents-top section .inner .sub_contents.access_contents .access-img img {
	width: 100%;
}

section.about {
	margin-top: 50px;
}
section.about .inner table {
	margin: 0 auto;
}
section.about .inner table th {
	min-width: 6rem;
	padding: 10px 10px;
	border-top: 1px solid var(--ColorNavy);
	border-left: 2px solid var(--ColorPink1);
	background-color: var(--ColorGray2);
}
section.about .inner table td {
	padding: 10px 20px;
	border-top: 1px solid var(--ColorNavy);
	background-color: #ffffff;
}
section.about .inner table tr:first-of-type th , 
section.about .inner table tr:first-of-type td {
	border-top: unset;
}
/* //TOP */



/* 下層ページ */
.contents {
	position: relative;
}
.contents .bg01 {
	position: absolute;
	top: 0px;
	left: -220px;
	width: 150%;
	height: 350px;
	background-color:rgba(230,56,112,0.5);
	transform:rotate(15deg)
}
.contents .title {
	position: relative;
	width: 100%;
	height: 350px;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 5;
}
.contents.hairsalon .title {
	background-image: url('../img/kv-hs01.jpg');
	background-position: center 0%;
}
.contents.beautysalon .title {
	background-image: url('../img/kv-bs01.jpg');
	background-position: center 0%;
}
.contents.hairremoval .title {
	background-image: url('../img/kv-hm01.jpg');
	background-position: center 0%;
}
.contents.hairgrowth .title {
	background-image: url('../img/kv-hg01.jpg');
	background-position: center 100%;
}
.contents .title-wrap {
	position: absolute;
	left: 0;
	bottom: 30px;
	width: 480px;
	border-top: 2px solid var(--ColorBrown1);
	background-color: rgb(255 255 255 / 0.8);
	-webkit-box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
	box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
}
.contents .title-wrap:after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 5px;
	content: '';
	background-image: -webkit-linear-gradient(315deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
	background-image: linear-gradient(135deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
}
.contents .title-wrap.pink {
	border-top: 2px solid var(--ColorPink1);
}
.contents .title-wrap.pink:after {
	background-image: -webkit-linear-gradient(315deg, #e63870 0%, #F6D6E6 50%, #980040 70%, #e63870 100%);
	background-image: linear-gradient(135deg, #e63870 0%, #F6D6E6 50%, #980040 70%, #e63870 100%);
}

.contents .title-wrap h2 {
	margin: 0.5rem 1rem;
	font-size: 2.0rem;
	font-weight: 700;
}
.contents section {
	width: 95%;
	margin: 50px auto 0;
}
.contents section:last-of-type {
	padding: 0 0 70px;
}

.contents h2 {
	font-size: 1.8rem;
	font-weight: 700;
}

.contents h3 {
	margin: 40px 0 0;
	font-size: 1.5rem;
}
.contents h3 {
	position: relative;
	padding: 1.5rem 1rem;
	font-weight: 700;
	background-color: #fff;
	-webkit-box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
	box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
}
.contents h3:before,
.contents h3:after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	content: '';
	background-image: -webkit-linear-gradient(315deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
	background-image: linear-gradient(135deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
}
.contents h3:before {
	top: 0;
}
.contents h3:after {
	bottom: 0;
}

.contents h4 {
	margin: 30px 0 0;
	padding: 0 1rem;
	font-size: 1.2rem;
	font-weight: 700;
}
.contents h5 {
	margin: 20px 0 0;
	font-size: 1.1rem;
}
.contents p {
	margin: 15px 0 0;
	padding: 0 1em;
	font-size: 1.0rem;
}

.contents p a {
	border-bottom: solid 1px #d21d17;
}

.contents section:first-of-type {
	position: relative;
	z-index: 100;
}
.contents section .inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 20px;
}
.contents section .inner .sub_contents {
	padding: 0 1em;
}
.contents section .inner h3 {
	position: relative;
	margin: 0 0 20px;
	padding: 0 0 0 15px;
	color: #1E2C5B;
	font-weight: 700;
	line-height: 1.0em;
}
.contents section .inner h3::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 11px;
	height: 1.1em;
	background-image: url(../img/icon-title.png);
	background-size: cover;
	background-repeat: no-repeat;
}
.contents section .inner h3 span {
	margin-left: 10px;
	color:#5B7ADA;
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.contents section h4.price {
	position: relative;
	width: fit-content;
	margin: 30px 1rem 0;
	padding: 0.5em 0.75em;
	background-color: #ffffff;
	border: solid 1px var(--ColorBrown1);
	border-left: solid 2.5em var(--ColorBrown1);
}
.contents section h4.price:before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	content: "\f157";
	font-weight: 900;
	color: #fff;
	padding: 0;
	left: -1.6em;
	top: 50%;
	transform: translateY(-50%);
}
.contents section .inner div ul li {
	padding-left: 1rem;
	text-indent: -1rem;
}
.contents section .inner div .note {
	padding-left: 1rem;
	text-indent: -1rem;
	font-size: 0.95rem;
}
.contents section p.t-center {
	text-align: center;
}
.contents section span.t-bold {
	font-weight: 700;
}
.contents section span.t-red {
	color: var(--ColorPink2);
}

.contents section ul {
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	font-size: 1.1rem;
}
.contents section li {
	line-height: 1.5;
	padding: 0.5em 0;
}
.contents section ul li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f14a";
	position: absolute;
	left : 1em; /*左端からのアイコンまで*/
	color: var(--ColorBrown1); /*アイコン色*/
}
.contents .text-img {
	display: flex;
	align-items: flex-start;
}
.contents .text-img div p {
	/* width: 60%; */
	font-size: 1.2rem;
}
.contents .text-img .text-img-img {
	padding: 0 1rem 0 0;
}
.contents .text-img .text-img-img img {
	/* width: 40%; */
	max-width: 300px;
	height: auto;
	margin: 15px 0 0 auto;
	align-self: flex-start;
}
.question {
	position: relative;
	margin: 10px 0 0;
	padding: 10px 45px 10px 20px;
	/* padding: 0 1rem 30px; */
	background-color: #FFF;
	cursor: pointer;
	transition: background .3s ease;
}
.question:hover {
	background-color: var(--ColorGray2);
}
.question::before,
.question::after {
	position:absolute;
	content:'';
	top: 25px;;
	right:20px;
	width:12px;
	height:2px;
	margin:auto;
	background:#151E2F;
}
.question::after{
	transform:rotate(-90deg);
	transition:transform 0.3s;
}
.question.active::after{
	transform:rotate(0deg);
}
.question span,
.answer span {
	position: relative;
	display: inline-block;
	padding-left: 25px;
}
.question span {
	font-weight: 700;
}
.question span::before {
	position: absolute;
	top: 2px;
	left: 0;
	font-family: "Font Awesome 5 Free";
	content: "\f059";
	font-weight: 900;
	color: var(--ColorBrown1);
}
.question p {
	position: relative;
	padding: 5px 2rem;
	background-color: #ffffff;
}
.answer {
	display: none;
	padding: 12px 20px 10px;
	background-color: #FFF;
	border-top: solid 1px var(--ColorBrown1);
}
.answer span::before {
	position: absolute;
	top: 2px;
	left: 0;
	font-family: "Font Awesome 5 Free";
	content: "\f35a";
	font-weight: 900;
	color: var(--ColorPink1);
}



/* 美容室 */
.hairsalon .hair-menu table {
	width: 90%;
	max-width: 500px;
	margin: 20px auto 0;
}
.hairsalon .hair-menu table th {
	position: relative;
	padding: 20px 10px 3px;
	font-size: 1.1rem;
	font-weight: 700;
	text-align: left;
	border-bottom: solid 2px var(--ColorPink1);
}
.hairsalon .hair-menu table th::after {
	position: absolute;
	left: 20px;
	bottom: -20px;
	border: solid transparent;
	content: " ";
	width: 0;
	height: 0;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: var(--ColorPink1);
	border-width: 10px;
	margin-top: -10px;
	transform: rotate(90deg);
}
.hairsalon .hair-menu table td {
	padding: 10px 20px;
	background-color: #ffffff;
}
.hairsalon .hair-menu table td:last-of-type {
	text-align: right;
}
.hairsalon .hair-menu table td.hair-menu-othes {
	text-align: left;
}
/* //美容室 */



/* エステ */
.box-note {
  position: relative;
  margin: 50px auto 0;
  border: 1px solid var(--ColorPink1);
  max-width: 600px;
  box-sizing: border-box;
}

.box-note .box-title {
  display: inline-block; /* 内容幅 */
  position: absolute; /* ボックス内固定 */
  top: -1px; /* 上位置 */
  left: -1px; /* 左位置 */
  width: auto; /* 自動幅 */
  max-width: calc(100% - 2em); /* はみ出し防止 */
  padding: 0.3em 1em; /* 内側余白 */
  background-color: var(--ColorBrown1);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background-color: var(--ColorBrown1);
}

.box-note .box-content {
	padding: 3.0em 0.5em 1.0em;
	background-color: #ffffff;
}

.box-note p {
	margin: 0;
}

.box-note .box-content .box-content-img {
	/* width: 100%; */
	/* max-width: 550px; */
	margin: 10px auto 0;
	padding: 0 1rem;
}
.box-note .box-content .box-content-img img {
	width: 100%;
}
/* //エステ */



/* 脱毛 */
/* //脱毛 */



/* 育毛増毛 */
.moumitu ul {
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	font-size: 1.2rem;
}

.moumitu ul li {
	line-height: 1.5;
	padding: 0.5em 0;
}

.moumitu ul li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f14a";
	position: absolute;
	left : 1em; /*左端からのアイコンまで*/
	color: var(--ColorBrown1); /*アイコン色*/
}
.moumitu .img-btn {
	margin: 10px auto;
	text-align: center;
}
.moumitu .img-btn img {
	width: 90%;
	max-width: 450px;
}
.moumitu .caption {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}
.moumitu .caption::before , 
.moumitu .caption::after {
	position: absolute;
	top: 22px;
	content: "";
	width: 30px;
	height: 2px;
	box-sizing: border-box;
	background-color: var(--ColorPink1);
}
.moumitu .caption::before {
	left: -25px;
	transform: rotate(45deg);
}
.moumitu .caption::after {
	right: -25px;
	transform: rotate(-45deg);
}
.moumitu .caption p {
	margin: 0 auto;
}
.moumitu .caption p::before , 
.moumitu .caption p::after {
	position: absolute;
	top: 15px;
	content: "";
	width: 40px;
	height: 2px;
	box-sizing: border-box;
	background-color: var(--ColorPink1);
}
.moumitu .caption p::before {
	left: -15px;
	transform: rotate(65deg);
}
.moumitu .caption p::after {
	right: -15px;
	transform: rotate(-65deg);
}
.steps-wrap {
	margin: 50px auto 0;
}
.step {
	position: relative;
	border-top: solid 2px #ddd;
}
.step::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -10px;
	left: 23px;
	border-style: solid;
	border-width: 17px 8px 0 8px;
	border-color: #ddd transparent transparent transparent;
}
.step::after {
	content: "";
	display: block;
	height: calc(100% - 36px);
	border-left: solid 2px #ddd;
	position: absolute;
	top: 35px;
	left: 30px;
}
.step:last-of-type::before , 
.step:last-of-type::after {
	display: none;
}
.step .step-label {
	position: absolute;
	top: -20px;
	left: 0;
	padding: 5px 20px;
	color: #fff;
	font-weight: 700;
	background: var(--ColorBrown1);
	box-shadow: 3px 3px 0 #ddb9b9;
	z-index: 1;
}
.step .step-contents {
	width: 90%;
	margin: 0 auto 50px;
}
.step .step-contents h4 {
	margin: 30px 0 0;
	font-size: 1.2rem;
	font-weight: 700;
}
.step .step-contents .img-btn {
	margin: 10px 0 0;
	padding: 0 1rem;
}
.step .step-contents .img-btn img {
	width: 90%;
	max-width: 300px;
}

.homecare h4 {
	position: relative;
	width: fit-content;
	padding-top: .75em;
	font-weight: 700;
}

.homecare h4::before {
	position: absolute;
	bottom: .5em;
	right: -50px;
	z-index: -1;
	color: var(--ColorPink1);
	font-size: 1.5rem;
	line-height: 1;
	content: attr(data-word);
	pointer-events: none;
}
/* //育毛増毛 */



.contents section.consul {
	margin: 0 auto;
}
.contents section.consul.last {
	margin: 0 auto;
	padding: 0;
}
.contents section.consul.last .inner {
	padding: 50px 20px 70px;
}
.contents section.consul .consul_contents {
	width: 95%;
	margin: 0 auto;
}
.contents section.consul .consul_contents .consul_wrapper {
	display: flex;
	width: 95%;
	margin: 0 auto;
	background-color: #ffffff;
	border-radius: 1vw;
}
.contents section.consul .consul_contents .consul_left {
	width: 300px;
	margin: 0;
	display: flex;
	flex-flow: column;
	justify-content: center;
	background-image: url(../img/bg-consul01.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 1vw 0 0 1vw;
}
.contents section.consul .consul_contents .consul_left h3 {
	margin: 0;
	padding: 0 30px;
	color: #ffffff;
}
.contents section.consul .consul_contents .consul_left h3 span {
	display: block;
	margin: 10px 0 0;
	color: #eff2fb;
}
.contents section.consul .consul_contents .consul_left h3::before {
	content: unset;
}
.contents section.consul .consul_contents .consul_right {
	padding: 20px 50px;
}
.contents section.consul .consul_contents .consul_right .consul_ttl {
	margin: 0;
	font-weight: 600;
	text-align: center;
}
.contents section.consul .consul_contents .consul_right .consul_copy {
	margin: 10px 0 0;
	color: #e7211a;
	font-weight: 600;
	text-align: center;
}
.contents section.consul .consul_contents .consul_right .consul_note {
	margin: 20px 0 0;
	font-size: 0.8rem;
	line-height: 1.75;
}
.btn_consul {
	width: fit-content;
	margin: 20px auto 0;
}
.btn_consul a {
	display: block;
	margin: 0px auto 0;
	padding: 10px 30px;
	font-size: 1.0rem;
	font-weight: 700;
	line-height: 1.1em;
	text-align: center;
	border-radius: 50vh;
	color: #FFFFFF;
	/* background-color: #D21D17; */
	border: solid 3px #D21D17;
	filter: drop-shadow(0px 3px 0px rgb(32 33 33 / 0.1));
	background-color: [object object];
	background-image: linear-gradient(0deg, rgba(106, 10, 10, 1), rgba(210, 29, 23, 1));
}
.btn_consul a:hover {
	transform: translateY(3px);
	filter: unset;
}
/* //下層ページ */



/* PC2レイアウト : ～ 1280px */
/*
@media only screen and (max-width: 1280px) {
	header .header_pc_menu ul.menu3 {
		margin: 0 auto 0;
		line-height: 1.2;
	}
}
*/



/* PC2レイアウト : ～ 1200px */
@media only screen and (max-width: 1200px) {
/* TOP */
	#contents-top .bg01 {
		top: -50px;
		left: 250px;
	}
/* //TOP */
}



/* タブレットレイアウト : ～ 900px */
@media only screen and (max-width: 900px) {
	section.message .title h2 {
		font-size: 1.8rem;
	}
	section.message .sub_contents>p {
		letter-spacing: unset;
	}
}



/* タブレットレイアウト : ～ 850px */
@media only screen and (max-width: 850px) {
	header {
		width: 100%;
		min-height:unset;
		top: 0;
		z-index: 100;
	}
	.header_pc_menu {
		display: none;
	}
	.header_sp_menu {
		position: relative;
		display: block;
		height: 100px;
		background-color: #fff;
		z-index: 5000;
	}
	.header_sp_menu.headerColorScroll {
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
	}

	header .header_sp_menu .header_left {
		display: flex;
	}
	header .header_sp_menu .header_left h1 {
		width: 100px;
		height: 100px;
	}
	header .header_sp_menu .header_left h1 img {
		width: 100px;
		height: 100px;
	}
	header .header_sp_menu .header_left .sp-times {
		margin: 15px 10px 0;
		font-weight: 700;
		line-height: 1.5;
	}
	header .header_sp_menu .header_left .sp-times-title {
		font-weight: 300;
	}
	header .header_sp_menu .btn_tel {
		position: absolute;
		top: 0;
		right: 100px;
		width: 100px;
		height: 100px;
		text-align: center;
		background: var(--ColorGray1);
	}
	header .header_sp_menu .btn_tel i {
		padding: 17px 0 0;
		color: #fff;
	}
	
	.header_sp_nav {
		display: block;
	}
	
	/*nav=====*/
	.nav{
		display: none;
		position: fixed;
		width: 40%;
		margin: 0 0 0 auto;
		padding: 100px 0 50px 30px;
		text-align: left;
		top: 0;
		right: -20px;
		background: rgb(78, 30, 30, 0.7);
		z-index: 1000;
	}
	.nav ul li.select a {
		border-left: solid 3px var(--ColorPink1);
	}
	.nav ul li img {
		background-color:rgba(255,255,255,0.8);
		border-radius: 15px;
		/* border-radius: 2vh; */
	}
	.nav a {
		display: block;
		width: fit-content;
		height: 50px;
		padding: 0px 10px;
		color: #fff;
		font-weight: bold;
		line-height: 50px;
	}
	.nav a:hover {
		border-bottom: solid 2px #d21d17;
	}
	.nav ul li ul.nav-sp2 {
		padding-left: 1em;
	}
	/* //MENU */

	/* TOP */
	main {
		position: relative;
		margin: 100px 0 0;
		z-index: 10;
	}
	#contents-top .bg01 {
		top: -100px;
		left: -100px;
	}
	/* //TOP */

	/* 下層ページ */
	header .header_wrap section.fv.sub_fv {
		top: 110px;
	}
	.contents section.consul .consul_contents .consul_right {
		padding: 20px 30px;
	}
	section.inquiry .inner .inquiry_contents .btn a {
		width: 60%;
		font-size: 1.1rem;
	}
	/* //下層ページ */
	
	footer {
		width: 100%;
		margin: 0;
	}
}



/* タブレットレイアウト ver2 : ～ 650px */
@media only screen and (max-width: 650px) {
	/* Common */
	br.sp {
		display: unset;
	}
	/* //Common */

	/* TOP */
	section.message .title {
		width: 95%;
	}
	section.message .title h2 {
		padding: 15px 20px;
		/* font-size: 1.8rem; */
		line-height: 1.5;
	}
	#contents-top section .inner .sub_contents.access_contents {
		display: block;
	}
	#contents-top section .inner .sub_contents.access_contents .access-map {
		width: 100%;
	}
	#contents-top section .inner .sub_contents.access_contents .access-img {
		width: 100%;
		margin: 20px auto 0;
	}
	/* //TOP */
	
	
	
	/* 下層ページ */
	.contents .bg01 {
		top: 30px;
		left: -30px;
	}
	.step::before {
		left: 5px;
	}
	.step::after {
		left: 12px;
	}
	
	/* 美容室 */
	.contents .text-img {
		display: block;
	}
	.contents .text-img .text-img-img img {
		padding: 0 1rem;
	}
	/* //下層ページ */
}



/* モバイルレイアウト : ～ 580px */
@media only screen and (max-width: 580px) {
	header .header_sp_menu {
		height: 70px;
	}
	header .header_sp_menu .header_left h1 {
		width: 70px;
		height: 70px;
	}
	header .header_sp_menu .header_left h1 img {
		width: 70px;
		height: 70px;
	}
	header .header_sp_menu .header_left .sp-times {
		margin: 5px 5px 0;
		font-size: 0.85rem;
		letter-spacing: 0.05em;
	}
	header .header_sp_menu .btn_tel {
		top: 0px;
		right: 70px;
		width: 70px;
		height: 70px;
	}
	header .header_sp_menu .btn_tel i {
		padding: 15px 0 0;
		font-size: 2.5em;
	}



	/* MENU */
	/*header_sp_nav=====*/
	.header_sp_nav{
		width: 60px;
		height:60px;
		top: 0px;
		right: 0px;
	}
	.nav {
		width: 60%;
		top: 0px;
		right: 0px;
	}
	/*menuボタン内側*/
	.header_sp_nav span:nth-of-type(1) {
		top: 15px;
		left: 15px;
	}
	.header_sp_nav span:nth-of-type(2) {
		left: 15px;
	}
	.header_sp_nav span:nth-of-type(3) {
		bottom: 30px;
		left: 10px;
	}
	.header_sp_nav span:nth-of-type(3)::after {
		font-size: 0.85rem;
	}
	/* //menuボタン内側*/
	/* //MENU */
	
	
	
	/* Footer */
	footer {
		font-size: 0.8rem;
		letter-spacing: 0.02em;
	}
	/* //Footer */
	
	
	
	/* TOP */
	main {
		margin: 70px 0 0;
	}
	#contents-top .bg01 {
		top: -200px;
		left: 0px;
	}
	
	section.message .title h2 {
		font-size: 1.35rem;
	}
	section.message .btns-message div p {
		font-size: 0.95rem;
	}
	
	section.about .inner table {
		width: 100%;
		font-size: 0.95rem;
		word-break: break-all;
	}
	section.about .inner table th {
		min-width: 5rem;
		padding: 10px 5px;
	}
	section.about .inner table td {
		padding: 10px 5px;
		vertical-align: middle;
	}
	/* //TOP */
	
	
	
	/* 下層ページ */
	.contents .bg01 {
		top: -100px;
		left: -50px;
	}
	.contents .title {
		height: 200px;
	}
	.contents .title-wrap {
		bottom: 20px;
		width: 80%;
	}
	.contents .title-wrap h2 {
		margin: 0 1rem;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	
	.question {
		padding: 10px 35px 10px 10px;
	}
	.answer {
		padding: 10px 10px 10px 10px;
	}
	.question::before , 
	.question::after {
		right: 15px;
	}
	
	.moumitu .img-btn {
		margin: 10px auto 0;
	}
	.moumitu .caption::before , 
	.moumitu .caption::after {
		top: 32px;
	}
	.moumitu .caption p::before , 
	.moumitu .caption p::after {
		top: 25px;
	}
	/*
	.moumitu .caption p {
		padding: 0 5px;
	}
	*/
	/* //下層ページ */
}
