@charset "UTF-8";

body {
	line-height: 1;
	text-align : justify;
	font-family:  sans-serif;
	font-size  : 62.5%;
	color      : #4D4D4D;
}

a {
	text-decoration: none;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing : 0;
}

* {
	margin : 0;
	padding: 0;
}

img {
	max-width            : 100%;
	width                : 100%;
	height               : auto;
	vertical-align       : bottom;
	flex-shrink          : 0;
	-webkit-touch-callout: none;
	-webkit-user-select  : none;
	-moz-touch-callout   : none;
	-moz-user-select     : none;
	touch-callout        : none;
	user-select          : none;
}

a[href^="tel:"] {
	pointer-events: none;
}

p {
	color      : #4D4D4D;
	font-size  : 1.8em;
	line-height: 1.6em;
}

.effect {
	padding         : 10px;
	background-color: #FFF;
	border-radius   : 40px;
}

br.sp {
	display: none;
}

/*pushbtn*/
.btn_tel {
	display        : inline-block;
	position       : relative;
	margin         : 0px 0px 5px 0px;
	max-width      : 100px;
	width          : 100%;
	color          : #fff;
	text-align     : center;
	text-decoration: none;
	border-radius  : 6px;
	background     : #FC7A1B;
	margin-right   : 10px;
	height         : 80px;
}

.btn_tel a {
	font-size: 1.3em;
	padding  : 1em 0.5em;
	display  : block;
	color    : #fff;
}

.btn_tel::after {
	position                  : absolute;
	bottom                    : -5px;
	left                      : 0px;
	width                     : 100%;
	height                    : 10px;
	border-bottom-left-radius : 10px;
	border-bottom-right-radius: 10px;
	background-color          : #D7551B;
	content                   : "";
	z-index                   : -1;
}

.btn_tel:active {
	transform: translateY(5px);
}

.btn_tel:active::after {
	height: 0px;
}

.btn_tel img {
	width : 26px;
	height: 35px;
	margin: 0 auto 5px;
}

.btn_line {
	display        : inline-block;
	position       : relative;
	margin         : 0px 0px 5px 0px;
	max-width      : 100px;
	width          : 100%;
	color          : #fff;
	text-align     : center;
	text-decoration: none;
	border-radius  : 6px;
	background     : #39B54A;
	height         : 80px;
}

.btn_line a {
	font-size: 1.3em;
	padding  : 1em;
	display  : block;
	color    : #fff;
}

.btn_line::after {
	position                  : absolute;
	bottom                    : -5px;
	left                      : 0px;
	width                     : 100%;
	height                    : 10px;
	border-bottom-left-radius : 10px;
	border-bottom-right-radius: 10px;
	background-color          : #009245;
	content                   : "";
	z-index                   : -1;
}

.btn_line:active {
	transform: translateY(5px);
}

.btn_line:active::after {
	height: 0px;
}

.btn_line img {
	width : 37px;
	height: 35px;
	margin: 0 auto 5px;
}

/*pushbtn_contents*/
.btn_wrap {
	display        : flex;
	gap            : 10px;
	text-align     : center;
	justify-content: space-around;
	z-index        : 10;
}

.btn_tel_long span {
	font-size: 1.8em;
}

.btn_tel_long span::before {
	content        : '';
	display        : inline-block;
	background     : url("../image/btn_tel.png") no-repeat;
	background-size: contain;
	width          : 35px;
	height         : 35px;
	vertical-align : -8px;
	margin-right   : 10px;
}

.btn_tel_long {
	line-height     : 2.5em;
	display         : inline-block;
	background-color: #FC7A1B;
	padding         : 15px 10px;
	color           : #fff;
	text-align      : center;
	cursor          : pointer;
	border-radius   : 5px;
	box-shadow      : 0 5px #D7551B;
	max-width       : 330px;
	width           : 100%;
}

.btn_tel_long a {
	display    : block;
	color      : #fff;
/*	font-family: a-otf-jun-pro, sans-serif;*/
	font-weight: bold;
	font-style : normal;
	font-size  : 1.4em;
}

.btn_tel_long:active {
	box-shadow: none;
	position  : relative;
	top       : 5px;
}

.btn_line_long span {
	font-size: 1.8em;
}

.btn_line_long span::before {
	content        : '';
	display        : inline-block;
	background     : url("../image/btn_line.png") no-repeat;
	background-size: contain;
	width          : 35px;
	height         : 35px;
	vertical-align : -8px;
	margin-right   : 10px;
}

.btn_line_long {
	line-height     : 2.5em;
	display         : inline-block;
	background-color: #39B54A;
	padding         : 15px 10px;
	color           : #fff;
	text-align      : center;
	cursor          : pointer;
	border-radius   : 5px;
	box-shadow      : 0 5px #009245;
	max-width       : 330px;
	width           : 100%;
}

.btn_line_long a {
	display    : block;
	color      : #fff;
/*	font-family: a-otf-jun-pro, sans-serif;*/
	font-weight: bold;
	font-style : normal;
	font-size  : 1.4em;
}

.btn_line_long:active {
	box-shadow: none;
	position  : relative;
	top       : 5px;
}

.btn_yoyaku_long span {
	font-size: 1.8em;
}

.btn_yoyaku_long span::before {
	content        : '';
	display        : inline-block;
	background     : url("../image/btn_yoyaku.png") no-repeat;
	background-size: contain;
	width          : 35px;
	height         : 35px;
	vertical-align : -8px;
	margin-right   : 10px;
}

.btn_yoyaku_long {
	line-height     : 2.5em;
	display         : inline-block;
	background-color: #03a9f4;
	padding         : 15px 10px;
	color           : #fff;
	text-align      : center;
	cursor          : pointer;
	border-radius   : 5px;
	box-shadow      : 0 5px #1d7dc9;
	max-width       : 330px;
	width           : 100%;
}

.btn_yoyaku_long a {
	display    : block;
	color      : #fff;
/*	font-family: a-otf-jun-pro, sans-serif;*/
	font-weight: bold;
	font-style : normal;
	font-size  : 1.4em;
}

.btn_yoyaku_long:active {
	box-shadow: none;
	position  : relative;
	top       : 5px;
}

/*heading*/
.heading04 {
	display        : flex;
	justify-content: center;
	align-items    : center;
	font-size      : 26px;
	text-align     : center;
}

.heading04::before,
.heading04::after {
	content         : '';
	width           : 3px;
	height          : 40px;
	background-color: #E49597;
}

.heading04::before {
	margin-right: 30px;
	transform   : rotate(-35deg)
}

.heading04::after {
	margin-left: 30px;
	transform  : rotate(35deg)
}

/*common*/
.underline {
	text-align: center;
}

.marker_yellow {
	background: linear-gradient(transparent 70%, #FFFF7C 70%);
}

.marker_pink {
	background: linear-gradient(transparent 70%, #FFE7F5 70%);
}

.common {
	background: #fff;
	width     : 90%;
	margin    : 0 auto;
	padding   : 50px 0;
}

.btn_ttl {
	font-weight  : 700;
	font-size    : 2.7em;
	text-align   : center;
	margin-bottom: 10px;
}

span.bold {
	font-weight: 700;
	color      : #F15A24;
}

span.weight {
	font-weight: 700;
	color      : #4D4D4D;
}

/*nav*/
#g-nav {
	position  : fixed;
	z-index   : 999;
	top       : 0;
	right     : -120%;
	width     : 100%;
	height    : 100vh;
	background: #fff;
	transition: all 0.6s;
}

#g-nav.panelactive {
	right: 0;
	background: #f5f1fb;
}

#g-nav.panelactive #g-nav-list {
	position                  : fixed;
	z-index                   : 999;
	width                     : 100%;
	height                    : 100vh;
	overflow                  : auto;
	-webkit-overflow-scrolling: touch;
}

#g-nav ul {
	position : absolute;
	z-index  : 999;
	top      : 50%;
	left     : 50%;
	transform: translate(-50%, -50%);
}

#g-nav li {
	font-size : 1.8em;
	list-style: none;
	text-align: center;
}

#g-nav li:last-of-type {
	margin-bottom: 30px;
}

#g-nav li a {
	color          : #333;
	text-decoration: none;
	padding        : 10px;
	display        : block;
	text-transform : uppercase;
	letter-spacing : 0.1em;
	font-weight    : bold;
}

#g-nav .cv {
	display        : flex;
	flex-direction : column;
	justify-content: center;
	align-items    : center;
}

#g-nav .cv .btn_tel_long {
	margin-right : 0;
	margin-bottom: 10px;
}

#g-nav .cv .btn_line_long {
	margin-right : 0;
	margin-bottom: 10px;
}

.openbtn1 {
	/* position: absolute; */
	z-index        : 9999;
	top            : 30px;
	right          : 0;
	top            : 20px;
	right          : 20px;
	cursor         : pointer;
	width          : 50px;
	height         : 50px;
	display        : flex;
	flex-direction : column;
	align-items    : center;
	justify-content: center;
}

.openbtn1 span {
	display            : inline-block;
	transition         : all .4s;
	/* position        : absolute; */
	left               : 14px;
	height             : 2px;
	border-radius      : 2px;
	/* background-color: #666; */
	background         : #000;
	/* width           : 50%; */
	width              : 84%;
}

.openbtn1>p {
	/* font-size: 1em; */
	font-size   : 12px;
	bottom      : -3px;
	/* position : absolute; */
	left        : 12px;
	font-weight : bold;
	color       : #000;
	margin-top  : 3px;
}

.openbtn1 span:nth-of-type(1) {
	top: 15px;
}

.openbtn1 span:nth-of-type(2) {
	top   : 23px;
	margin: 8px 0;
}

.openbtn1 span:nth-of-type(3) {
	top: 31px;
}

.openbtn1.active {
	position: absolute;
	top     : 0;
}

.openbtn1.active span:nth-of-type(1) {
	top         : 18px;
	left        : 18px;
	/* transform: translateY(6px) rotate(-45deg); */
	transform   : translateY(7.5px) rotate(-45deg);
	width       : 60%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
	top         : 30px;
	left        : 18px;
	/* transform: translateY(-6px) rotate(45deg); */
	transform   : translateY(-12.5px) rotate(45deg);
	width       : 60%;
}

/*contents*/
.container {
	max-width : 900px;
	width     : 100%;
	margin    : 0 auto;
	box-shadow: 0 10px 25px 0 rgb(221 221 221);
	overflow  : hidden;
}

.inner {
	max-width: 900px;
	width    : 90%;
	margin   : 0 auto;
}

header {
	position          : relative;
	/* display        : flex; */
	justify-content   : space-between;
	align-items       : center;
	/* height         : 110px; */
	max-width         : 900px;
	width             : 90%;
	margin            : 0 auto;
}


/* -----------------------------------------------

	header  変更css  ここから

*/
header {
	width: 100%;
}

header .catch {
	display        : flex;
	align-items    : center;
	justify-content: center;
	font-size      : 23px;
	color          : #fff;
	text-align     : center;
	background     : #ffb37c;
	padding        : 7px 0;
}
#biyou header .catch {
background: #784879;
}

@media screen and (max-width: 600px) {
	header .catch {
		font-size: 15px;
		padding  : 5px 0;
	}
}

@media screen and (max-width: 330px) {
	header .catch {
		font-size: 13px;
	}
}

header .inner {
	width          : 100%;
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	padding        : 2% 20px;
	position       : relative;
}

@media screen and (max-width: 768px) {
	header .inner {
		padding: 2% 20px 2% 0;
	}
}

.header_btn {
	width    : 30%;
	max-width: 230px;
	min-width: 100px;
	padding  : 0 5%;
}

.btn__tel {
	margin-left: 7px;
}

.btn__reserve {
	width: 35%;
	max-width: 280px;
	border-left : 2px solid #d9d9d9;
	border-right: 2px solid #d9d9d9;
}

.btn__reserve img {
	width: 75%;
	margin: 0 auto;
}

@media screen and (max-width: 900px) {
	.btn__reserve {
		width    : 30%;
		max-width: 230px;
	}

	.btn__reserve img {
		width: 100%;
	}
}

.btn__line {
	width    : 28%;
	max-width: 218px;
}

@media screen and (max-width: 330px) {
	.header_btn {
		min-width: 90px;
	}
}
/* 

	header 変更css  ここまで

------------------------------------------------------ */

header .logo {
	max-width: 330px;
}

header .logo img {
	margin-bottom: 10px;
}

header .right_menu {
	display: flex;
	width  : 280px;
}

header .logo p.logo_p {
	font-size: 1.7em;
}

header .g_nav {
	max-width: 900px;
}

.main_v {
    height: 493px;
	position       : relative;
	background     : url("../image/main_2023.jpg") no-repeat;
	max-width      : 900px;
	background-size: 100% auto;
	padding-top    : 130%;
display:flex;
align-items: center;
    justify-content: center;
}

.mv__logo {
	width    : 20%;
}

.mainv_copy {
	position : absolute;
	max-width: 455px;
	width    : 100%;
	height   : auto;
	left     : 95px;
	top      : 20%;
}

/* 美容 */
#biyou .main_v {
	background     : url("../image/main_biyou_2.jpg") no-repeat center 20%;
	position       : relative;
	max-width      : 900px;
	background-size: cover;
	padding-top    : 0%;
}

.mainv_copy.campaign {
	position    : absolute;
	max-width   : 455px;
	/* width    : 100%; */
	width       : 60%;
	height      : auto;
	/* left     : 60px; */
	/* top      : 20%; */
	left        : 6%;
	top         : 35%;
}

.mainv_copy02 {
	position    : absolute;
	max-width   : 700px;
	/* width    : 100%; */
	width       : 90%;
	height      : auto;
	bottom      : 10%;
	left        : 50%;
	transform   : translate(-50%);
}

.mainv_copy02.campaign {
	position    : absolute;
	max-width   : 780px;
	/* width    : 100%; */
	width       : 90%;
	height      : auto;
	bottom      : 8%;
	left        : 50%;
	transform   : translate(-50%);
}

.main_bottom {
	background-color: #EECD20;
}

.main_bottom>p {
	color      : #000;
	font-size  : 2.3em;
	text-align : center;
	line-height: 1.5em;
	padding    : 20px 0;
	text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,
		-1px 1px 0 #FFF, 1px -1px 0 #FFF,
		0px 1px 0 #FFF, 0-1px 0 #FFF,
		-1px 0 0 #FFF, 1px 0 0 #FFF;
}

#biyou .main_bottom {
	background-color: #784879;
}

#biyou .main_bottom > p {
	color      : #FFF;
	text-shadow:none;
	display:flex;justify-content: space-evenly;
    align-items: center;
}
#biyou .main_bottom > p a{
	color      : #FFF;
	padding:5px 0;
	width:100%;
	font-size:90%;
}
#biyou .main_bottom  p a:not(:last-child){
	border-right:1px solid #c898c9;
}

#Onayami {
	background: #F3EEED;
	padding   : 50px 0;
}

#Onayami h2 {
	font-size    : 3em;
	text-align   : center;
/*	font-family  : fot-tsukuardgothic-std, sans-serif;*/
	font-weight  : 700;
	font-style   : normal;
	margin-bottom: 30px;
}

#Onayami h2::after {
	content            : '';
	background         : url("../image/ttl_nami.png") no-repeat;
	background-position: center;
	background-size    : contain;
	display            : block;
	width              : 218px;
	height             : 16px;
	margin             : 20px auto 0;
}

#Onayami .comment {
	margin-bottom: 20px;
}

#Solution {
	position  : relative;
	padding   : 50px 0;
	background: #FFFEED;
}

#Solution .icon {
	position : absolute;
	top      : -30px;
	left     : 50%;
	transform: translate(-50%);
	width    : 72px;
	height   : 72px;
}

#Solution h2 {
	font-size    : 3em;
	color        : #754C24;
	margin-bottom: 30px;
	display      : inline-block;
	border-bottom: 2px solid #754C24;
	padding      : 0.1em;
	font-weight  : 600;
}

#Solution h2 span {
	font-size: 1.4em;
}

#Solution .feature {
	background   : #fff;
	border       : #F2CCCD double;
	border-radius: 5px;
	padding      : 25px;
	margin       : 40px 0 20px;
}

#Solution .feature h3 {
	font-size    : 2.8em;
	color        : #754C24;
	text-align   : center;
/*	font-family  : fot-tsukuardgothic-std, sans-serif;*/
	font-weight  : 700;
	font-style   : normal;
	margin-bottom: 20px;
}

#Solution .feature ul li {
	font-size    : 2em;
	margin-bottom: 10px;
	line-height  : 1.3em;
	padding-left : 1.4em;
	text-indent  : -1.4em;
}

#Solution .feature ul li:before {
	content        : '';
	background     : url("../image/icon_check.png") no-repeat;
	width          : 20px;
	height         : 20px;
	background-size: contain;
	display        : inline-block;
	vertical-align : -2px;
	margin-right   : 8px;
}

#Solution .feature ul li:last-child {
	margin-bottom: 0;
}

#Sugosa {
	position: relative;
	padding : 50px 0 0;
}

#Sugosa .icon {
	position : absolute;
	top      : -30px;
	left     : 50%;
	transform: translate(-50%);
	width    : 72px;
	height   : 72px;
}

#Sugosa .intro {
	position: relative;
}

#Sugosa .intro h2 {
	font-size    : 3em;
	text-align   : center;
	/*font-family  : fot-tsukuardgothic-std, sans-serif;*/
	font-weight  : 700;
	font-style   : normal;
	margin-bottom: 30px;
	line-height  : 1.3em;
}

#Sugosa .intro .sugosa_main {
	position: relative;
	width   : 90%;
	margin  : 0 auto;
}

#Sugosa .intro .sugosa_main img.sugosa_catch01 {
	position: absolute;
	bottom  : 35px;
	right   : -25px;
	width   : 300px;
	height  : auto;
}

#Sugosa .intro .background-blue {
	position  : absolute;
	top       : 50%;
	bottom    : 0;
	width     : 100%;
	background: #FF9F9D;
	z-index   : -1;
	left      : 50%;
	transform : translate(-50%);
}

#Sugosa .intro .contents {
	position: relative;
}

#Sugosa .intro .sugosa_catch02 {
	width         : 90%;
	margin        : 50px auto 0;
	padding-bottom: 50px;
}

#Sugosa .product {
	display        : flex;
	justify-content: space-between;
	align-items    : flex-start;
	margin         : 50px 0;
}

#Sugosa img.lighence {
	width       : 175px;
	height      : auto;
	margin-right: 40px;
}

#Sugosa span.orange {
	color: #F15A24;
}

#Sugosa .hosyo {
	display        : flex;
	justify-content: space-between;
	align-items    : flex-start;
	background     : #FFD9D8;
	padding        : 30px;
	border-radius  : 3px;
	margin-bottom  : 50px;
}

#Sugosa .hosyo img.hosyo_img {
	max-width   : 150px;
	height      : auto;
	margin-right: 20px;
}

#Sugosa .hosyo .txt_wrap h3 {
	font-size    : 2.5em;
	margin-bottom: 10px;
/*	font-family  : a-otf-ryumin-pr6n, serif;*/
	font-weight  : 300;
	font-style   : normal;
	line-height  : 1.2em;
}

#Sugosa .hosyo .txt_wrap>p {
	font-size: 1.5em;
}

#Sugosa .point {
	background: #FFF5EF;
	padding   : 50px 0;
}

#Sugosa .point_matome {
	background: #FFF5EF;
}

#Sugosa .movie {
	position   : relative;
	width      : 100%;
	padding-top: 56.25%;
	margin     : 20px 0;
}

#Sugosa .movie iframe {
	position: absolute;
	top     : 0;
	right   : 0;
	width   : 100%;
	height  : 100%;
}

#Sugosa .semicircle {
	position     : relative;
	z-index      : 1;
	border-radius: 5px;
	width        : 90%;
	margin       : 0 auto;
	background   : linear-gradient(to right, #FFB37C, #E69E9F);
	text-align   : center;
}

#Sugosa .semicircle .point_icon {
	position : absolute;
	left     : 50%;
	transform: translate(-50%, -50%);
	width    : 72px;
	height   : 72px;
}

#Sugosa .semicircle::before {
	position       : absolute;
	top            : 0;
	left           : 0;
	z-index        : -1;
	box-sizing     : border-box;
	border-radius  : 10px;
	padding        : 5px;
	width          : 100%;
	height         : 100%;
	background     : #fff;
	background-clip: content-box;
	content        : "";
}

#Sugosa .point_inner {
	padding: 50px 30px;
}

#Sugosa .point_inner p {
	text-align: left;
}

#Sugosa .point h2 {
	color        : #754C24;
	font-size    : 3em;
	font-weight  : 700;
	position     : relative;
	display      : inline-block;
	margin-bottom: 50px;
}

#Sugosa .point h2:before {
	content          : '';
	position         : absolute;
	bottom           : -22px;
	display          : inline-block;
	width            : 60px;
	height           : 3px;
	left             : 50%;
	-webkit-transform: translateX(-50%);
	transform        : translateX(-50%);
	background       : linear-gradient(to right, #FFB37C, #E69E9F);
	border-radius    : 2px;
}

#Sugosa .point h3 {
	background   : #EFD4CF;
	font-size    : 2.5em;
	text-align   : left;
	padding      : 10px 0 10px 20px;
	margin-bottom: 30px;
	font-weight  : 700;
}

#Sugosa .point .contents:not(:last-child) {
	margin-bottom: 50px;
}

#Sugosa .merit_catch {
	position     : relative;
	line-height  : 45px;
	color        : #fff;
	border-radius: 50px;
	background   : #ed1e79;
	width        : 168px;
	height       : 45px;
	font-size    : 2.5em;
	margin-bottom: 15px;
}

#Sugosa .merit_catch:after {
	position    : absolute;
	bottom      : -9px;
	left        : 1em;
	width       : 0;
	height      : 0;
	content     : '';
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #ed1e79 transparent transparent transparent;
}

#Sugosa ul.merit {
	margin-bottom: 30px;
}

#Sugosa ul.merit li::before {
	content: '●';
	display: inline-block;
}

#Sugosa ul.merit li {
	font-size    : 2.1em;
	line-height  : 1.4em;
	text-align   : left;
	margin-bottom: 5px;
	text-indent  : -.5em;
	padding-left : 1em;
}

#Sugosa ul.merit li:last-child {
	margin-bottom: 0;
}

#Sugosa .demerit_catch {
	position     : relative;
	line-height  : 45px;
	color        : #fff;
	border-radius: 50px;
	background   : #0071bc;
	width        : 168px;
	height       : 45px;
	font-size    : 2.5em;
	margin-bottom: 15px;
}

#Sugosa .demerit_catch:after {
	position    : absolute;
	bottom      : -9px;
	left        : 1em;
	width       : 0;
	height      : 0;
	content     : '';
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #0071bc transparent transparent transparent;
}

#Sugosa ul.demerit {
	margin-bottom: 30px;
}

#Sugosa ul.demerit li::before {
	content: '●';
	display: inline-block;
}

#Sugosa ul.demerit li {
	font-size    : 2.1em;
	line-height  : 1.4em;
	text-align   : left;
	margin-bottom: 5px;
	text-indent  : -.5em;
	padding-left : 1em;
}

#Sugosa ul.demerit li:last-child {
	margin-bottom: 0;
}

#Sugosa .review_item {
	display        : flex;
	justify-content: space-between;
	margin-bottom  : 30px;
}

#Sugosa .review_item:last-child {
	margin-bottom: 0;
}

#Sugosa .review_item>img {
	width       : 132px;
	height      : 132px;
	margin-right: 20px;
}

#Sugosa .review_item>.review_txt p.name {
	font-size : 2em;
	text-align: right;
}

#Sugosa img.point_img {
	width : 80%;
	margin: 20px auto;
}

#Sugosa img.point_main_img {
	margin: 0 auto 20px;
}

#Sugosa .point_comment {
	background: #FFF5EF;
	padding   : 0 40px;
}

#Sugosa .point_comment+p {
	font-size: 2.5em;
}

#Sugosa .point_matome img {
	width : 90%;
	margin: 0 auto;
}

#Case {
	padding        : 80px 0;
	background     : url("../image/ex_bg.jpg")no-repeat;
	background-size: cover;
}

#Case h2 {
	text-align   : center;
	font-size    : 3.6em;
/*	font-family  : fot-tsukuardgothic-std, sans-serif;*/
	font-weight  : 700;
	font-style   : normal;
	margin-bottom: 10px;
}

#Case h2.woman::before {
	content        : '';
	background     : url("../image/icon_woman.png") no-repeat;
	width          : 21px;
	height         : 48px;
	background-size: contain;
	display        : inline-block;
	vertical-align : -13px;
	margin-right   : 10px;
}

#Case h2.man::before {
	content        : '';
	background     : url("../image/icon_man.png") no-repeat;
	width          : 21px;
	height         : 48px;
	background-size: contain;
	display        : inline-block;
	vertical-align : -13px;
	margin-right   : 10px;
}

#Case .slider {
	width : 90%;
	margin: 0 auto 80px;
}

#Case .slick-slide img {
	width : 100%;
	height: auto;
}

#Case .mypattern {
	width: 100%;
}

#Case .mypattern .slick-slide {
	margin: 5px;
}

#Case .slide_item {
	background-color: rgba(255, 255, 255, 0.85);
	box-shadow      : 0px 0px 15px -10px #000000;
	border-radius   : 10px;
	padding         : 40px 20px;
}

#Case img.item_ttl {
	margin       : 0 auto;
	max-height   : 40px;
	width        : auto;
	margin-bottom: 10px;
}

#Price {
	background    : #FFF5EF;
	padding-bottom: 30px;
}
#Price h3{
font-size: 2em;
    padding: 10px;
background:#f2cccd;
margin-bottom:-20px;
text-align:center;
font-weight:bold;
}

#Price img.price_ribon {
	width      : 70%;
	margin     : 0 auto 20px;
	padding-top: 30px;
}

#Price .price_wrap {
	background             : #F2CCCD;
	border-top-left-radius : 10px;
	border-top-right-radius: 10px;
}

#Price ul.price_menu {
	display        : flex;
	flex-wrap      : wrap;
	justify-content: space-between;
	text-align     : center;
	font-size      : 2em;
	margin         : 40px 0 20px;
}

#Price ul.price_menu::after {
	content: "";
	display: block;
	width  : 33%;
}

#Price ul.price_menu li {
	background   : #0071BC;
	border-radius: 5px;
	color        : #fff;
	width        : 24%;
	padding      : 7px 0;
	margin-bottom: 1%;
}

#Price ul.price_menu li:first-child {
	background: #fff;
	border    : 2px solid #0071BC;
	color     : #0071BC;
}

#Price ul.price_menu li.osusume_icon {
	position: relative;
}

#Price ul.price_menu li.osusume_icon img {
	position: absolute;
	width   : 127px;
	height  : 36px;
	top     : -25px;
	left    : 55px;
}

#Price h2 {
	text-align : center;
	color      : #754C24;
	padding    : 20px 0;
	font-size  : 3.3em;
	font-weight: 600;
}

#Price h2 span {
	font-size  : 1.5rem;
	line-height: 1.5em;
	font-weight: normal;
}

#Price .price_contents {
	border    : #F2CCCD solid 4px;
	background: #fff;
	padding   : 50px 0 50px;
}

/*
#Price dl { text-align: center; }
#Price dt{ width: 60%; height: 45px; float: left; background: #FAEAEA; font-size: 2.2em; line-height: 45px; border: 1px solid #fff; box-sizing: border-box; }
#Price dd{ background: #F2F2F2; font-size: 2.2em; line-height: 45px; width: calc(100% - 60%); height: 45px; float: right; border: 1px solid #fff; box-sizing: border-box; }
*/
table.pricelist {
	width     : 100%;
	margin-top: 20px
}

table.pricelist caption{
	background:#8d7c7e;color:#FFF;	
	font-size:0.9rem;
	padding:5px;
}
	/* 美容　tblの色 */
	table.pricelist.photo th {
		background: #ffe3f9;
	}
	table.pricelist.kinmakutbl th {
		background: #fbe4dd;
	}
	table.pricelist.busttbl th {
		background: #c7f1e4;
	}
	table.pricelist.aromatbl th {
		background: #cbeef5;
	}
table.pricelist th {
	vertical-align: middle;
	text-align    : center;
	width         : 60%;
	padding       : 5px;
	background    : #FAEAEA;
	font-size     : 2.2em;
	border        : 1px solid #fff;
	box-sizing    : border-box;
	line-height:1.3;

font-feature-settings: "palt";
}
#biyou table.pricelist th {
	text-align:left;
	padding       : 10px;

}

table.pricelist td {
	vertical-align: middle;
	text-align    : center;
	width         : 40%;
	padding       : 10px;
	background    : #F2F2F2;
	font-size     : 2.2em;
	border        : 1px solid #fff;
	line-height:1.2;
}

table.pricelist td del {
	color    : black;
	font-size: 85%;
}

.option span {
	padding       : 0 5px;
	background    : #d34747;
	font-size     : 1rem;
	color         : #fff;
	line-height   : 22px;
	vertical-align: 2px;
	border-radius : 3px;
	margin-right  : 7px;
}

table.pricelist.photo {
	margin-top: 20px;
}


#Price p.notice {
	clear        : both;
	font-size    : 1.4em;
	margin-bottom: 15px;
	padding-top  : 15px;
}

#Price_self {
	clear     : both;
	background: #F6E68E;
}

#Price_self .price_contents_self {
	border    : #F6E68E solid 4px;
	background: #fff;
	padding   : 50px 0;
}

#Price_self {
	background: #FDFAEA;
}

#Price_self h2 {
	text-align : center;
	color      : #754C24;
	padding    : 20px 0;
	font-size  : 3.3em;
	font-weight: 700;
}

#Price_self h2 span {
	font-size  : 1.5rem;
	line-height: 1.5em;
	font-weight: normal
}

.osusume_wrap {
border:3px solid #EEE;
border-radius:8px;
padding:15px 20px 10px;
	margin         : 10px 0;
}
.osusume_wrap .priceosusume{
	font-weight:bold;
	font-size:1.5rem;
	margin:0 0 1rem;
}

#Price_self ul.osusume_check li {
	font-size    : 2em;
	margin-bottom: 10px;
}

#Price_self ul.osusume_check li:before {
	content        : '';
	background     : url("../image/icon_check_osusume.png") no-repeat;
	display        : inline-block;
	width          : 20px;
	height         : 20px;
	background-size: contain;
	vertical-align : -2px;
	margin-right   : 8px;
}

#Price_self h3 {
	color      : #754C24;
	text-align : center;
	font-size  : 2.6em;
	font-weight: 700;
	background : #F6E68E;
	padding    : 20px;
	margin     : 30px 0 10px;
}

#Price_self .price_wrap {
	background             : #F6E68E;
	border-top-left-radius : 10px;
	border-top-right-radius: 10px;
	margin-bottom          : 50px;
}

#Price_self .self_price_wrap {
	display        : flex;
	justify-content: space-between;
}

#Price_self .self h3 {
	background: #F6E68E;
}

#Price_self .self dt {
	background: #FCF5D4;
}

#Price_self dl {
	text-align: center;
	width     : 49%;
}

#Price_self dt {
	width      : 55%;
	height     : 45px;
	float      : left;
	background : #FCF5D4;
	font-size  : 2.2em;
	line-height: 45px;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#Price_self dd {
	background : #F2F2F2;
	font-size  : 2.2em;
	line-height: 45px;
	width      : calc(100% - 55%);
	height     : 45px;
	float      : right;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#Price_self .point_matome {
	background: #FDFAEA;
}

#Price_self .point_matome img {
	width : 90%;
	margin: 0 auto;
}

#Photofacial {
	background    : #fff6f6;
	padding-top   : 50px;
	padding-bottom: 10px;
}

#Photofacial .ttl_wrap {
	background             : #ffe3f9;
	border-top-left-radius : 10px;
	border-top-right-radius: 10px;
	margin-bottom          : 50px;
}

#Photofacial .photofacial_contents {
/*	border    : #EAE3FF solid 4px;*/
	background: #fff;
	padding   : 50px 0;
	text-align : center;
}

#Photofacial h2 {
	text-align : center;
	color      : #754C24;
	padding    : 20px 0;
	font-size  : 3.3em;
	font-weight: 700;
}

#Photofacial .photofacial_contents p{
	text-align:left;
}
#Photofacial h2 span {
	font-size  : 1.5rem;
	line-height: 1.5em;
	font-weight: normal
}

#Photofacial ul.osusume_chec{
	text-align:left;
}
#Photofacial ul.osusume_check li {
	font-size    : 2em;
	margin-bottom: 10px;
}
#Photofacial ul.osusume_check li:before {
	content        : '';
	background     : url("../image/icon_check_osusume_p.png") no-repeat;
	display        : inline-block;
	width          : 20px;
	height         : 20px;
	background-size: contain;
	vertical-align : -2px;
	margin-right   : 8px;
}

#Photofacial p.notice {
	text-align: center;
	font-size : 1.5em;
}

/* ------ */

#Kinmaku {
	background    : #fff6f6;
	padding-top   : 0px;
	padding-bottom: 10px;
}

#Kinmaku .ttl_wrap {
		background: #fbe4dd;
	border-top-left-radius : 10px;
	border-top-right-radius: 10px;
	margin-bottom          : 50px;
}

#Kinmaku .photofacial_contents {
/*	border    : #EAE3FF solid 4px;*/
	background: #fff;
	padding   : 50px 0;
}

#Kinmaku h2 {
	text-align : center;
	color      : #754C24;
	padding    : 20px 0;
	font-size  : 3.3em;
	font-weight: 700;
}

#Kinmaku h2 span {
	font-size  : 1.5rem;
	line-height: 1.5em;
	font-weight: normal
}

#Kinmaku ul.osusume_check li {
	font-size    : 2em;
	margin-bottom: 10px;
}

#Kinmaku ul.osusume_check li:before {
	content        : '';
	background     : url("../image/icon_check_osusume_p.png") no-repeat;
	display        : inline-block;
	width          : 20px;
	height         : 20px;
	background-size: contain;
	vertical-align : -2px;
	margin-right   : 8px;
}

#Kinmaku p.notice {
	text-align: center;
	font-size : 1.5em;
}


#Photofacial .result,
#Kinmaku .result,
#Bustup .result,
#aroma .result {
	margin: 30px 0 20px;
}

#Photofacial .result:last-child,
#Kinmaku .result:last-child,
#Bustup .result:last-child,
#aroma .result:last-child {
	margin-bottom: 0;
}

#Photofacial dl,
#Kinmaku dl {
	text-align: center;
	margin-top: 10px;
}

#Photofacial dt,
#Kinmaku dt {
	width      : 55%;
	height     : 45px;
	float      : left;
	background : #eee8ff;
	font-size  : 2.2em;
	line-height: 45px;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#Photofacial dd,
#Kinmaku dd {
	background : #F2F2F2;
	font-size  : 2.2em;
	line-height: 45px;
	width      : calc(100% - 55%);
	height     : 45px;
	float      : right;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#Photofacial .osusume_wrap {
	text-align:left;
}

#Bustup {
	background: #fff6f6;
	padding   : 0 0 50px;
}

#Bustup .ttl_wrap {
	background             : #c7f1e4;
	border-top-left-radius : 10px;
	border-top-right-radius: 10px;
}

#Bustup h2 {
	text-align : center;
	color      : #754C24;
	padding    : 20px 0;
	font-size  : 3.3em;
	font-weight: 700;
}

#Bustup h2 span {
	font-size  : 1.5rem;
	line-height: 1.5em;
	font-weight: normal
}

#Bustup .bustup_contents {
/*	border    : #EAE3FF solid 4px;*/
	background: #fff;
	padding   : 50px 0;
	margin-bottom:50px;
}

#Bustup ul.osusume_check li {
	font-size    : 2em;
	margin-bottom: 10px;
}

#Bustup ul.osusume_check li:before {
	content        : '';
	background     : url("../image/icon_check_osusume_p.png") no-repeat;
	display        : inline-block;
	width          : 20px;
	height         : 20px;
	background-size: contain;
	vertical-align : -2px;
	margin-right   : 8px;
}

#Bustup dl {
	text-align: center;
	margin-top: 10px;
}

#Bustup dt {
	width      : 55%;
	height     : 45px;
	float      : left;
	background : #eee8ff;
	font-size  : 2.2em;
	line-height: 45px;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#Bustup dd {
	background : #F2F2F2;
	font-size  : 2.2em;
	line-height: 45px;
	width      : calc(100% - 55%);
	height     : 45px;
	float      : right;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#Bustup .osusume_wrap {
}

#Bustup p.notice {
	text-align: center;
	font-size : 1.5em;
}



#aroma {
	background: #fff6f6;
	padding   : 0 0 50px;
}

#aroma .ttl_wrap {
	background             : #cbeef5;
	border-top-left-radius : 10px;
	border-top-right-radius: 10px;
}

#aroma h2 {
	text-align : center;
	color      : #754C24;
	padding    : 20px 0;
	font-size  : 3.3em;
	font-weight: 700;
}

#aroma h2 span {
	font-size  : 1.5rem;
	line-height: 1.5em;
	font-weight: normal
}

#aroma .bustup_contents {
/*	border    : #EAE3FF solid 4px;*/
	background: #fff;
	padding   : 50px 0;
	margin-bottom:50px;
}

#aroma ul.osusume_check li {
	font-size    : 2em;
	margin-bottom: 10px;
}

#aroma ul.osusume_check li:before {
	content        : '';
	background     : url("../image/icon_check_osusume_p.png") no-repeat;
	display        : inline-block;
	width          : 20px;
	height         : 20px;
	background-size: contain;
	vertical-align : -2px;
	margin-right   : 8px;
}

#aroma dl {
	text-align: center;
	margin-top: 10px;
}

#aroma dt {
	width      : 55%;
	height     : 45px;
	float      : left;
	background : #eee8ff;
	font-size  : 2.2em;
	line-height: 45px;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#aroma dd {
	background : #F2F2F2;
	font-size  : 2.2em;
	line-height: 45px;
	width      : calc(100% - 55%);
	height     : 45px;
	float      : right;
	border     : 1px solid #fff;
	box-sizing : border-box;
}

#aroma .osusume_wrap {
}

#aroma p.notice {
	text-align: center;
	font-size : 1.5em;
}


#Faq {
	position: relative;
}

#Faq .ttl_wrap {
	padding   : 50px 0;
	text-align: center;
}

#Faq .q1 {
	background: #FBF1F1;
}

#Faq .icon {
	position : absolute;
	top      : -30px;
	left     : 50%;
	transform: translate(-50%);
	width    : 72px;
	height   : 72px;
}

#Faq .faq_item {
	margin-bottom: 50px;
}

#Faq .ttl_wrap h2 {
/*	font-family  : fot-tsukuardgothic-std, sans-serif;*/
	font-weight  : 700;
	font-style   : normal;
	font-size    : 2.5em;
	margin-bottom: 10px;
}

#Faq .ttl_wrap span {
	/*font-family: 'Noto Sans JP', sans-serif;*/
	text-align : center;
	font-size  : 1.8em;
}

#Faq .cp_box {
	position: relative;
}

#Faq .cp_box label {
	position  : absolute;
	z-index   : 1;
	bottom    : 0;
	width     : 100%;
	height    : 70px;
	cursor    : pointer;
	text-align: center;
	background: #fff;
}

#Faq .cp_box input:checked+label {
	background: inherit;
}

#Faq .cp_box label:after {
	line-height     : 2.5rem;
	position        : absolute;
	z-index         : 2;
	bottom          : 10px;
	left            : 50%;
	width           : 90%;
	content         : ' 続きを見る ＋';
	transform       : translate(-50%, 0);
	letter-spacing  : 0.05em;
	color           : #FF9F9D;
	border          : 2px solid #FF9F9D;
	border-radius   : 5px;
	background-color: #fff;
	font-size       : 1.5em;
}

#Faq .cp_box input {
	display: none;
}

#Faq .cp_box .cp_container {
	overflow  : hidden;
	height    : 150px;
	transition: all 0.5s;
}

#Faq .cp_box input:checked+label:after {
	content: ' 閉じる ×';
}

#Faq .cp_box input:checked~.cp_container {
	height        : auto;
	padding-bottom: 80px;
	transition    : all 0.5s;
}

#Faq .faq01 {
	position       : relative;
	background     : url("../image/faq01_bg.png") no-repeat;
	width          : 855px;
	margin-bottom  : 20px;
	background-size: 100% auto;
	padding-top    : 21%;
}

#Faq .faq01 p.q_ttl,
#Faq .faq03 p.q_ttl,
#Faq .faq05 p.q_ttl {
	font-size  : 2em;
	font-weight: 700;
	text-align : center;
	position   : absolute;
	left       : 20%;
	top        : 75px;
}

#Faq .faq01 p.q_ttl::before,
#Faq .faq03 p.q_ttl::before,
#Faq .faq05 p.q_ttl::before {
	content        : '';
	display        : block;
	background     : url("../image/osiete.png") no-repeat;
	width          : 76px;
	height         : 14px;
	background-size: contain;
	margin         : 0 auto;
}

#Faq .faq02 {
	position           : relative;
	background         : url("../image/faq02_bg.png") no-repeat;
	background-position: right;
	margin-bottom      : 20px;
	background-size    : 100% auto;
	padding-top        : 21%;
	margin-left        : 5%;
}

#Faq .faq02 p.q_ttl,
#Faq .faq04 p.q_ttl {
	font-size  : 2em;
	font-weight: 700;
	text-align : center;
	position   : absolute;
	right      : 20%;
	top        : 75px;
}

#Faq .faq02 p.q_ttl::before,
#Faq .faq04 p.q_ttl::before {
	content        : '';
	display        : block;
	background     : url("../image/osiete.png") no-repeat;
	width          : 76px;
	height         : 14px;
	background-size: contain;
	margin         : 0 auto;
}

#Faq .faq03 {
	position       : relative;
	background     : url("../image/faq03_bg.png") no-repeat;
	width          : 855px;
	margin-bottom  : 20px;
	background-size: 100% auto;
	padding-top    : 21%;
}

#Faq .faq04 {
	position           : relative;
	background         : url("../image/faq04_bg.png") no-repeat;
	background-position: right;
	margin-bottom      : 20px;
	background-size    : 100% auto;
	padding-top        : 21%;
	margin-left        : 5%;
}

#Faq .faq05 {
	position       : relative;
	background     : url("../image/faq05_bg.png") no-repeat;
	width          : 855px;
	margin-bottom  : 20px;
	background-size: 100% auto;
	padding-top    : 21%;
}

#QandA {
	margin-top: 50px;
	margin-bottom: 50px;
}

#QandA .toggle_title {
	line-height: 42px;
	margin     : 0;
	padding    : 0 1em;
	position   : relative;
	cursor     : pointer;
	transition : 0.3s;
	background : #F3EEED;
	color      : #4D4D4D;
}

#QandA .toggle_title::before {
	content        : '';
	display        : inline-block;
	background     : url("../image/icon_q.png") no-repeat;
	width          : 25px;
	height         : 25px;
	background-size: contain;
	vertical-align : sub;
	margin-right   : 10px;
}

#QandA .toggle_title:after {
	content        : '';
	background     : url("../image/arrow.png") no-repeat;
	background-size: contain;
	width          : 21px;
	height         : 12px;
	position       : absolute;
	top            : 50%;
	right          : 10px;
	transform      : translateY(-50%);
	transition     : 0.2s;
}

#QandA .toggle_title.selected:after {
	transform: translateY(-50%) rotateX(180deg);
}

#QandA .toggle_txt {
	display: none;
	padding: 1em;
}

#QandA .toggle_contents:not(:last-child) {
	margin-bottom: 10px;
}

#QandA .fukidashi_wrap {
	text-align     : center;
	padding        : 60px;
	background     : url("../image/fukidashi_bg.png") no-repeat;
	display        : inline-block;
	background-size: contain;
	width          : 100%;
	padding-top    : 2%;
}

#QandA .fukidashi>p {
	text-align : center;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style : normal;
	color      : #fff;
	font-size  : 3.3em;
}
#QandA .situmonttl{
	font-size  : 2em;
	margin-bottom:0.5em;
	text-align:center;
	font-weight:bold;
} 

#Flow {
	background: #FFF5EF;
	padding   : 50px 0;
}

#Flow .fukidashi02 {
	margin-bottom: 30px;
}

#Flow .flex {
	display        : flex;
	justify-content: space-around;
	align-items    : center;
}

#Flow .item {
	position     : relative;
	background   : #fff;
	padding      : 35px;
	margin-bottom: 30px;
	border-radius: 10px;
}

#Flow .item:last-child {
	margin-bottom: 0;
}

#Flow .item::after {
	content     : '';
	display     : block;
	width       : 0;
	height      : 0;
	border-style: solid;
	border-width: 18px 23.5px 0 23.5px;
	border-color: #ff9f9d transparent transparent transparent;
	position    : absolute;
	bottom      : -18px;
	left        : 50%;
	transform   : translateX(-50%);
}

#Flow .item:last-child::after {
	content: none;
}

#Flow p.flow_ttl {
	color      : #754C24;
	font-weight: 700;
	font-size  : 2.3em;
}

#Flow .flow_icon {
	width       : 100px;
	margin-right: 20px;
}

#Flow .item .txt_wrap {
	width: calc(100% - 100px);
}

#Flow .item .txt_wrap.max {
	width: 100%;
}

#Flow .fukidashi_wrap {
	text-align     : center;
	padding        : 60px;
	background     : url("../image/fukidashi_bg.png") no-repeat;
	display        : inline-block;
	background-size: contain;
	width          : 100%;
	padding-top    : 2%;
}

#Flow .fukidashi>p {
	text-align : center;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style : normal;
	color      : #fff;
	font-size  : 3.3em;
}

#Access {
	padding: 50px 0;
}

#Access p.heading04 {
	color    : #ECB5B6;
	font-size: 2.5em;
}

#Access p.heading04::before,
#Access p.heading04::after {
	content         : '';
	width           : 2px;
	height          : 30px;
	background-color: #ECB5B6;
}

#Access h2 {
	text-align   : center;
	font-family  : fot-tsukuardgothic-std, sans-serif;
	font-weight  : 700;
	font-style   : normal;
	font-size    : 3.4em;
	margin-bottom: 20px;
}

#Access h2::after {
	content            : '';
	background         : url(../image/ttl_nami.png) no-repeat;
	background-position: center;
	background-size    : contain;
	display            : block;
	width              : 218px;
	height             : 16px;
	margin             : 20px auto 0;
}

#Access .map {
	position     : relative;
	width        : 100%;
	height       : 0;
	padding-top  : 56.25%;
	margin-bottom: 20px;
}

#Access .map iframe {
	position: absolute;
	top     : 0;
	left    : 0;
	width   : 100%;
	height  : 100%;
}

#Access .shop_wrap {
	background: #FFC1BE;
}

#Access .shop_contents {
	border       : #FFC1BE solid 4px;
	background   : #fff;
	padding      : 0 0 20px;
	margin-bottom: 30px;
}

#Access h3 {
	text-align : center;
	color      : #fff;
	padding    : 20px 0;
	font-size  : 3.3em;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style : normal;
}

#Access .flex {
	display        : flex;
	justify-content: space-between;
	margin-bottom  : 20px;
	margin-top     : 40px;
}

#Access .flex img {
	width : 48%;
	height: auto;
}

#Access .main {
	margin-bottom: 30px;
}

#Access .name {
	font-size    : 2.5em;
	font-weight  : 700;
	margin-bottom: 10px;
}

#Access .name::before {
	content        : '';
	display        : inline-block;
	background     : url("../image/icon_kaiketsu_w.png") no-repeat;
	background-size: contain;
	width          : 30px;
	height         : 30px;
	vertical-align : -5px;
}

#Access .attention {
	border    : 1px solid #FFC1BE;
	text-align: center;
	background: #fff;
	font-size : 1.5em;
}

#Access .attention h4 {
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style : normal;
	text-align : center;
	color      : #754c24;
	font-size  : 1.6em;
	background : #fff3f2;
	padding    : 20px 0;
}

#Access .attention_ttl {
	text-align: left;
	font-size : 15px;
}

#Access .attention ol {
	padding-left: 20px;
}

#Access .attention ol li {
	text-align   : left;
	list-style   : decimal;
	margin-bottom: 20px;
	line-height  : 1.3em;
}

#Access .attention .con_inner {
	padding: 20px;
}

#Access .address_wrap {
	margin-bottom: 20px;
}

#Access p {
	margin-bottom: 20px;
}

#Access img.m20 {
	margin-right: 20px;
}

footer {
	text-align: center;
}

footer .cv {
	background: #F3EEED;
	padding   : 50px 30px;
}

footer .cv .btn_tel_long {
	margin-right: 10px;
}

footer small {
	font-size: 1em;
	padding  : 20px 0;
	display  : block;
}

.opencampaign-ttl {
	font-size : 2.5em;
	text-align: center;
	padding   : 20px 0 0px;
	color     : red;
	animation : flash 1s linear infinite;
}

@keyframes flash {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}


@media screen and (max-width: 600px) {
	.openbtn1 {
		width: 30px;
	}

	.openbtn1 span {
		height: 2px;
	}

	.openbtn1 span:nth-of-type(2) {
		margin: 5px 0;
	}

	.openbtn1>p {
		font-size : 10px;
		margin-top: 1px;
		transform : scale(0.9);
	}

	.openbtn1.active span:nth-of-type(3) {
		transform: translateY(-7px) rotate(45deg);
	}
}


@media screen and (max-width: 414px) {
	a[href^="tel:"] {
		pointer-events: inherit;
	}

	p {
		font-size: 1.5em;
	}

	br.sp {
		display: block;
	}

	.btn_ttl {
		font-size: 1.8em;
	}

	.common {
		padding: 30px 0;
	}

	.heading04::before,
	.heading04::after {
		height: 30px;
	}

	.heading04::before {
		margin-right: 20px;
	}

	.heading04::after {
		margin-left: 20px;
	}

	img.point_img {
		width: 100%;
	}

	header {
		/* height    : 90px; */
		position     : fixed;
		background   : #fff;
		z-index      : 999;
		width        : 100%;
		/* padding   : 0px 4%; */
	}

	header .logo {
		width: 45%;
	}

	header .logo p.logo_p {
		font-size  : 1em;
		line-height: 1.3em;
	}

	header .right_menu {
		width: 170px;
	}

	#g-nav li {
		font-size: 1.6em;
	}

	#g-nav ul {
		width: 75%;
	}

	.btn_tel,
	.btn_line {
		width       : 65px;
		height      : 55px;
		margin-right: 3px;
	}

	.btn_tel img {
		width : 14px;
		height: auto;
	}

	.btn_line img {
		width : 20px;
		height: auto;
	}

	.btn_tel a,
	.btn_line a {
		font-size: 1em;
	}

	.openbtn1 {
		top     : 15px;
		/* right: 0; */
		right   : 20px;
	}

	.mainv_copy {
		width: 60%;
		left : 25px;
		top  : 16%;
	}

	.mainv_copy.campaign {
		width   : 55%;
		/* left : 20px;
		top     : 18%; */
	}

	.mainv_copy02 {
		width : 90%;
		bottom: 10%;
	}

	.mainv_copy02.campaign {
		width : 90%;
		bottom: 6%;
	}

	.main_v {
		height    : 493px;
		margin-top: 90px;
	}
	.mv__logo {
		width    : 20%;
	}
	#biyou .main_v {
		height    : 270px;
		margin-top: 90px;
	}

	.main_bottom>p {
		font-size: 1.2em;
		padding:10px 0;
	}

	.btn_wrap {
		display: block;
	}

	.btn_tel_long {
		margin-bottom: 10px;
		height       : 60px;
		padding      : 10px 0;
	}

	.btn_line_long {
		margin-bottom: 10px;
		height       : 60px;
		padding      : 10px 0;
	}

	.btn_yoyaku_long {
		height : 60px;
		padding: 10px 0;
	}

	.btn_tel_long span,
	.btn_line_long span,
	.btn_yoyaku_long span {
		font-size: 1.3em;
	}

	.btn_tel_long span::before,
	.btn_line_long span::before {
		width         : 18px;
		height        : 18px;
		vertical-align: -2px;
		margin-right  : 4px;
	}

	.btn_tel_long a {
		line-height: 1.5em;
	}

	.btn_yoyaku_long span,
	.btn_line_long span,
	.btn_yoyaku_long span {
		font-size: 1.3em;
	}

	.btn_yoyaku_long span::before,
	.btn_line_long span::before {
		width         : 18px;
		height        : 18px;
		vertical-align: -2px;
		margin-right  : 4px;
	}

	.btn_yoyaku_long a {
		line-height: 1.5em;
	}

	.btn_line_long a {
		line-height: 1.5em;
	}

	.btn_yoyaku_long a {
		line-height: 1.5em;
	}

	#Sugosa ul.merit li,
	#Sugosa ul.demerit li {
		font-size: 1.7em;
	}

	#Sugosa .point h2 {
		font-size: 2.5em;
	}

	#Sugosa .point_inner {
		padding: 40px 30px;
	}

	#Sugosa .point h3 {
		font-size    : 1.8em;
		padding      : 10px 15px;
		margin-bottom: 20px;
	}

	#Sugosa .point .contents:not(:last-child) {
		margin-bottom: 30px;
	}

	#Sugosa .review_item>.review_txt p.name {
		font-size: 1.4em;
	}

	#Sugosa .intro h2 {
		font-size    : 2.3em;
		margin-bottom: 20px;
	}

	.effect {
		padding: 5px;
	}

	#Sugosa .intro .sugosa_main img.sugosa_catch01 {
		bottom: 15px;
		right : -10px;
		width : 50%;
	}

	#Sugosa .intro .sugosa_catch02 {
		margin        : 30px auto 0;
		padding-bottom: 30px;
	}

	#Sugosa img.lighence {
		margin-right: 20px;
	}

	#Sugosa .hosyo {
		display: block;
	}

	#Sugosa .hosyo img.hosyo_img {
		margin: 0 auto 20px;
	}

	#Sugosa .product {
		align-items: center;
	}

	#Sugosa .point {
		padding: 30px 0;
	}

	#Sugosa .semicircle .point_icon {
		width : 60px;
		height: 60px;
	}

	#Sugosa .point_comment {
		padding: 0;
	}

	#Sugosa .merit_catch,
	#Sugosa .demerit_catch {
		width        : 90px;
		height       : 27px;
		font-size    : 1.5em;
		line-height  : 25px;
		margin-bottom: 10px;
	}

	#Sugosa .merit_catch:after,
	#Sugosa .demerit_catch:after {
		bottom: -7px;
	}

	#Sugosa img.point_img {
		width: 100%;
	}

	#Case {
		padding: 30px 0;
	}

	#Case h2 {
		font-size: 2em;
	}

	#Case h2.woman::before,
	#Case h2.man::before {
		width : 16px;
		height: 42px;
	}

	#Case .slide_item {
		height: 220px;
	}

	#Case .mypattern {
		margin-bottom: 20px;
	}

	#Onayami h2 {
		font-size: 2em;
	}

	#Onayami h2::after {
		width : 158px;
		margin: 10px auto 0;
	}

	#Solution h2 {
		font-size    : 2em;
		margin-bottom: 20px;
	}

	#Solution .feature h3 {
		font-size: 2.2em;
	}

	#Solution .feature ul li {
		font-size: 1.7em;
	}

	#Solution .feature ul li:before {
		width : 18px;
		height: 18px;
	}

	#Price img.price_ribon {
		width: 100%;
	}

	#Price h2 span {
		font-size  : .9rem;
		line-height: 1.8em;
		font-weight: normal;
	}

	#Price h2 {
		font-size: 2.5em;
		padding  : 10px 0 15px
	}

	#Price h3 {
		font-size: 2em;
		padding  : 10px
	}

	#Price .price_contents {
		padding: 30px 0 20px;
	}

	#Price ul.price_menu {
		font-size: 1.5em;
		margin   : 20px 0 10px;
	}

	#Price ul.price_menu li.osusume_icon img {
		width : 77px;
		height: auto;
		top   : -10px;
		left  : 12px;
	}

	#Price ul.price_menu li {
		background   : #0071BC;
		border-radius: 5px;
		color        : #fff;
		width        : 32%;
		padding      : 7px 0;
		margin-bottom: 2%;
	}

	#Price dt {
		font-size: 1.15em;
	}

	#Price dd {
		font-size: 1.254em;
	}

	#Price dt.option span:before {
		vertical-align: 0px;
		font-size     : 1em;
		width         : 70px;
	}

	#Price_self h2 span {
		font-size  : .9rem;
		line-height: 1.8em;
		font-weight: normal;
	}

	#Price_self h2 {
		font-size: 2.5em;
		padding  : 10px 0 15px;
	}

	#Price_self .price_contents_self {
		padding: 30px 0;
	}

	.osusume_wrap>img {
		width       : 30%;
		height      : auto;
		margin-right: 20px;
	}

	.osusume_wrap .priceosusume{
		font-size:1rem;
		margin:0 0 1rem;
	}



	#Price_self .price_wrap {
		margin-bottom: 20px;
	}

	#Price_self ul.osusume_check li,
	#Photofacial ul.osusume_check li,
	#Kinmaku ul.osusume_check li,
	#Bustup ul.osusume_check li,
	#aroma ul.osusume_check li {
		font-size   : 1.5em;
		text-indent : -1.2em;
		padding-left: 1.2em;
	}

	#Price_self h3 {
		font-size : 1.8em;
		margin-top: 20px;
	}

	#Price_self dt,
	#Price_self dd {
		font-size: 1.254em;
	}

	#Price_self ul.osusume_check li:before,
	#Photofacial ul.osusume_check li:before,
	#Kinmaku ul.osusume_check li:before,
	#Bustup ul.osusume_check li:before,
	#aroma ul.osusume_check li:before {
		width       : 16px;
		height      : 16px;
		margin-right: 2px;
	}


	#Faq .ttl_wrap {
		padding: 50px 0 20px 0;
	}

	#Faq .ttl_wrap h2 {
		font-size: 2em;
	}

	#Faq .ttl_wrap span {
		font-size: 1.5em;
	}

	#Faq .faq_item {
		margin-bottom: 20px;
	}

	#Faq .faq01 {
		position       : relative;
		background     : url("../image/faq01_bg_sp.png") no-repeat;
		width          : 100%;
		padding-top    : 29%;
		background-size: 95% auto;
	}

	#Faq .faq02 {
		position       : relative;
		background     : url("../image/faq02_bg_sp.png") no-repeat;
		width          : 100%;
		padding-top    : 29%;
		background-size: 95% auto;
	}

	#Faq .faq02 p.q_ttl {
		top        : 28px;
		right      : 10%;
		line-height: 1.2em;
		font-size  : 1.7em;
	}

	#Faq .faq04 p.q_ttl {
		top        : 42px;
		right      : 10%;
		line-height: 1.2em;
		font-size  : 1.7em;
	}

	#Faq .faq02 p.q_ttl::before,
	#Faq .faq04 p.q_ttl::before {
		margin-bottom: 3px;
	}

	#Faq .faq03 {
		position       : relative;
		background     : url("../image/faq03_bg_sp.png") no-repeat;
		width          : 100%;
		padding-top    : 29%;
		background-size: 95% auto;
	}

	#Faq .faq04 {
		position       : relative;
		background     : url("../image/faq04_bg_sp.png") no-repeat;
		width          : 100%;
		padding-top    : 29%;
		background-size: 95% auto;
	}

	#Faq .faq05 {
		position       : relative;
		background     : url("../image/faq05_bg_sp.png") no-repeat;
		width          : 100%;
		padding-top    : 29%;
		background-size: 95% auto;
	}

	#Faq .faq01 p.q_ttl,
	#Faq .faq03 p.q_ttl,
	#Faq .faq05 p.q_ttl {
		top        : 28px;
		line-height: 1.2em;
		left       : 10%;
		font-size  : 1.7em;
	}

	#Faq .faq01 p.q_ttl::before,
	#Faq .faq03 p.q_ttl::before,
	#Faq .faq05 p.q_ttl::before {
		margin-bottom: 3px;
	}

	#Faq .cp_box label {
		height: 75px;
	}

	#QandA {
		padding      : 0px 0;
		margin-bottom: 0px
		margin-top:0;
	}

	#QandA .toggle_title::before {
		vertical-align: -6px;
	}

	#QandA .toggle_title {
		padding    : 10px 40px 10px 45px;
		line-height: 23px;
		text-indent: -36px;
	}

	#QandA .fukidashi>p {
		font-size: 2em;
	}

	#QandA .fukidashi_wrap,
	#Flow .fukidashi_wrap {
		padding    : 30px;
		padding-top: 2px;
	}

	#Flow {
		padding: 30px 0;
	}

	#Flow .flow_icon {
		width: 60px;
	}

	#Flow .item {
		padding: 15px;
	}

	#Flow p.flow_ttl {
		font-size: 1.6em;
	}

	#Flow .fukidashi>p {
		font-size: 2em;
	}

	#Flow .item .txt_wrap {
		width: calc(100% - 60px);
	}

	#Photofacial {
		padding-top: 30px;
	}

	#Photofacial .ttl_wrap {
		margin: 0 0 20px;
	}

	#Photofacial h2 {
		font-size: 2.5em;
		padding  : 10px 0 15px;
	}

	#Photofacial h2 span {
		font-size  : .9rem;
		line-height: 1.8em;
		font-weight: normal;
		}

	#Photofacial .photofacial_contents {
		padding-top   : 30px;
		padding-bottom: 30px;
	}
	#Kinmaku .photofacial_contents {
		padding-top   : 30px;
		padding-bottom: 30px;
	}


	#Kinmaku {
		padding-top: 0px;
	}

	#Kinmaku .ttl_wrap {
		margin: 0 0 20px;
	}

	#Kinmaku h2 {
		font-size: 2.5em;
		padding  : 10px 0 15px;
	}

	#Kinmaku h2 span {
		font-size  : .9rem;
		line-height: 1.8em;
		font-weight: normal;
		}

	#Kinmaku .photofacial_contents {
		padding-top   : 30px;
		padding-bottom: 30px;
	}

	#Photofacial dt,
	#Photofacial dd,
	#Kinmaku dt,
	#Kinmaku dd,
	#Bustup dt,
	#Bustup dd,
	#aroma dt,
	#aroma dd {
		font-size: 1.254em;
	}

	#Bustup .bustup_contents {
		padding: 30px 0;
	}
	#Bustup {
		padding: 0 0 1px;
		margin:0;
	}
	#Bustup .osusume_wrap,
	#Photofacial .osusume_wrap {
	}
	#Bustup h2 {
		font-size: 2.5em;
	}
	#Bustup h2 span {
		font-size  : .9rem;
		line-height: 1.8em;
	}

	#aroma .bustup_contents {
		padding: 30px 0;
	}
	#aroma {
		padding: 0 0 1px;
		margin:0;
	}
	#aroma .osusume_wrap,
	#Photofacial .osusume_wrap {
	}
	#aroma h2 {
		font-size: 2.5em;
	}
	#aroma h2 span {
		font-size  : .9rem;
		line-height: 1.8em;
	}

	#Access {
		padding: 30px 0;
	}

	#Access p.heading04 {
		font-size: 2em;
	}

	#Access h2 {
		font-size: 2em;
	}

	#Access h2::after {
		width : 158px;
		margin: 10px auto 0;
	}

	#Access h3 {
		font-size    : 1.8em;
		margin-bottom: 0;
		padding      : 10px 0;
	}

	#Access .flex {
		margin-top: 20px;
	}

	#Access .shop_contents {
		padding: 0;
	}

	#Access .attention ol li {
		margin-bottom: 10px;
	}

	#Access .attention h4 {
		font-size: 1.3em;
		padding  : 10px 0;
	}

	footer .cv {
		padding: 20px 0 25px
	}

	footer .cv .btn_tel_long,
	footer .cv .btn_line_long {
		width       : 100%;
		margin-right: 0;
	}

	table.pricelist {}

	table.pricelist th {
		font-size: 1.4em;
		width    : 70%;
		padding  : 5px 10px;
	}

	table.pricelist td {
		font-size: 1.4em;
		width    : 30%;
		padding  : 5px 5px;
	}

	.option span {
		font-size: 0.8rem;
	}

	.opencampaign-ttl {
		font-size: 1.5em;
	}
}


.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}