@charset "utf-8";
@font-face {
	font-family: "EuphoriaScript-Regular";
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/EuphoriaScript-Regular.woff) format('woff')
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, fieldset, form, label, legend, table, caption, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	margin: 0;
	padding: 0
}

main, article, aside, details, summary, blockquote, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}

h1, h2, h3, h4, h5, h6, dl, dt, dd, ol, ul, li, p, figure, hr {
	margin: 0;
	padding: 0;
}

ul {
	list-style: none
}

img, iframe, select, textarea {
	vertical-align: top
}

img {
	max-width: 100%;
}

html {
	height: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	height: 100%;
	font-size: 16px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	line-height: 1;
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
	color: #333;
}

::selection {
	background: #def6f3;
}

::-moz-selection {
	background: #def6f3;
}

a {
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: none;
	margin: 0;
	padding: 0;
	transition: .75s;
}
a:hover {
	opacity: .75;
}


u {
	text-decoration: none;
	background: linear-gradient(transparent 65%, rgba(255,117,156,.25) 0%);
	/*f60ベース*/
}


label {
	cursor: pointer;
}


hr {
	display: block;
	border: 0;
}



h2 {
	margin-bottom: 120px;
	text-align: center;
	position: relative;
}

h2 b {
	font-size: 48px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	letter-spacing: 0;
	position: relative;
	z-index: 1;
}

h2 i {
	font-size: 160px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	color: rgba(113, 161, 184, .25);
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	/*transform: translateY(-50%) translateX(-50%);*/
	transform: translateY(-50%);
	/*width:100%;
	display:flex;
	align-items:center*/
}

.inner {
	margin: 0 auto;
}

/*------------------------------------------------------------------------*/

@media screen and (min-width: 768px) {
	.sp {
		display: none!important
	}
	body {
		font-size: 18px;
		letter-spacing: .1em;
		background: url(../img/bg_left.png) repeat-y left top / 274px auto, url(../img/bg_right.png) repeat-y right top / 228px auto;
	}
	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}

	hr:nth-of-type(even) {
		height: 465px;
		background: url(../img/hr_left.png) no-repeat left top / 1003px 465px;
		margin-bottom: -465px;
	}

	hr:nth-of-type(odd) {
		height: 576px;
		background: url(../img/hr_right.png) no-repeat right top / 1125px 576px;
		margin-bottom: -576px;
	}
	hr.first {
		height: 576px;
		background: url(../img/hr_left.png) no-repeat left top / 1003px 465px, url(../img/hr_right.png) no-repeat right top / 1125px 576px;
		background: url(../img/hr_right.png) no-repeat right top / 1125px 576px;
		margin-bottom: -576px;
		margin-top: -120px;
	}

	main p {
		line-height: 2;
	}

	main dt {
		line-height: 2;
	}

	section {
		padding: 120px 0;
	}
	.inner {
		width: calc(100% - 80px);
		max-width: 1200px;
	}
	.inner.wide {
		max-width: 1600px;
	}
	.inner.thin {
		max-width: 960px;
	}
}

/*------------------------------------------------------------------------*/

@media screen and (min-width: 1024px) {

	.inner.max {
		width: 100%;
		max-width: 100%;
	}

}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	.pc {
		display: none!important;
	}
	body {
		font-size: 14px;
		letter-spacing: .075em;
		background: url(../img/bg_left.png) repeat-y left top / 90px auto, url(../img/bg_right.png) repeat-y right top / 75px auto;
	}


	hr:nth-of-type(even) {
		height: 148px;
		background: url(../img/hr_left.png) no-repeat left top / 320px 148px;
		margin-bottom: -148px;
	}

	hr:nth-of-type(odd) {
		height: 164px;
		background: url(../img/hr_right.png) no-repeat right top / 320px 164px;
		margin-bottom: -164px;
	}
	hr.first {
		height: 164px;
		background: url(../img/hr_left.png) no-repeat left top / 320px 148px, url(../img/hr_right.png) no-repeat right top / 320px 164px;
		background: url(../img/hr_right.png) no-repeat right top / 320px 164px;
		margin-bottom: -164px;
		margin-top: -64px;
	}

	main p {
		line-height: 1.75;
	}

	main dt {
		line-height: 1.75;
	}

	section {
		padding: 64px 0;
	}
	.inner {
		width: calc(100% - 32px);
	}



	h2 {
		margin-bottom: 48px;
	}

	h2 b {
		font-size: 24px;
	}

	h2 i {
		font-size: 64px;
	}



}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■loading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#loading {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background: #fff;
	z-index: 30;
}

.animation {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.animation .logo {}

.animation .logo img {
	width: 100px;
}


/* アニメーション */

.animation {
	-webkit-animation: loadinganimation 1500ms ease-out forwards infinite;
	animation: loadinganimation 1500ms ease-out forwards infinite;
}

@keyframes loadinganimation {
	from, to {
		opacity: 0;
	}
	50% {
		opacity: .5;
	}
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {
	.animation .logo img {
		width: 75px;
	}
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ヘッダ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#logo {
	width: 100px;
	height: 100px;
	background: #000;
	position: fixed;
	left: 40px;
	top: 40px;
	z-index: 2;
}

#logo a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#logo img {
	width: 70px;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	#logo {
		width: 40px;
		height: 40px;
		left: 20px;
		top: 20px;
	}
	#logo img {
		width: 28px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ヘッダ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

header {
	height: 100%;
	min-height: 100%;
	background: url(../img/header_bg_pc.png) no-repeat center bottom / cover;
	display: flex;
	align-items: center;
	text-align: center;
}

header .logo {
	position: fixed;
	position: absolute;
	left: 40px;
	top: 40px;
	/*z-index: 5;
	mix-blend-mode: difference;*/
}

header .logo img {
	width: 96px;
}
header .inner {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-direction: column;
}

header h1 {
	font-size: 40px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	position: relative;
	top: -64px;
}
/*header h1 span {
	text-shadow:
		#fff 0 0 24px, #fff 0 0 24px,
		#fff 0 0 24px, #fff 0 0 24px,
		#fff 0 0 24px, #fff 0 0 24px,
		#fff 0 0 24px, #fff 0 0 24px,
		#fff 0 0 24px, #fff 0 0 24px;
}*/

header ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0 -16px;
}
header li {
	width: calc(25% - 32px);
	margin: 0 16px;
	text-align: center;
	position: relative;
}
header li:nth-child(even) {
	bottom: -32px;
}

header li a {
	color: #71a1b8;
	color: #000;
}
/*header li a:after {
	content: "";
	display: block;
	width: 34px;
	height: 40px;
	background: url(../img/header_icon_arrow.svg) no-repeat left top / cover;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 24px;
	margin: 0 auto;
}
header li img {
	width: 100%;
}*/
header dl {
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
header dt {
	font-size: 32px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	margin-bottom: 16px;
}
header dd p {
	font-size: 16px;
	line-height: 1.5;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 1199px) {

	header h1 {
		font-size: 40px;
		top: -48px;
	}
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {


	header {
		/*height: calc(100% - 64px);
		min-height: calc(100% - 64px);*/
		background: url(../img/header_bg_sp.png) no-repeat center bottom / cover;
	}
	header .logo {
		left: 16px;
		top: 16px;
	}

	header .logo img {
		width: 48px;
	}

	header h1 {
		font-size: 20px;
		top: -64px;
	}
	header h1 span {
	}


	header ul {
		margin: 0 -4px -8px -4px;
		margin: 0;
	}
	header li {
		width: calc(45% - 8px);
		width: calc(25% - 8px);
		width: 25%;
		margin: 0 4px 8px 4px;
		margin: 0;
	}
	header li:nth-child(even) {
		bottom: -32px;
	}
	header li a:after {
		display: none;
	}
	header dt {
		font-size: 16px;
		margin-bottom: 4px;
		margin-bottom: 0;
	}
	header dd p {
		display: none;
		font-size: 9px;
	}



}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■全ページ共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■トップページ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*-------------------------------------------------------------------------
	youtube
-------------------------------------------------------------------------*/

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 100px auto;
}

.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:1023px) {
	.youtube {
		margin: 60px 0;
	}
}


/*-------------------------------------------------------------------------
	シェア
-------------------------------------------------------------------------*/

.share {
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 80px auto;
}

.share dt {
	margin-right: 25px;
}

.share dd {}

.share dd img {
	width: 20px;
}

.share dd + dd {
	margin-left: 20px;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:1023px) {
	.share {
		margin: 40px auto;
	}
	.share dt {
		margin-right: 15px;
	}
	.share dd img {
		width: 15px;
	}
	.share dd + dd {
		margin-left: 10px;
	}
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {
	.share {
		margin: 60px auto;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■welcome
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#welcome {}

#welcome h2 {
	margin-bottom: 64px;
}

#welcome h2 b {
	display: inline-block;
	padding: 0 40px;
	background: url(../img/welcome_h2_bg_left.svg) no-repeat left center / contain, url(../img/welcome_h2_bg_right.svg) no-repeat right center / contain;
}

#welcome h2 i {
	color: rgba(255, 117, 156, 0.25);
}

#welcome .message {
	font-size: 20px;
	text-align: center;
	margin-bottom: 64px;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {


	#welcome h2 {
		margin-bottom: 32px;
	}

	#welcome h2 b {
		padding: 0 32px;
	}


	#welcome .message {
		font-size: 14px;
		text-align: left;
		margin-bottom: 24px;
	}

}


/*-------------------------------------------------------------------------
	brand
-------------------------------------------------------------------------*/

#welcome .brand {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 -32px;
	/*margin-bottom: 120px;*/
}

#welcome .brand li {
	margin: 0 32px;
}

#welcome .brand li img {
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {



	#welcome .brand {
		margin: 0 -8px;
		/*margin-bottom: 40px;*/
	}

	#welcome .brand li {
		margin: 0 8px;
	}

}

/*-------------------------------------------------------------------------
	banner
-------------------------------------------------------------------------*/

#welcome .banner {
	background: url(../img/welcome_banner_bg.png) no-repeat center center / contain #000;
	text-align: center;
}

#welcome .banner a {
	display: block;
	padding: 40px;
	position: relative;
}

#welcome .banner a div {
	padding: 32px;
	border: 2px solid #fff;
	color: #fff;
}

#welcome .banner .commingsoon {
	font-size: 56px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	color: rgba(255, 255, 255, .5);
	transform: rotate(-15deg);
	position: absolute;
	left: 8px;
	top: 40px;
}

#welcome .banner h3 {
	font-size: 40px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	margin-bottom: 24px;
}

#welcome .banner h4 {
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 16px;
}



/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {



	#welcome .banner a {
		padding: 8px;
	}

	#welcome .banner a div {
		padding: 16px 8px;
	}

	#welcome .banner .commingsoon {
		font-size: 24px;
		left: 4px;
		top: 20px;
	}

	#welcome .banner h3 {
		font-size: 16px;
		margin-bottom: 12px;
	}

	#welcome .banner h4 {
		font-size: 16px;
		margin-bottom: 12px;
	}

	#welcome .banner p {
		font-size: 12px;
	}


}





/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■benefit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#benefit {
	background: rgba(222, 246, 243, .5);
}

#benefit h2 b {
	display: inline-block;
	padding: 0 40px;
	background: url(../img/benefit_h2_bg_left.svg) no-repeat left center / contain, url(../img/benefit_h2_bg_right.svg) no-repeat right center / contain;
}

#benefit .index {
	counter-reset: number;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -12px -24px -12px;
}

#benefit .index li {
	width: calc(25% - 24px);
	width: calc(50% - 24px);
	margin: 0 12px 24px 12px;
}

#benefit .index li a {
	color: #fff;
}

#benefit .index li dt {
	position: relative;
}

#benefit .index li dt:before {
	font-size: 80px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	color: #71a1b8;
	counter-increment: number;
	content: counter(number);
	position: absolute;
	left: 32px;
	bottom: 0;
	z-index: 1;
}

#benefit .index li a:hover dt:before {
	color: #ff759c;
}

#benefit .index li dt:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 120px 0 0 200px;
	border-color: transparent transparent transparent rgba(255, 255, 255, .75);
	position: absolute;
	left: 0;
	bottom: 0;
}

#benefit .index li a dd {
	font-weight: bold;
	text-align: center;
	background: url(../img/benefit_index_dd_icon.svg) no-repeat right 24px center / 24px auto #71a1b8;
	padding: 8px 16px;
	margin-top: 8px;
}

#benefit .index li a:hover dd {
	background-color: #ff759c;
}

h3.sub {
	margin-bottom: 64px;
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

h3.sub b {
	font-size: 40px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	letter-spacing: 0;
	position: relative;
	z-index: 1;
}

h3.sub span {
	font-size: 80px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	color: #ff759c;
	border-bottom: 4px double #ff759c;
	margin-bottom: 16px;
}



.layout {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 -20px;
}
.layout > dt {
	flex: none;
	/*width: calc(100% / 3 - 40px);*/
	text-align: center;
	margin: 0 20px;
	position: relative;
}
.layout > dt img {
	width: 240px;
}
.layout > dd {
	/*width: calc(100% - 240px - 80px);
	width: calc(100% / 3 * 2 - 40px);*/
	margin: 0 20px;
}



/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {



	#benefit h2 b {
		padding: 0 20px;
	}

	#benefit .index {
		margin: 0 -4px -8px -4px;
	}

	#benefit .index li {
		width: calc(50% - 8px);
		margin: 0 4px 8px 4px;
	}

	#benefit .index li dt:before {
		font-size: 28px;
		left: 12px;
	}

	#benefit .index li dt:after {
		border-width: 40px 0 0 67px;
	}

	#benefit .index li a dd {
		background: url(../img/benefit_index_dd_icon.svg) no-repeat right 8px center / 12px auto #71a1b8;
		padding: 4px 8px;
		margin-top: 0;
		font-size: 11px;
	}

	h3.sub {
		margin-bottom: 32px;
	}

	h3.sub b {
		font-size: 20px;
	}

	h3.sub span {
		font-size: 40px;
		margin-bottom: 12px;
	}


	.layout {
		flex-direction: column;
		margin: 0;
	}
	.layout > dt {
		order: 1;
		margin: 24px 0 0 0;
	}
	.layout > dt img {
		max-width: 100%;
		width: 120px;
	}
	.layout > dd {
		margin: 0;
	}



}




/*-------------------------------------------------------------------------
	salary
-------------------------------------------------------------------------*/

#salary {
	padding: 120px 0;
}

#salary .point {
	display: block;
	width: 320px;
	position: absolute;
	right: -240px;
	top: -48px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../img/benefit_salary_point_bg.svg) no-repeat center bottom / 100% auto;
	transform: rotate(-5deg);
}
#salary .point b {
	display: block;
	padding-bottom: 64px;
}

#salary .main {
	text-align: center;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {

	#salary {
		padding: 64px 0;
	}
	#salary .point {
		width: 280px;
		font-size: 13px;
		position: relative;
		right: 0;
		top: 0;
		transform: rotate(0deg);
	}
	#salary .point b {
		padding-bottom: 56px;
	}

}

/*-------------------------------------------------------------------------
	private
-------------------------------------------------------------------------*/

#private {
	padding: 120px 0;
	margin-top: -120px;
}

#private .point {
	display: block;
	width: 320px;
	position: absolute;
	left: -264px;
	top: -96px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../img/benefit_private_point_bg.svg) no-repeat center bottom / 100% auto;
	transform: rotate(5deg);
}
#private .point b {
	display: block;
	padding-bottom: 64px;
}

#private h4 {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.5;
	color: #71a1b8;
	text-align: center;
	margin-top: 64px;
	margin-bottom: 64px;
}

#private .message {
	background: url(../img/benefit_private_message_bg.svg) no-repeat left top / 100% auto;
	width: 640px;
	padding: 120px 64px 64px 64px;
	box-sizing: border-box;
	border-bottom: 3px solid #000;
	margin: 0 auto;
	margin-top: 64px;
}
#private .message h5 {
	font-size: 80px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	color: #71a1b8;
	transform: rotate(-15deg);
	text-align: center;
	margin-bottom: 48px;
}
#private .message p {
	font-weight: bold;
}

#private .instagram {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#private .instagram li:nth-child(odd) {
	transform: rotate(5deg);
}
#private .instagram li:nth-child(even) {
	transform: rotate(-5deg);
}

#private .instagram figure {
	width: 240px;
	height: 321px;
	background: url(../img/benefit_private_instagram_bg.svg) no-repeat left top / cover;
	position: relative;
	border-radius: 8px;
	box-shadow: 0 0 8px rgba(0, 0, 0, .25);
}
#private .instagram figure img {
	width: 240px;
	height: 240px;
	object-fit: cover;
	margin-top: 46px;
}
#private .instagram figure figcaption {
	width: 160px;
	position: absolute;
	left: 0;
	right: 0;
	top: 12px;
	margin: 0 auto;
}
#private .instagram figure figcaption p {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1;
	padding: 12px;
	border-radius: 6px;
	border: 2px solid #fff;
	background: #ff759c;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	#private .slider {
		background-attachment: scroll;
		width: calc(100% + 32px);
		margin: 0 -16px;
	}
	#private .instagram {
		flex-wrap: nowrap;
		justify-content: flex-start;
		margin: 0;
		padding: 12px 0;
		overflow-x: scroll;
		overflow-x: -moz-scrollbars-none;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		-ms-overflow-style: none;
	}
	#private .instagram::-webkit-scrollbar {
		display: none;
	}
	#private .slider:after {
		display: block;
		content: '←左にスワイプしてご覧ください。';
		font-size: 11px;
		line-height: 1.5;
		color: #888;
		margin-top: 4px;
		margin-left: 16px;
	}

	/*#private .instagram figure {
		width: 200px;
		height: 268px;
	}
	#private .instagram figure img {
		width: 200px;
		height: 200px;
		margin-top: 39px;
	}
	#private .instagram figure figcaption {
		width: 120px;
	}
	#private .instagram figure figcaption p {
		font-size: 14px;
	}*/


	#private .instagram figure {
		width: 160px;
		height: 214px;
	}
	#private .instagram figure img {
		width: 160px;
		height: 160px;
		margin-top: 31px;
	}
	#private .instagram figure figcaption {
		width: 120px;
		top: 8px;
	}
	#private .instagram figure figcaption p {
		font-size: 13px;
	}

}


/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {

	#private {
		padding: 64px 0;
		margin-top: -64px;
	}
	#private .point {
		width: 280px;
		font-size: 13px;
		position: relative;
		left: 0;
		top: 0;
		transform: rotate(0deg);
	}
	#private .point b {
		padding-bottom: 56px;
	}
	#private h4 {
		font-size: 16px;
		text-align: left;
		margin-top: 24px;
		margin-bottom: 24px;
	}

	#private .message {
		width: 100%;
		padding: 64px 16px 16px 16px;
		border-bottom: 2px solid #000;
		margin-top: 24px;
	}
	#private .message h5 {
		font-size: 40px;
		margin-bottom: 24px;
	}



}

/*-------------------------------------------------------------------------
	education
-------------------------------------------------------------------------*/

#education {
	padding: 120px 0;
	margin-top: -120px;
}

#education .point {
	display: block;
	width: 360px;
	position: absolute;
	left: 0;
	top: -168px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../img/benefit_education_point_bg.svg) no-repeat center bottom / 100% auto;
	transform: rotate(5deg);
}
#education .point b {
	display: block;
	padding-bottom: 80px;
}


#education figure {
}
#education figure img {
}
#education figure figcaption {
	margin-top: 40px;
}
#education figure h4 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 24px;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {

	#education {
		padding: 64px 0;
		margin-top: -64px;
	}
	#education .point {
		width: 280px;
		font-size: 13px;
		position: relative;
		right: 0;
		top: 0;
		transform: rotate(0deg);
	}
	#education .point b {
		padding-bottom: 56px;
	}

	#education figure figcaption {
		margin-top: 24px;
	}
	#education figure h4 {
		font-size: 16px;
		margin-bottom: 16px;
	}

}

/*-------------------------------------------------------------------------
	welfare
-------------------------------------------------------------------------*/

#welfare {
	padding: 120px 0;
	margin-top: -120px;
	margin-bottom: -120px;
}

#welfare .point {
	display: block;
	width: 320px;
	position: absolute;
	right: 0;
	top: -184px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../img/benefit_welfare_point_bg.svg) no-repeat center bottom / 100% auto;
	transform: rotate(-5deg);
}
#welfare .point b {
	display: block;
	padding-bottom: 96px;
}

#welfare ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -20px -40px -20px;
}

#welfare li {
	width: calc(100% / 3 - 40px);
	margin: 0 20px 40px 20px;
	text-align: center;
	position: relative;
	/*background: url(../img/benefit_welfare_bg_left.svg) no-repeat left center / contain, url(../img/benefit_welfare_bg_right.svg) no-repeat right center / contain;*/
}
#welfare li > img {
	width: 100%;
}
#welfare li dl {
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#welfare li dl {
	padding: 16px 0;
}
#welfare li dt {
	margin-bottom: 16px;
}
#welfare li dt img {
	height: 64px;
}
#welfare li dd p {
	font-size: 14px;
	line-height: 1.5;
	color: #71a1b8;
}
#welfare li dd p small {
	font-size: 12px;
}
/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {

	#welfare {
		padding: 64px 0;
		margin-top: -64px;
		margin-bottom: -64px;
	}
	#welfare .point {
		width: 280px;
		font-size: 13px;
		position: relative;
		left: 0;
		top: 0;
		transform: rotate(0deg);
	}
	#welfare .point b {
		padding-bottom: 64px;
	}
	#welfare ul {
		margin: 0 -8px -16px -8px;
	}

	#welfare li {
		width: calc(100% / 3 - 16px);
		margin: 0 8px 16px 8px;
	}
	#welfare li dl {
		width: 100%;
	}
	#welfare li dt {
		margin-bottom: 4px;
	}
	#welfare li dt img {
		height: 24px;
	}
	#welfare li dd p {
		font-size: 11px;
	}
	#welfare li dd p small {
		font-size: 9px;
	}


}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■interview
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#interview {
	background: url(../img/interview_bg.png) repeat-y center center;
}

#interview h3 {
	font-size: 120px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	text-align: center;
	color: #ff759c;
}

#interview h3 + p {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 80px;
}
#interview .profile {
	padding-top: 120px;
}
#interview .profile dl {
	display: flex;
	align-items: center;
	background: url(../img/interview_profile_bg.png) no-repeat center center;
}

#interview .profile dt {
	flex: none;
	width: 40%;
	width: 480px;
	margin-right: 32px;
}

#interview .profile dd {
}

#interview .profile dd p {}

#interview .profile dd p b {
	font-size: 32px;
}

#interview ol {
	padding: 0;
	counter-reset: number;
	list-style: none;
	margin-bottom: 120px;
}

#interview .inner:last-of-type ol {
	margin-bottom: 0;
}

#interview li {
	display: flex;
	margin-bottom: 48px;
}

#interview li:last-child {
	margin-bottom: 0;
}

#interview li dl {}

#interview li dt {
	font-size: 32px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	color: #71a1b8;
	display: flex;
	align-items: center;
}
#interview li dt:before {
	flex: none;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	font-size: 40px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	color: #fff;
	padding: 0;
	margin-right: 24px;
	background: #71a1b8;
	counter-increment: number;
	content: "Q"counter(number);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#interview li dd {
	margin-left: 88px;
}




/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {


	#interview {
		background: url(../img/interview_bg.png) repeat-y center center / contain;
	}
	#interview h3 {
		font-size: 48px;
	}

	#interview h3 + p {
		font-size: 13px;
		margin-bottom: 24px;
	}
	#interview .profile {
		padding-top: 64px;
		margin-bottom: 24px;
	}

	#interview .profile dl {
		background: url(../img/interview_profile_bg.png) no-repeat center center / contain;
	}
	#interview .profile dt {
		width: 40%;
		margin-right: 16px;
	}

	#interview .profile dd {
	}

	#interview .profile dd p {}

	#interview .profile dd p b {
		font-size: 20px;
	}

	#interview ol {
		margin-bottom: 64px;
	}

	#interview li {
		margin-bottom: 16px;
	}


	#interview li dl {}

	#interview li dt {
		font-size: 16px;
		margin-bottom: 8px;
	}
	#interview li dt:before {
		width: 40px;
		height: 40px;
		font-size: 20px;
		margin-right: 8px;
	}
	#interview li dd {
		margin-left: 48px;
	}



}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■message
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#message {
	background: url(../img/message_bg.svg) no-repeat center center / contain rgba(253, 240, 239, .5);
}

#message h2 {}

#message h2 b {
	display: inline-block;
	padding: 0 48px;
	background: url(../img/message_h2_bg_left.svg) no-repeat left center / contain, url(../img/message_h2_bg_right.svg) no-repeat right center / contain;
}

#message p {
	margin-bottom: 24px;
}

#message p:last-of-type {
	margin-bottom: 0;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {


	#message h2 b {
		padding: 0 24px;
	}

	#message p {
		margin-bottom: 16x;
	}


}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■description
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#description {
	background: rgba(222, 246, 243, .5);
}

.box {
	background: #fff;
	border: 8px double #71a1b8;
	padding: 80px;
}

.box dl {
	display: flex;
	margin-bottom: 32px;
}

.box dl:last-of-type {
	margin-bottom: 0;
}

.box dt {
	width: 20%;
	font-weight: bold;
	color: #71a1b8;
}

.box dd {
	width: calc(100% - 20%);
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {

	.box {
		border: 4px double #71a1b8;
		padding: 16px;
	}

	.box dl {
		display: block;
		margin-bottom: 16px;
	}

	.box dt {
		width: auto;
	}

	.box dd {
		width: auto;
	}


}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■flow
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#flow {}

#flow ol {
	list-style: none;
	display: flex;
	margin: 0 -40px;
	margin-bottom: 48px;
}

#flow li {
	width: calc(100% / 3 - 80px);
	border: 2px solid #71a1b8;
	border-radius: 50%;
	box-sizing: border-box;
	margin: 0 40px;
	text-align: center;
	position: relative;
}

#flow li:before {
	content: "";
	display: block;
	padding-top: 100%;
}

#flow li span {
	width: 80px;
	height: 80px;
	background: #71a1b8;
	border-radius: 50%;
	font-size: 56px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 0;
}

#flow li:not(:last-child):after {
	content: "";
	width: 40px;
	height: 34px;
	background: url(../img/flow_icon_arrow_pc.svg) no-repeat left top / 40px 34px;
	position: absolute;
	right: -60px;
	top: 50%;
	transform: translateY(-50%);
}

#flow li dl {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

#flow li dt {
	height: 97px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

#flow li dt img.order1 {
	width: 101px;
	height: 58px;
}

#flow li dt img.order2 {
	width: 106px;
	height: 97px;
}

#flow li dt img.order3 {
	width: 62px;
	height: 88px;
}

#flow li dd h3 {
	font-size: 22px;
	font-weight: bold;
	color: #71a1b8;
	margin-bottom: 16px;
}

#flow li dd p {
	width: 75%;
	margin: 0 auto;
	font-size: 16px;
}

#flow ol + p {
	font-weight: bold;
	text-align: center;
	color: #71a1b8;
}

#flow ol + p a {
	text-decoration: underline;
	color: #5cbd49;
}


/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {


	#flow ol {
		display: block;
		margin: 0;
		margin-bottom: 24px;
	}

	#flow li {
		width: 100%;
		width: 240px;
		margin: 0 auto 56px auto;
	}
	#flow li:last-child {
		margin-bottom: 0;
	}

	#flow li span {
		width: 64px;
		height: 64px;
		font-size: 32px;
	}



#flow li:not(:last-child):after {
	content: "";
	width: 34px;
	height: 40px;
	background: url(../img/flow_icon_arrow_sp.svg) no-repeat left top / 34px 40px;
	position: absolute;
	right: auto;
	left: 50%;
	top: auto;
	bottom: -48px;
	transform: translateX(-50%);
}

	#flow li dt {
		height: 67px;
		margin-bottom: 16px;
	}



	#flow li dt img.order1 {
		width: 70px;
		height: 40px;
	}

	#flow li dt img.order2 {
		width: 72px;
		height: 67px;
	}

	#flow li dt img.order3 {
		width: 43px;
		height: 61px;
	}

	#flow li dd h3 {
		font-size: 18px;
		margin-bottom: 8px;
	}

	#flow li dd p {
		font-size: 12px;
	}
	#flow ol + p {
		font-size: 13px;
		text-align: left;
	}


}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■about us
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#about {
	background: rgba(222, 246, 243, .5);
}


/*-------------------------------------------------------------------------
	data
-------------------------------------------------------------------------*/

#about .data {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px -56px -20px;
	margin-bottom: calc(120px - 56px);
}

#about .data li {
	width: calc(100% / 3 - 40px);
	margin: 0 20px 56px 20px;
	text-align: center;
	padding: 40px;
	border: 1px solid #71a1b8;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

#about .data li h3 {
	font-size: 32px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	text-align: center;
	color: #71a1b8;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	transform: translateY(-50%);
}

#about .data li h3 span {
	background: #eefaf9;
	padding: 0 16px;
}

#about .data li dl {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

#about .data li dt {
	order: 1;
	font-size: 16px;
}

#about .data li dd span {
	font-size: 24px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	color: #71a1b8;
}

#about .data li dd span b {
	font-size: 96px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	margin: 0 4px;
}


/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {


	#about .data {
		margin: 0 -8px -26px -8px;
		margin-bottom: calc(80px - 26px);
	}

	#about .data li {
		width: calc(50% - 16px);
		margin: 0 8px 26px 8px;
		padding: 26px 16px 16px 16px;
	}


	#about .data li h3 {
		font-size: 20px;
	}

	#about .data li h3 span {
		padding: 0 8px;
	}


	#about .data li dt {
		font-size: 13px;
	}

	#about .data li dd span {
		font-size: 16px;
	}

	#about .data li dd span b {
		font-size: 48px;
	}



}





/*-------------------------------------------------------------------------
	salon
-------------------------------------------------------------------------*/

#about .salon {}

#about .salon dt {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 16px;
}

#about .salon dd {
	margin-bottom: 64px;
}

#about .salon dd:last-of-type {
	margin-bottom: 0;
}

#about .salon ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -12px -24px -12px;
}

#about .salon li {
	flex: none;
	width: calc(50% - 24px);
	width: calc(100% / 3 - 24px);
	width: calc(25% - 24px);
	margin: 0 12px 24px 12px;
}

#about .salon li figure {
}

#about .salon li figure figcaption {
	font-size: 16px;
	font-weight: bold;
	margin-top: 8px;
}

/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	#about .salon dt {
		font-size: 16px;
		margin-bottom: 12px;
	}

	#about .salon dd {
		margin-bottom: 24px;
	}

	#about .salon ul {
		margin: 0 -8px -16px -8px;
	}

	#about .salon li {
		width: calc(50% - 16px);
		margin: 0 8px 16px 8px;
	}

	#about .salon li figure {
	}
	#about .salon li figure figcaption {
		font-size: 12px;
		font-weight: normal;
		margin-top: 4px;
	}



}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■faq
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#faq {
	background: rgba(222, 246, 243, .5);
}

#faq dl {
	margin-bottom: 32px;
}

#faq dl:last-of-type {
	margin-bottom: 0;
}

#faq dt {
	padding: 24px 96px 24px 24px;
	display: flex;
	align-items: center;
	background: url(../img/faq_icon_open.svg) no-repeat right 24px center / 16px auto #fff;
	color: #71a1b8;
	cursor: pointer;
}

#faq dt.open {
	background-image: url(../img/faq_icon_close.svg);
}

#faq dt:before {
	flex: none;
	content: "Q";
	display: block;
	width: 64px;
	font-size: 48px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	text-indent: 12px;
	color: #71a1b8;
}

#faq dd {
	display: flex;
	padding: 32px 24px;
	background: #fff;
	border-top: 1px solid #71a1b8;
	/*display: none;*/
}

#faq dd:before {
	flex: none;
	content: "A";
	display: block;
	width: 64px;
	font-size: 48px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.025em;
	color: #ff759c;
}


/*#faq dd p a {
	color: #71a1b8;
	text-decoration: underline;
}*/


/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	#faq {
	}
	#faq dl {
		margin-bottom: 16px;
	}
	#faq dt {
		padding: 16px;
	}
	#faq dt {
		padding: 16px 40px 16px 16px;
		background: url(../img/faq_icon_open.svg) no-repeat right 16px center / 12px auto #fff;
	}

	#faq dt.open {
	}
	#faq dt:before {
		width: 32px;
		font-size: 24px;
		text-indent: 6px;
	}
	#faq dd {
		padding: 16px;
	}

	#faq dd:before {
		width: 32px;
		font-size: 24px;
	}

	#faq dd p {}
	#faq dd p:before {
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■aside
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

aside {
	height: 400px;
	margin: -40px 0 -24px 0;
	background: url(../img/aside_bg.png) repeat-x center center / auto 100%;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
}

aside .inner {
	display: flex;
	align-items: center;
	align-items: flex-end;
	justify-content: center;
}

aside .inner div {
	flex: 1;
}

aside .inner div .line {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-top: 24px;
}

aside .inner div .line a {
	color: #5cbd49;
	border-bottom: 2px dashed #5cbd49;
}

aside p {
	position: relative;
}

aside .balloon {
	display: block;
	width: 160px;
	height: 76px;
	padding-bottom: 8px;
	box-sizing: border-box;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.25;
	text-align: center;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
}

aside .balloon.left {
	background: url(../img/aside_balloon_bg_left.svg) no-repeat left top / cover;
	transform: rotate(5deg);
	left: 96px;
	top: -8px;
}

aside .balloon.right {
	background: url(../img/aside_balloon_bg_right.svg) no-repeat left top / cover;
	transform: rotate(-5deg);
	right: 96px;
	top: -8px;
}


/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	aside {
		height: 200px;
		margin: -20px 0 -12px 0;
	}
	aside .inner {
		width: 100%;
	}

	aside .inner div .line {
		font-size: 13px;
		margin-top: 8px;
	}

	aside .balloon {
		display: block;
		width: 80px;
		height: 38px;
		padding-bottom: 4px;
		font-size: 10px;
	}

	aside .balloon.left {
		left: 48px;
		top: -4px;
	}

	aside .balloon.right {
		right: 48px;
		top: -4px;
	}

	aside p img {
		height: 140px;
	}


}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

footer {
	/*height: 100%;*/
	position: relative;
	z-index: 4;
}

/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	footer {
		/*height: auto;*/
		z-index: 0;
		padding-bottom: 64px;
	}

}

/*-------------------------------------------------------------------------
	contact
-------------------------------------------------------------------------*/

#contact {
	/*height: calc(100% - 96px);
	min-height: calc(100% - 96px);*/
	box-sizing: border-box;
	background: url(../img/contact_bg.png) no-repeat center center / cover;
	text-align: center;
	/*display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;*/
}
#contact h2 i {
	color: rgba(255, 255, 255, .75);
}

#contact h3 {
	font-size: 24px;
	font-weight: bold;
}

#contact .tel {
	margin: 16px 0;
}

#contact .tel a {
	font-size: 64px;
	font-weight: bold;
	line-height: 1;
	color: #71a1b8;
	color: #ff759c;
}

.button {
	margin: 0 48px;
}

ul.button {
	display: flex;
	margin: 0 -24px;
	margin-bottom: 80px;
}

.button li {
	width: calc(50% - 48px);
	margin: 0 24px;
}

.button a,
.button input {
	width: 100%;
	height: 120px;
	border-radius: 60px;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../img/aside_button_icon.svg) no-repeat right 40px center / 40px auto;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: .15em;
	color: #fff;
	/*box-shadow: 0 0 8px rgba(0, 0, 0, .075);*/
	cursor: pointer;
}

.button input {
	height: 80px;
	border-radius: 40px;
}

.button a.entry,
.button input {
	background-color: #6899b0;
}

.button a.line {
	background-color: #5cbd49;
}

.button a.line img {
	width: 64px;
	margin-right: 8px;
}


/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {


	#contact {
		min-height: auto;
	}

	#contact h3 {
		font-size: 16px;
	}

	#contact .tel {
		margin: 12px 0;
	}

	#contact .tel a {
		font-size: 28px;
	}


	.button {
		margin: 0;
	}

	ul.button {
		display: block;
		margin: 0;
		margin-bottom: 40px;
	}

	.button li {
		width: 100%;
		margin: 0 0 16px 0;
	}
	.button li:last-child {
		margin-bottom: 0;
	}
	.button a,
	.button input {
		height: 64px;
		border-radius: 32px;
		background: url(../img/aside_button_icon.svg) no-repeat right 24px center / 24px auto;
		font-size: 18px;
	}
	.button a.line img {
		width: 32px;
		margin-right: 6px;
	}

	.button input {
		background-color: #6899b0;
	}


}


/*-------------------------------------------------------------------------
	copyright
-------------------------------------------------------------------------*/

footer .copyright {
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-family: "EuphoriaScript-Regular";
	font-weight: 400;
}

/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	footer .copyright {
		height: 64px;
		font-size: 16px;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■nav
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

nav {
	width: 80px;
	position: fixed;
	top: 0;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 2;
}

nav ul {}

nav li {
	margin-bottom: 16px;
}

nav li:last-child {
	margin-bottom: 0;
}

nav li a {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .75);
	background: #fff;
	padding: 24px 0;
	border-radius: 16px 0 0 16px;
	box-shadow: 0 0 8px rgba(0, 0, 0, .075);
}

nav li a:hover {
	background: #fff;
}

nav dl {}

nav dt {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
}

nav .entry {
	background: #71a1b8;
}

nav .line {
	background: #78cf52;
}

nav .tel {
	background: #ff9ab7;
}

nav dt img {
	height: 24px;
}

nav dd {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	color: #333;
}

nav dd p {
	line-height: 1.25;
}


/*-----------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	nav {
		width: 100%;
		position: fixed;
		top: auto;
		bottom: 0;
		transform: none;
	}

	nav ul {
		display: flex;
	}
	nav li {
		flex: 1;
		margin-bottom: 0;
	}
	nav li + li {
		margin-left: 1px;
	}

	nav li a {
		padding: 16px 0;
		border-radius: 0;
		box-shadow: none;
	background: rgba(255, 255, 255, .75);
	background-image: radial-gradient(rgba(255, 255, 255, .75) 35%, transparent 36%), radial-gradient(rgba(255, 255, 255, .75) 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
	}

	nav dl {
		display: flex;
		align-items: center;
	}

	nav dt {
		width: 32px;
		height: 32px;
		margin-bottom: 0;
		margin-right: 8px;
	}
	nav dt img {
		height: 16px;
	}

	nav dd {
		font-size: 11px;
	}
	nav dd p {
		letter-spacing: 0;
	}



}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■modal
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

label {
	display: block;
	cursor: pointer;
}

.modal {}

.modal h3 {
	font-size: 20px;
	font-weight: bold;
	/*font-size: 18px;
	padding: 24px;
	background: #036;*/
	color: #fff;
	color: #036;
	margin-bottom: 48px;
	margin-bottom: 32px;
	/*display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;*/
}

.modal > input[type="checkbox"] {
	display: none;
}

.modal .overlay {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
}

.modal .wrap {
	width: 100%;
	height: 100%;
	position: fixed;
	cursor: pointer;
	left: 0;
	top: 0;
}

.modal input:checked ~ .wrap {
	z-index: 5;
}

.modal input:checked ~ .overlay {
	transform: scale(1);
	visibility: visible;
	opacity: 1;
	z-index: 4;
	overflow: auto;
	transition: all 0.25s ease;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	.modal h3 {
		font-size: 16px;
		/*padding: 16px;*/
		margin-bottom: 16px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■entry
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#entry {
	width: calc(100% - 80px);
	height: calc(100% - 80px);
	margin: auto;
	background: #fdeff2;
	background: rgba(253,239,242,.95);
	z-index: 6;
	overflow-y: scroll;
	position: relative;
}

#entry .center {
	text-align: center;
}

#entry p a {
	color: #000;
	text-decoration: underline;
}


#entry .close {
	position: absolute;
	position: fixed;
	margin: 40px 0 0 40px;
	left: 40px;
	top: 40px;
	display: flex;
	align-items: center;
	z-index: 1;
	text-decoration: underline;
	color: #e95464;
}

#entry .close img {
	width: 24px;
	height: 24px;
}
#entry .close span {
	font-weight: bold;
	color: #e95464;
	margin-left: 8px;
}
#entry .close:hover {
	text-decoration: none;
}


#entry .inner {
	padding: 64px 0;
}


#entry .button {
	width: 640px;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	#entry {
		width: calc(100% - 32px);
		height: calc(100% - 32px);
	}
	#entry .close {
		margin: 16px 0 0 16px;
		left: 16px;
		top: 16px;
	}
	#entry .close img {
		width: 16px;
		height: 16px;
	}

	#entry .inner {
		padding: 48px 0;
	}

	#entry .button {
		width: 100%;
	}
}

/*-------------------------------------------------------------------------
	line-height
-------------------------------------------------------------------------*/

#entry h3 {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	color: #e95464;
	margin-bottom: 0;
}
#entry h4 {
	font-size: 24px;
	line-height: 1.75;
	margin-bottom: 0;
}

#entry h4 a {
	color: #000;
}
#entry p,
#entry dt {
	line-height: 2;
}
/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	#entry h3 {
		font-size: 24px;
		line-height: 1.25;
	}
	#entry h4 {
		font-size: 20px;
		line-height: 1.5;
	}
	#entry p,
	#entry dt {
		line-height: 1.75;
	}
}



/*-------------------------------------------------------------------------
	block
-------------------------------------------------------------------------*/

.block {
	background: #fff;
	padding: 48px;
	margin: 32px 0;
	border-radius: 8px;
}

.block p + h4 {
	margin-top: 24px;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	.block {
		padding: 16px;
		margin: 32px 0;
	}
	.block p + h4 {
		margin-top: 16px;
	}


}


/*-------------------------------------------------------------------------
	brand
-------------------------------------------------------------------------*/

#entry .brand {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 48px -32px;
}

#entry .brand li {
	margin: 0 32px;
}

#entry .brand li img {
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {



	#entry .brand {
		margin: 32px -8px;
	}

	#entry .brand li {
		margin: 0 8px;
	}

}

/*-------------------------------------------------------------------------
	brand
-------------------------------------------------------------------------*/

#entry .circle {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 48px -16px 24px -16px;
}
#entry .circle li {
	width: calc(100% / 3 - 32px);
	margin: 0 16px 24px 16px;
	text-align: center;
}
#entry .circle li:last-child {
	width: calc(100% - 32px);
}

#entry .circle li {
	height: 100%;
	display: block;
	background: #aacf53;
	border-radius: 8px;
	color: #000;
	padding: 24px 0;
	box-sizing: border-box;
}
#entry .circle li p {
	font-size: 16px;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {

	#entry .circle {
		margin: 32px -16px;
	}
	#entry .circle li {
		width: calc(100% - 32px);
		margin: 0 16px;
	}
	#entry .circle li + li {
		margin-top: 16px;
	}

	#entry .circle li a {
		padding: 16px 0;
	}
	#entry .circle li p {
		font-size: 14px;
	}

}


/*-------------------------------------------------------------------------
	form
-------------------------------------------------------------------------*/


#entry form {
}

#entry .form {
	margin-bottom: 48px;
}

#entry .form > li {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px dotted #ccc;
}

#entry .form dl {
	display: flex;
	align-items: flex-start;
	align-items: center;
}

#entry .form dt {
	width: 20%;
	margin-right: 32px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#entry .form dd {
	flex: 1;
	box-sizing: border-box;
}

#entry .form dd p {
	display: flex;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

#entry .form dd * + p, #entry .form dd * + ul {
	margin-top: 16px;
}

#entry .form dd p span {
	flex: 1;
}

#entry .form dd p span + span {
	margin-left: 16px;
}

#entry .form dd ul {
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -8px;
}

#entry .form dd li {
	width: calc(100% / 4);
	margin-bottom: 8px;
}

#entry .form dd li.full {
	width: 100%;
}

#entry .form dd li label {
	display: inline-block;
	cursor: pointer;
}

#entry .form input[type="checkbox"], #entry .form input[type="radio"] {
	margin-right: 8px;
}

#entry .form .required:after {
	width: 40px;
	height: 24px;
	content: "必須";
	background: #6899b0;
	color: #fff;
	font-size: 11px;
	font-weight: normal;
	display: flex;
	align-items: center;
	justify-content: center;
}

#entry .form input[type="text"], #entry .form input[type="tel"], #entry .form input[type="url"], #entry .form input[type="email"], #entry .form input[type="date"], #entry .form select, #entry .form textarea {
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	padding: 12px;
	box-shadow: none;
	border: 1px solid #ddd;
	border-radius: 0;
	-moz-appearance: none;
	-webkit-appearance: none;
	font-feature-settings: "palt";
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: .05em;
	outline: none
}


/*#entry .form select {
	background: url(../img/entry_icon_arrow_bottom_black.svg) no-repeat right 12px center / 12px 6px #fff;
	cursor: pointer;
}*/


/*#entry .form textarea {
	height: 200px;
}*/

#entry .form input.half {
	width: calc(50% - 8px);
}

#entry .form input[type="text"]:invalid, #entry .form input[type="tel"]:invalid, #entry .form input[type="url"]:invalid, #entry .form input[type="email"]:invalid, #entry .form input[type="date"]:invalid, #entry .form select:invalid, #entry .form textarea:invalid {
	background-color: #ffe;
	/*border: 1px solid #ddd;*/
}
#entry .form input[type="text"]:required:valid, #entry .form input[type="tel"]:required:valid, #entry .form input[type="url"]:required:valid, #entry .form input[type="email"]:required:valid, #entry .form input[type="date"]:required:valid, #entry .form select:required:valid, #entry .form textarea:required:valid {
	border: 1px solid green;
}

#entry .button {
	width: 640px;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width:767px) {


	#entry form {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#entry .form {
		margin-bottom: 40px;
	}
	#entry .form > li {
		padding: 16px 0;
	}
	#entry .form dl {
		display: block;
		font-size: 14px;
	}
	#entry .form dt {
		width: 100%;
		margin: 0 0 12px 0;
	}
	#entry .form dd {}
	#entry .form dd p {
		font-size: 12px;
	}
	#entry .form dd * + p, #entry .form dd * + ul {
		margin-top: 12px;
	}
	#entry .form dd p span + span {
		margin-left: 8px;
	}
	#entry .form dd li {
		width: 50%;
	}
	#entry .form input.half {
		width: 100%;
	}
	#entry .form input[type="text"], #entry .form input[type="tel"], #entry .form input[type="url"], #entry .form input[type="email"], #entry .form input[type="date"], #entry .form select, #entry .form textarea {
		font-size: 14px;
	}
	#entry .form select {
		width: 100%;
	}
	#entry .button {
		width: 100%;
	}



}