@charset "UTF-8";

/* !post -------------------------------------------------------------- */
.detail {
	line-height: 1.75;
}
.detail p,
.detail ul {
}

.detail h1 {
}
.detail_news h1 + .wp-block-image {
	margin: 2em auto 1.5em;
}
.detail_news .wp-block-image {
	margin: 1.5em auto;
	text-align: center;
}
.detail h1 + .wp-block-image {
	margin: 2em auto 1.5em;
}
.detail h1 + .wp-block-gallery,
.detail p + .wp-block-gallery,
.detail .wp-block-gallery + p,
.detail h2 + .wp-block-image,
.detail h2 + .flex-online,
.detail h2 + .block-step,
.detail h2 + h3,
.detail h2 + figure,
.detail p + h2,
.detail .wp-block-image + h2,
.detail .wp-block-image + h3,
.detail h2 + ol,
.detail h2 + ul,
.detail .wp-block-image + .block-alert,
.detail_news h1 + .wp-block-gallery,
.detail_news p + .wp-block-gallery,
.detail_news .wp-block-gallery + p,
.detail_news h2 + .wp-block-image,
.detail_news h2 + div,
.detail_news h2 + h3,
.detail_news h2 + figure,
.detail_news p + h2,
.detail_news .wp-block-image + h2,
.detail_news .wp-block-image + h3,
.detail_news h2 + ol,
.detail_news h2 + ul {
	margin-top: 2em;
}
.detail h1 + p,
.detail h2 + p,
.detail p + .flex-img-5col {
	margin-top: 1em;
}
.detail h3 + .block-imgleft,
.detail h4 + .block-imgleft,
.detail h3 + .block-imgright,
.detail h4 + .block-imgright,
.detail p + h4 {
	margin-top: 1.5em;
}
.detail p + h4 {
	margin-top: 1.5em;
}
.detail p + h3,
.detail .block-imgleft + h4 {
	margin-top: 2.2em;
}
.detail h3 + p {
	margin-top: .5em;
}
.detail .block-dermapen + h3,
.detail .block-list + h3,
.detail .down-time + h3,
.detail .block-imgright + h3,
.detail .block-imgleft + h3,
.detail .block-alert + h3,
.detail .price + h3,
.detail .price2 + h3,
.detail .flex-online + h3,
.detail .flex-online2 + h3,
.detail .wp-block-table + h2 {
	margin-top: 3em;
}
.detail .block-list + h4 {
	margin-top: 2.5em;
}
.detail h2 {
}
.detail_news h2,
.detail_news h3 {
	margin-top: 2em;
}
@media screen and (max-width: 1376px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 540px) {
	.detail .block-imgright + h3,
	.detail .block-imgleft + h3,
	.detail .flex-online + h3 {
		margin-top: 2em;
	}
}
.detail ul {
	list-style: disc;
	padding: 1em 0 1em 1em;
}
.detail_news ul {
	list-style: disc;
	padding: 1em 0 1em 2em;
}
.detail ol {
	list-style: decimal;
	padding: 1em 0 1em 1em;
}
.detail_news ol {
	list-style: decimal;
	padding: 1em 0 1em 2em;
}


/* 詳細ブロック */
.wp-block-details {
	border-radius: .5em;
	box-shadow: 0px 0.125em 0.5em rgba(0,0,0,.2);
	margin: 1.5em auto;
}
.wp-block-details summary {
	font-size: 1.125em;
	padding: .5em 3em .8em 1.56em;
}
.wp-block-details summary::marker {
	content: "Q. ";
	font-size: 1.25em;
	color: var(--gold);
}
.wp-block-details p {
	font-size: .875em;
	line-height: 1.43;
	padding: 0 4em 1.5em 2em;
}
details p {
	visibility: hidden;
	opacity: 0;
}
details[open] p {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
details {
	position: relative;
}
details::after {
	position: absolute;
	right: .8em;
	top: .4em;
	content: "＋";
	font-size: 1.5em;
	color: var(--gold);
	pointer-events: none;
}
details[open]::after {
	content: "－";
}
@media screen and (max-width: 540px) {
	.wp-block-details summary {
	}
	details::after {
		right: .5em;
	}
	.wp-block-details p {
		padding: 0 2em 1.5em 2em;
	}
}


/* 注意事項 */
.block-alert {
	border: 1px solid #E7E7E7;
	border-radius: .5em;
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 1.6em 1em .7em;
	color: #000;
	margin-top: 1.5em;
}
p + .block-alert {
	margin-top: 1em;
}
.block-alert h4 {
	font-size: 1.125em;
	margin-top: 0;
}
.block-alert h4::before {
	content: "";
	display: inline-block;
	width: 1.111em;
	height: 1em;
	background: url(../images/icon-alert.png) no-repeat;
	background-size: 100%;
	vertical-align: -0.15em;
	margin-right: .5em;
	border-radius: 0;
	border: none;
}
.block-alert ul {
	list-style: none;
	font-size: 0.875em;
}
.block-alert p {
	font-size: 0.875em;
}
.block-alert ul li {
	padding: .1em 0;
	text-indent: -1em;
}
.block-alert ul li::before {
	content: "・";
}
.block-alert-2col {
	display: inline-flex;
	flex-wrap: wrap;
	width: 80%;
}
.block-alert-2col li {
	width: 33%;
}
@media screen and (max-width: 1024px) {
	.block-alert-2col {
		width: 100%;
	}
}
@media screen and (max-width: 540px) {
	.block-alert-2col {
		width: 100%;
	}
	.block-alert-2col li {
		width: 100%;
	}
}


.block-alert2 {
	border-radius: .5em;
	background: #fff;
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 1.3em 1em .4em;
	color: #000;
	margin-top: 1.5em;
}
p + .block-alert2 {
	margin-top: 1em;
}
.block-alert2 h4 {
	font-size: .875em;
	margin-top: 0;
	color: var(--gold);
}
.block-alert2 h4::before {
	content: "";
	display: inline-block;
	width: 1.214em;
	height: 1em;
	background: url(../images/icon-alert2.png) no-repeat;
	background-size: 100%;
	vertical-align: -0.15em;
	margin-right: .5em;
	border-radius: 0;
	border: none;
}
.block-alert2 ul {
	list-style: none;
	font-size: 0.875em;
	color: #797979;
}
.block-alert2 ul li {
	line-height: 1.4;
	padding: .1em 0;
}
.block-alert2 ul li::before {
	content: "・";
}


/* チェックリストボックス */
.block-list {
	border-radius: .5em;
	background: #f9f9f9;
	padding: .5em 0 .5em 4.5em;
	margin-top: 1.5em;
}
.block-list ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.125em;
}
.block-list ul li {
	width: 50%;
	padding: .4em 0;
	text-indent: -1.72em;
	color: #000;
}
.block-list ul li::before {
	content: "";
	display: inline-block;
	width: 1.222em;
	height: 1.222em;
	background: url(../images/icon-check.png) no-repeat;
	background-size: 100%;
	vertical-align: -0.2em;
	margin-right: .5em;
}
@media screen and (max-width: 1024px) {
	.block-list ul li {
		width: 100%;
	}
}
@media screen and (max-width: 540px) {
	.block-list {
		padding: .5em 1em .5em 2.3em;
	}
}


/* ダウンタイム */
.down-time {
	border-radius: .5em;
	background: #f9f9f9;
	padding: 1.3em 1.5em .5em;
	color: #000;
	margin-top: 1.5em;
}
p + .down-time {
	margin-top: 1em;
}
.price + .down-time {
	margin-top: 3em;
}
.down-time h4 {
	font-size: 1.25em;
	margin-top: 0;
}
.down-time h4::before {
	content: "";
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	background: url(../images/icon-time.png) no-repeat;
	background-size: 100%;
	vertical-align: -0.2em;
	margin-right: .5em;
	border-radius: 0;
	border: none;
}
.down-time p {
	font-size: 0.875em;
}

@media screen and (min-width: 1025px) {
	.block-imgleft {
		display: flex;
		align-items: center;
	}
	.block-imgleft-img {
		width: 32%;
	}
	.block-imgleft-txt {
		width: 68%;
		padding-left: 3%;
	}
	.block-imgright {
		display: flex;
		align-items: center;
	}
	.block-imgright-img {
		width: 34.1%;
		order: 2;
	}
	.block-imgright-txt {
		width: 65.9%;
		padding-right: 3%;
		order: 1;
	}
	.block-imgleft p,
	.block-imgright p {
		padding: .5em 0;
	}
}

@media screen and (min-width: 1025px) {
	.block-2col {
		display: flex;
		justify-content: space-between;
	}
	.block-2col-inner {
		width: 47.9%;
	}
}
.block-2col {
	margin-top: 1.5em;
}
.block-2col-inner {
	padding: 1.4em 1.6em 1.1em;
	line-height: 1.5;
}
.block-2col-inner h4 {
	margin-top: 0;
	margin-bottom: .5em;
}
.block-2col-inner p {
	padding: .5em 0;
	letter-spacing: 0;
}
@media screen and (max-width: 540px) {
	.block-2col-inner {
		padding: 1.4em 1.3em 1.1em;
	}
	.block-2col-inner + .block-2col-inner {
		margin-top: 5vw;
	}
	.block-2col-inner p br {
		display: none;
	}
}


/* ダーマペン */
.block-dermapen {
	border-radius: .5em;
	background: #f9f9f9;
	padding: 1.4em 1.5em .5em;
	color: #000;
	margin-top: 2.2em;
}
.block-dermapen h4 {
	font-size: 1.25em;
	margin-top: 0;
}
.block-dermapen h4::before {
	content: "";
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	background: url(../images/icon-dermapen.png) no-repeat;
	background-size: 100%;
	vertical-align: -0.2em;
	margin-right: .5em;
	border-radius: 0;
	border: none;
}
.block-dermapen ul {
	list-style: none;
	font-size: 0.875em;
}
.block-dermapen p {
	font-size: 0.875em;
}
.block-dermapen ul li {
	text-indent: -1em;
}
.block-dermapen ul li::before {
	content: "・";
}
@media screen and (max-width: 540px) {
	.block-dermapen {
		padding: 1.5em 1.3em .5em;
	}
	.block-dermapen ul li {
		padding: .3em 0;
	}
}

/* 料金表 */
.price,
.price2 {
	width: 73.6%;
	margin-top: 1.6em;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #dadada;
	letter-spacing: 0;
}
p + .price,
p + .price2 {
	margin-top: 0.6em;
}
.price dl,
.price2 dl {
	display: flex;
	flex-wrap: wrap;
}
.price dt,
.price2 dt {
	width: 31.4%;
	background: var(--blue);
	color: #fff;
	font-weight: 600;
	font-size: 1.25em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	line-height: 1.3;
	text-align: center;
	padding: .5em 0;
}
.price2 dt {
	width: 50%;
}
.price dd + dt,
.price2 dd + dt {
	border-top: 2px solid #fff;
}
.price dd {
	width: 68.6%;
}
.price2 dd {
	width: 50%;
}

.priceTable {
	width: 100%;
	height: 100%;
}
.priceTable-2col td {
	width: 50%;
}
.priceTable-3col td {
	width: 33.33%;
}
.priceTable td {
	border: 1px solid #EAEAEA;
	line-height: 1.33;
	padding: .8em 1.56em;
	vertical-align: middle;
	color: #000;
}
.priceTable td.mh4 {
	height: 5.8em;
}

.priceTable span.small {
	color: #666;
	font-size: .875em;
	display: block;
	margin-top: .4em;
}
.price dd:nth-of-type(2n) td {
	background: #FBFEFF;
}
@media screen and (max-width: 1024px) {
	.price,
	.price2 {
		width: 90%;
	}
}
@media screen and (max-width: 540px) {
	.price,
	.price2 {
		width: 100%;
		border: none;
	}
	.price dt,
	.price2 dt {
		width: 100%;
		padding: .3em 0;
		min-height: inherit;
	}
	.price dd,
	.price2 dd {
		width: 100%;
	}
	.price dd + dt,
	.price2 dd + dt {
		border-top: none;
		margin-top: 5vw;
	}
	.priceTable td {
		padding: .8em .5em .8em .8em;
	}
	.priceTable td.mh4 {
		height: auto;
	}
}

.detail ul.ul_point {
	list-style: none;
	display: inline-flex;
	flex-wrap: wrap;
	width: 50%;
	margin-left: 2em;
}
.detail ul.ul_point li {
	width: 50%;
}
.detail ul.ul_point li::before {
	content: "▲";
	transform: rotate(90deg);
	display: inline-block;
	font-size: 75%;
	margin-right: .5em;
}
@media screen and (max-width: 1024px) {
	.detail ul.ul_point {
		width: 70%;
	}
}
@media screen and (max-width: 540px) {
	.detail ul.ul_point {
		margin-left: .5em;
	}
	.detail ul.ul_point li {
		width: 100%;
	}
}

.flex-img-5col {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.flex-img-5col > * {
	width: 19.74%;
	margin-right: 0.325%;
}
.flex-img-5col > *:nth-child(5n) {
	margin-right: 0;
}
@media screen and (max-width: 540px) {
	.flex-img-5col > * {
		width: 32%;
		margin-right: 2%;
		margin-bottom: 2%;
	}
	.flex-img-5col > *:nth-child(5n) {
		margin-right: 2%;
	}
	.flex-img-5col > *:nth-child(3n) {
		margin-right: 0;
	}
}

.block-step {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.block-step-inner {
	width: 18%;
	margin-left: 2.5%;
	border: 1px solid #F0F0F0;
	border-radius: .5em;
	text-align: center;
	padding: 1.2em 0 1em;
	line-height: 1.44;
}
.block-step-inner img {
	width: 7em;
}
.block-step-inner:first-child {
	margin-left: 0;
}
.block-step-inner p {
	padding: 0;
}
.block-step-inner p.block-step-step {
	font-size: .875em;
	background: var(--gold);
	color: #fff;
	border-radius: 1em;
	display: inline-block;
	padding: 0.15em 1.2em;
	margin-top: 1.2em;
	margin-bottom: .7em;
}
@media screen and (max-width: 1024px) {
	.block-step-inner {
		width: 19%;
		margin-left: 1.25%;
	}
}
@media screen and (max-width: 540px) {
	.block-step-inner {
		width: 48.5%;
		margin-left: 3%;
		margin-bottom: 3%;
	}
	.block-step-inner:nth-child(2n-1) {
		margin-left: 0;
	}
}

.block-item {
	min-width: 71.7%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	background: #FAFAFA;
	padding: 1em;
	margin-top: 3em;
}
.block-item-inner {
	background: #fff;
	width: 23.33%;
	margin-left: 2.7%;
	padding: 1.5em 1em 1.2em;
	text-align: center;
	line-height: 1.44;
}
.block-item-inner:first-child {
	margin-left: 0;
}
.block-item-inner p {
	padding: 0;
}
.block-item-inner p.block-item-name {
	font-size: .875em;
	background: #888;
	color: #fff;
	border-radius: 1em;
	display: inline-block;
	max-width: 100%;
	padding: 0.15em 1.2em;
	min-width: 11em;
	margin-top: 1.5em;
	margin-bottom: .7em;
}
.block-item-inner img {
	max-height: 21.58em;
}
@media screen and (max-width: 1024px) {
	.block-item-inner {
		width: 30%;
		margin-left: 2.7%;
	}
	.block-item-inner img {
		max-height: 14em;
	}
}
@media screen and (max-width: 540px) {
	.block-item {
		padding: 1em 1em 0.1em;
	}
	.block-item-inner {
		width: 48.5%;
		margin-left: 3%;
		margin-bottom: 3%;
	}
	.block-item-inner:nth-child(2n-1) {
		margin-left: 0;
	}
	.block-item-inner img {
		max-height: 14em;
	}
}

.wp-block-image {
	text-align: center;
	margin-top: 2.5em;
}
.block-course-inner {
	display: flex;
}

@media screen and (min-width: 541px) {
	.block-course {
		display: flex;
		flex-wrap: wrap;
	}
	.block-course > section {
		width: 48.6%;
		margin-left: 2.8%;
	}
}
.block-course > section {
	margin-bottom: .8em;
}
.block-course > section:nth-child(2n-1) {
	margin-left: 0;
}
.block-course > section figure {
	width: 36.1%;
}
.block-course > section figure img {
	width: 12.5em;
}
.block-course-price {
	padding-left: .75em;
	width: 63.9%;
	letter-spacing: 0;
}
.block-course-price dt {
	width: 28.3%;
	text-align: center;
	border-radius: 0.3em;
	float: left;
	line-height: 1.6;
}
.block-course-price dt.blue {
	border: 1px solid var(--blue);
}
.block-course-price dt.red {
	border: 1px solid var(--red);
}
.block-course-price dd {
	width: 100%;
	padding-left: 31.5%;
	line-height: 1.4;
	padding-bottom: .5em;
}
.block-course-inner {
	margin-top: 1.5em;
}
.block-course h3 .gold {
	font-weight: 600;
	font-size: 1.2em;
	margin-right: .2em;
}
@media screen and (max-width: 1024px) {
	.block-course-inner {
		display: block;
	}
	.block-course > section {
		margin-bottom: 2.5em;
	}
	.block-course > section figure {
		width: 100%;
		text-align: center;
	}
	.block-course-price {
		width: 100%;
		padding-left: 2em;
		margin-top: 1.5em;
	}
}
@media screen and (max-width: 540px) {
	.block-course {
		margin-top: 7vw;
	}
}

.block-depilation {
	display: flex;
	margin-top: 2em;
}
.block-depilation > figure {
	order: 2;
	width: 42.7%;
}
.block-depilation > figure img {
	width: 30.375em;
}
.block-depilation > div {
	order: 1;
	width: 57.3%;
}
.block-depilation-point {
	display: flex;
	margin-top: 1.5em;
}
.bg_img_01 {
	width: 12em;
	height: 4.75em;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: url(../images/bg_img_01.webp) no-repeat;
	background-size: 100%;
	margin-left: .6em;
}
.bg_img_01:first-child {
	margin-left: 0;
}
.bg_img_01 > span {
	font-size: 1.2em;
	line-height: 1.2em;
	letter-spacing: 0;
	padding-bottom: .1em;
}
.bg_img_01 > span .fz22 {
	font-size: 1.3em;
}
@media screen and (max-width: 1024px) {
	.block-depilation {
		display: block;
	}
	.block-depilation > figure {
		width: 100%;
		text-align: center;
	}
	.block-depilation > div {
		width: 70%;
		margin: 1em auto;
	}
}
@media screen and (max-width: 540px) {
	.block-depilation {
		display: block;
	}
	.block-depilation > figure {
		width: 100%;
		text-align: center;
	}
	.block-depilation > div {
		width: 100%;
		margin: 1em auto 0;
	}
	.block-depilation-point {
		flex-wrap: wrap;
		justify-content: center;
	}
	.bg_img_01 {
		margin-bottom: .6em;
	}
	.bg_img_01:nth-child(2n-1) {
		margin-left: 0;
	}
}


.block-price {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: .5em;
}
.modal-open {
	width: 49%;
	background: var(--blue);
	box-shadow: 0px .125em .375em rgba(0,0,0,.1);
	color: #fff;
	display: flex;
	flex-direction: column;
	position: relative;
	border-radius: .5em;
	line-height: 1.7;
	padding: 1.3em 2em;
	cursor: pointer;
	margin-top: 2%;
	transition: .2s;
}
.modal-open::after {
	position: absolute;
	content: "＋";
	right: 1em;
	top: 50%;
	font-size: 1.6em;
	font-weight: bold;
	transform: translateY(-50%);
}
.modal-open:hover {
	background: #67b2be;
}
@media screen and (max-width: 540px) {
	.modal-open {
		width: 100%;
		padding: 1em 1.5em;
		margin-top: 3.5vw;
	}
}
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 0;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 100;
	overflow-y: scroll;
	scrollbar-width: none;
	overscroll-behavior: none;
}
.modal-container::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 1267px;
	width: 90%;
}
.modal-close{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: .15em;
	right: .22em;
	width: 1em;
	height: 1em;
	font-size: 3em;
	color: #797979;
	cursor: pointer;
}
.modal-content{
	background: #eee;
	background: #fff;
	text-align: left;
	padding: 4.2% 5% 2%;
}
.modal-content-comment {
	color: #797979;
	line-height: 1.7;
}
@media screen and (max-width: 1024px) {
	.modal-close{
		position: fixed;
		top: .15em;
		right: .6em;
		background: #fff;
	}
	.modal-body{
		width: 96%;
	}
	.modal-content{
		padding: 6% 3% 2%;
	}
}
@media screen and (max-width: 540px) {
	.modal-close{
		top: 0;
		right: .2em;
	}
	.modal-content{
		padding: 11% 3% 2%;
	}
}


/* 料金表 脱毛 */
.price3 {
	border: 1px solid #dadada;
	border-top: none;
	letter-spacing: 0;
}
.price3 dl {
	display: flex;
	flex-wrap: wrap;
}
.price3 dt {
	width: 23%;
	background: var(--blue);
	color: #fff;
	font-weight: 600;
	font-size: 1.25em;
	display: flex;
	align-items: center;
	flex-direction: column;
	line-height: 1.6;
	text-align: center;
	padding: 2em 0;
}
.price3 dt span {
	font-weight: 400;
}
.price3 dd {
	width: 77%;
}
.priceTable-3col td {
	width: inherit;
}
.price3 .priceTable tr:nth-of-type(4n) td,
.price3 .priceTable tr:nth-of-type(4n-1) td {
	background: #FBFEFF;
}
.price3 .priceTable td {
	border: 1px solid #dadada;
}
.price3 .priceTable tr:nth-of-type(2n+1) td {
	border-top: 2px solid #dadada;
}
.price3 .priceTable tr:nth-of-type(2n+1) td:first-child {
	font-size: 1.125em;
}
@media screen and (max-width: 1024px) {
	.price3 dt .fz18 {
		font-size: 1.5vw;
	}
}
@media screen and (max-width: 540px) {
	.price3 {
	}
	.price3 dt {
		width: 100%;
		padding: .5em 0 .4em;
		line-height: 1.4;
	}
	.price3 dd {
		width: 100%;
	}
	.priceTable-3col td {
		text-indent: .5em;
		padding: .8em .3em;
	}
	.price3 .priceTable tr:nth-of-type(2n+1) td:first-child {
		font-size: 1em;
	}
	.price3 dt .fz18 {
		font-size: 3.6vw;
	}
}

.wp-block-image figcaption {
	font-size: .9em;
}