@charset "utf-8";

@media screen and (max-width: 359px) {}
@media screen and (min-width: 360px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 1117px) {}
@media screen and (max-width: 1279px) {}
@media screen and (min-width: 1280px) {}

/*----------------------------------------------------------
   font
----------------------------------------------------------*/
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: normal;
	src: url('../fonts/NotoSansCJKjp-Regular_subset.woff') format('woff'), url('../fonts/NotoSansCJKjp-Regular_subset.ttf') format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: bold;
	src: url('../fonts/NotoSansCJKjp-Bold_subset.woff') format('woff'), url('../fonts/NotoSansCJKjp-Bold_subset.ttf') format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/NotoSansCJKjp-Medium_subset.woff') format('woff'), url('../fonts/NotoSansCJKjp-Medium_subset.otf') format('opentype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 300;
	src: url("../fonts/NotoSansCJKjp-Light_subset.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Light_subset.woff") format("woff");
}

/*----------------------------------------------------------
   normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css
----------------------------------------------------------*/
/* Document */
html { line-height: 1.15; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;}

/* Sections */
body { margin: 0;}
article,aside,footer,header,nav,section { display: block;}
h1 { font-size: 2em; margin: 0.67em 0;}

/* Grouping content */
figcaption,figure,main { display: block;}
figure { margin: 1em 40px;}
hr { box-sizing: content-box; height: 0; overflow: visible;}
pre { font-family: monospace,monospace; font-size: 1em;}

/* Text-level semantics */
a { background-color: transparent; -webkit-text-decoration-skip: objects;}
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted;}
b,strong { font-weight: inherit;}
b,strong { font-weight: bolder;}
code,kbd,samp { font-family: monospace,monospace; font-size: 1em;}
dfn { font-style: italic;}
mark { background-color: #ff0; color: #000;}
small { font-size: 80%;}
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub { bottom: -0.25em;}
sup { top: -0.5em;}

/* Embedded content */
audio,video { display: inline-block;}
audio:not([controls]) { display: none; height: 0;}
img { border-style: none;}
svg:not(:root) { overflow: hidden;}

/* Forms */
button,input,optgroup,select,textarea { font-family: sans-serif; font-size: 100%; line-height: 1.15; margin: 0;}
button,input { overflow: visible;}
button,select { text-transform: none;}
button,html[type="button"],[type="reset"],[type="submit"] { -webkit-appearance: button;}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner { border-style: none; padding: 0;}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring { outline: 1px dotted ButtonText;}
fieldset { padding: 0.35em 0.75em 0.625em;}
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;}
progress { display: inline-block; vertical-align: baseline;}
textarea { overflow: auto;}
[type="checkbox"],[type="radio"] { box-sizing: border-box; padding: 0;}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}

/* Interactive */
details,menu { display: block;}
summary { display: list-item;}

/* Scripting */
canvas { display: inline-block;}
template { display: none;}

/* Hidden */
[hidden] { display: none;}

/* reset
----------------------------------------------------------*/
h1, h2, h3, dl, dt, dd, ul, ol, li, p, table, th, td { margin: 0; padding: 0; font-size: 100%;}
h1, h2, h3, h4, h5, h6 { font-weight: normal;}
li { list-style: none;}
figure { margin: 0;}
img { vertical-align: top;}
table { border-collapse: collapse; border-spacing: 0;}
button { margin: 0; padding: 0; border: 0; outline: none; background: transparent; box-shadow: 0 0 0 0 transparent; cursor: pointer;}
::-moz-selection,
::selection { background: black; color: #fff;}

/*----------------------------------------------------------
   base
----------------------------------------------------------*/
html {
	position: relative;
	font-family: '游明朝体', 'YuMincho', '游明朝', 'Yu Mincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'Noto Sans Japanese', serif;
	-webkit-font-smoothing: antialiased;
}
body {
	position: relative;
	background-color: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1.8;
	text-align: center;
	-webkit-tap-highlight-color: transparent;
}
.en {
	font-family: 'Yanone Kaffeesatz', sans-serif;
	font-weight: 300;
	letter-spacing: .1em;
}
.ja {
	font-family: '游明朝体', 'YuMincho', '游明朝', 'Yu Mincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'Noto Sans Japanese', serif;
	-webkit-font-feature-settings: 'palt' 1;
	-moz-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	letter-spacing: .1em;
}
.ja-san {
	font-family: 'Noto Sans Japanese', san-serif;
}

a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	outline: none;
	opacity: 1;
	transition: all .3s;
	backface-visibility: hidden;
}
a::after,
a::before {
	transition: all .3s;
}
a img {
	vertical-align: top;
	background-color: rgba(255, 255, 255, .01);
}
#sp-flg,
#tb-flg {
	display: block;
	width: 0;
	height: 0;
	font-size: 0;
	line-height: 0;
}
.sp-show { display: block;}
.tb-show { display: block;}
.pc-show { display: none;}
.noscript-text { padding: 1em;}

.grid {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-align: stretch;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.grid.grid-ac {
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	body { font-size: 16px;}
	#sp-flg { display: none;}
	.sp-show { display: none;}
	.pc-show { display: block;}
}
@media screen and (min-width: 992px) {
	#tb-flg { display: none;}
}
@media screen and (min-width: 1118px) {
	.tb-show { display: none;}
}

/* loading
----------------------------------------------------------*/
.is-loaded #l-loading { visibility: hidden; opacity: 0; -webkit-transition-delay: 0s; transition-delay: 0s;}
#l-loading { z-index: 9999; display: block; position: fixed; top: 0; right: 0; bottom: 0; left: 0; height: 100%; background-color: #fff; visibility: visible; opacity: 1; -webkit-transition: visibility .5s linear 0s, opacity .5s cubic-bezier(.4, 0, .2, 1); transition: visibility .5s linear 0s, opacity .5s cubic-bezier(.4, 0, .2, 1);}
#l-loading #loading-spinner { position: relative; top: 50%; left: 50%; margin: -10px 0 0 -10px;}

/* spinner */
.spinner { position: relative; width: 20px; height: 20px;}
.spinner .spinner-blade { position: absolute; top: 37%; left: 44.5%; width: 10%; height: 25%; background-color: #8c8c8c; border-radius: 50% / 20%; -webkit-animation: spinner-blade__fade 1s linear infinite; animation: spinner-blade__fade 1s linear infinite; -webkit-animation-play-state: running; animation-play-state: running;}
.spinner .spinner-blade:nth-child(1) { -webkit-transform: rotate(30deg) translate(0, -150%); transform: rotate(30deg) translate(0, -150%); -webkit-animation-delay: -1.66667s; animation-delay: -1.66667s;}
.spinner .spinner-blade:nth-child(2) { -webkit-transform: rotate(60deg) translate(0, -150%); transform: rotate(60deg) translate(0, -150%); -webkit-animation-delay: -1.58333s; animation-delay: -1.58333s;}
.spinner .spinner-blade:nth-child(3) { -webkit-transform: rotate(90deg) translate(0, -150%); transform: rotate(90deg) translate(0, -150%); -webkit-animation-delay: -1.5s; animation-delay: -1.5s;}
.spinner .spinner-blade:nth-child(4) { -webkit-transform: rotate(120deg) translate(0, -150%); transform: rotate(120deg) translate(0, -150%); -webkit-animation-delay: -1.41667s; animation-delay: -1.41667s;}
.spinner .spinner-blade:nth-child(5) { -webkit-transform: rotate(150deg) translate(0, -150%); transform: rotate(150deg) translate(0, -150%); -webkit-animation-delay: -1.33333s; animation-delay: -1.33333s;}
.spinner .spinner-blade:nth-child(6) { -webkit-transform: rotate(180deg) translate(0, -150%); transform: rotate(180deg) translate(0, -150%); -webkit-animation-delay: -1.25s; animation-delay: -1.25s;}
.spinner .spinner-blade:nth-child(7) { -webkit-transform: rotate(210deg) translate(0, -150%); transform: rotate(210deg) translate(0, -150%); -webkit-animation-delay: -1.16667s; animation-delay: -1.16667s;}
.spinner .spinner-blade:nth-child(8) { -webkit-transform: rotate(240deg) translate(0, -150%); transform: rotate(240deg) translate(0, -150%); -webkit-animation-delay: -1.08333s; animation-delay: -1.08333s;}
.spinner .spinner-blade:nth-child(9) { -webkit-transform: rotate(270deg) translate(0, -150%); transform: rotate(270deg) translate(0, -150%); -webkit-animation-delay: -1s; animation-delay: -1s;}
.spinner .spinner-blade:nth-child(10) { -webkit-transform: rotate(300deg) translate(0, -150%); transform: rotate(300deg) translate(0, -150%); -webkit-animation-delay: -.91667s; animation-delay: -.91667s;}
.spinner .spinner-blade:nth-child(11) { -webkit-transform: rotate(330deg) translate(0, -150%); transform: rotate(330deg) translate(0, -150%); -webkit-animation-delay: -.83333s; animation-delay: -.83333s;}
.spinner .spinner-blade:nth-child(12) { -webkit-transform: rotate(360deg) translate(0, -150%); transform: rotate(360deg) translate(0, -150%); -webkit-animation-delay: -.75s; animation-delay: -.75s;}

/* slick
----------------------------------------------------------*/
.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:0;}
.slick-list.dragging{cursor:pointer;cursor:hand;}
.slick-slider .slick-list,.slick-slider .slick-track{-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;margin-left:auto;margin-right:auto;}
.slick-track:after,.slick-track:before{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;}
.slick-loading .slick-slide{visibility:hidden;}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent;}
.slick-arrow.slick-hidden{display:none;}

.slick-loading .slick-list{background: #fff url("../images/loading.gif") center center no-repeat;}
.slick-next,.slick-prev{font-size:0;line-height:0;position:absolute;top:50%;display:block;width:20px;height:20px;padding:0;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:0;background:0 0;}
.slick-next:focus,.slick-next:hover,.slick-prev:focus,.slick-prev:hover{color:transparent;outline:0;background:0 0;}
.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1;}
.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25;}
.slick-next:before,.slick-prev:before{font-family:slick;font-size:20px;line-height:1;opacity:.75;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.slick-prev{left:-25px;}
[dir=rtl] .slick-prev{right:-25px;left:auto;}
.slick-prev:before{content:'←';}
[dir=rtl] .slick-prev:before{content:'→';}
.slick-next{right:-25px;}
[dir=rtl] .slick-next{right:auto;left:-25px;}
.slick-next:before{content:'→';}
[dir=rtl] .slick-next:before{content:'←';}
.slick-dotted.slick-slider{margin-bottom:30px;}
.slick-dots{position:absolute;bottom:-25px;display:block;width:100%;padding:0;margin:0;list-style:none;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:0;background:0 0;}
.slick-dots li button:focus,.slick-dots li button:hover{outline:0;}
.slick-dots li button:focus:before,.slick-dots li button:hover: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:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.slick-dots li.slick-active button:before{opacity:.75;color:#000;}

/*----------------------------------------------------------
   common layout
----------------------------------------------------------*/
#l-wrap {
	overflow: hidden;
}
section {
	position: relative;
	display: block;
}
section::after {
	clear: both;
	content: '';
	display: block;
}
.inner {
	position: relative;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 5%;
	padding-left: 5%;
	box-sizing: border-box;
	text-align: left;
}
.inner *,
.header-inner * {
	box-sizing: border-box;
}

@media screen and (min-width: 992px) {
	#l-wrap .inner {
		max-width: 1280px;
		padding-right: 50px;
		padding-left: 50px;
	}
}

/* header
----------------------------------------------------------*/
#l-header #header-inner {
	width: 100%;
	height: 60px;
	text-align: left;
}

#header-logo {
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
}
#header-logo a {
	width: 240px;
	height: 60px;
	background: rgba(235, 214, 217, .9) url('/images/common/logo_w.svg') no-repeat 45px 100%;
	background-size: 113px 30px;
}
#header-logo span img {
	margin-top: 9px;
	vertical-align: baseline;
}
#header-logo .hd-title img {
	height: 13px;
	margin-left: 18px;
}
#header-logo .hd-txt img {
	height: 7px;
	margin-left: 6px;
}

#header-btn {
	z-index: 23;
	text-indent: -9999px;
	position: absolute;
	top: 0;
	right: 0;
	width: 66px;
	height: 54px;
	background: url('/images/common/i_menu.svg') no-repeat center center;
	background-size: 30px auto;
	transition: all .3s;
}
#header-btn:hover {
	opacity: .8;
}
#header-btn.is-active {
	position: fixed;
	background-image: url('/images/common/i_close.svg');
}
#header-nav a {
	transition: all 0s;
}
#header-nav {
	z-index: 20;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	visibility: hidden;
	overflow-x: hidden;
	overflow-y: auto;
	background-color: rgba(255, 255, 255, .9);
	opacity: 0;
/*	transition: all .5s;*/
	transition: visibility .3s, opacity .5s;
}
#header-nav.is-active {
	visibility: visible;
	height: 120%;
	opacity: 1;
}
#header-nav #nav-inner {
	position: relative;
	min-height: 600px;
	padding: 80px 0 20px 25vw;
	font-family: 'Yanone Kaffeesatz', sans-serif;
	font-weight: 300;
	line-height: 2;
}
#header-nav #nav-inner #nav-main li {
	font-size: 2em;
	letter-spacing: 5.3px;
}
#header-nav #nav-inner #nav-main li.ja-san {
	font-size: 1.71em;
	line-height: 2.35;
	letter-spacing: 0;
}
/* new icon */
#header-nav #nav-inner #nav-main li.nav-hairdry {
	position: relative;
}
#header-nav #nav-inner #nav-main li.nav-hairdry::after {
	content: "NEW";
	margin-left: 8px;
	padding: 2px 4px 0 6px;
	background-color: #ff70a7;
	color: #fff;
	font-family: 'Yanone Kaffeesatz', sans-serif;
	font-size: .5em;
	line-height: 1;
	font-weight: 300;
	letter-spacing: .2em;
}

#header-nav #nav-inner #nav-main li a {
	text-decoration: underline;
}
#header-nav #nav-inner .ft-sns {
	margin-top: 16px;
}
#header-nav #nav-inner .ft-sns li {
	font-size: 1.35em;
	letter-spacing: 3.6px;
}
#header-nav #nav-inner .ft-links {
	margin-top: 35px;
}
#header-nav #nav-inner .ft-links li {
	font-size: .85em;
	font-family: '游明朝体', 'YuMincho', '游明朝', 'Yu Mincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'Noto Sans Japanese', serif;
}

@media screen and (min-width: 992px) {
	#l-header #header-inner {
		height: 50px;
	}
	#header-logo a {
		width: 350px;
		height: 100px;
		background-color: rgba(235, 214, 217, .8);
		background-position: 104px 100%;
		background-size: 189px 49px;
	}
	#header-logo span img {
		margin-top: 17px;
	}
	#header-logo .hd-title img {
		height: 20px;
		margin-left: 30px;
	}
	#header-logo .hd-txt img {
		height: 12px;
		margin-left: 15px;
	}
	#header-btn,
	#header-nav .nav-home a,
	#header-nav .ft-links,
	#header-nav .ft-sns {
		display: none;
	}
	#header-nav a {
		transition: all .3s;
	}
	#header-nav {
		position: static;
		visibility: visible;
		overflow-y: hidden;
		background-color: transparent;
		opacity: 1;
	}
	#header-nav #nav-inner {
		position: static;
		min-height: 0;
		padding: 0;
	}
	#header-nav #nav-inner #nav-main {
		margin-right: 38px;
		font-size: 0;
		letter-spacing: -.4em;
		line-height: 50px;
		text-align: right;
	}
	#header-nav #nav-inner #nav-main li {
		display: inline-block;
		margin-left: 28px;
		font-size: 19px;
		letter-spacing: 3.6px;
	}
	#header-nav #nav-inner #nav-main li.ja-san {
		font-size: 16px;
		line-height: inherit;
		letter-spacing: 0;
	}
	#header-nav #nav-inner #nav-main li.nav-hairdry::after {
		margin-left: 5px;
		padding: 2px 2px 0px 3px;
		font-size: 10px;
	}
	#header-nav #nav-inner #nav-main li a {
		text-decoration: none;
	}
	#header-nav #nav-inner #nav-main li a:hover {
		color: #c2a0ad;
	}
}

/* aside
----------------------------------------------------------*/
#l-aside {
	height: 50px;
	margin-top: 2.14em;
	background-color: rgba(251, 228, 226, .2);
	text-align: center;
}
#l-aside dt {
	display: none;
}
#l-aside dd ul {
	line-height: 50px;
	text-align: center;
}
#l-aside dd li {
	display: inline-block;
	font-size: 1.14em;
	font-weight: 600;
}
#l-aside dd li+li {
	padding-left: 2em;
}
#l-aside dd li a::after {
	bottom: 1em;
}

@media screen and (min-width: 992px) {
	#l-aside {
		margin-top: 70px;
	}
	#l-aside #ft-sns {
		text-align: center;
	}
	#l-aside dd {
		display: inline-block;
	}
	#l-aside dt,
	#l-aside dd li {
		display: inline-block;
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 2px;
	}
	#l-aside dt {
		padding: 0 2.5em 0 3em;
		font-weight: normal;
	}
	#l-aside dd li+li {
		padding-left: 2.8em;
	}
	#l-aside dd li a::after {
		bottom: .7em;
	}
	#l-aside dd li.sns-li {
		display: none;
	}
}

/* footer
----------------------------------------------------------*/
#ft-menu {
	position: relative;
	padding: 18px 0 95px;
	background-color: rgba(235, 214, 217, .4);
}
#ft-menu::after {
	clear: both;
	content: '';
	display: block;
}
#ft-menu::before {
	position: absolute;
	content: '';
	display: block;
	bottom: 0;
	right: 18px;
	width: 100%;
	height: 60px;
	background: transparent url('/images/common/logo_w.svg') no-repeat 100% 100%;
	background-size: 228px 60px;
}
#ft-menu ul.link-line>li {
	float: left;
	width: 40%;
}
#ft-menu ul.link-line>li:first-child,
#ft-menu ul.link-line>li:last-child {
	width: 100%;
}
#ft-menu ul.link-line li {
	padding: .4em 0 .5em;
}

#l-footer .copy {
	padding: 8px 0 16px;
	font-family: 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, sans-serif;
	text-align: center;
}

#totop {
	z-index: 200;
	position: fixed;
	right: 20px;
	bottom: 20px;
}
#totop a {
	text-indent: -9999px;
	display: block;
	min-width: 40px;
	min-height: 40px;
	width: 5.33vw;
	height: 5.33vw;
	background-color: rgba(235, 214, 217, .9);
	border-radius: 50%;
}
#totop a::after {
	position: absolute;
	content: '';
	display: block;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	margin-top: -2px;
	margin-left: -6px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#totop a:hover {
	opacity: .7;
}

@media screen and (min-width: 768px) {
	#ft-menu {
		padding: 8px 0 30px;
	}
	#ft-menu::before {
		right: 40px;
	}
	#ft-menu ul.link-line {
		display: table;
		margin: 0 auto;
	}
	#ft-menu ul.link-line>li {
		float: none;
		display: table-cell;
		width: 200px;
		white-space: nowrap;
		font-size: 14px;
	}
	#ft-menu ul.link-line>li:first-child,
	#ft-menu ul.link-line>li:last-child {
		width: 200px;
	}
	#ft-menu ul.link-line li {
		padding: .5em 0 .5em;
	}
	#l-footer .copy {
		padding: 2px 40px 70px;
		font-size: 11px;
		text-align: right;
	}
	#totop {
		right: 40px;
		bottom: 40px;
	}
	#totop a {
		width: 50px;
		height: 50px;
	}
}

/*----------------------------------------------------------
   module
----------------------------------------------------------*/
.image img,
.photo img,
figure img { width: 100%; height: auto;}

.skip { position: absolute; left: -9999px;}
.left { float: left;}
.right { float: right;}
.clear { clear: both;}
.cf::after { clear: both; content: ''; display: block;}
.txtr { text-align: right;}
.txtc { text-align: center;}

.sp01 { margin-top: .5em;}
.sp02 { margin-top: 1em;}
.sp03 { margin-top: 1.5em;}
.sp04 { margin-top: 2em;}
.sp05 { margin-top: 2.5em;}

ul.bullet { padding-left: 1.2em;}
ul.bullet li { list-style-type: disc;}

.instagram-media {
	min-width: auto !important;
}

/* link
----------------------------------------------------------*/
a.link-line, .link-line a,
a.link-line2, .link-line2 a {
	position: relative;
	display: inline-block;
}
a.link-line::after, .link-line a::after,
a.link-line2::after, .link-line2 a::after {
	position: absolute;
	content: '';
	bottom: .3em;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #333;
	opacity: 0;
}
a.link-line:hover::after, .link-line a:hover::after,
a.link-line2::after, .link-line2 a::after {
	opacity: 1;
}
a.link-line2:hover::after, .link-line2 a:hover::after {
	opacity: 0;
}

.link-ar a {
	position: relative;
	display: inline-block;
	padding-right: 1em;
	vertical-align: middle;
	text-decoration: none;
}
.link-ar a::before {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
	right: 3px;
	width: .5em;
	height: .5em;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.link-ar a::after {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #333;
	opacity: 0;
}
.link-ar a:hover::after {
	opacity: 1;
}

a.link-block {
	position: relative;
	display: inline-block;
}

/* title
----------------------------------------------------------*/
.title {
	z-index: 2;
	position: relative;
	display: block;
	font-size: 24px;
	line-height: 48px;
	text-align: center;
}
.title::before, .title::after {
	position: absolute;
	content: '';
	right: 0;
	left: 0;
	margin: auto;
}
.title::before {
	top: 0;
	width: 230px;
	height: 1px;
	background-color: #eee;
}
.title::after {
	bottom: -2px;
	width: 100px;
	height: 4px;
	background-color: #ebd6d9;
}
.title-s {
	z-index: 2;
	position: relative;
	display: block;
	font-size: 1.42em;
	line-height: 48px;
	letter-spacing: 2px;
	text-align: center;
}
.title-s::after {
	position: absolute;
	content: '';
	right: 0;
	left: 0;
	margin: auto;
	bottom: 0;
	width: 50px;
	height: 4px;
	background-color: #ebd6d9;
}

.ttl {
	padding: .4em 0 .6em;
	font-size: 1.42em;
	line-height: 1.4;
	-webkit-font-feature-settings: 'palt' 1;
	-moz-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	letter-spacing: .2em;
}
.ttl ruby {
	display: inline-table;
	height: 1em;
	line-height: 1;
	vertical-align: top;
}
.ttl rb {
	display: table-row-group;
	line-height: .6;
}
.ttl rt {
	display: table-header-group;
	font-size: .5em;
	line-height: 1;
	text-align: center;
}
@media screen and (min-width: 992px) {
	.title-s {
		font-size: 2em;
		line-height: 50px;
	}
	.ttl {
		font-size: 2.37em;
		text-align: center;
	}
	.ttl rt {
		font-size: .3em;
		line-height: 1.5;
	}
}

/* setBgImg
----------------------------------------------------------*/
.js-setBgImg {
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
.js-setBgImg>img {
	display: none;
}

/* fade
----------------------------------------------------------*/
.js-fade {
	opacity: 0;
	transition: all .5s cubic-bezier(.4, 0, .2, 1);
}
.js-fade.is-active {
	opacity: 1;
}

/* more
----------------------------------------------------------*/
.more-wrap {
	position: relative;
	text-align: center;
}
.more-wrap .more-btn {
	position: relative;
	display: inline-block;
	margin: 6px auto 0;
	font-size: 1.71em;
	font-weight: 400;
	letter-spacing: 2px;
	cursor: pointer;
}
.more-wrap .more-btn::after {
	position: absolute;
	content: '';
	bottom: .3em;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #333;
	opacity: 1;
}
.more-wrap .more-btn:hover::after {
	opacity: 0;
}
.more-wrap .more-block {
	position: relative;
	overflow: hidden;
	max-height: 1px;
	transition: max-height .3s cubic-bezier(.4, 0, .2, 1);
}
.more-wrap .more-btn.is-show {
	display: none;
}
.more-wrap .more-btn.is-show~.more-block {
	max-height: 6000px;
}

@media screen and (min-width: 992px) {
	.more-wrap .more-btn {
		display: none;
	}
	.more-wrap .more-btn~.more-block {
		max-height: none;
	}
}

/* accordion
----------------------------------------------------------*/
.accordion-trigger {
	display: none;
}
.accordion-btn .text {
	position: relative;
	display: block;
	width: 100%;
	height: 32px;
	padding-top: 7px;
	line-height: 1;
	border: solid 1px #dddddd;
	text-align: center;
	cursor: pointer;
	transition: all .3s;
}
.accordion-btn:hover .text {
	border-color: #ebd6d9;
}
.accordion-btn .text::before {
	font-size: .85em;
	font-weight: bold;
	content: "\3082\3063\3068\8A73\3057\304F";
}
.accordion-btn .icon {
	position: absolute;
	top: 5px;
	right: 8px;
	display: block;
	width: 20px;
	height: 20px;
	border: solid 1px #ebdee1;
	border-radius: 50%;
}
.accordion-btn .icon::before {
	position: absolute;
	content: '';
	top: 8px;
	right: 4px;
	width: 10px;
	height: 2px;
	background-color: #dbb1c1;
}
.accordion-btn .icon::after {
	position: absolute;
	content: '';
	top: 4px;
	right: 8px;
	width: 2px;
	height: 10px;
	background-color: #dbb1c1;
}
.accordion-trigger:checked~.accordion-btn .text::before {
	content: "\6298\308A\305F\305F\3080";
}
.accordion-trigger:checked~.accordion-btn .icon::after {
	display: none;
}
.accordion-btn .icon::after {
	position: absolute;
	content: '';
	top: 4px;
	right: 8px;
	width: 2px;
	height: 10px;
	background-color: #dbb1c1;
}
.accordion-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	line-height: 0;
	opacity: 0;
	visibility: hidden;
	transition:
		max-height .3s cubic-bezier(.4, 0, .2, 1),
		line-height .3s cubic-bezier(.4, 0, .2, 1),
		opacity .1s linear,
		visibility .1s linear;
}
.accordion-trigger:checked~.accordion-content {
	max-height: 1500px;
	line-height: 1.5;
	opacity: 1;
	visibility: visible;
}

@media screen and (min-width: 768px) {
	.accordion-btn {
		display: none;
	}
	.accordion-content {
		max-height: none;
		line-height: 1.5;
		opacity: 1;
		visibility: visible;
	}
}

/* modal
----------------------------------------------------------*/
#modal_overlay {
	z-index: 100;
	position: fixed;
	display: none;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(255, 255, 255, .9);
}
.modal_content {
	z-index: 101;
	position: fixed;
	display: none;
	top: 50%;
	left: 50%;
	max-width: 1180px;
	width: 95%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.modal_content .movie {
	position: relative;
}
.modal_content .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.modal_content .movie::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.modal_content .btn_close {
	position: absolute;
	text-indent: -9999px;
	display: block;
	top: -40px;
	right: 0;
	width: 50px;
	height: 40px;
	background: url('/images/common/i_close.svg') no-repeat center center;
	background-size: 30px auto;
	transition: all .3s;
}
.modal_content .btn_close:hover {
	opacity: .8;
}

/* keyframes
----------------------------------------------------------*/
@-webkit-keyframes spinner-blade__fade {
	0% { opacity: .85;}
	50% { opacity: .25;}
	100% { opacity: .25;}
}
@keyframes spinner-blade__fade {
	0% { opacity: .85;}
	50% { opacity: .25;}
	100% { opacity: .25;}
}
@-webkit-keyframes show {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@keyframes show {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@-webkit-keyframes hide {
	0% { opacity: 1;}
	100% { opacity: 0;}
}
@keyframes hide {
	0% { opacity: 1;}
	100% { opacity: 0;}
}
@-webkit-keyframes play-btn {
	20% { opacity: 1;}
	50% { opacity: .4;}
	80% { opacity: 1;}
}
@keyframes play-btn {
	20% { opacity: 1;}
	50% { opacity: .4;}
	80% { opacity: 1;}
}
