@charset "utf-8";

/* テキストリンク末尾の「＞」用WEBフォント
=========================================*/
@font-face {
	font-family: 'icon-gt';
	src:	url('/common/fonts/icon-gt.eot?i8q0a1');
	src:	url('/common/fonts/icon-gt.eot?i8q0a1#iefix') format('embedded-opentype'), url('/common/fonts/icon-gt.ttf?i8q0a1') format('truetype'), url('/common/fonts/icon-gt.woff?i8q0a1') format('woff'), url('/common/fonts/icon-gt.svg?i8q0a1#icon-gt') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'icon-gt';
	src:	url('/common/fonts/icon-gt-bold.eot?1k4lh');
	src:	url('/common/fonts/icon-gt-bold.eot?1k4lh#iefix') format('embedded-opentype'), url('/common/fonts/icon-gt-bold.ttf?1k4lh') format('truetype'), url('/common/fonts/icon-gt-bold.woff?1k4lh') format('woff'), url('/common/fonts/icon-gt-bold.svg?1k4lh#icon-gt-bold') format('svg');
	font-weight: 500;
	font-style: normal;
}

/* テキストリンク末尾の「＞」のクラス設定
=========================================*/
.icon-gt:before,
.txt-link a{
	content: "\3e";
	font-family: 'icon-gt' !important;
}

/* ページMV
=========================================*/
#topics-header{
	background-image: url(../images/visual_topics.jpg);
	margin-bottom: 0 !important;
}
#officialblog-header{
	background-image: url(../images/visual_officialblog.jpg);
	margin-bottom: 0 !important;
}
#studio-header{
	background-image: url(../images/visual_studio.jpg);
	margin-bottom: 0 !important;
}
#search-header{
	background-image: url(../images/cover.jpg);
	background-position: 0 -50px;
}
#hyperknife-header{
	background-image: url(/service/images/visual_hyperknife.jpg);
}

/* テキストリンク末尾の「＞」
=========================================*/
a.arrow-r{
	display: inline-block;
}
.arrow-r::after,
a.arrow-r::after,
a.btn-s::after{
	content: "\3e";
	font-family: 'icon-gt' !important;
	margin-left: .25em;
	font-weight: normal;
}
a.txt-link::after{
	content: "\3e";
	font-family: 'icon-gt' !important;
	margin-left: .25em;
	color: #DC580D;
	font-weight: 500;
}
a.txt-link:hover{
	opacity: 1;
	color: #DC580D;
}

/* 楕円リンクボタン（小）
=========================================*/
a.btn-s{
	display: inline-block;
	background-color: #fff;
	border: 1px solid #DC580D;
	color: #DC580D;
	text-align: center;
}
.btn-center{
	text-align: center;
}
@media screen and (min-width: 761px) {
	a.btn-s{
		width: 260px;
		border-radius: 25px;
		font-size: 14px;
		line-height: 50px;
	}
	.btn-center{
		margin: 80px auto 0;
	}
}

@media screen and (min-width: 761px) {
	#allContainer{
		min-width: 1024px;
	}
}

@media screen and (max-width: 760px) {
	a.btn-s{
		min-width: 200px;
		padding: 0 2em;
		border-radius: 20px;
		font-size: 14px;
		line-height: 40px;
	}
	.btn-center{
		margin: 40px auto 0;
	}
}

/* 楕円リンクボタン（大）
=========================================*/
a.btn-l{
	display: inline-block;
	width: 360px;
	background-color: #fff;
	border: 1px solid #DC580D;
	color: #DC580D;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
}
a.btn-entry{
	background-color: #fff;
}
a.btn-l.no-border{
	border: none;
}
@media screen and (min-width: 761px) {
	a.btn-l{
		width: 360px;
		border-radius: 45px;
		font-size: 22px;
		line-height: 90px;
	}
}
@media screen and (max-width: 760px) {
	a.btn-l{
		width: 250px;
		border-radius: 30px;
		font-size: 15px;
		line-height: 60px;
	}
}

/* 楕円リンクボタン（大）マウスオーバー */
a.btn-ow{
	position: relative;
	z-index: 1;
	display: inline-block;
	height: 100%;
	overflow: hidden;
	
}
a.btn-ow{
	-moz-transition: color 0.2s;
	-o-transition: color 0.2s;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
	color: #de580d;
}
a.btn-ow:hover{
	opacity: 1;
}
.btn-ow::after{
	content: "";
	position: absolute;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #de580d;
	border-radius: 45px;
	z-index: -1
		;
	opacity: 0;
	transform: scaleX(0.8);
	
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	
	overflow: hidden;
}
.btn-ow:hover{
	color: #fff;
}
.btn-ow:hover::after{
	opacity: 1;
	transform: scaleX(1.1);
}

/* SNS系 楕円ボタン
=========================================*/
@media screen and (min-width: 761px) {
	a.btn-bkl{
		display: inline-block;
		width: 298px;
		height: 78px;
		border: 1px solid #433f3f;
		border-radius: 39px;
		color: #433f3f;
		font-size: 13px;
		line-height: 78px;
		text-align: center;
	}
	a.icon-ig::before,
	a.icon-fb::before,
	a.icon-yt::before{
		content: "";
		display: inline-block;
		width: 32px;
		height: 32px;
		margin-right: 10px;
		vertical-align: -.8em;
		line-height: 1;
	}
	a.icon-ig::before{ content: url(/common/images/icon_ig.svg); }
	a.icon-fb::before{ content: url(/common/images/icon_fb.svg); }
	a.icon-yt::before{ content: url(/common/images/icon_yt.svg); width: 40px; height: 40px; vertical-align: -1em; }
}
@media screen and (max-width: 760px) {
	a.btn-bkl{
		display: inline-block;
		width: 250px;
		height: 60px;
		border: 1px solid #433f3f;
		border-radius: 30px;
		color: #433f3f;
		font-size: 15px;
		line-height: 60px;
		text-align: center;
	}
	a.icon-ig::before,
	a.icon-fb::before,
	a.icon-yt::before{
		content: "";
		display: inline-block;
		width: 25px;
		height: 25px;
		margin-right: 10px;
		vertical-align: -.4em;
		line-height: 1;
	}
	a.icon-ig::before{ content: url(/common/images/icon_ig.svg); }
	a.icon-fb::before{ content: url(/common/images/icon_fb.svg); }
	a.icon-yt::before{ content: url(/common/images/icon_yt.svg); width: 30px; height: 30px; vertical-align: -.5em; }
}

/* ページ内アンカーメニュー
=========================================*/
.anchor-menu li a::before{
	content: "";
	display: inline-block;
	margin-right: .5em;
	background-image: url(/common/images/icon_circle_d.svg);
	background-repeat: no-repeat;
	background-position: center center;
	width: 22px;
	height: 22px;
	vertical-align: middle;
}
@media screen and (min-width: 761px) {
	.anchor-menu{
		display: flex;
		width: 1024px;
		margin: 0 auto 100px;
		flex-grow: 1;
	}
	.anchor-menu li{
		flex-grow: 1;
		width: 10%;
		text-align: center;
	}
	.anchor-menu li:nth-child(n+2){
		border-left: 1px solid #e6e7e7;
	}
	.anchor-menu li a{
		display: block;
		padding: 0 30px;
		line-height: 60px;
		background-color: #f7f7f7;
		text-align: left;
	}
}
@media screen and (max-width: 760px) {
	.anchor-menu{
		display: block;
		margin: 0 4% 40px;
	}
	.anchor-menu li{
		text-align: center;
	}
	.anchor-menu li:nth-child(n+2){
		border-top: 1px solid #e6e7e7;
	}
	.anchor-menu li a{
		display: block;
		padding: 14px 15px;
		font-size: 14px;
		line-height: 1.5;
		background-color: #f7f7f7;
		text-align: left;
	}
	.anchor-menu li a::before{
		width: 30px;
		height: 30px;
	}
}

/* 共通レイアウト
=========================================*/
#site-header *,
.footerArea * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 760px) {
	#allContainer{
		position: static;
		border-top: 3px solid #fcce00;
		height: auto;
	}
		#allContainer.content-fixed{
			position: fixed;
		}
}

/* section間隔
=========================================*/
@media screen and (min-width: 761px) {
	article section + section{
		margin-top: 120px;
	}
}
@media screen and (max-width: 760px) {
	article section + section{
		margin-top: 60px;
	}
}

/* テキスト装飾
=========================================*/
a{
	outline: none;
}
strong{
	font-weight: bold;
}
sub{
	font-size: .85em;
	vertical-align: text-bottom;
}
.c-red{
	color: #bb1b21
}

/* 共通ヘッダー
=========================================*/
#site-header,
.header-inner,
.head,
.sh-logo{
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.header-inner{
	position: relative;
	width: 100%;
	margin: 0 auto;
}

/*logo*/
.sh-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}
.sh-logo a{
	display: block;
	width: 100%;
}
.sh-logo img{
	display: block;
	width: 100%;
	height:auto;
}
.sh-copy{
	position:absolute;
	top:20px;
	left:280px;
	font-size: 13px;
	line-height: normal;
}
.short .sh-copy{
	display: none;
}

.sitehead-btnarea{
	position: absolute;
	right: 0;
	top: -6px;
	display: table;
	overflow: hidden;
	z-index: 10;
}
.sitehead-btnarea li{
	display: table-cell;
}
.sitehead-btnarea li.reservbtn,
.sitehead-btnarea li.signupbtn{
	background: #fff;
}
.sitehead-btnarea li.reservbtn a,
.sitehead-btnarea li.signupbtn a{
	display: block;
	width: 210px;
	color: #fff;
	line-height: 56px;
	text-align: center;
	text-decoration: none;
}
.sitehead-btnarea li.reservbtn a{ background-color: #b71b21; }
.sitehead-btnarea li.reservbtn a::before{
	content:"";
	display: inline-block;
	width: 14px;
	height: 20px;
	margin-right: .25em;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-image: url(/common/images/icon_reservbtn.svg);
	vertical-align: -.35em;
}
.sitehead-btnarea li.signupbtn a{ background-color: #f08c00; }
.sitehead-btnarea li.signupbtn a::before{
	content:"";
	display: inline-block;
	width: 14px;
	height: 20px;
	margin-right: .25em;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	/*background-image: url(/common/images/icon_signupbtn.svg);*/
	background-image: url(/common/images/icon_signupbtn2.png);
	vertical-align: -.2em;
}
.short .head > .sitehead-btnarea{
	position: absolute;
	top: 16px;
	right: 0;
}
.short .head > .sitehead-btnarea li{
	width: auto;
	padding-right: 10px;
	vertical-align: middle;
}
.short .head > .sitehead-btnarea li.reservbtn a,
.short .head > .sitehead-btnarea li.signupbtn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 19px;
}
.short .head > .sitehead-btnarea li.reservbtn a::before,
.short .head > .sitehead-btnarea li.signupbtn a::before{
	margin: 0;
}
.short .head > .sitehead-btnarea li.reservbtn a span,
.short .head > .sitehead-btnarea li.signupbtn a span{
	display: none;
}

.sitehead-btnarea li.storeBtn,
.short .sitehead-btnarea li.storeBtn{
	display: none !important;
}

@media screen and (min-width: 761px) {
	/*headerArea*/
	.topPage #site-header{
		border-bottom: none;
	}
	#site-header{
		position:fixed;
		left: 0;
		top: 0;
		width: 100%;
		min-width: 1024px;
		background-color: #fff;
		border-top: 6px solid #fcce00;
		z-index: 1000;
	}
		.short#site-header {
			border-top: none;
			border-bottom: 1px solid #ccc;
		}
		.short.typeShop#site-header{
			border-bottom: none;
		}
	#site-header p {
		margin-bottom: 0;
	}
	.header-inner{
		max-width: 1220px;
		min-width: 1024px;
		padding: 0 10px;
		height: 140px;
	}
		.short .header-inner{
			width: 1024px;
			min-width: 1024px;
			max-width: 1024px;
			height: 70px;
		}
	.head{
		position: relative;
		width: 100%;
		height: 100%;
	}

	/*logo*/
	.head .sh-logo{
		display: flex;
		width: 216px;
		height: 100%;
		align-items: center;
		justify-content: center;
	}
		.short .head .sh-logo{
			width: 142px;
		}
	.head .sh-logo a{
		display: inline-block;
	}
	.head .sh-logo a img{
		width: 100%;
		height: auto;
	}

	/*tagLine*/
	.tagLine{
		font-size:72%;
		position:absolute;
		top:0px;
		left:180px;
		width:260px;
		line-height: 2.0;
	}

	/*.shopNavBtn*/
		.shopNavBtn{
		display:none;
	}

	/*titleShop*/
	.titleShop{
		background:url(../images/com_bg06.gif) repeat;
		width:100%;
		padding:16px 0;
		color:#FFF;
		font-size:229%;
		margin-top:12px;
	}
	.titleShopIn{
		width:1000px;
		margin:0 auto;
	}
	
	/*sh-copy*/
	.sh-sh-copy{
	position:absolute;
	top:20px;
	left:280px;
	font-size: 13px;
	line-height: normal;
}
	.short .sh-sh-copy{
		top:25px;
		left:180px;
		font-size: 12px;
	}

	/*.gnavShop*/
	/*.gnavShop{
		width: 100%;
		min-width: 1024px;
	}*/
	.headshopnav1{
		width: 100%;
		min-width: 1024px;
		margin: 0 auto;
		padding: 12px 0;
		background-color: #DE580D;
		font-size: 14px;
		line-height: 20px;
		text-align: center;
	}
		.headshopnav1{
			display: none;
		}
		.short .headshopnav1{
			display: block;
		}
	.headshopnav1 ul{
		display: inline-block;
		overflow: hidden;
	}
	.headshopnav1 li{
		float: left;
		position: relative;
	}
	.headshopnav1 li::after{
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		height: 12px;
		margin-top: -6px;
		border-left: 1px solid #fff;
	}
	.headshopnav1 li:nth-child(2)::before{
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		height: 12px;
		margin-top: -6px;
		border-left: 1px solid #fff;
	}
	.headshopnav1 li a:not(.sp){
		display: inline-block;
		color: #fff;
		padding: 0 1.5em;
	}
	.headshopnav1 li a:hover,
	.headshopnav1 li.on a{
		color: #FCCE00;
	}
	
	.headshopnav2{
		display: none;
	}

.headshopnav3{
	position: absolute;
	left: 280px;
	top: 74px;
	width: calc(100% - 280px);
	font-size: 14px;
	line-height: 24px;
}
.short .headshopnav3{
	width: 676px;
	left: 190px;
	top: 24px;
	font-size: 12px;
	line-height: 24px;
}
.headshopnav3 ul{
	display:flex;
	justify-content: flex-start;
	align-items: center;
	list-style-type: none;
}
.headshopnav3 ul li{
	position: relative;
	flex-grow: 2;
	text-align: center;
}
.headshopnav3 ul li:nth-child(1){
	flex-grow: 1;
	text-align: left;
}	
	.headshopnav3 li:nth-child(n+2)::before{
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		height: 14px;
		margin-top: -7px;
		border-left: 1px solid #433f3f;
	}
	.headshopnav3 li a.store::after,
	.storeBtn a::after{
		content:"";
		display: inline-block;
		width: 26px;
		height: 24px;
		margin-left: .5em;
		margin-top: -.25em;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: auto 100%;
		background-image: url(/common/images/icon_cart.svg);
		vertical-align: middle;
		line-height: 24px;
	}
	.short .headshopnav3 li a.store::after{
		width: 22px;
		height: 20px;
	}
	
	/*.gnavshop2*/
	.gnavshop2{
		width: 100%;
		max-width: 1200px;
		min-width: 1024px;
		margin: 0 auto 80px;
		padding: 22px 0;
		background-color: #DE580D;
		font-size: 14px;
		line-height: 18px;
		text-align: center;
	}
		.short .gnavshop2{}
	.gnavshop2 ul{
		display: inline-block;
		overflow: hidden;
	}
	.short .gnavshop2 ul{
	}
	.gnavshop2 li{
		float: left;
		border-right: 1px solid #fff;
	}
	.gnavshop2 li:first-child{
		border-left: 1px solid #fff;
	}
	.gnavshop2 li a:not(.sp){
		display: inline-block;
		color: #fff;
		padding: 0 1.5em;
	}
	.gnavshop2 li a:hover,
	.gnavshop2 li.on a{
		color: #FCCE00;
	}
	.gnavshop2 li a br{
		display: none;
	}

	/*headLocalNav*/
	.headLocalNav{
		display:block;
		float:left;
		width:154px;
		background:url(../images/com_bg04.gif) no-repeat left 50%;
		margin-top:10px;
		margin-left: 19px;
	}
	.headLocalNav ul{
		padding-left:15px;
	}
	.headLocalNav ul li a{
		display:inline-block;
		padding-left:25px;
		background:url(../images/com_ic02.gif) no-repeat left 50%;
		margin-bottom:3px;
	}
	.headLocalNav ul li.head_faq a{
		display:inline-block;
		padding-left:25px;
		background:url(../images/com_ic03.gif) no-repeat left 50%;
		margin-bottom:0px;
	}
	.headLocalNav ul a span{
		font-size:90%;
		background:url(../images/com_bg05.gif) repeat-x bottom;
		color: #533c34;
	}

	.headnav1{
		position: absolute;
		left: 270px;
		top: 74px;
		width: calc(100% - 280px);
		padding: 0;
		font-size: 14px;
		line-height: 24px;
	}
	.short .headnav1{
		width: 676px;
		left: 190px;
		top: 24px;
		font-size: 12px;
		line-height: 24px;
	}
	.headnav1{
		display:flex;
		justify-content: flex-start;
		align-items: center;
		list-style-type: none;
	}
	.headnav1 li{
		position: relative;
		flex-grow: 2;
		text-align: center;
	}
	.headnav1 li:nth-child(2){
		flex-grow: 1;
		text-align: left;
	}
	.headnav1 li:nth-child(n+3)::before{
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		height: 14px;
		margin-top: -7px;
		border-left: 1px solid #433f3f;
	}
	.headnav1 li a.store::after,
	.storeBtn a::after{
		content:"";
		display: inline-block;
		width: 26px;
		height: 24px;
		margin-left: .5em;
		margin-top: -.25em;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: auto 100%;
		background-image: url(/common/images/icon_cart.svg);
		vertical-align: middle;
		line-height: 24px;
	}
	.short .headnav1 li a.store::after{
		width: 22px;
		height: 20px;
	}
	.headnav2{
		position: absolute;
		left: 270px;
		top: 36px;
		font-size: 12px;
	}
		.short .headnav2{
			display: none;
		}
	.headnav2 li{
		position: relative;
		float: left;
	}
	.headnav2 li:nth-child(5){
		padding: 0 1.5em;
		margin: 0 1.5em;
	}
	.headnav2 li:nth-child(5)::before{
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		height: 12px;
		margin-top: -6px;
		border-left: 1px solid #433f3f;
	}
	.headnav2 li:nth-child(5)::after{
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		height: 12px;
		margin-top: -6px;
		border-right: 1px solid #433f3f;
	}
	.headnav1 a,
	.headnav2 a{
		color: #433f3f;
		text-decoration: none;
	}

	#spnavbtn{
		display: none;
	}
	.gnavArea{
		display: block !important;
	}
	.detailsBox{
		display: none !important;
	}
}

@media screen and (max-width: 760px) {
	#site-header,
	.header-inner,
	.mainArea,
	.footerArea {
		width: 100%;
		max-width: 100%;
		min-width: 100%;
	}

	#site-header{
		position: fixed;
		left: 0;
		top: 0;
		background-color: #fff;
		border-top: 3px solid #fcce00;
		z-index: 10001;
	}
		#site-header.short{
			border-top: none;
			border-bottom: 1px solid #ccc;
		}

	.header-inner{
		-moz-transition: height 0.2s;
		-o-transition: height 0.2s;
		-webkit-transition: height 0.2s;
		transition: height 0.2s;
	}
		.short #site-header{
		}
	.head{
		height: 70px;
	}
		.short .head{
			height: 60px;
		}

	.sh-logo {
		position: relative;
		width: 130px;
		height: 100%;
		margin: 0 auto;
		padding: 0;
		z-index: 3000;
	}
		.short .sh-logo{
			width: 108px;
		}
	.sh-copy{
		display: none;
	}
	
	.sitehead-btnarea{
		position: static;
		display: block;
		width: 100%;
		overflow: hidden;
	}
	.sitehead-btnarea li{
		float: left;
		width: 50%;
		font-size: 13px;
	}
	.sitehead-btnarea li.reservbtn a,
	.sitehead-btnarea li.signupbtn a{
		width: 100%;
		line-height: 66px;
	}
	.sitehead-btnarea li.reservbtn a::before,
	.sitehead-btnarea li.signupbtn a::before{
		width: 13px;
		height: 17px;
	}
	.sitehead-btnarea span{
		text-indent: -9999px;
	}
	.head > .sitehead-btnarea{
		-moz-transition: all 0.2s;
		-o-transition: all 0.2s;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
		left: 0;
		position: absolute;
		top: 70px;
	}
	.short .head > .sitehead-btnarea{
		position: absolute;
		top: inherit;
		bottom: 12px;
		width: auto;
		left: 10px;
	}
	.short .head > .sitehead-btnarea li.reservbtn,
	.short .head > .sitehead-btnarea li.signupbtn{
		width: auto;
		padding-right: 10px;
	}
	.short .head > .sitehead-btnarea li a{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border-radius: 20px;
	}
	.short .head > .sitehead-btnarea li a:before{
		margin: 0;
	}
	.short .head > .sitehead-btnarea li span{
		display: none;
	}

	.sitehead-btnarea li.storeBtn{
		display: none;
	}

	#spnavbtn{
		position: absolute;
		right: 0;
		top: 4px;
		width: 60px;
		height: 60px;
		z-index: 3000;
		-moz-transition: top 0.3s;
		-o-transition: top 0.3s;
		-webkit-transition: top 0.3s;
		transition: top 0.3s;
	}
		.short #spnavbtn{
			top: 0;
		}
	#spnavbtn span {
		display: block;
		background-color: #3e3a39;
		width: 30px;
		height: 2px;
		position: absolute;
		left: 18px;
		-moz-transition: all 0.3s;
		-o-transition: all 0.3s;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}
	#spnavbtn span:first-child {
		top: 20px;
	}
	#spnavbtn span:nth-child(2) {
		margin-top: -1px;
		top: 50%;
	}
	#spnavbtn span:last-child {
		bottom: 20px;
	}
	#spnavbtn.open span {
		width: 40px;
		height: 2px;
		left: 12px;
	}
	 #spnavbtn.open span:first-child {
		-moz-transform: translateY(8px) rotate(45deg);
		-ms-transform: translateY(8px) rotate(45deg);
		-webkit-transform: translateY(8px) rotate(45deg);
		transform: translateY(9px) rotate(45deg);
	}
	#spnavbtn.open span:nth-child(2) {
		opacity: 0;
	}
	#spnavbtn.open span:last-child {
		-moz-transform: translateY(-8px) rotate(-45deg);
		-ms-transform: translateY(-8px) rotate(-45deg);
		-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-9px) rotate(-45deg);
	}
	
	/* Global Navi for SP */
	#gnavarea{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 2000;
		background: rgba(255, 255, 255, 1);
		padding-top: 73px;
	}
	#gnavarea{
		display: none;
	}
		.short #gnavarea{
			padding-top: 60px;
		}
	.headnav1,
	.short .headnav1,
	.headshopnav1,
	.short .headshopnav1{
		position: static;
		display: block;
		width: 100%;
		padding: 0;
	}
	.headnav1 li,
	.headshopnav1 li{
		border-bottom: 1px solid #f08c00;
	}
	.headnav1 li:nth-child(n+2),
	.headshopnav1 li:nth-child(n+2){
		border-left: none;
	}
	.headnav1 li:last-child,
	.headshopnav1 li:last-child{
		text-align: center;
	}
	.headnav1 li a,
	.headshopnav1 li a{
		display: flex;
		width: 100%;
		height: 68px;
		padding: 0 4%;
		align-items: center;
		justify-content: flex-start;
		color: #f08c00;
		font-size: 18px;
		line-height: 1.5;
		text-align: left;
	}
	.headshopnav1 li a.pc{
		display: none;
	}
	.headnav1 > li > a:before,
	.headshopnav1 > ul > li > a:before{
		content: "";
		display: inline-block;
		width: 45px;
		height: 45px;
		margin-right: 8px;
		background-image: url(../images/gnav_icon_sp.svg);
		background-repeat: no-repeat;
		background-size: 45px 700px;
		vertical-align: middle;
	}
	.gn-home a::before    { background-position: 0 0 }
	.gn-first a::before   { background-position: 0 -50px }
	.gn-effect a::before  { background-position: 0 -100px }
	.gn-place a::before,
	.gn-studio a::before  { background-position: 0 -150px }
	.gn-program a::before { background-position: 0 -200px }
	.gn-price a::before   { background-position: 0 -250px }
	.gn-store a::before   { background-position: 0 -300px }
	.gn-schedule a::before{ background-position: 0 -350px }
	.gn-staff a::before   { background-position: 0 -400px }
	.gn-blog a::before    { background-position: 0 -450px }
	
	.headnav1 > li > a:after,
	.headshopnav1 > ul > li > a:after,
	.headnav2 > li > a:after,
	.headshopnav2 > ul > li > a:after{
		content: "";
		display: inline-block;
		width: 15px;
		height: 45px;
		margin-left: auto;
		background-image: url(../images/gnav_icon_sp.svg);
		background-repeat: no-repeat;
		background-position: -30px -500px;
		background-size: 45px 700px;
		vertical-align: middle;
	}
	.headnav1 > li.accBox > a:after{
		width: 45px;
		height: 45px;
		background-position: 0 -550px;
	}
	.headnav1 > li.accBox > a.open:after{
		width: 45px;
		height: 45px;
		background-position: 0 -600px;
	}
	.detailsBox{
		background-color: #fef7ed;
		text-align: left;
	}
	.detailsBox li{
		border-bottom: none;
		border-top: 1px dashed #f08c00;
	}
	.detailsBox li a{
		font-size: 15px;
	}
	.detailsBox > li > a:before{
		content: "";
		display: inline-block;
		width: 45px;
		height: 45px;
		margin-right: 8px;
		background-image: url(../images/gnav_icon_sp.svg);
		background-repeat: no-repeat;
		background-position: 0 -650px;
		background-size: 45px 700px;
		vertical-align: middle;
	}
	.headnav2,
	.headshopnav2{
		position: static;
		overflow: hidden;
	}
	.headnav2 li,
	.headshopnav2 li{
		float: left;
		width: 50%;
		border-bottom: 1px solid #f08c00;
	}
	.headnav2 li:nth-child(2n-1),
	.headshopnav2 li:nth-child(2n-1){
		border-right: 1px solid #f08c00;
	}
	.headnav2 li:nth-child(2),
	.headshopnav2 li:nth-child(2){
		padding: 0;
		margin: 0;
		border-left: none;
		border-right: none;
	}
	.headnav2 li a,
	.headshopnav2 li a{
		display: flex;
		width: 100%;
		height: 68px;
		padding: 0 8%;
		align-items: center;
		justify-content: flex-start;
		color: #f08c00;
		font-size: 15px;
		line-height: 1.5;
	}
	.headshopnav3{
		display: none;
	}
	
	/*.gnavshop2*/
	.gnavshop2{
		margin-bottom: 5px;
		border-bottom: 2px solid #ffd900;
	}
	.gnavshop2 ul{
		display: table;
		width: 100%;
	}
	.gnavshop2 ul li{
		display: table-cell;
		width: 20%;
		background-color: #fff;
		font-size: 10px !important;
		line-height: 1.3;
		text-align: center;
	}
	.gnavshop2 ul li.on{
		background-color: #f8decf;
	}
	.gnavshop2 ul li:nth-child(n+2){
		border-left: 1px solid #e6e6e4;
	}
	.gnavshop2 ul li a:not(.pc){
		display: block;
		padding: 10px 0 15px;
	}
	.gnavshop2 ul li a::before{
		content: "";
		display: block;
		width: 30px;
		height: 30px;
		margin: 0 auto .5em;
		background-image: url(../images/lnav_studio_icon_sp.svg);
		background-size: 150px 30px;
		background-repeat: no-repeat;
	}
	li.lc-schedule a::before{ background-position: 0 0; }
	li.lc-price a::before	 { background-position: -30px 0; }
	li.lc-program a::before { background-position: -60px 0; }
	li.lc-staff a::before	 { background-position: -90px 0; }
	li.lc-blog a::before		{ background-position: -120px 0; }
	
	.gnavOpen{
		height: 100%;
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
		border-top: 1px solid #ccc;
	}
	
	/* Studio Global Navi for SP */
}

/* 共通フッター
=========================================*/
.footerArea{
	width:100%;
	background:#de580d;
}
.footerArea p {
	margin-bottom: 0;
}
.footerArea #site-footer{
	margin: 0 auto;
	padding:48px 0;
}
.footerArea #site-footer a{
	color: #fff;
}

/*.ft-localnav*/
.ft-localnav{
	width: 100%;
	text-align: center;
}
.ft-localnav ul{
	display: inline-block;
	overflow: hidden;
}
.ft-localnav ul li{
	display: inline-block;
}
.ft-localnav ul li:before{
	content: "";
	display: inline-block;
	height: 1em;
	border-left: 1px solid #fff;
	vertical-align: middle;
}
.ft-localnav ul li:first-child:before {
	border-left: none;
}

.ft-localnav ul li a{
	position: relative;
	display:inline-block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 1em;
	font-size:11px;
	line-height: 2em;
}

.ft-bottom{
	font-size:10px;
	padding-top:20px;
}
.ft-copyright{
	text-align: center;
	color: #fff;
}

.topBack{
	position:fixed;
	right:15px;
	bottom:15px;
	width: 70px;
	height: 70px;
	border-radius: 35px;
	background: none;
	background-color: #f5f5f5;
	overflow: hidden;
	z-index: 10000;
}
.topBack:hover{
	opacity: 1 !important;
}
.topBack a{
	background:url(../images/btn_pagetop.svg) no-repeat;
	background-size:70px 140px;
	background-position: center top;
	display:block;
	height:70px;
	width:70px;
	text-indent:-9999px;
	outline:none;
}
.topBack a:hover{
	opacity: 1 !important;
	background-position: center bottom;
}

@media screen and (max-width: 760px) {
	.footerArea #site-footer{
		margin: 0 auto;
		padding:24px 0;
	}
	.ft-localnav ul{
		max-width: 24em;
	}
	.ft-localnav ul li:nth-child(4),
	.ft-localnav ul li:nth-child(6),
	.ft-localnav ul li:nth-child(8){
		clear: left;
	}
	.ft-localnav ul li:nth-child(3):before,
	.ft-localnav ul li:nth-child(6):before {
		border-left: none;
	}
	.ft-localnav ul li:nth-child(n+4){
		margin-top: .25em;
	}
		.ft-localnav ul li a{
			font-size: 12px;
			line-height: 2.5em;
		}
	
	.topBack{
		right:5px;
		bottom:10px;
		width: 42px;
		height: 42px;
		border-radius: 21px;
	}
	.topBack a{
		height:42px;
		width:42px;
		background-size: 42px 84px;
	}
	.topBack a:hover{
		background-position: center top;
	}
}

/* メインエリア
=========================================*/
@media screen and (min-width: 761px) {
	.mainArea{
		position: relative;
		display: block;
		padding: 146px 0 0;
		z-index: 1;
	}
	.mainArea > article{
		margin-bottom: 120px;
	}
	
	/* .panKuzu */
	.panKuzu {
		position:relative;
		overflow: hidden;
		width: 100%;
		max-width: 1200px;
		min-width: 1024px;
		margin: 0 auto;
		padding: 0;
	}

	.panKuzu ul {
		display:table;
		padding: 0 10px 15px;
		z-index: -1;
	}

	.panKuzu ul li {
		display:table-cell;
		white-space:nowrap;
		font-size: 10px;
		color: #433f3f;
		padding-right: 1em;
	}

	.panKuzu ul li:nth-child(n+2):before {
		content: ">";
		display: inline-block;
		padding-right: 1em;
	}

	.panKuzu ul li:last-child {
		font-weight: 500;
		background: none;
	}

	/* Page Header */
	.article-header{
		position:relative;
		display: table;
		width: 100%;
		height:260px;
		max-width: 1200px;
		min-width:1024px;
		margin: 0 auto;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
		.article-header + section,
		.article-header + .content,
		.lnav + section,
		.lnav + .anchor-menu{
			margin-top: 100px;
		}
	.article-header h1{
		display: table-cell;
		width: 100%;
		height: 100%;
		background: url(../images/header_bg.png) repeat center top;
		color: #fff;
		font-size: 24px;
		text-align: center;
		vertical-align: middle;
	}
	.article-header h1 span.circle{
		display: inline-block;
		width: 100px;
		height: 100px;
		margin-right: 1em;
		background: #fff;
		border-radius: 50px;
		color: #DE580D;
		line-height: 100px;
		vertical-align: middle;
	}
	.article-header h1 span.catname{
		display: block;
		margin-bottom: 1em;
		font-size: .667em;
	}
	.article-header h1 span.h1-sub{
		font-size: .72em;
	}
	.article-header h1 a{
		color: #fff;
	}
	.article-header-noimg{
		padding: 50px 0 20px;
	}

	
	/* localnavi(PC) */
	.lnav{
		width: 100%;
		max-width: 1200px;
		min-width: 1024px;
		margin: 0 auto;
		padding: 22px 0;
		background-color: #DE580D;
		font-size: 14px;
		line-height: 18px;
		text-align: center;
	}
	.lnav ul{
		display: inline-block;
		overflow: hidden;
	}
	.lnav ul li{
		float: left;
		border-right: 1px solid #fff;
	}
	.lnav ul li:first-child{
		border-left: 1px solid #fff;
	}
	.lnav ul li a{
		display: inline-block;
		color: #fff;
		padding: 0 1.5em;
	}
	.lnav ul li.on a,
	.lnav ul li a:hover{
		color: #FCCE00;
	}

	.anchor_menu{
		display: flex;
		width: 100%;
	}
	.anchor_menu li{
	}

	.inner-wrap{
		width: 1024px;
		margin: 0 auto;
	}

}

@media screen and (max-width: 760px) {
	body{
		padding: 136px 0 0;
	}
	.mainArea{
		position: relative;
		/* padding: 136px 0 0; */
		z-index: 1;
	}
	.mainArea > article{
		margin-bottom: 60px;
	}
	.article-header{
		position:relative;
		display: table;
		width: 100%;
		height:120px;
		margin-bottom: 40px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
		.article-header + section,
		.lnav + section,
		.lnav + .anchor-menu{
			margin-top: 40px;
		}
	.article-header h1{
		display: table-cell;
		width: 100%;
		height: 100%;
		background: url(../images/header_bg.png) repeat center top;
		color: #fff;
		font-size: 17px;
		text-align: center;
		vertical-align: middle;
	}
	.article-header h1 span.circle{
		display: inline-block;
		width: 66px;
		height: 66px;
		margin-right: 1em;
		background: #fff;
		border-radius: 33px;
		color: #DE580D;
		line-height: 66px;
		vertical-align: middle;
	}
	.article-header h1 span.catname{
		display: block;
		margin-bottom: 1em;
		font-size: .667em;
	}
	.article-header h1 span.h1-sub{
		font-size: .72em;
	}
	.article-header-noimg{
		padding: 30px 0 0;
	}

	#studio-header{
		background-image: url(../images/visual_studio.jpg);
		margin-bottom: 0 !important;
	}
	.inner-wrap{
		width: 100%;
		margin: 0 auto;
		padding: 0 4.28%;
		box-sizing: border-box;
	}
	
	/* localnavi(SP) */
	.lnav{
		margin-bottom: 40px;
		border-bottom: 2px solid #ffd900;
	}
	.lnav ul{
		display: table;
		width: 100%;
		height: 100%;
	}
	.lnav ul li{
		display: table-cell;
		width: 20%;
		height: 100%;
		background-color: #fff;
		font-size: 10px !important;
		line-height: 1.3;
		text-align: center;
	}
	.lnav ul li.on{
		background-color: #f8decf;
	}
	.lnav ul li:nth-child(n+2){
		border-left: 1px solid #e6e6e4;
	}
	.lnav ul li a{
		display: block;
		height: 100%;
		padding: 10px 0 20px;
	}
	.lnav ul li a::before{
		content: "";
		display: block;
		width: 30px;
		height: 30px;
		margin: 0 auto .25em;
		background-image: url(../images/lnav_studio_icon_sp.svg);
		background-size: 150px 30px;
		background-repeat: no-repeat;
	}
	li.lc-schedule a::before{ background-position: 0 0; }
	li.lc-price a::before	 { background-position: -30px 0; }
	li.lc-program a::before { background-position: -60px 0; }
	li.lc-staff a::before	 { background-position: -90px 0; }
	li.lc-blog a::before		{ background-position: -120px 0; }
}

/* 共通要素：LAVAの想い
=========================================*/
@media screen and (min-width: 761px) {
	#ft-about{
		padding: 120px 0;
		background: #ffffff;
		background: -moz-linear-gradient(top, #ffffff 0%, #ffffff 38%, #f5f5f5 38%, #f5f5f5 100%);
		background: -webkit-linear-gradient(top, #ffffff 0%,#ffffff 38%,#f5f5f5 38%,#f5f5f5 100%);
		background: linear-gradient(to bottom, #ffffff 0%,#ffffff 38%,#f5f5f5 38%,#f5f5f5 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f5f5f5',GradientType=0 );
	}
	#ft-about .ft-about-img{
		width: 700px;
		margin: 0 auto 70px;
	}
	#ft-about .ft-about-inner{
		display: table;
		width: 576px;
		margin: 0 auto;
		text-align: center;
		overflow: hidden;
	}
	#ft-about .ft-about-logo,
	#ft-about .ft-about-content{
		display: table-cell;
		vertical-align: bottom;
		box-sizing: border-box;
	}
	#ft-about .ft-about-logo{
		width: 195px;
		padding-right: 35px;
		border-right: #c8c8c8 solid 1px;
	}
	#ft-about .ft-about-content{
		padding-left: 35px;
	}
	#ft-about h2{
		margin-bottom: 30px;
		font-size: 24px;
	}
	#ft-about p{
		margin: 0;
	}
	#ft-about .btn{
		display: block;
		width: 360px;
		height: 90px;
		margin: 0 auto;
		background: #fff;
		border: 1px solid #de580d;
		border-radius: 45px;
		color: #de580d;
		font-size: 22px;
		line-height: 90px;
		font-weight: 500;
		text-align: center;
	}
}

@media screen and (max-width: 760px) {
	#ft-about{
		padding: 0 0 40px;
		text-align: center;
	}
	#ft-about .ft-about-img{
		margin: 0 0 40px;
	}
	#ft-about .ft-about-logo{
		margin:0 0 26px;
	}
	#ft-about .ft-about-logo img{
		width: 71px;
		height: 106px;
	}
	#ft-about .ft-about-content{
	}
	#ft-about h2{
		margin-bottom: 30px;
		font-size: 17px;
	}
	#ft-about p{
		margin: 0;
	}
	#ft-about .btn{
		display: block;
		width: 250px;
		height: 60px;
		margin: 0 auto;
		background: #fff;
		border: 1px solid #de580d;
		border-radius: 30px;
		color: #de580d;
		font-size: 15px;
		line-height: 60px;
		font-weight: 700;
		text-align: center;
	}
}

/* 共通要素：CTA
=========================================*/
#ft-cta{
	padding: 110px 0;
	background: url(../images/com_cta_bg.jpg) no-repeat center center /cover;
}
#ft-cta .cta-content{
	margin: 0 auto;
	padding: 0;
	color: #fff;
	font-size: 14px;
	text-align: center;
}
#ft-cta .cta-content h2{
	margin-bottom: 52px;
	font-size: 21px;
}
#ft-cta .colWrap{
	margin: 0;
}
a.btn-entry::before{
	content: "";
	display: inline-block;
	margin-right: .5em;
	background-image: url(/common/images/icon_entrybtn.svg);
	background-repeat: no-repeat;
	background-position: 0 top;
	background-size: 100% 200%;
	width: 1em;
	height: 1.66em;
	vertical-align: -.4em;
}
.btnEntry a:hover::before,
a.btn-entry:hover::before{
	background-position: 0 bottom;
}
#ft-cta h3{
	margin-bottom: 12px;
	font-size: 18px;
}
#ft-cta .tenpoTel{
	margin-bottom: 16px;
}
#ft-cta .telInfo a{
	color: #fff;
	font-size: 38px;
}
#ft-cta .callTime{
	font-size: 18px;
}
#ft-cta .note{
	margin-top: 16px;
}

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

@media screen and (max-width: 760px) {
	#ft-cta{
		padding: 45px 10px;
	}
	#ft-cta .content{
		font-size: 12px;
	}
	#ft-cta .content h2{
		margin-bottom: 20px;
		font-size: 17px;
	}
	#ft-cta .btnEntry{
		width: 250px;
		height: 60px;
		margin-bottom: 20px;
		border-radius: 30px;
		font-size: 15px;
		line-height: 60px;
		font-weight: 700;
	}
	#ft-cta h3{
		margin-bottom: 12px;
		font-size: 14px;
	}
	#ft-cta .tenpoTel{
		margin-bottom: 16px;
	}
	#ft-cta .telInfo a{
		font-size: 28px;
	}
	#ft-cta .callTime{
		font-size: 14px;
	}
	#ft-cta .note{
		margin-top: 16px;
	}}


/* 共通要素：サイトマップ
=========================================*/
#ft-sitemap *{
	box-sizing: border-box;
}
#ft-sitemap {
	background-color: #fff;
}
#ft-sitemap a,
#ft-sitemap a:visited,
#ft-sitemap a:hover{
	color: #433f3f;
}
#ft-sitemap > .switch {
	font-size: 1.15em;
	text-align: center;
	cursor: pointer;
}
#ft-sitemap > .switch > a {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 2em 0 2em 22px;
	color: #533c34;
	outline: none;
}
#ft-sitemap > .switch > a::before {
	content: "＋";
	display: inline-block;
	margin-right: .25em;
}
#ft-sitemap > .switch.open > a:before {
	content: "－";
}
#ft-sitemap > .details {
	display: none;
	width: 1024px;
	margin: 0 auto;
	padding: 0 0 50px;
}

/* Sitemap content style */
.list-sitemap {
	margin: 0;
	padding: 0;
	border-top: 1px solid #d6d7d7;
	overflow: hidden;
}
.list-sitemap > li > a {
	color: inherit;
	font-size: 16px;
	line-height: 22px;
	font-weight: 500;
}
.list-sitemap > li > a::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: .25em;
	background-image: url(../images/icon_accname.svg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% 200%;
	font-size: 22px;
	line-height: normal;
	vertical-align: -.2em;
}
.list-sitemap li.category01,
.list-sitemap li.category02,
.list-sitemap li.category03,
.list-sitemap li.category04{
	margin: 0;
	padding: 24px 0;
	border-bottom: 1px solid #d6d7d7;
}

@media screen and (min-width: 761px) {
	#ft-sitemap .list-sitemap a:hover,
	.list-sitemap a:hover{
		color: #de580d;
	}
	.list-sitemap li {
		float: left;
		width: 30%;
		margin-top: 20px;
		margin-right: 3.3%;
	}
	.list-sitemap a:hover{
		opacity: 1;
		color: #de580d;
	}
	.list-sitemap > li > a:hover::before{
		background-position: center top;
	}
	.list-sitemap > li > ul {
		overflow: hidden;
	}
	.list-sitemap > li > ul > li {
		float: left;
		width: 30%;
		margin: 10px 3.3% 0 0;
		padding: 0;
	}
	.list-sitemap > li.category03 > ul > li {
		width: 10%;
		margin: 10px 0 0 0;
	}
	.list-sitemap li.category01,
	.list-sitemap li.category02,
	.list-sitemap li.category03,
	.list-sitemap li.category04{
		clear: left;
		width: 100%;
	}
	.list-sitemap li.category03 li{
		width: 10%;
		margin-right: 0;
	}
}

@media screen and (max-width: 760px) {
	#ft-sitemap{ display: none; }
	.list-sitemap li {
		margin-top: 16px;
	}
	.list-sitemap > li{
		padding: 0 0 16px;
		border-bottom: 1px solid #d6d7d7;
	}
	.list-sitemap > li > ul {
		overflow: hidden;
		margin-left: 33px;
	}
	.list-sitemap > li.category03 > ul > li {
		float: left;
		width: 6em;
		margin: 15px 1em 0 0;
	}
}

