@charset "UTF-8";
/* CSS Document */

/********************************************** 
	
トップページメインビジュアル

********************************************* */
.visual_wrapper {
	width: 100%;
	height: 100vh;
	position: relative;
	z-index: -1;
}
#visual {
	width: 100%;
	height: 100vh;
	position: fixed;
}
#visual::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,.1);
	z-index: +1;
}
#visual .visual_inner {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: +2;
	display: flex;
	justify-content: center;
	align-items: center;
}
#visual .visual_inner img {
	transform: scale(1.1);
	animation: logoFade2 4s ease-in-out forwards;
}
@keyframes logoFade2 {
	0% {
		opacity: 0;
		filter: blur(30px);
	}
	100% {
		opacity: 1;
		filter: blur(0);
		transform: translateY(0) scale(1);
	}
}

/********************************************** 
	
下層ページメインビジュアル

********************************************* */
.kv_wrapper {
	width: 100%;
	height: 500px;
	position: relative;
}
#kv {
	width: 100%;
	height: 500px;
	background: url(../images/visual/visual_recruit.jpg) center center/cover no-repeat;
	position: fixed;
}
#kv::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,.1);
}
.kv_inner {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 100px 7% 50px;
	display: flex;
	align-items: center;
	color: #fff;
	z-index: +10;
}
.kv_inner h2 span {
	display: block;
}
.kv_inner h2 .en3 {
	font-size: clamp(2rem, 1.364rem + 3.18vw, 3.75rem);
	letter-spacing: 0.04em;
}
.kv_inner h2 .ja {
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}

.blog #kv,.post-template-default #kv,.category #kv {
	background: url(../images/visual/visual_blog.jpg) center center/cover no-repeat;
}
.page-id-11 #kv {
	background: url(../images/visual/visual_first.jpg) center center/cover no-repeat;
}
.page-id-13 #kv {
	background: url(../images/visual/visual_menu.jpg) center center/cover no-repeat;
}
.page-id-49 #kv {
	background: url(../images/visual/visual_bridal.jpg) center center/cover no-repeat;
}
.page-id-52 #kv {
	background: url(../images/visual/visual_christina.jpg) center center/cover no-repeat;
}
.page-id-54 #kv {
	background: url(../images/visual/visual_facial.jpg) center center/cover no-repeat;
}
.page-id-56 #kv {
	background: url(../images/visual/visual_relaxation.jpg) center center/cover no-repeat;
}
.page-id-58 #kv {
	background: url(../images/visual/visual_corgi.jpg) center bottom/cover no-repeat;
}
.page-id-60 #kv {
	background: url(../images/visual/visual_body.jpg) center center/cover no-repeat;
}
.page-id-15 #kv,.page-id-88 #kv,.page-id-78 #kv,.page-id-84 #kv,.page-id-86 #kv {
	background: url(../images/visual/visual_school.jpg) center center/cover no-repeat;
}
.page-id-19 #kv {
	background: url(../images/visual/visual_contact.jpg) center center/cover no-repeat;
}
.page-id-118 #kv {
	background: url(../images/visual/visual_reservation.jpg) center center/cover no-repeat;
}

/********************************************** 
	
パンクズリスト

********************************************* */
.breadcrumb-wrap {
	width: 100%;
	position: absolute;
	left: 0;
	top: 120px;
	padding: 0 7%;
	font-size: 14px;
	color: rgba(255,255,255,.6);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.breadcrumb-wrap a {
	color: rgba(255,255,255,.6);
}
.breadcrumb-wrap a:hover {
	color: rgba(255,255,255,1);
}
.breadcrumb-wrap .current-item {
	color: rgba(255,255,255,1);
}
/********************************************** 
	
ヘッダー

********************************************* */
body.open {
  overflow: hidden;
  height: 100vh;
}
.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: +111;
	padding: 10px 30px
}
.header h1 {
	margin: 0;
	width: 140px;
	transition: .5s ease-in-out;
	position: relative;
}
.header h1 img {
	width: 100%;
	transition: .5s ease-in-out;
}
.header h1 .logo {
	display: none;
	visibility: hidden;
}
.header h1 .logo_white {
	display: block;
	visibility: visible;
	opacity: 1;
	@starting-style {
    opacity: 0;
  }
}
.header.is-fixed h1 .logo_white {
	display: none;
	visibility: hidden
}
.header.is-fixed h1 .logo {
	display: block;
	visibility: visible;
	opacity: 1;
	@starting-style {
    opacity: 0;
  }
}
.page-template-top .header h1 .logo_white {
	visibility: hidden;
}
/* ***********************************************************
* #global-nav
* *********************************************************** */
.open #global-nav {
	z-index: 1000;
	visibility: visible;
}
#global-nav {
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	color: #fff;
	font-size: 1.1rem;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;	
	scrollbar-width: none;
}
#global-nav::-webkit-scrollbar {
	display: none;
}
#global-nav ul {
	list-style: none;
	margin: 0;
}
#global-nav ul li a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 10px 0;
}
#global-nav ul li a:hover {
	opacity: .8;
	transform: translateX(3px);
}
.global-nav-inner {
	max-width: 860px;
	min-height: 100dvh;
	padding: 120px 5vw 60px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.global-nav-inner > .row {
	padding: 0 15px;
}
.global-nav-inner hr {
	margin-top: 1rem;
	margin-bottom: 2rem;
	transition: opacity 1s ease-out;
	transition-delay: .5s;
	opacity: 0;
}
.open .global-nav-inner hr {
	opacity: .5;
}

/* ***********************************************************
* nav_logo
* *********************************************************** */
.nav_logo {
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 30px;
	transition: all 1s ease-out;
	opacity: 0;
}
.open .nav_logo {
	opacity: 1;
}
/* ***********************************************************
* nav-list
* *********************************************************** */
.open #global-nav .child li {
	padding-left: 1em;
	position: relative;
}
.open #global-nav .child li:before {
	content: '';
	display: block;
	width: 10px;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	opacity: .5;
	transition: .25s ease-in;
}
.open #global-nav .child li:hover:before {
	width: 13px;
}
.open #global-nav ul li a {
	display: block;
	white-space: nowrap;
	position: relative;
}
.open #global-nav .child li a {
	
	font-size: 1rem;
}

/* ***********************************************************
* #nav-bg
* *********************************************************** */
#nav-bg {
	position: fixed;
	inset: 0;
	z-index: 999;
	background: linear-gradient(
	120deg,
	rgba(120, 185, 207, 1) 0%,
	rgba(27, 148, 206, 1) 20%,
	rgba(57, 72, 156, 1) 100%
	);
	clip-path: circle(0% at calc(100% - 56px) 56px);
	transition: clip-path .8s cubic-bezier(.77,0,.175,1),opacity .3s ease;
	opacity: 0;
	pointer-events: none;
}
.open #nav-bg {
	clip-path: circle(150% at calc(100% - 56px) 56px);
	opacity: 1;
	pointer-events: auto;
}

/* ***********************************************************
* #nav-toggle
* *********************************************************** */
#nav-toggle {
	display: block;
	position: fixed;
	right: 40px;
	top: 40px;
	width: 32px;
	height: 32px;
	cursor: pointer;
	z-index: 1001;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #fff;
	left: 0;
	zoom: 1;
	-webkit-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
@media (hover: hover) {
	body:not(.open) #nav-toggle:hover span:nth-child(1) {
		transform: translateX(3px);
	}
	body:not(.open) #nav-toggle:hover span:nth-child(2) {
		transform: translateX(-3px);
	}
}

#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 10px;
}
.open #nav-toggle {
	background: transparent;
}
.open #nav-toggle span {
	background: #fff !important;
}
.open #nav-toggle span:nth-child(1) {
	top: 9px;
	-webkit-transform: rotate(-150deg);
	transform: rotate(-150deg);
	zoom: 1;
}
.open #nav-toggle span:nth-child(2) {
	top: 9px;
	-webkit-transform: rotate(150deg);
	transform: rotate(150deg);
	zoom: 1;
}
.is-fixed #nav-toggle span {
	background: var(--default);
}
.is-fixed.open #nav-toggle span {
	background: #fff;
}

/* ***********************************************************
* header_sns
* *********************************************************** */
.header_sns {
	transition: none;
	opacity: 0;
	display: flex;
	justify-content: center;
}
.open .header_sns {
	transition: opacity .25s ease;
	transition-delay: .5s;
	opacity: 1;
}
.header_sns a {
	display: inline-block;
	padding: 0 5px;
	color: #fff;
	opacity: .6;
}
.header_sns a:hover {
	opacity: 1;
}
.header_sns a i {
	font-size: 1.25rem;
}
.nav_button_area {
	margin-top: 2rem;
	margin-bottom: 1rem;
	padding: 0 15px;
	transition: none;
	opacity: 0;
}
.open .nav_button_area {
	transition: opacity .25s ease-out;
	transition-delay: .5s;
	opacity: 1;
}
.nav_button_area a.btn.btn_white {
	width: 100%;
}

/* ***********************************************************
* 子メニュー
* *********************************************************** */
.accordion_btn {
	display: none;
}




@media (min-width: 768px) {
/* ***********************************************************
* nav-list
* *********************************************************** */
	#global-nav ul li {
		opacity: 0;
		-webkit-transform: scaleX(0) translateX(-260px);
		transform: scaleX(0) translateX(-260px);
		-webkit-transition: none;
		transition: none;
	}
	.open #global-nav ul li {
		opacity: 1;
		-webkit-transform: scaleX(1) translateX(0);
		transform: scaleX(1) translateX(0);
		transition: all .5s ease-out;
		-webkit-transition-delay: .1s;
		transition-delay: .1s;
	}
	.open #global-nav ul li:nth-child(2) {
		transition-delay: .2s;
	}
	.open #global-nav ul li:nth-child(3) {
		transition-delay: .3s;
	}
	.open #global-nav ul li:nth-child(4) {
		transition-delay: .4s;
	}
	.open #global-nav ul li:nth-child(5) {
		transition-delay: .5s;
	}
	.open #global-nav ul li:nth-child(6) {
		transition-delay: .6s;
	}
	.open #global-nav ul li:nth-child(7) {
		transition-delay: .7s;
	}
	.open #global-nav ul li:nth-child(8) {
		transition-delay: .8s;
	}
	.open #global-nav ul li a {
		display: block;
		white-space: nowrap;
		position: relative;
	}
}

@media (max-width: 767px) {
/********************************************** 
	
ヘッダー

********************************************* */
	.header {
		padding: 5px 15px
	}
	.header h1 {
		width: 100px;
	}
/********************************************** 
	
トップページメインビジュアル

********************************************* */
.visual_wrapper {
	height: 60vh;
}
#visual {
	height: 60vh;
}
#visual .visual_inner img {
	width: 80%;
	margin-bottom: 2em;
}
/* ************************************************************
	 #nav-toggle
************************************************************ */
	#nav-toggle {
		right: 20px;
		top: 30px;
	}
/* ***********************************************************
* nav_logo
* *********************************************************** */
	.nav_logo {
		top: 5px;
		left: 15px;
	}
	.nav_logo img {
		width: 100px;
	}
/* ***********************************************************
* #global-nav
* *********************************************************** */
	#global-nav ul {
		display: block;
	}
	#global-nav ul li {
		width: 100%;
	}
	#global-nav ul li a {
		padding: 5px 0;
		font-size: 1rem;
	}
	.global-nav-inner {
		padding: 100px 5vw 6vw;
		display: block;
	}
	.global-nav-inner hr {
		margin-top: 1.5rem;
		margin-bottom: 1rem;
	}
/* ***********************************************************
* nav-list
* *********************************************************** */
	#global-nav ul li {
		opacity: 0;
		transition: opacity .5s ease-in;
	}
	.open #global-nav ul li {
		opacity: 1;
		transition-delay: .2s;
	}
/* ***********************************************************
* #nav-bg
* *********************************************************** */
	#nav-bg {
		clip-path: circle(0% at calc(100% - 36px) 36px);
	}
	.open #nav-bg {
		clip-path: circle(150% at calc(100% - 36px) 36px);
	}


/* ***********************************************************
* 子メニュー
* *********************************************************** */
	.child {
		display: grid;
		grid-template-rows: 0fr;
		transition:
			grid-template-rows .4s cubic-bezier(.77,0,.175,1),
			margin-top .4s ease;
		margin-top: 0;
	}
	.child > ul {
		overflow: hidden;
	}
	.has-child.open .child {
		grid-template-rows: 1fr;
	}
	.child li {
		overflow: hidden;
	}
	.has-child.open .child {
		grid-template-rows: 1fr;
		margin-bottom: 10px;
	}
	.nav-parent {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 15px;
	}
	.nav-parent > a {
		flex: 1;
	}
	.accordion_btn {
		display: block;
		width: 30px;
		height: 30px;
		position: relative;
		background: none;
		border: none;
		padding: 0;
		cursor: pointer;
		flex-shrink: 0;
	}
	.accordion_btn span {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 14px;
		height: 1px;
		background: #fff;
		transition: .3s;
		transform: translate(-50%, -50%);
	}
	.accordion_btn span:last-child {
		transform:
			translate(-50%, -50%)
			rotate(90deg);
	}
	.has-child.open .accordion_btn span:last-child {
		transform:
			translate(-50%, -50%)
			rotate(0);
		opacity: 0;
	}
/********************************************** 
	
下層ページメインビジュアル

********************************************* */
	.kv_wrapper {
		height: 360px;
	}
	#kv {
		height: 360px;
	}
	.kv_inner {
		padding: 70px 15px 0;
	}
/********************************************** 
	
パンクズリスト

********************************************* */
	.breadcrumb-wrap {
		top: 80px;
		padding: 0 15px;
		font-size: 13px;
	}
}





