@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/*		font-style
-------------------------------------------------- */
body { width: 100%;
	 color: #505050;
/*	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;*/
	font-family: "游ゴシック","Yu Gothic","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "メイリオ","Meiryo",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.fixed { position: fixed;}

.min { font-family: "Noto Serif JP","游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: Georgia, serif;}


a { color:#002159; text-decoration: none;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 50px; height: 50px; position: absolute; top: 50%; transform: translateY(-50%);
 background: none; border: none; z-index: 100;
 text-indent: -9999em; outline: none;
}
.slick-prev { left: 0px;}
.slick-next { right: 0px;}

.slick-arrow:before{ position: absolute; content: ''; display: block; width: 35px; height: 35px; top: 50%;}
.slick-prev:before { left: 20%; border-top: solid 2px #4b4b4b; border-left: solid 2px #4b4b4b; transform: translateY(-50%) rotate(-45deg);}
.slick-next:before { right: 20%; border-top: solid 2px #4b4b4b; border-right: solid 2px #4b4b4b; transform: translateY(-50%) rotate(45deg);}


/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0;
	width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black;
}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}
@media (max-width: 1001px) {
	.slick-prev { left: 20px;}
	.slick-next { right: 20px;}
}
@media (max-width: 481px) {
	.slick-arrow{ width: 30px; height: 30px;}
	.slick-arrow:before{ width: 25px; height: 25px;}
	.slick-prev { left: 12px;}
	.slick-next { right: 12px;}
}


#loading { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 100;}
#loading .inner { position: relative; width: 100%; height: 100%;}
#loading video { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); min-width: 100%; min-height: 100%; z-index: 1;}
@media (max-width: 481px) {
	#loading video { width: 100% !important; min-height: auto;}
}


.subMenu { position: fixed; width: 100%; right: 0px; top: 0px; z-index: 20;}
.subMenu .inner { position: relative; width: 94%; max-width: 1240px; margin: 0 auto; transition: 0.4s linear 3.0s; opacity: 0;}
.subMenu .nav-ctn { position: relative;margin: 0 auto; padding: 40px;}
.subMenu .nav-ctn div { position: absolute; right: 10px; top: 30px; width: 35px; height: 30px; z-index: 2;}
.subMenu .nav-ctn div span { display: block; width: 85%; height: 2px; background: #505050; opacity: 1;
	position: absolute; left: 50%;
 transition: 0.4s linear; transform: translate(-50%,0);
}
.subMenu .nav-ctn div span:nth-of-type(1){ top: 4px;}
.subMenu .nav-ctn div span:nth-of-type(2){ top: 14px;}
.subMenu .nav-ctn div span:nth-of-type(3){ top: 24px;}
.subMenu .nav-ctn:hover div span:nth-of-type(1){ transform: translate(-50%,10px) rotate(315deg);}
.subMenu .nav-ctn:hover div span:nth-of-type(2){ opacity: 0;}
.subMenu .nav-ctn:hover div span:nth-of-type(3){transform: translate(-50%,-10px) rotate(-315deg);}
.subMenu .nav-ctn nav { position: absolute; right: 0px; top: 20px; z-index: 1; overflow: hidden;
 width: 0px; height: 45px; padding: 10px 5px; padding-right: 50px; background: rgba(255,255,255,0.4); border-radius: 50px;
 transition: 0.4s linear; opacity: 0;
}
.subMenu .nav-ctn nav ul { display: table; width: 100%; font-size: 0;}
.subMenu .nav-ctn nav ul li { position: relative; display: table-cell; padding: 0 15px;/* font-family: 'Quicksand', sans-serif;*/
 font-family: 'Century Gothic', CenturyGothic, sans-serif; font-size: 14px; vertical-align: middle;
}
.subMenu .nav-ctn nav ul li:after { content: ''; width: 2px; height: 12px; background: #505050;
 position: absolute; right: 0; top: 50%; transform: translate(0,-50%);
}
.subMenu .nav-ctn nav ul li:last-child:after { content: none;}
.subMenu .nav-ctn nav ul li a { position: relative; display: block; color: #505050; vertical-align: middle;}
.subMenu .nav-ctn nav ul li a.insta { padding-left: 26px;}
.subMenu .nav-ctn nav ul li svg { position: absolute; left: 0; top: 50%; transform: translate(0,-50%);
 display: block; width: 20px; fill: #505050;
}
.subMenu .nav-ctn nav ul li span { display: block; padding-top: 2px; font-weight: 700; letter-spacing: 0.075rem; white-space: nowrap}
.subMenu .nav-ctn:hover nav { width: 500px; /*width: 920px;*/ opacity: 1;}
.subMenu.show .inner { opacity: 1;}
@media (max-width: 1001px) {
	.subMenu { display: none;}
}


.menu { display: none; position: fixed; right: 15px; top: 12px; width: 30px; height: 32px; z-index: 100; cursor: pointer;}
.menu div { position: relative; width: 100%; height: 100%;}
.menu div span { display: block; width: 100%; height: 2px; background: #3c3c3c; position: absolute; left: 0; transition: 0.4s linear; opacity: 1;}
.menu div span:nth-of-type(1) { top: 6px;}
.menu div span:nth-of-type(2) { top: 50%;}
.menu div span:nth-of-type(3) { top: 26px;}
.menu.active div span:nth-of-type(1) { transform: translateY(10px) rotate(315deg);}
.menu.active div span:nth-of-type(2) { opacity: 0;}
.menu.active div span:nth-of-type(3) { transform: translateY(-10px) rotate(-315deg);}
@media (max-width: 801px) {
	.menu { display: block;}
	.menu div { transition: 0.4s linear 3.0s; opacity: 0;}
	.menu.show div { opacity: 1;}
}

#sp-menu { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; background: #fff; z-index: -1; opacity: 0; transition: 0.4s linear;}
#sp-menu .inner { position: relative; width: 100%; height: 100%; padding: 30px;}
#sp-menu nav { padding-top: 40px;}
#sp-menu nav ul { padding: 0 20px; font-size: 0;}
#sp-menu nav ul li { padding: 10px 0px;}
#sp-menu nav ul li:last-child{ margin-top: 20px; padding-top: 30px; border-top: solid 1px #c4c4c4;}
#sp-menu nav ul li a { color: #505050; font-size: 30px; letter-spacing: 0.05rem;}
#sp-menu nav ul li a em { display: inline-block; margin-right: 40px; font-family: 'Century Gothic', CenturyGothic, sans-serif; font-weight: 700; vertical-align: middle;}
#sp-menu nav ul li a span { display: inline-block; font-size: 21px; vertical-align: middle;}
#sp-menu nav ul li a svg { display: inline-block; width: 40px; height: 40px; fill: #505050; vertical-align: middle;}
#sp-menu ul.aside { position: absolute; left: 0; bottom: 0; width: 100%; padding: 20px; font-size: 0; }
#sp-menu ul.aside li { display: inline-block; width: 50%; padding: 8px 0; font-size: 20px; vertical-align: top;}
#sp-menu ul.aside li a { display: block; padding: 15px 0; width: 94%; margin: 0 auto; border: solid 1px #505050;
 color: #505050; font-weight: 400; text-align: center;
}
#sp-menu.open { opacity: 1; z-index: 99;}
@media (max-width: 801px) {
	#sp-menu .inner { padding: 20px 15px;}
	#sp-menu nav { padding-top: 30px;}
	#sp-menu nav ul li a em { font-size: 24px;}
	#sp-menu nav ul li a span { font-size: 16px;}
	#sp-menu nav ul li a svg { width: 30px; height: 30px;}
	#sp-menu ul.aside { padding: 15px;}
	#sp-menu ul.aside li { font-size: 12px;}
	#sp-menu ul.aside li a { width: 94%; padding: 10px 0;}
}
@media (max-width: 481px) {
	#sp-menu nav ul { padding: 0 12px;}
	#sp-menu nav ul li a em { margin-right: 20px;}
}



.note { position: absolute; left: 0px; width: 100%; z-index: 2;}
.note ul {}
.note ul li { color: #838383; font-size: 10px;}

.spacer { height: 80vh;}
@media (max-width: 641px) {
	.spacer { height: 40vh;}
}
@media (max-width: 481px) {
	.spacer { height: 45vh;}
}


#kv { position: relative; width: 100%; max-width: 1280px; margin: 0 auto -2px; overflow: hidden; background: #f8eeeb;
 filter: blur(30px); opacity: 0; transition: opacity 1.6s ease-in 0.8s, filter 1.6s cubic-bezier(0.33, 0.52, 0.64, 1) 1.6s;
}
#kv .inner-ctn { position: absolute; width: 100%; left: 0; top: 0; z-index: 5;}
#kv .bloc { width: 78%; margin: 0 auto; padding-top: 7.2%;}
#kv .ctn { width: 50%;}
#kv h1 { margin-bottom: 260px; text-align: center;}
#kv h1 img { position: relative; width: 80%; max-width: 400px; transition: 0.8s ease 2.2s; opacity: 0; transform: translateY(30px);}
#kv h2 { margin-bottom: 60px; text-align: center;}
#kv h2 img { position: relative; width: 92%; transition: 0.8s ease 2.6s; opacity: 0; transform: translateY(30px);}

#kv .info div { position: relative; width: 100%; max-width: 320px; margin: 0 auto;}
#kv .info div a { position: relative; display: block; padding: 18px 0; background: #c1f1ff;
 box-shadow: 0px 0px 15px #c1f1ff, 0px 0px 15px #c1f1ff, 0px 0px 15px #c1f1ff, 0px 0px 15px #c1f1ff;
 transition: 0.8s ease 3.0s; opacity: 0; transform: translateY(30px);
}
#kv .info div dl { position: relative; width: 100%; padding-left: 100px;}
#kv .info div dl dt { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); width: 80px;}
#kv .info div dl dt img { width: 100%;}
#kv .info div dl dd { color: #3a5291;}
#kv .info div dl dd.tit { margin-bottom: 4px; font-size: 11px; font-weight: 700; letter-spacing: 0.02rem; line-height: 1.25;}
/*
#kv .info div dl dd.tips{ position: relative; font-size: 10px; line-height: 1;}
#kv .info div dl dd.tips:after { content: ''; display: block; width: 90%; height: 0.6px; background: #000;
 position: absolute; top: 50%; left: 1px; z-index: 1;
}
#kv .info div dl dd.tips span { position: relative; display: inline-block; padding-right: 10px; background: #fff; z-index: 2;}
*/
#kv .info div dl dd.txt { font-size: 10px; line-height: 1.25;}
#kv .info div dl dd.date{ font-size: 10px; line-height: 1.25;}

#kv .note { bottom: 20px;}
#kv .note ul { width: 90%; margin: 0 auto;}
#kv .note ul li { color: #009dda; text-align: right;}

#kv .bg { position: relative; width: 100%; z-index: 1;}
#kv .bg img { position: relative; width: 100%; transition: 1.6s linear 0.8s; transform: scale(1.15); }
#kv .bg img.sp { display: none;}
#kv.show { filter: blur(0px); opacity: 1;}
#kv.show h1 img { opacity: 1; transform: translateY(0px);}
#kv.show h2 img { opacity: 1; transform: translateY(0px);}
#kv.show .info div a{ opacity: 1; transform: translateY(0px);}
#kv.show .info div a:hover { opacity: 0.75;}
#kv.show .bg img { width: 100%; transform: scale(1.0);}
@media (max-width: 1281px) {
	#kv .bloc { padding-top: 5.8vw;}
	#kv h1 { margin-bottom: 21vw;}
}
@media (max-width: 1001px) {
	#kv .bloc { width: 88%; /* padding-top: 6.5%;*/}
	#kv h1 { margin-bottom: 18vw;}
}
@media (max-width: 801px) {
	#kv .inner-ctn { height: 100%;}
	#kv .bloc { width: 82%; margin: 0 auto; padding-top: 6vw;}
	#kv .ctn { width: 100%;}

	#kv .info { position: absolute; left: 0; bottom: 12vw; width: 100%;}
	#kv .note { display: none; bottom: 12px;}

	#kv .bg img.pc { display: none;}
	#kv .bg img.sp { display: block;}
}
@media (max-width: 481px) {
	#kv .bloc { padding-top: 5vw;}
	#kv h1 { margin-bottom: 20px;}
	#kv .info { bottom: 40px;}
	#kv .note { bottom: 8px;}
}

#lead { position: relative; opacity: 0; transition: 0.6s linear 2.0s;}
#lead .inner-sct { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; background: url('../img/bg/1.png') no-repeat 50% 0;}
#lead .ctn1 { height: 400px; padding-top: 100px;}
#lead .ctn1 h2 { text-align: center;}
#lead .ctn1 h2 img { width: 400px;}
#lead .ctn2 { height: 320px; padding-top: 90px;}
#lead .ctn2 p { color: #ae4de9; font-size: 23px; font-weight: 700; letter-spacing: 0.16rem; text-align: center;}
#lead .ctn2 p span { display: block;}
#lead .note { bottom: 30px;}
#lead .note ul { max-width: 280px; margin: 0 0 0 auto;}
#lead.show { opacity: 1;}
@media (max-width: 801px) {
	#lead:before { content: ''; display: block; width: 100%; padding-top: 114%; background: url('../img/bg/1-sp.png') no-repeat 50% 0 / 100% auto;}
	#lead .inner-sct { background: none; height: 100%; position: absolute; left: 0; top: 0;}
	#lead .ctn1 { height: 55vw; padding-top: 8vw;}
	#lead .ctn1 h2 img { width: 72%;}
	#lead .ctn2 { height: auto; padding-top: 10vw;}
	#lead .note { bottom: 50px;}
}
@media (max-width: 641px) {
	#lead .ctn2 { padding-top: 12vw;}
	#lead .ctn2 p { font-size: 3.6vw;}
}
@media (max-width: 481px) {
}


#about .inner-sct { position: relative; width: 100%; max-width: 1280px; height: 768px; margin: 0 auto; background: url('../img/bg/2.png') no-repeat 50% 0;}
#about .ctn-flex { display: flex; width: 94%; max-width: 1000px; margin: 0 auto; padding-top: 210px;}
#about .txt { width: 50%;}
#about .fig { width: 50%;}
#about .txt h2 { margin-bottom: 30px; text-align: center;}
#about .txt h2 img { width: 80%; max-width: 380px;}
#about .txt p { color: #ae4de9; font-size: 20px; font-weight: 700; letter-spacing: 0.1rem; text-align: center;}
#about .fig figure { margin-bottom: 20px; text-align: center;}
#about .fig figure img { width: 96%;}
#about .fig ul { width: 92%; margin: 0 auto;}
#about .fig ul li { color: #838383; font-size: 10px;}
#about .fig ul li span { text-decoration: underline;}
@media (max-width: 801px) {
	#about .inner-sct { height: auto; background: url('../img/bg/2-sp.png') no-repeat 50% 0 / 100% 100%;}
	#about .ctn-flex { display: block; padding: 22vw 0 24vw;}
	#about .txt { width: 100%; margin-bottom: 40px;}
	#about .fig { width: 100%;}
	#about .txt h2 img { width: 68%; max-width: 68%;}
	#about .txt p { font-size: 3.2vw;}
}
@media (max-width: 481px) {
	#about .ctn-flex { display: block; padding: 16vw 0 20vw;}
	#about .txt { margin-bottom: 15px;}
	#about .txt h2 { margin-bottom: 15px;}
	#about .txt p { font-size: 14px;}
	#about .fig figure { margin-bottom: 8px;}
}



#salon .inner-sct { position: relative; width: 100%; max-width: 1280px; height: 970px; margin: 0 auto; background: url('../img/bg/3.png') no-repeat 50% 0;}
#salon .ctn-flex { display: flex; align-items: center; width: 92%; max-width: 1000px; margin: 0 auto; padding-top: 150px;}
#salon .tit { width: 50%;}
#salon .txt { width: 50%; padding-left: 30px;}
#salon .tit h2 { text-align: center;}
#salon .tit h2 img { width: 86%;}
#salon .txt .box { position: relative; width: 100%; padding: 60px 30px 30px; background: rgba(255,255,255,0.75); border-radius: 20px;}
#salon .txt .box .tips { position: absolute; left: -20px; top: -20px; width: 100%;}
#salon .txt .box .tips img { width: 50%; max-width: 230px;}
#salon .txt .box figure { margin-bottom: 20px; text-align: center;}
#salon .txt .box figure img { width: 92%;}
#salon .txt .box aside { position: relative; width: 100%; padding: 20px; border: solid 2px #ae4de9; border-radius: 10px;}
#salon .txt .box aside dl dt,
#salon .txt .box aside dl dd { color: #ae4de9; font-size: 15px;}
#salon .txt .box aside dl dt { margin-bottom: 8px; font-weight: 700;}
#salon .txt .box aside a.insta { display: block; width: 32px; position: absolute; right: 20px; bottom: 20px; line-height: 1;}
#salon .txt .box aside a.insta svg { width: 100%; fill: #ae4de9; vertical-align: bottom;}
#salon .txt .box aside a.insta:hover svg { fill: #d9a8f5;}
@media (max-width: 801px) {
	#salon .inner-sct { height: auto; background: url('../img/bg/3-sp.png') no-repeat 50% 0 / 100% 100%;}
	#salon .ctn-flex { display: block; padding: 18vw 0 22vw;}
	#salon .tit { width: 100%; margin-bottom: 40px;}
	#salon .txt { width: 100%; padding: 0 20px;}
	#salon .tit h2 img { width: 80%;}
}
@media (max-width: 641px) {
	#salon .txt .box figure { margin-bottom: 30px;}
}
@media (max-width: 481px) {
	#salon .ctn-flex { display: block; padding: 14vw 0 18vw;}
	#salon .tit { margin-bottom: 30px;}
	#salon .txt .box { position: relative; width: 100%; padding: 30px 18px 18px; border-radius: 12px;}
	#salon .txt .box figure { margin-bottom: 20px;}
	#salon .txt .box aside { padding: 12px; border: solid 1px #ae4de9; border-radius: 6px;}
	#salon .txt .box aside dl dt { font-size: 12px;}
	#salon .txt .box aside dl dd { font-size: 10px;}
}


#point { position: relative;}
#point .inner-sct { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; background: url('../img/bg/point.png') no-repeat 50% 0;}
#point .ctn-pc { position: relative; padding-top: 100px; background: linear-gradient(transparent 30%, #f4d2fb 30%);}
#point .fixCtn { position: relative;}
#point .fixCtn .bloc { display: none; position: absolute; width: 100%;}
#point .fixCtn.fixed .bloc { position: fixed; top: 0; left: 0;}
#point .fixCtn .bloc.show { display: block;}
#point #point-1 .inner{ width: 100%; max-width: 1280px; margin: 0 auto; padding: 40px 0;}
#point #point-2 .inner{ width: 100%; max-width: 1280px; margin: 0 auto; padding: 40px 0; background: #f4d2fb;}
#point #point-3 .inner{ width: 100%; max-width: 1280px; margin: 0 auto; padding: 40px 0; background: #f4d2fb;}
#point .ctn-flex { display: flex;  width: 92%; max-width: 1000px; margin: 0 auto;}
#point .ctn-flex .tit { width: 50%;}
#point .ctn-flex .ctn { width: 50%; padding-left: 50px;}
#point .ctn-flex .tit h3 { margin-bottom: 60px; text-align: center;}
#point .ctn-flex .tit h3 img { width: 75%; max-width: 380px;}
#point .ctn-flex .tit ul li { margin-bottom: 30px;}
#point .ctn-flex .tit ul li:last-child { margin-bottom: 0px;}
#point .ctn-flex .tit ul li img { width: 100%; opacity: 0.65;}
#point .ctn-flex .tit ul li.now img { opacity: 1;}
#point .ctn-flex .ctn .box { padding: 30px; background: #fff; border-radius: 20px;}
#point .ctn-flex .ctn p { margin-bottom: 20px; color: #ee54c8; font-size: 18px; font-weight: 700;}
#point .ctn-flex .ctn p sub { font-size: 12px; vertical-align: baseline;}
#point .ctn-flex .ctn figure { margin-bottom: 20px; text-align: center;}
#point .ctn-flex .ctn figure img { width: 100%;}
#point .ctn-flex .ctn ul li { color: #838383; font-size: 10px;}
#point .ctn-flex .ctn ul li span { text-decoration: underline;}

#point .ctn-sp { display: none;}
@media (max-width: 801px) {
	#point .inner-sct { background: url('../img/bg/point-sp.png') no-repeat 50% 0 / 100% auto;}
	#point .ctn-pc { display: none;}
	#point .ctn-sp { display: block; background: linear-gradient(transparent 300px, #f4d2fb 300px);}
	#point .ctn-sp .inner { width: 90%; margin: 0 auto; padding: 120px 0 40px;}
	#point .ctn-sp h3 { margin-bottom: 40px; text-align: center;}
	#point .ctn-sp h3 img { width: 65%;}
	#point #point-1 { margin-bottom: 40px;}
	#point #point-2 { margin-bottom: 40px;}
	#point .tit { position: relative;}
	#point .tit:after { content: ''; display: block; width: 20px; height: 20px; border-top: solid 3px #8c898a; border-right: solid 3px #8c898a;
	 position: absolute; right: 25px; top: 50%; transform: translateY(-50%) rotate(135deg);
	}
	#point .tit.open:after { transform: translateY(-25%) rotate(-45deg);}
	#point .tit p img { width: 100%;}
	#point .ctn { display: none; padding-top: 20px; padding-left: 72px;}
	#point .ctn .box { padding: 20px; background: #fff; border-radius: 20px;}
	#point .ctn .box p { margin-bottom: 20px; color: #ee54c8; font-size: 14px; font-weight: 700;}
	#point .ctn .box p sub { font-size: 12px;}
	#point .ctn .box figure { margin-bottom: 20px; text-align: center;}
	#point .ctn .box figure img { width: 100%;}
	#point .ctn .box ul li { color: #999; font-size: 12px;}
	#point .ctn .box ul li span { text-decoration: underline;}
}
@media (max-width: 641px) {
	#point .ctn-sp .inner { padding: 16vw 0 5vw;}
	#point #point-1 { margin-bottom: 20px;}
	#point #point-2 { margin-bottom: 20px;}
	#point .ctn { padding-top: 12px; padding-left: 60px;}
}
@media (max-width: 481px) {
	#point { margin-bottom: -1px;}
	#point .ctn-sp { background: linear-gradient(transparent 260px, #f4d2fb 260px);}
	#point #point-1 { margin-bottom: 12px;}
	#point #point-2 { margin-bottom: 12px;}
	#point .ctn-sp h3 { margin-bottom: 20px;}
	#point .tit:after { width: 10px; height: 10px; border-width: 2px; right: 12px; top: 50%;}
	#point .ctn { padding-top: 12px; padding-left: 36px;}
	#point .ctn .box { padding: 15px; border-radius: 10px;}
	#point .ctn .box p { margin-bottom: 12px;}
	#point .ctn .box p sub { font-size: 10px;}
	#point .ctn .box ul li { font-size: 10px;}
}

#product { position: relative;}
#product:before { content: ''; display: block; width: 100%; height: 100px; background: url('../img/bg/bottom.png') no-repeat 50% 100%;
 position: absolute; left: 0; top: 0; z-index: 2;
}
#product .inner-sct { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; padding: 160px 0;
 background: url('../img/bg/product.jpg') no-repeat 50% 0;
}
#product h2 { margin-bottom: 40px; color: #ae4de9; font-size: 27px; font-weight: 700; text-align: center;}
#product h2 img { display: block; width: 55%; max-width: 380px; margin: 0 auto;}
#product h2 span { display: block; width: 100%;}

#product .step { text-align: center;}
#product .step img { width: 90%; max-width: 850px; margin: 0 auto;}
#product .step img.sp { display: none;}

#product .item { width: 100%; max-width: 840px; margin: 0 auto;}
#product .slide-main figure { padding: 20px 0;}
#product .slide-main figure img { width: 56%; margin: 0 auto; opacity: 0.4; transition: 0.4s linear; transform: scale(0.65);}
#product .slide-main .slick-center figure img { position: relative; opacity: 1; transform: scale(1);}

#product .detail h3 { margin-bottom: 18px; text-align: center;}
#product .detail h3 img { width: 90%; max-width: 580px; margin: 0 auto;}
#product .detail h3 img.sp { display: none;}
#product .detail p { color: #ee54c8; text-align: center;}
#product .detail p.descript { margin-bottom: 15px; font-size: 18px; font-weight: 700;}
#product .detail p.descript sub{ font-size: 12px; vertical-align: baseline;}
#product .detail p.price { margin-bottom: 20px; font-size: 15px; font-weight: 700;}
#product .detail p.memo { color: #838383; font-size: 12px;}
#product .detail dl { margin-bottom: 15px; text-align: center;}
#product .detail dl dt,
#product .detail dl dd { display: inline-block; vertical-align: middle;}
#product .detail dl dt { width: 60px; margin-right: 20px;}
#product .detail dl dt img { width: 100%;}
#product .detail dl dd { color: #ee54c8; font-size: 18px; font-weight: 700;}
#product .detail .btn { width: 62%; max-width: 350px; margin: 0 auto 20px;}
#product .detail .btn a { position: relative; display: block; width: 100%; padding: 20px 0; background: #bb75e5; border-radius: 50px;
 color: #fff; font-size: 22px; font-weight: 700; letter-spacing: 0.12rem; line-height: 1; text-align: center;
}
#product .detail .btn a:after { content: ''; display: block; width: 15px; height: 15px; border-top: solid 3px #fff; border-right: solid 3px #fff;
 position: absolute; right: 30px; top: 50%; transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 801px) {
	#product:before { height: 0px; padding-top: 12%; background: url('../img/bg/bottom-sp.png') no-repeat 50% 100% / 100% auto;}
	#product .inner-sct { padding: 140px 0;}
	#product .detail .btn a { font-size: 20px;}
}
@media (max-width: 641px) {
	#product .inner-sct { padding: 20vw 0 22vw; background: url('../img/bg/product-sp.jpg') no-repeat 50% 0 / 100% auto;}
	#product .detail .btn a { font-size: 16px;}
}
@media (max-width: 481px) {
	#product .inner-sct { padding: 20vw 0 22vw;}
	#product h2 { margin-bottom: 20px; color: #ae4de9; font-size: 16px;}
	#product .step img.pc { display: none;}
	#product .step img.sp { display: block;}
	#product .item { width: 94%; margin: 0 auto;}
	#product .slide-main figure { padding: 40px 0 30px;}
	#product .slide-main figure img { transform: scale(0.85);}
	#product .slide-main .slick-center figure img { position: relative; opacity: 1; transform: scale(1.2);}
	#product .detail h3 { margin-bottom: 12px;}
	#product .detail h3 img.pc { display: none;}
	#product .detail h3 img.sp { display: block;}
	#product .detail p.descript { margin-bottom: 10px; font-size: 15px;}
	#product .detail dl dt { width: 50px; margin-right: 12px;}
	#product .detail dl dd { font-size: 15px;}
	#product .detail p.memo { padding: 0 10px; font-size: 10px; text-align: right;}
	#product .detail .btn a { padding: 14px 0; font-size: 14px;}
	#product .detail .btn a:after { width: 10px; height: 10px; right: 20px;}
}


@keyframes line-animation {
	0% { stroke-dashoffset: 600;}
 100%{ stroke-dashoffset: 0;}
}

#instagram { position: relative; margin-bottom: -60px; z-index: 2;}
#instagram .inner-sct { position: relative; width: 100%; max-width: 1280px; height: 782px; margin: 0 auto; padding-top: 70px;
 background: url('../img/bg/insta.png') no-repeat 50% 0;
}
#instagram h2 { margin-bottom: 30px; text-align: center;}
#instagram h2 svg { width: 48%; max-width: 300px;}
#instagram h2 svg path { fill: none;	stroke-dasharray: 600; stroke-dashoffset: 600;}
#instagram h2 svg path.line-1 { stroke-width: 15px; stroke: #d572c4;}
#instagram h2 svg path.line-2 { stroke-width: 15px; stroke: #dbcf50;}
#instagram h2 svg path.line-3 { stroke-width: 15px; stroke: #6a7bd2;}
#instagram h2 svg path.line-4 { stroke-width: 15px; stroke: #ab72fc;}
#instagram h2 svg path.line-wh { stroke-width: 24px; stroke:#fff;}
#instagram h2.show svg path.storke1 { animation: line-animation 0.40s linear forwards; animation-delay: 0.00s;}
#instagram h2.show svg path.storke2 { animation: line-animation 0.32s linear forwards; animation-delay: 0.05s;} /* wh */
#instagram h2.show svg path.storke3 { animation: line-animation 0.60s linear forwards; animation-delay: 0.10s;}
#instagram h2.show svg path.storke4 { animation: line-animation 0.52s linear forwards; animation-delay: 0.15s;} /* wh */
#instagram h2.show svg path.storke5 { animation: line-animation 0.80s linear forwards; animation-delay: 0.30s;}
#instagram h2.show svg path.storke6 { animation: line-animation 0.82s linear forwards; animation-delay: 0.35s;} /* wh */
#instagram h2.show svg path.storke7 { animation: line-animation 0.90s linear forwards; animation-delay: 0.50s;}
#instagram h2.show svg path.storke8 { animation: line-animation 0.92s linear forwards; animation-delay: 0.55s;} /* wh */
#instagram h2 img { display: block; width: 55%; max-width: 380px; margin: 0 auto;}
#instagram p { margin-bottom: 40px; color: #ae4de9; font-size: 21px; text-align: center;}
#instagram ul { width: 90%; max-width: 560px; margin: 0 auto 50px; font-size: 0; text-align: center;}
#instagram ul li { display: inline-block; width: 33.33334%;}
#instagram ul li span { display: block; width: 88%; margin: 0 auto;}
#instagram ul li span img { width: 100%;}
#instagram .btn-follow { width: 62%; max-width: 350px; margin: 0 auto;}
#instagram .btn-follow a { position: relative; display: block; width: 100%; padding: 20px 0; background: #bb75e5; border-radius: 50px;
 color: #fff; font-size: 22px; font-weight: 700; letter-spacing: 0.12rem; line-height: 1; text-align: center;
}
#instagram .btn-follow a:after { content: ''; display: block; width: 15px; height: 15px; border-top: solid 3px #fff; border-right: solid 3px #fff;
 position: absolute; right: 30px; top: 50%; transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 801px) {
	#instagram { margin-bottom: -60px;}
	#instagram:after { content: ''; display: block; width: 100%; padding-top: 117%; background: url('../img/bg/insta-sp.png') no-repeat 50% 100% / 100% auto;}
	#instagram .inner-sct { position: absolute; top: 0; height: auto; padding-top: 14vw; background: none;}
	#instagram .btn-follow a { font-size: 20px;}
}
@media (max-width: 641px) {
	#instagram .inner-sct { padding-top: 10vw;}
	#instagram h2 { margin-bottom: 10px;}
	#instagram .btn-follow a { font-size: 16px;}
}
@media (max-width: 481px) {
	#instagram { margin-bottom: -30px;}
	#instagram h2 { margin-bottom: 6px;}
	#instagram p { margin-bottom: 20px; font-size: 12px;}
	#instagram ul { margin: 0 auto 20px;}
	#instagram .btn-follow a { padding: 14px 0; font-size: 14px;}
	#instagram .btn-follow a:after { width: 10px; height: 10px; right: 20px;}
}


#shop { position: relative;}
#shop .inner-sct { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; padding: 140px 0 100px;
 background: url('../img/bg/shop.jpg') no-repeat 50% 0;
}
#shop h2 { margin-bottom: 30px; text-align: center;}
#shop h2 img { width: 55%; max-width: 380px;}
#shop h3 { margin-bottom: 15px; color: #ae4de9; font-size: 21px; text-align: center;}
#shop p { margin-bottom: 40px; color: #838383; font-size: 10px; text-align: center;}
#shop ul { width: 94%; max-width: 800px; margin: 0 auto; font-size: 0;}
#shop ul li { display: inline-block; width: 33.33334%; padding: 10px; font-size: 16px; line-height: 1.2;}
#shop ul li a { position: relative; display: block; width: 100%; padding: 18px 0; padding-left: 50px; background: #fff; border-radius: 10px;
 color: #636363; font-weight: 700;
}
#shop ul li a:before { content: ''; display: block; width: 32px; height: 100%; position: absolute; left: 10px; top: 0%;
 background: url('../img/icn.png') no-repeat 50% 50% / 100% auto;
}
@media (max-width: 801px) {
	#shop ul li { padding: 8px; font-size: 1.8vw;}
	#shop ul li a { padding: 12px 0; padding-left: 50px; border-radius: 6px;}
	#shop ul li a:before { width: 28px;}
}
@media (max-width: 641px) {
	#shop ul li { width: 50%; font-size: 14px;}
}
@media (max-width: 481px) {
	#shop .inner-sct { padding: 60px 0 50px;}
	#shop h2 { margin-bottom: 10px;}
	#shop h3 { margin-bottom: 10px; font-size: 16px;}
	#shop p { margin-bottom: 30px;}
	#shop ul li { padding: 5px; font-size: 13px;}
	#shop ul li a { padding: 12px 0; padding-left: 30px;}
	#shop ul li a:before { width: 20px; left: 4px;}
}


#ft { position: relative;}
#ft .inner-ft{ padding: 30px 0 20px;}
#ft p { color: #949494; font-size: 12px; text-align: center;}
#ft p.note { margin-bottom: 30px; color: #505050; font-size: 15px; font-weight: 700; line-height: 1.2; text-align: center;}
#ft p.note span { font-size: 20px;}
#ft p.note span em { font-size: 25px;}

#ft h3 { margin: 0 auto 20px; text-align: center;}
#ft h3 img{ width: 32%; max-width: 140px;}
#ft ul { margin: 0 auto 40px; font-size: 0; text-align: center;}
#ft ul li { display: inline-block; font-size: 13px; padding: 0 25px; border-left: solid 1px #505050;}
#ft ul li:first-child{ border-left: none;}
#ft ul li a { color: #505050; }
#ft ul li a:hover { text-decoration: underline;}
@media (max-width: 1201px) {
}
@media (max-width: 1001px) {
}
@media (max-width: 801px) {
	#ft .inner-ft{ padding: 40px 0;}
}
@media (max-width: 481px) {
	#ft .inner-ft{ padding: 42px 0 40px;}
	#ft p.note { font-size: 11px;}
	#ft p.note span { font-size: 13px;}
	#ft p.note span em { font-size: 16px;}
	#ft ul { margin: 0 auto 15px;}
	#ft ul li { display: block; font-size: 13px; padding: 10px; border-left: none;}
}


.fix-bg { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; z-index: -1;}
.fix-bg .bg-1,
.fix-bg .bg-2,
.fix-bg .bg-3 { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden;}
.fix-bg .bg-1 { z-index: 3;}
.fix-bg .bg-2 { z-index: 2;}
.fix-bg .bg-3 { z-index: 1;}
.fix-bg .bg-1:before,
.fix-bg .bg-2:before,
.fix-bg .bg-3:before { content: ''; display: block; width: 100%; max-width: 1280px; margin: 0 auto; height: 100vh;}
.fix-bg .bg-1:before { background: url('../img/bg/fix-1.jpg') no-repeat 50% 50%;}
.fix-bg .bg-2:before { background: url('../img/bg/fix-2.jpg') no-repeat 50% 50%;}
.fix-bg .bg-3:before { background: url('../img/bg/fix-3.jpg') no-repeat 50% 50%;}
@media (max-width: 641px) {
	.fix-bg .bg-1:before { background: url('../img/bg/fix-1-sp.jpg') no-repeat 50% 50% / 100% auto;}
	.fix-bg .bg-2:before { background: url('../img/bg/fix-2-sp.jpg') no-repeat 50% 50% / 100% auto;}
	.fix-bg .bg-3:before { background: url('../img/bg/fix-3-sp.jpg') no-repeat 50% 50% / 100% auto;}
}
