@charset "UTF-8";

/* reset ---------------------------------------*/

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td {margin:0;padding:0;}
table {border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img {border:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style:normal;font-weight:normal;}
li {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}
q::before,q::after {content:'';}
abbr {border:0;font-variant:normal;}
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}
input,textarea,select {font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select {font-size:100%;}
legend {color:#000;}
select,input,button,textarea {font-size:inherit;font-family:inherit;box-sizing: border-box;}
pre,code,kbd,samp {font-family:monospace;font-size:108%;line-height:100%;}
figure {padding:0;margin:0;}
input[type="submit"],
input[type="button"],
button {border-radius: 0;-webkit-box-sizing: content-box;-webkit-appearance: button;appearance: button; border: none;box-sizing: border-box;cursor: pointer;}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration {display: none;}
input[type="submit"]:focus,
input[type="button"]:focus,
button:focus {outline-offset: -2px;}


/* base ---------------------------------------*/

* {
	box-sizing:border-box;
	min-height: 0vw;
}

html,body {height:100%;}

body {
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	font-family: "Roboto", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-feature-settings: "palt" 1;
	-webkit-font-feature-settings: "palt" 1;
	color: #481f2d;
}

a {
	text-decoration: none;
	color:#481f2d;
	transition: all .25s ease;
}

img {
	vertical-align: bottom;
	line-height: 1;
	max-width:100%;
	height: auto;
}


/* common item ---------------------------------------*/

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.ov-h {overflow: hidden;}

.font-en {font-family: "Roboto", sans-serif;}
.font-notoserif {font-family: "Noto Serif JP", serif}


/* header ---------------------------------------*/

header {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

.header-inner {
	height:90px;
	margin:0 auto;
	position:relative;
}

.header-logo {
	position: absolute;
	left: 85px;
	top: 14px;
	transition: all .25s ease;
}

.header-logo:hover {
	opacity: 0.5;
}


/* gnav ---------------------------------------*/

.gnav {
	position:absolute;
	right: 76px;
	top: 32px;
	max-width: calc(100% - 430px);
}

.gnav-list {font-size: 0px;}

.gnav-list > li {
	display: inline-block;
	margin: 0 5px;
}

.gnav-list > li a {
	display: inline-block;
	padding: 0 5px;
	font-size: 15px;
	font-weight: 400;
	color: #d60050;
	letter-spacing: 0.132em;
}

.gnav-list > li a:hover {
	opacity: 0.5;
}

#openmenu {display:none;}

.fixedheader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background: #fff;
	transition: all 1.25s ease;
	transform: translate(0,-102%);
	z-index: 10;
}

.fixedheader.is-active {
	transform: translate(0,0);
}

.fixedheader-inner {
	height:52px;
	margin:0 auto;
	position:relative;
}

.fixedheader-logo {
	position: absolute;
	left: 85px;
	top: 8px;
	transition: all .25s ease;
	width: 125px;
}

.fixedheader-logo:hover {
	opacity: 0.5;
}

#fixedheaderopenmenu {display:none;}


/* fixedheadergnav ---------------------------------------*/

.fixedheadergnav {
	position:absolute;
	right: 76px;
	top: 15px;
	max-width: calc(100% - 430px);
}

.fixedheadergnav-list {font-size: 0px;}

.fixedheadergnav-list > li {
	display: inline-block;
	margin: 0 5px;
}

.fixedheadergnav-list > li a {
	display: inline-block;
	padding: 0 5px;
	font-size: 15px;
	font-weight: 400;
	color: #d60050;
	letter-spacing: 0.132em;
}

.fixedheadergnav-list > li a:hover {
	opacity: 0.5;
}


/* footer ---------------------------------------*/

.footer {padding:10px 0 10px 0;}

.footer-block {
	background: #d60050;
	text-align: center;
	padding-bottom: 46px;
}

.footer-nav {
	padding: 13px 30px;
	margin-bottom: 34px;
}
.footer-nav-list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.footer-nav-list li a {
	color: #fff;
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.6;
	padding: 2px 7px;
	transition: all .25s ease;
}

.footer-nav-list li a:hover {
	opacity: 0.5;
}

.footer-inner {
	max-width:1080px;
	margin:0 auto;
	position:relative;
}

.footer-logo {
	display: inline-block;
	transition: all .25s ease;
}

.footer-logo:hover {
	opacity: 0.5;
}

.footer-inner {
	padding: 30px 0;
}

.footer-old {
	font-size: 15px;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 28px;
}

.footer-old a {
	color: #d60050;
	transition: all .25s ease;
}

.footer-old a:hover {
	opacity: 0.5;
}

.copyright {
	display: block;
	text-align: center;
	font-size: 14px;
	color: #938d92;
	font-weight: 400;
	letter-spacing: 0.08em;
}


/* title ---------------------------------------*/

.title-section {
	text-align: center;
	margin-bottom: 45px;
}

.title-section > img {
}

.title-section span {
	display: block;
	padding-top: 56px;
}


/* text ---------------------------------------*/

.text {
	font-size: 16px;
	letter-spacing: 0.13em;
	line-height: 2.1;
}

.text-center {text-align: center !important;}
.text-right {text-align: right !important;}
.text-left {text-align: left !important;}

.text-bold {font-weight:600;}
.text-red {color: #aa0000 !important;}

.text-ellipsis-count::after {content: '…';}
.text-link {text-decoration: underline;}
.text-link:hover {text-decoration: none;}


/* btn ---------------------------------------*/

.btn {
	display: inline-block;
	min-width: 160px;
	padding: 10px 24px;
	border-radius: 4px;
	border:1px solid #07629f;
	background-color: #07629f;
	line-height: 1.1;
	letter-spacing: normal;
	text-align: center;
	color: #ffffff;
	font-weight:600;
	cursor: pointer;
}

.btn:hover {
	background-color:#008CEA;
	opacity: 1;
}

/* layout ---------------------------------------*/

.inner {
	max-width: 1100px;
	margin: 0 auto;
}

.section {
	padding: 88px 20px 84px;
}

.overlay {display: none;}

.bg-pink {
	background: #fff8f7;
}


/* kv ---------------------------------------*/

.kv {
	padding-top: 90px;
    width: 100%;
}

.kv img {
	width: 100%;
}


/* about */

.about {
	padding-left: 30px;
	padding-right: 30px;
}


/* effect */

.effect {
	padding-left: 30px;
	padding-right: 30px;
}

.effect .title-section {
	margin-bottom: 41px;
}

.effect-block {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 45px;
	max-width: 892px;
	margin: 0 auto;
}

.effect-block-point {
	width: 65px;
	padding-left: 22px;
}

.effect-block-text-wrapper {
	flex: 1;
	padding-left: 8px;
}

.effect-block-text {
	font-size: 16px;
	letter-spacing: 0.14em;
	line-height: 1.87;
}

.effect-block-text + .effect-block-text {
	margin-top: 14px;
}

.effect-block-image {
	width: 148px;
}


/* class */

.class {
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 94px;
}

.class .title-section {
	margin-bottom: 50px;
}

.class-inner {
	max-width: 950px;
	margin: 0 auto;
}

.class-block {
	max-width: 785px;
	margin: 0 auto;
}

.class-block-title {
	font-size: 44px;
	color: #d60050;
	letter-spacing: -0.03em;
	margin-bottom: 23px;
	text-align: center;
}

.class-block-text {
	font-size: 18px;
	color: #481f2d;
	letter-spacing: 0.11em;
	margin-bottom: 35px;
	text-align: center;
}

.class-flow {
	padding: 0 70px;
}

.class-flow-title {
	padding: 8px 0 9px;
	margin-bottom: 33px;
	border-top: 1px solid #d60050;
	border-bottom: 1px solid #d60050;
	color: #d60050;
	text-align: center;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

.class-flow-list {
	padding-bottom: 50px;
}

.class-flow-list li {
	text-align: center;
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0.1em;
}

.class-flow-list li + li {
	margin-top: 50px;
	position: relative;
}

.class-flow-list li + li::before {
	display: inline-block;
	content: '';
	color: #c33a62;
	width: 1.5em;
	height: 1.5em;
	border: 1px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translate(-50%,-50%) rotate(135deg);
}

.class-flow-list li a {
	color: #d60050;
	transition: all .25s ease;
}

.class-flow-list li a:hover {
	opacity: 0.5;
}

.class-salon {
	margin-bottom: 90px;
	background: #fff8f7;
}

.class-salon-image {
	width: 100%;
	margin-bottom: 20px;
}

.class-salon-image img {
	width: 100%;
}

.class-online {
	position: relative;
	margin-bottom: 129px;
	padding-bottom: 137px;
}

.class-online::after {
    display: block;   
	content: '';
	background: url('../img/family.png') no-repeat center center; 
	background-size: 100%;
	width: 480px;
	height: 240px;
	position: absolute;
	left: 44%;
	bottom: -87px;
	transform: translate(-50%,0);
	max-width: 80%;
}

.class-online::before {
	display: block;
	content: '';
	background: #fff8f7;
	width: 100%;
	height: calc(100% - 100px);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.class-online-image {
	width: 83%;
	margin: 0 auto 10px;
}

.class-online-text {
	font-size: 16px;
	color: #481f2d;
	letter-spacing: 0.11em;
	margin-bottom: 35px;
	text-align: center;
}

.class-schedule-list {
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #d60050;
	margin-top: 60px;
}

.class-schedule-list:first-of-type {
	margin-top: 0;
}

.class-schedule-list > dt {
	background-color: #d60050;
	color: #fff;
	font-size: 20px;
	text-align: center;
	padding: 1px 5px 6px;
	letter-spacing: 0.2em;
}

.class-schedule-list > dd {
	font-size: 19px;
	letter-spacing: 0.05em;
	padding: 15px 33px 14px;
	padding: 15px 70px 14px;
}

.class-schedule-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.class-schedule-content-center {
	justify-content: center;
}

.class-schedule-content-item {
	position: relative;
}

.class-schedule-content-line {
	width: 2px;
	height: 29px;
	margin: 0 10px;
	background: #dfdfdf;
}

.class-schedule-content-item-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
}

.class-schedule-content-item-list dd {
	letter-spacing: 0.08em;
}

.class-schedule-content-item:last-of-type .class-schedule-content-item-list dd {
	letter-spacing: 0.065em;
}

.class-schedule-list-text {
	text-align: center;
	margin-bottom: 10px;
}

.class-schedule-list-notice {
	font-size: 15px;
	text-align: center;
	letter-spacing: 0.01em;
}

.class-schedule-notice {
	text-align: center;
	font-size: 14px;
	letter-spacing: 0.09em;
	margin-top: 5px;
}

.class-price-list {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #d60050;
	margin-top: 36px;
}

.class-price-list:first-of-type {
	margin-top: 0;
}

.class-price-list > dt {
	background-color: #d60050;
	color: #fff;
	font-size: 20px;
	text-align: center;
	padding: 1px 5px 6px;
	letter-spacing: 0.2em;
}

.class-price-list > dd {
	font-size: 19px;
	letter-spacing: 0.1em;
	padding: 13px 70px 14px;
}

.class-price-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.class-price-content-line {
	background: #dfdfdf;
	width: 2px;
	height: 29px;
	margin: 0 10px;
}

.class-price-content-item:last-of-type::after {
	display: none;
}

.class-price-content-item-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 50px;
}

.class-price-list-text {
	text-align: center;
	margin-bottom: 10px;
}

.class-price-list-notice {
	font-size: 15px;
	text-align: center;
	letter-spacing: 0.01em;
}

.class-price-notice {
	text-align: center;
	font-size: 14px;
	letter-spacing: 0.02em;
	margin-top: 10px;
}

.class-payment-list {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #d60050;
	margin-top: 40px;
}

.class-payment-list:first-of-type {
	margin-top: 0;
}

.class-payment-list > dt {
	background-color: #d60050;
	color: #fff;
	font-size: 20px;
	text-align: center;
	padding: 1px 5px 6px;
	letter-spacing: 0.1em;
}

.class-payment-list > dd {
	font-size: 19px;
	letter-spacing: 0.2em;
	padding: 15px 20px 14px;
}

.class-payment-list-text {
	text-align: center;
	margin-bottom: 13px;
}

.class-payment-list-notice {
	font-size: 14px;
	text-align: center;
	letter-spacing: 0.1em;
}

.class-detail-note {
	border: 2px solid #dfdfdf;
	border-radius: 8px;
	padding: 32px 31px 16px;
	position: relative;
	margin-top: 40px;
}

.class-detail-note-title {
	position: absolute;
	top: -1em;
	left: 50%;
	transform: translate(-50%,0);
	font-size: 20px;
	padding: 5px 10px;
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
}

.class-detail-note-title::before {
	content: '';
	background: url('../img/attention.svg') no-repeat center center; 
	background-size: 20px;
	width: 20px;
	height: 17px;
}

.class-detail-note-list li {
	font-size: 14px;
	padding-left: 1em;
	text-indent: -1em;
	position: relative;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.class-detail-note-list li + li {
	margin-top: 3px;
}

.class-detail-note-list li::before {
	display: inline-block;
	content: '';
	vertical-align: middle;
	background: #d60050; 
	width: 10px;
	height: 10px;
	border-radius: 99px;
	position: relative;
	top: -1px;
}

.class-detail-note-text {
	border-top: 2px solid #dfdfdf;
	margin-top: 17px;
	padding-top: 15px;
	font-size: 14px;
	letter-spacing: 0.12em;
}


/* faq */

.faq {
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 92px;
}

.faq-inner {
	max-width: 860px;
	margin: 0 auto;
}

.faq-text {
	font-size: 16px;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 53px;
}

.faq-list li {
	border: 1px solid #eb7ca4;
	border-radius: 8px;
	background: #fff;
}

.faq-list li + li {
	margin-top: 36px;
}

.faq-question {
	padding: 16px 50px 20px 65px;
	font-size: 23px;
	letter-spacing: 0.1em;
	position: relative;
	cursor: pointer;
	transition: all .25s ease;
}

.faq-question::before {
	content: '';
	background: url('../img/q.svg') no-repeat center center; 
	background-size: 28px;
	width: 28px;
	height: 21px;
	position: absolute;
	top: 25px;
	left: 30px;
}

.faq-question::after {
	display: block;
	content: '';
	color: #d9155e;
	width: 18px;
	height: 18px;
	border: 1.5px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	position: absolute;
	top: 30px;
	right: 37px;
	transform: translate(0,-50%) rotate(135deg);
	transition: all .25s ease;
}

.faq-question.active::after {
	top: 40px;
	transform: translate(0,-50%) scale(1, -1) rotate(135deg);
}

.faq-answer {
	display: none;
	padding: 15px 0 31px;
	margin: 0 33px;
	border-top: 2px solid #eb7ca4;
	font-size: 16px;
	line-height: 1.83;
	letter-spacing: 0.08em;
}

.faq-answer p + p {
	margin-top: 1.55em;
}

.faq-answer p.faq-answer-notice+p.faq-answer-notice {
	margin-top: 0.4em;
}

.faq-answer-notice {
	padding-left: 1.2em;
	letter-spacing: 0.1em;
	line-height: 1.6;
	position: relative;
}

.faq-answer-notice::before {
	display: inline-block;
	content: '※';
	width: 1.2em;
	height: 1em;
	position: absolute;
	left: 0;
	top: 1px;
}


/* staff */

.staff {
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 89px;
}

.staff-inner {
	max-width: 940px;
	margin: 0 auto;
}

.staff .title-section {
	margin-bottom: 48px;
}

.staff-info {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 48px;
}

.staff-info-image {
	width: 340px;
	padding-top: 8px;
	padding-left: 14px;
}

.staff-info-detail {
	flex: 1;
}

.staff-info-name {
	margin-bottom: 35px;
}

.staff-info-message {
	font-size: 16px;
	line-height: 1.99;
	letter-spacing: 0.1em;
	margin-bottom: 37px;
}

.staff-info-media dt {
	display: inline-block;
	padding: 2px 9px 3px;
	background: #d60050;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.09em;
	margin-bottom: 10px;
	margin-left: 2px;
}

.staff-info-media dd {
	padding-left: 24px;
	position: relative;
	line-height: 1.6;
	font-size: 15px;
	letter-spacing: 0.16em;
}

.staff-info-media dd a {
	transition: all .25s ease;
}

.staff-info-media dd a:hover {
	opacity: 0.5;
}

.staff-info-media dd a span {
	font-weight: 500;
}

.staff-info-media dd:not(:first-of-type) {
	margin-top: 5px;
}

.staff-info-media dd::before {
	display: inline-block;
	content: '';
	width: 15px;
	height: 11px;
	position: absolute;
	top: 6px;
	left: 3px;
}

.staff-info-media .icon-pc::before {
	background: url('../img/icon_pc.svg') no-repeat center center; 
	background-size: 100%;
}

.staff-info-media .icon-book::before {
	background: url('../img/icon_book.svg') no-repeat center center; 
	background-size: 100%;
	top: 5px;
}

.staff-info-media .icon-tv::before {
	background: url('../img/icon_tv.svg') no-repeat center center; 
	background-size: 100%;
}


/* contact */

.contact {
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 44px;
}

.contact .title-section {
	margin-bottom: 36px;
}

.contact-text {
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: 47px;
	text-align: center;
}

.contact-info {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 50px;
	margin-bottom: 50px;
}

.contact-mail {
	transition: all .25s ease;
}

.contact-mail:hover {
	opacity: 0.5;
}

.contact-tel {
	transition: all .25s ease;
}
.contact-tel:hover {
	opacity: 0.5;
}

.contact-notice {
	font-size: 13px;
	text-align: center;
	letter-spacing: 0.12em;
}


/* pc only */
@media screen and (min-width: 768px) {
	.sp {display: none !important;}
	.spbr {display: none;}
}



/* small pc */
@media screen and (min-width: 768px) and (max-width: 1120px) {

	.header-logo {
		left: 30px;
		top: 24px;
		width: 140px;
	}

	.gnav {
		right: 30px;
		max-width: calc(100% - 220px);
	}

	.gnav-list > li {
		display: inline-block;
		margin: 0 2px;
	}

	.gnav-list > li a {
		font-size: 14px;
		letter-spacing: 0.1em;
	}

	.fixedheader-logo {
		left: 30px;
		width: 140px;
	}

	.fixedheadergnav {
		right: 30px;
		max-width: calc(100% - 220px);
	}

	.fixedheadergnav-list > li {
		display: inline-block;
		margin: 0 2px;
	}

	.fixedheadergnav-list > li a {
		font-size: 14px;
		letter-spacing: 0.1em;
	}

}

@media screen and (min-width: 768px) and (max-width: 1024px) {

	.class-flow {
		padding: 0 60px;
	}
}

@media screen and (min-width: 768px) and (max-width: 950px) {

	.class-schedule-list > dd {
		padding-left: 50px;
		padding-right: 50px;
	}

	.class-schedule-content-item:last-of-type {
		padding-right: 0;
	}

	.class-schedule-content-item-list {
		gap: 20px;
	}

	.class-price-list > dd {
		padding-left: 30px;
		padding-right: 30px;
	}

}

@media screen and (min-width: 768px) and (max-width: 830px) {

	.header-logo {
		left: 20px;
	}

	.gnav {
		right: 20px;
		max-width: calc(100% - 200px);
	}

	.gnav-list > li a {
		font-size: 13px;
	}

	.fixedheader-logo {
		left: 20px;
	}

	.fixedheadergnav {
		right: 20px;
		max-width: calc(100% - 200px);
	}

	.fixedheadergnav-list > li a {
		font-size: 13px;
	}

	.class-schedule-list > dd {
		padding-left: 20px;
		padding-right: 20px;
	}

}



/* s0 only */
@media screen and (max-width: 767px) {

	/* common item ---------------------------------------*/

	.pc {display: none !important;}
	.pcbr {display: none;}



	/* header ---------------------------------------*/

	.header-inner {
		height:67px;
		z-index: 101;
	}

	.header-logo {
		left: 15px;
		width: 148px;
	}

	.is-open .header-logo {
		display: none;
	}

	.header-logo:hover {
		opacity: 1;
	}

	#openmenu {
		display:block;
		width:35px;
		height:35px;
		text-indent: -99em;
		overflow: hidden;
		position:absolute;
		right:13px;
		top:15px;
	}

	#openmenu span {
		content:'';
		display: block;
		width:29px;
		height:1px;
		background: #d60050;
		position: absolute;
		left:3px;
		transition: all .25s ease;
	}

	#openmenu span:nth-child(1) {top:13px;}
	#openmenu span:nth-child(2) {top:22px;}

	#openmenu.is-open span:nth-child(1) {
		transform:rotate(45deg);
		top:18px;
		left:3px;
		background: #fff;
	}

	#openmenu.is-open span:nth-child(2) {
		transform:rotate(-45deg);
		top:18px;
		left:3px;
		background: #fff;
	}

	.bodyfixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}

	.fixedheader {
		z-index: 7;
	}
	
	.fixedheader-inner {
		height:67px;
		z-index: 103;
	}

	.fixedheader-logo {
		left: 15px;
		top: 14px;
		width: 148px;
	}

	.is-open .fixedheader-logo {
		display: none;
	}

	.fixedheader-logo:hover {
		opacity: 1;
	}

	#fixedheaderopenmenu {
		display:block;
		width:35px;
		height:35px;
		text-indent: -99em;
		overflow: hidden;
		position:absolute;
		right:13px;
		top:15px;
	}

	#fixedheaderopenmenu span {
		content:'';
		display: block;
		width:29px;
		height:1px;
		background: #d60050;
		position: absolute;
		left:3px;
		transition: all .25s ease;
	}

	#fixedheaderopenmenu span:nth-child(1) {top:13px;}
	#fixedheaderopenmenu span:nth-child(2) {top:22px;}

	#fixedheaderopenmenu.is-open span:nth-child(1) {
		transform:rotate(45deg);
		top:18px;
		left:3px;
		background: #fff;
	}

	#fixedheaderopenmenu.is-open span:nth-child(2) {
		transform:rotate(-45deg);
		top:18px;
		left:3px;
		background: #fff;
	}

	.bodyfixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}


	/* gnav ---------------------------------------*/

	.gnav {
		background: #ff7daa;
		padding-bottom: 65px;
		overflow:auto;
		z-index:100;
		left:0px;
		top:0px;
		width:100%;
		max-width: unset;
		height: 100vh;
		transition: all .25s ease;
		transform:translate3d(0,-100%,0);
		padding-top: 58px;
	}

	.gnav.is-active {
		position: fixed;
		transform:translate3d(0,0,0);
		opacity:1;
	}

	.gnav-list {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
		flex-direction: column;
	}

	.gnav-list > li {
		display: block;
	}
	
	.gnav-list > li a {
		display: block;
		padding: 5px 5px;
		height: 50px;
		text-align: center;
		margin-bottom: 15px;
	}

	.gnav-list > li a img {
		height: 100%;
	}
	
	.gnav-list > li a:hover {
		opacity: 1;
	}
	
	.fixedheadergnav {
		background: #ff7daa;
		padding-bottom: 65px;
		overflow:auto;
		z-index:102;
		left:0px;
		top:0px;
		width:100%;
		max-width: unset;
		height: 100vh;
		transition: all .25s ease;
		transform:translate3d(0,-100%,0);
		padding-top: 58px;
	}

	.fixedheadergnav.is-active {
		transform:translate3d(0,0,0);
		opacity:1;
	}

	.fixedheadergnav-list {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
		flex-direction: column;
	}

	.fixedheadergnav-list > li {
		display: block;
	}
	
	.fixedheadergnav-list > li a {
		display: block;
		padding: 5px 5px;
		height: 50px;
		text-align: center;
		margin-bottom: 15px;
	}

	.fixedheadergnav-list > li a img {
		height: 100%;
	}
	
	.fixedheadergnav-list > li a:hover {
		opacity: 1;
	}


	/* footer ---------------------------------------*/

	.footer {padding:0;}

	.footer-block {
		padding-bottom: 32px;
	}
	
	.footer-nav {
		padding: 11px 30px;
		margin-bottom: 17px;
	}
	.footer-nav-list {
		gap: 4px 0;
	}

	.footer-nav-list li {
		position: relative;
	}

	.footer-nav-list li::before {
		display: block;
		content: '';
		background:#fff; 
		width: 1px;
		height: 55%;
		position: absolute;
		left: 0;
		top: 55%;
		transform: translate(0,-50%);
	}

	.footer-nav-list li::after {
		display: block;
		content: '';
		background:#fff; 
		width: 1px;
		height: 55%;
		position: absolute;
		right: -1px;
		top: 55%;
		transform: translate(0,-50%);
	}

	.footer-nav-list li:last-of-type::after {
		right: 0;
	}
	
	.footer-nav-list li a {
		display: block;
		font-size: 13px;
		letter-spacing: 0.14em;
		line-height: 1.6;
		padding: 2px 10px;
	}
	
	.footer-nav-list li a:hover {
		opacity: 1;
	}
	
	.footer-inner {
		max-width:1080px;
		margin:0 auto;
		position:relative;
	}
	
	.footer-logo {
		display: inline-block;
		width: 128px;
		margin: 0 auto;
	}

	.footer-logo img {
		width: 100%;
	}
	
	.footer-logo:hover {
		opacity: 1;
	}
	
	.footer-inner {
		padding: 11px 0;
	}
	
	.footer-old {
		font-size: 13px;
		text-align: center;
		letter-spacing: 0.12em;
		line-height: 1.6;
		margin-bottom: 6px;
	}
		
	.footer-old a:hover {
		opacity: 1;
	}
	
	.copyright {
		display: block;
		font-size: 12px;
		font-weight: 400;
		letter-spacing: 0.05em;
	}

	/* title ---------------------------------------*/


	.title-section {
		height: 63px;
		margin-bottom: 31px;
	}

	.title-section img {
		height: 100%;
	}

	.title-section span {
		width: 95px;
		margin: 0 auto;
		padding-top: 24px;
	}

	.title-section span img {
		width: 100%;
	}


	/* text ---------------------------------------*/

	.text {
		font-size: 14px;
		letter-spacing: 0.14em;
		line-height: 1.65;
	}

	.text-sp-center {text-align:center !important;}
	.text-sp-right {text-align:right !important;}
	.text-sp-left {text-align:left !important;}
	.text-sp-justify {text-align: justify !important;}


	/* layout ---------------------------------------*/

	.header-inner,.footer-inner,.inner,.wrapper {
		min-width: 0;
		width: 100%;
	}

	.overlay {
		content:'';
		display: block;
		position:fixed;
		width:100%;
		height:300px;
		background: rgba(0,0,0,0.5);
		left:0;
		top:0;
		z-index:6;
	}

	.section {
		padding: 36px 20px 28px;
	}


	/* kv ---------------------------------------*/
	
	.kv {
		padding-top: 67px;
	}

	/* about */

	.about {
		padding-left: 33px;
		padding-right: 33px;
		padding-top: 49px;
	}

	.about .title-section {
		margin-bottom: 135px;
	}


	/* effect */

	.effect {
		padding-left: 33px;
		padding-right: 33px;
		padding-bottom: 33px;
	}

	.effect .title-section {
		margin-bottom: 31px;
	}

	.effect-block {
		display: block;
		max-width: unset;
		margin: 0 auto;
	}

	.effect-block-point {
		width: 100%;
		padding-left: 0;
		text-align: center;
		margin-bottom: 25px;
	}

	.effect-block-point img {
		width: 185px;
	}

	.effect-block-text-wrapper {
		padding-left: 0;
	}

	.effect-block-text {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.55;
	}

	.effect-block-text.has-image {
		padding-right: 78px;
		position: relative;
		min-height: 260px;
	}

	.effect-block-text.has-image::before {
		display: inline-block;
		content: '';
		background: url('../img/energy.png') no-repeat center top; 
		background-size: 100%;
		width: 61px;
		height: 100%;
		position: absolute;
		top: -8px;
		right: -10px;
	}

	.effect-block-text+.effect-block-text {
		margin-top: 16px;
	}


	/* class */

	.class {
		padding-left: 33px;
		padding-right: 33px;
		padding-bottom: 35px;
	}

	.class .title-section {
		margin-bottom: 31px;
	}

	.class-block-title {
		font-size: 22px;
		letter-spacing: 0.02em;
		margin-bottom: 11px;
	}

	.class-block-text {
		font-size: 14px;
		letter-spacing: 0.1em;
		line-height: 1.6;
		margin-bottom: 20px;
	}

	.class-flow {
		padding: 0 27px;
	}

	.class-flow-title {
		padding: 6px 0;
		margin-bottom: 19px;
		font-size: 16px;
		letter-spacing: 0.1em;
	}

	.class-flow-list {
		padding-bottom: 25px;
	}

	.class-flow-list li {
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0.145em;
		text-align: justify;
	}

	.class-flow-list li+li {
		margin-top: 31px;
	}

	.class-flow-list li+li::before {
		width: 1.7em;
		height: 1.7em;
		top: -22px;
	}

	.class-flow-list li a:hover {
		opacity: 1;
	}

	.class-salon {
		margin-bottom: 31px;
	}

	.class-salon-image {
		width: 100%;
		margin-bottom: 17px;
	}

	.class-salon-image img {
		width: 100%;
	}

	.class-online {
		position: relative;
		margin-bottom: 10.15vw;
		padding-bottom: 34.134vw;
	}

	.class-online-image {
		width: 95%;
		margin: 0 auto 12px;
	}

	.class-online-image img {
		width: 100%;
	}

	.class-online-text {
		font-size: 14px;
		letter-spacing: 0.1em;
		line-height: 1.6;
		margin-bottom: 20px;
	}

	.class-online::after {
		display: block;
		content: '';
		background: url('../img/family.png') no-repeat center center;
		background-size: 100%;
		width: 90vw;
		/* height: 43.58vw; */
		height: 39.22vw;
		position: absolute;
		left: 50%;
		/* bottom: -15px; */
		bottom: -4.5vw;
		transform: translate(-50%, 0);
		max-width: 350px;
	}

	.class-online::before {
		display: block;
		content: '';
		background: #fff8f7;
		width: 100%;
		height: calc(100% - 100px);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
	}

	.class-schedule-list {
		border-radius: 5px;
	}

	.class-schedule-list > dt {
		font-size: 17px;
		padding: 2px 5px;
		letter-spacing: 0.01em;
	}

	.class-schedule-list > dd {
		font-size: 15px;
		letter-spacing: 0.1em;
		padding: 0;
	}

	.class-schedule-content {
		display: block;
		padding-bottom: 8px;
	}

	.class-schedule-content-center {
		justify-content: center;
	}

	.class-schedule-content-line {
		display: none;
	}

	.class-schedule-content-item {
		position: relative;
	}

	.class-schedule-content-item::after {
		display: none;
	}

	.class-schedule-content-item:last-of-type::before {
		display: inline-block;
		content: '';
		background: #ddd;
		width: 90%;
		height: 1px;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translate(-50%,0);
	}

	.class-schedule-content-item-list {
		display: block;
		text-align: center;
		padding: 7px 0;
		font-weight: 500;
		line-height: 1.4;
	}

	.class-schedule-content-item-list dd {
		letter-spacing: 0.1em;
	}

	.class-schedule-content-item:last-of-type .class-schedule-content-item-list dd {
		letter-spacing: 0.06em;
	}

	.class-schedule-list-text {
		text-align: center;
		margin-bottom: 10px;
	}

	.class-schedule-list-notice {
		font-size: 15px;
		text-align: center;
		letter-spacing: 0.01em;
	}

	.class-schedule-notice {
		font-size: 12px;
		letter-spacing: 0.1em;
		margin-top: 10px;
		font-weight: 300;
	}

	.class-price-list {
		border-radius: 5px;
		margin-top: 26px;
	}

	.class-price-list > dt {
		font-size: 17px;
		padding: 2px 5px;
		letter-spacing: 0.02em;
	}

	.class-price-list > dd {
		font-size: 15px;
		letter-spacing: 0.1em;
		padding: 13px 15px;
	}

	.class-price-content {
		justify-content: center;
	}

	.class-price-content-line {
		margin: 0 14px;
	}

	.class-price-content-center {
		justify-content: center;
	}

	.class-price-content-item {
		position: relative;
		text-align: center;
	}

	.class-price-content-item-list {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		gap: 50px;
	}

	.class-price-list-text {
		text-align: center;
		margin-bottom: 10px;
	}

	.class-payment-list {
		border-radius: 5px;
		margin-top: 24px;
	}

	.class-payment-list > dt {
		font-size: 17px;
		letter-spacing: 0.1em;
		padding: 0px 5px;
	}

	.class-payment-list > dd {
		font-size: 15px;
		letter-spacing: 0.1em;
		padding: 13px 17px;
	}

	.class-payment-list-text {
		text-align: center;
		margin-bottom: 10px;
		font-weight: 500;
		letter-spacing: 0.12em;
	}

	.class-payment-list-notice {
		font-size: 13px;
		text-align: justify;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}

	.class-detail-note {
		border-radius: 5px;
		padding: 21px 15px 16px;
		position: relative;
		margin-top: 28px;
		border-width: 1px;
	}

	.class-detail-note-title {
		font-size: 15px;
		padding: 5px 7px;
		gap: 3px;
		letter-spacing: 0.12em;
	}

	.class-detail-note-title::before {
		content: '';
		background: url('../img/attention.svg') no-repeat center center;
		background-size: 18px;
		width: 18px;
		height: 15px;
	}

	.class-detail-note-list li {
		font-size: 13px;
		line-height: 1.45;
		letter-spacing: 0.09em;
		text-align: justify;
	}

	.class-detail-note-list li + li {
		margin-top: 3px;
	}

	.class-detail-note-list li::before {
		display: inline-block;
		content: '';
		vertical-align: middle;
		background: #d60050;
		width: 7px;
		height: 7px;
		border-radius: 99px;
		position: relative;
		top: -1px;
		left: 2px;
	}

	.class-detail-note-text {
		margin-top: 14px;
		padding-top: 11px;
		font-size: 13px;
		text-align: justify;
		margin-left: 2px;
		margin-right: 2px;
		letter-spacing: 0.12em;
		border-width: 1px;
	}


	/* faq */

	.faq {
		padding-left: 33px;
		padding-right: 33px;
		padding-bottom: 35px;
	}

	.faq-text {
		font-size: 14px;
		letter-spacing: 0.1em;
		margin-bottom: 34px;
	}

	.faq-list li {
		border: 1px solid #d60050;
		border-radius: 4px;
		background: #fff;
	}

	.faq-list li+li {
		margin-top: 15px;
	}

	.faq-question {
		padding: 8px 40px 8px 32px;
		font-size: 16px;
		line-height: 1.3;
		letter-spacing: 0.08em;
		text-align: justify;
	}

	.faq-question::before {
		background-size: 18px;
		width: 18px;
		height: 16px;
		top: 9px;
		left: 11px;
	}

	.faq-question::after {
		width: 10px;
		height: 10px;
		top: 14px;
		right: 13px;
		border-width: 1px;
	}

	.faq-question.active::after {
		top: 20px;
	}

	.faq-answer {
		padding: 11px 0 10px;
		margin: 0 16px;
		border-top: 1px solid #d60050;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0.13em;
		text-align: justify;
	}

	.faq-answer p+p {
		margin-top: 0.7em;
	}

	.faq-answer-notice {
		padding-left: 1.3em;
		font-size: 13px;
		letter-spacing: 0.1em;
		line-height: 1.4;
		text-align: justify;
		margin-top: 0.6em;
	}

	.faq-answer p+p.faq-answer-notice {
		margin-top: 0.5em;
	}

	.faq-answer p.faq-answer-notice+p.faq-answer-notice {
		margin-top: 0.5em;
	}

	.faq-answer-notice::before {
		left: 2px;
	}


	/* staff */

	.staff {
		padding-left: 33px;
		padding-right: 33px;
		padding-top: 32px;
		/* padding-bottom: 35px; */
	}

	.staff-inner {
		max-width: 916px;
		margin: 0 auto;
	}

	.staff .title-section {
		margin-bottom: 24px;
	}

	.staff-info {
		display: block;
	}

	.staff-info-image {
		width: 61vw;
		margin: 0 auto 15px;
		padding-top: 0;
		padding-left: 0;
	}

	.staff-info-image img {
		width: 100%;
	}

	.staff-info-detail {
	}

	.staff-info-name {
		width: 61vw;
		margin: 0 auto 26px;
	}

	.staff-info-name img {
		width: 100%;
	}

	.staff-info-message {
		font-size: 14px;
		line-height: 1.63;
		letter-spacing: 0.1em;
		margin-bottom: 24px;
		text-align: justify;
	}

	.staff-info-media dt {
		padding: 4px 10px 3px;
		font-size: 13px;
		margin-bottom: 12px;
		letter-spacing: 0.1em;
		line-height: 1.1;
	}

	.staff-info-media dd {
		padding-left: 28px;
		position: relative;
		line-height: 1.48;
		font-size: 13px;
		letter-spacing: 0.1em;
	}

	.staff-info-media dd a:hover {
		opacity: 1;
	}

	.staff-info-media dd:not(:first-of-type) {
		margin-top: 11px;
	}

	.staff-info-media dd::before {
		display: inline-block;
		content: '';
		width: 15px;
		height: 11px;
		position: absolute;
		top: 4px;
		left: 4px;
	}

	.staff-info-media .icon-book::before {
		top: 2px;
		width: 17px;
		height: 14px;
	}

	.staff-info-media .icon-tv::before {
		top: 2px;
		width: 16px;
		height: 14px;
	}


	/* contact */

	.contact {
		padding-left: 33px;
		padding-right: 33px;
		padding-top: 30px;
		padding-bottom: 25px;
	}

	.contact-text {
		font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 1.63;
		margin-bottom: 28px;
		text-align: justify;
	}

	.contact-info {
		display:  block;
		margin-bottom: 21px;
		text-align: center;
	}

	.contact-mail {
		display: block;
		max-width: 97%;
		margin: 0 auto 24px;
	}

	.contact-mail img {
		width: 100%;
	}

	.contact-mail:hover {
		opacity: 1;
	}

	.contact-tel {
		display: block;
		max-width: 70%;
		margin: 0 auto;
	}

	.contact-tel img {
		width: 100%;
	}

	.contact-tel:hover {
		opacity: 1;
	}

	.contact-notice {
		font-size: 12px;
		letter-spacing: 0.13em;
	}

}


/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px) {

	.class-price-list > dd {
		padding: 13px 10px;
	}

	.class-price-content-line {
		margin: 0 10px;
		
	}

}