@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;

	font-size: 1em;
}

body {
	font-size: 62.5%;
}

body,
table,
input, textarea, select, option {
	font-family: "游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

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

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a,
a:link {
	color: #FFF;
	text-decoration: none;
}

a:visited {
	color: #FFF;
}

a:hover {
	color: #FFF;
}

a:active {
	color: #FFF;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
html,body {
	overflow-x: hidden;
}

body {
	color: #FFF;
	font-size: 13px;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}

.js-animsition {
	position: relative;
	left: -500px;
	opacity: 0;
	transition: all 1.5s;
	-webkit-transition: all 1.5s;
}

.js-animsition.animated {
	left: 0;
	opacity: 1;
}

#container {
	text-align: left;
}

#main {
	padding: 60px;
	overflow: hidden;
	box-sizing: border-box;
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 16px 0 20px;
	width: 100%;
	position: fixed;
	left: -500px;
	top: 0;
	z-index: 9999;
	transition: all 1.5s;
	-webkit-transition: all 1.5s;
	text-align: center;
	background-color: #FFF;
}

.js-animsition.animated #gHeader {
	left: 0;
}

#gHeader a:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#gHeader .menu {
	display: none;
}

/*------------------------------------------------------------
	menuBox
------------------------------------------------------------*/
.menuBox {
	width: 60px;
	height: 100%;
	position: fixed;
	left: -500px;
	top: 0;
	z-index: 9998;
	transition: all 1.5s;
	-webkit-transition: all 1.5s;
	background-color: #FFF;
}

.js-animsition.animated .menuBox {
	left: 0;
}

.menuBox .menuBtn {
	display: block;
	height: 100%;
	position: relative;
	z-index: 3;
}

.menuBox .menuBtn img {
	margin: -16px 0 0 -16px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
}

.menuBox .menuBtn:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

.menuBox .menu-content {
	width: 0;
	height: 100%;
	left: 30px;
	top: 0;
	position: fixed;
	overflow: hidden;
	box-sizing: border-box;
	transition: width 0.4s linear;
	-webkit-transition: width 0.4s linear;
}

.menuBox.open .menu-content {
	min-width: 25.1%;
	width: 25.1%;
	transition-delay: 0.1s;
	-webkit-transition-delay: 0.1s;
}

.menuBox .menu-content-inner {
	padding: 60px 0 60px 30px;
	width: 100%;
	height: 100%;
	display: table;
	box-sizing: border-box;
}

.menuBox .menu-content-main {
	width: 100%;
	height: 100%;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	perspective: 500px;
	-webkit-perspective: 500px;
	-webkit-transition: -webkit-transform .4s ease;
	transition: transform .4s ease;
	-webkit-transform: perspective(500px) rotateY(90deg);
	transform: perspective(500px) rotateY(90deg);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	background-color: #FFF;
}

.menuBox.open .menu-content-main {
	transform: none;
	-webkit-transform: none;
}

.menuBox .menu-content-main li {
	padding: 3.5% 0;
	opacity: 0;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}

.menuBox .menu-content-main li:first-child {
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:first-child {
	transition-delay: 0.3s;
	-webkit-transition-delay: 0.3s;
}

.menuBox .menu-content-main li:nth-child(2) {
	transform: translateY(20px);
	-webkit-transform: translateY(20px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(2) {
	transition-delay: 0.4s;
	-webkit-transition-delay: 0.4s;
}

.menuBox .menu-content-main li:nth-child(3) {
	transform: translateY(30px);
	-webkit-transform: translateY(30px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(3) {
	transition-delay: 0.5s;
	-webkit-transition-delay: 0.5s;
}

.menuBox .menu-content-main li:nth-child(4) {
	transform: translateY(40px);
	-webkit-transform: translateY(40px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(4) {
	transition-delay: 0.6s;
	-webkit-transition-delay: 0.6s;
}

.menuBox .menu-content-main li:nth-child(5) {
	transform: translateY(50px);
	-webkit-transform: translateY(50px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(5) {
	transition-delay: 0.7s;
	-webkit-transition-delay: 0.7s;
}

.menuBox .menu-content-main li:nth-child(6) {
	transform: translateY(60px);
	-webkit-transform: translateY(60px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(6) {
	transition-delay: 0.8s;
	-webkit-transition-delay: 0.8s;
}

.menuBox .menu-content-main li:nth-child(7) {
	transform: translateY(70px);
	-webkit-transform: translateY(70px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(7) {
	transition-delay: 0.9s;
	-webkit-transition-delay: 0.9s;
}

.menuBox .menu-content-main li:nth-child(8) {
	transform: translateY(80px);
	-webkit-transform: translateY(80px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(8) {
	transition-delay: 1s;
	-webkit-transition-delay: 1s;
}

.menuBox .menu-content-main li:nth-child(9) {
	transform: translateY(90px);
	-webkit-transform: translateY(90px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}

.menuBox.open .menu-content-main li:nth-child(9) {
	transition-delay: 1.1s;
	-webkit-transition-delay: 1.1s;
}

.menuBox.open .menu-content-main li {
	transform: translateY(0);
	-webkit-transform: translateY(0);
	opacity: 1;
}

.menuBox .menu-content-main li.liStyle {
	padding: 7% 0 0;
}

.spMenuBox {
	display: none;
}

/*------------------------------------------------------------
	sLink
------------------------------------------------------------*/
.sLink {
	width: 60px;
	height: 100%;
	position: fixed;
	right: 500px;
	top: 0;
	z-index: 9997;
	transition: all 1.5s;
	-webkit-transition: all 1.5s;
	background-color: #FFF;
}

.js-animsition.animated .sLink {
	right: 0;
}

.sLink a {
	position: absolute;
	left: 50%;
    top: 50%;
    margin-left: -13px;
    width: 26px;
	color: #573c26;
	font-size: 15px;
    text-align: center;
    box-sizing: border-box;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.sLink a:hover {
	cursor: pointer;
}
.sLink a:hover img{
	opacity: 1;
}
.sLink a.nextLink {
	position: absolute;
	left: auto;
	right: -270px;
	opacity: 0;
    top: 50%;
    margin-top: -45px;
    margin-left: 0;
    width: auto;
    box-sizing: border-box;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 1.0s;
	-webkit-transition: all 1.0s;
}
.sLink a.hoverLink {
	right: 0px;
	opacity: 1;
    box-sizing: border-box;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.sLink a span {
	width: 1em;
	display: inline-block;
	word-break: break-all;
	line-height: 1.2;
	position: relative;
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}

.sLink a:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

/*------------------------------------------------------------
	copyright
------------------------------------------------------------*/
.copyright {
	width: 100%;
	height: 60px;
	position: fixed;
	left: -500px;
	bottom: 0;
	transition: all 1.5s;
	-webkit-transition: all 1.5s;
	z-index: 9999;
	color: #492808;
	font-size: 11px;
	line-height: 60px;
	text-align: center;
	background-color: #FFF;
}

.js-animsition.animated .copyright {
	left: 0;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 69px 60px 95px;
	position: relative;
	box-sizing: border-box;
	background: url(img/common/footer_bg.gif) repeat center top;
}

#gFooter .fInner {
	margin: 0 auto 30px;
	width: 90%;
	max-width: 1002px;
}

#gFooter .fNavi {
	margin-bottom: 17px;
	text-align: center;
}

#gFooter .fNavi > li {
	padding: 0 40px 40px 0;
	/*width: 160px;
	float: left;*/
	display: inline-block;
	text-align: left;
	vertical-align: middle;
	min-height: 131px;
}

/*#gFooter .fNavi > li:nth-child(2) {
	width: 148px;
}

#gFooter .fNavi > li:nth-child(3) {
	width: 130px;
}

#gFooter .fNavi > li:nth-child(4) {
	width: 145px;
}

#gFooter .fNavi > li:nth-child(5) {
	width: 124px;
}

#gFooter .fNavi > li:nth-child(6) {
	width: 128px;
}*/
#gFooter .fNavi > li:nth-child(7) {
	width: auto;
	padding-right: 0;
}

#gFooter .fInner li ul {
	margin-top: 19px;
}

#gFooter .fInner li li {
	padding-top: 8px;
	font-size: 12px;
	letter-spacing: 1px;
}

#gFooter .fInner li li a:hover {
	opacity: 0.1;
}

#gFooter .linkBox p {
	margin-top: 1px;
	float: left;
	font-size: 12px;
	letter-spacing: 1px;
}

#gFooter .linkBox p a:hover {
	opacity: 0.1;
}

#gFooter .linkBox ul {
	float: right;
}

#gFooter .linkBox li {
	padding: 0 2px 0 13px;
	float: left;
	color: #FFF;
	font-size: 13px;
}

#gFooter .linkBox li:first-child {
	padding-right: 6px;
}

#gFooter .fBox {
	padding-top: 27px;
	border-top: 1px solid #44403B;
}

#gFooter .fBox .subBox {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}

#gFooter .fBox ul {
	margin-top: 9px;
	float: left;
}

#gFooter .fBox li {
	float: left;
}

#gFooter .fBox li:first-child {
	margin-right: 20px;
}

#gFooter .fBox .logoBox {
	float: right;
}

#gFooter .fBox .logoBox p {
	margin-top: 6px;
	font-size: 12px;
	text-align: right;
}

.sp {
	display: none !important;
}

@media all and (min-width: 768px) and (max-width: 900px) {
	#gFooter .fBox ul {
		margin: 0 auto 20px;
		width: 380px;
		float: none;
	}

	#gFooter .fBox .logoBox {
		float: none;
		text-align: center;
	}

	#gFooter .fBox .logoBox p {
		text-align: center;
	}
}

@media all and (min-width: 0) and (max-width: 767px) {

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	.menuBox {
		display: none;
	}

	img {
		width: 100%;
	}

	a:hover img {
		opacity: 1 !important;
	}

	.sLink {
		display: none;
	}

	#gHeader {
		padding: 13px 0 15px;
	}

	#gHeader h1 img {
		width: 155px;
	}

	#gHeader .menu {
		width: 35px;
		position: absolute;
		left: 10px;
		top: 8px;
		display: block;
	}

	#gHeader .menu a {
		padding: 10px;
		display: block;
		background: url(img/common/sp_menu_close.gif) no-repeat 10px 10px;
		background-size: 15px auto;
	}

	#gHeader .menu .on img {
		visibility: hidden;
	}

	.copyright {
		display: none;
	}

	.spMenuBox {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 9998;
		overflow-y: auto;
		background-color: #FFF;
	}

	.spMenuBox ul:first-child {
		margin: 80px 0 10px;
	}

	.spMenuBox ul:first-child li {
		margin: 0 auto;
		padding-bottom: 35px;
		width: 92px;
	}

	.spMenuBox ul:last-child {
		margin: 0 auto 20px;
		width: 292px;
	}

	.spMenuBox ul:last-child li {
		padding: 0 6px;
		width: 134px;
		float: left;
	}

	#gFooter {
		padding: 17px 0 36px;
	}

	#gFooter .fInner {
		margin: 0 20px 17px;
		width: auto;
	}

	#gFooter .fInner .fNavi  > li {
		padding: 0 !important;
		width: 100% !important;
		float: none;
		border-bottom: 1px solid #44403C;
		min-height: inherit;
		min-height: auto;
	}

	#gFooter .fNavi {
		margin-bottom: 20px;
	}

	#gFooter .fNavi a {
		padding-left: 13px;
		display: block;
		position: relative;
	}

	#gFooter .fNavi a:after {
		margin-top: -5px;
		width: 6px;
		height: 10px;
		position: absolute;
		right: 15px;
		top: 50%;
		background: url(img/common/icon01.gif) no-repeat;
		background-size: 6px auto;
		content: "";
	}

	#gFooter .fNavi ul {
		display: none;
	}

	#gFooter .fNavi li img {
		width: 86px;
	}

	#gFooter .linkBox p {
		margin-bottom: 8px;
		float: none;
		font-size: 11px;
		text-align: center;
	}

	#gFooter .linkBox p span {
		display: none;
	}

	#gFooter .linkBox ul {
		float: none;
		text-align: center;
	}

	#gFooter .linkBox li {
		padding: 0 7px;
		float: none;
		display: inline-block;
		font-size: 10px;
	}

	#gFooter .linkBox li:first-child {
		font-size: 12px;
		vertical-align: middle;
	}

	#gFooter .linkBox li img {
		width: auto;
		height: 12px;
		vertical-align: middle;
	}

	#gFooter .fBox {
		padding-top: 20px;
	}

	#gFooter .fBox ul {
		margin: 0 auto 35px;
		width: 280px;
		float: none;
	}

	#gFooter .fBox li {
		margin: 0 !important;
		width: 132px;
		float: left;
	}

	#gFooter .fBox li:last-child {
		float: right;
	}

	#gFooter .fBox .logoBox {
		float: none;
	}

	#gFooter .fBox .logoBox div {
		margin: 0 auto 10px;
		width: 175px;
	}

	#gFooter .fBox .logoBox p {
		font-size: 9px;
		text-align: center;
	}
}

@media all and (min-width: 768px) {
	.spMenuBox {
		display: none !important;
	}
}

/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }

/* フォントの大きさ（プラス） */
.fsP1 { font-size: 1.08em !important; }
.fsP2 { font-size: 1.16em !important; }
.fsP3 { font-size: 1.24em !important; }
.fsP4 { font-size: 1.32em !important; }
.fsP5 { font-size: 1.4em !important; }

/* フォントの大きさ（マイナス） */
.fsM1 { font-size: 0.92em !important; }
.fsM2 { font-size: 0.84em !important; }
.fsM3 { font-size: 0.76em !important; }
.fsM4 { font-size: 0.68em !important; }
.fsM5 { font-size: 0.6em !important; }

/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	mainBox
------------------------------------------------------------*/
#main .mainBox {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}

/*------------------------------------------------------------
	fixBg
------------------------------------------------------------*/
#main .fixBg {
	width: 100%;
	height: 100%;
	position: fixed;
	left: -500px;
	top: 0;
	opacity: 0;
	transition: all 1.5s;
	-webkit-transition: all 1.5s;
	-webkit-overflow-scrolling: touch;
	background: url(img/common/main_box_bg.jpg) repeat center top;
}

.js-animsition.animated #main .fixBg {
	opacity: 1;
	left: 0;
}

/*------------------------------------------------------------
	topBox
------------------------------------------------------------*/
#main .topBox {
	margin: -60px;
	padding: 60px;
	height: 100vh;
	overflow: hidden;
	box-sizing: border-box;
	background: url(img/concept/top_box_bg.jpg) no-repeat center top;
	background-size: cover;
}

#main .topBox .subBox {
	height: 100%;
	position: relative;
	overflow: hidden;
}

#main .topBox h2 {
	padding-bottom: 150px;
	width: 90%;
	max-width: 1000px;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 11;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}

#main .topBox .photo {
	padding: 40px 0;
	width: 90%;
	max-width: 1200px;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 10;
	text-align: right;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	box-sizing: border-box;
}

#main .topBox .photo img {
	height: 100%;
	max-height: 663px;
	width: auto;
}

#main .topBox .bgBox {
	width: 100%;
	height: 154px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #15110B;
}

#main .topBox .ulBox {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
	position: absolute;
	left: 50%;
	bottom: 25px;
	z-index: 11;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

#main .topBox .ulBox ul {
	width: 320px;
}

#main .topBox .ulBox li {
	padding: 0 20px 20px 0;
	display: inline-block;
}

#main .topBox .ulBox li a {
	padding-left: 20px;
	display: inline-block;
	font-size: 14px;
	background: url(img/common/icon02.png) no-repeat left center;
}

@media all and (-ms-high-contrast:none){
	#main .topBox .ulBox li a {
		background: url(img/common/icon02.png) no-repeat left 3px;
	}
}

#main .topBox .ulBox li a:hover {
	text-decoration: underline;
}

/*------------------------------------------------------------
	fadeIn
------------------------------------------------------------*/
#main .fadeIn {
	opacity: 0;
	transition: opacity 1s;
	-webkit-transition: opacity 1s;
}

#main .fadeIn.animated {
	opacity: 1;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#main .mainBox {
		width: 100%;
	}

	#main .fixBg {
		display: none;
	}

	#main .topBox {
		margin-bottom: 0;
		padding-bottom: 95px;
		height: auto;
		background: none;
	}

	#main .topBox .subBox {
		padding: 20px 15px 29px;
		overflow: visible;
		background: url(img/concept/sp_top_box_bg.jpg) no-repeat center top;
		background-size: cover;
	}

	#main .topBox .photo {
		padding: 0;
		width: auto;
		height: auto;
		position: static;
		transform: none;
		-webkit-transform: none;
	}

	#main .topBox .photo img {
		margin-left: 19%;
		width: 81%;
		max-width: inherit;
		height: auto;
	}

	#main .topBox h2 {
		padding-bottom: 0;
		width: 100%;
		left: 20px;
		transform: translate(0,-50%);
		-webkit-transform: translate(0,-50%);
	}

	#main .topBox h2 img {
		width: 206px;
	}

	#main .topBox .ulBox {
		width: auto !important;
		left: 20px;
		bottom: -85px;
		transform: none;
		-webkit-transform: none;
	}

	#main .topBox .ulBox ul {
		width: auto;
	}

	#main .topBox .ulBox li {
		padding: 0 18px 11px 0;
	}

	#main .topBox .ulBox li a {
		padding-left: 16px;
		font-size: 13px;
		background-position: left 4px;
	}

	#main .topBox .bgBox {
		height: 95px;
		bottom: -95px;
	}
}

/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
#home #container {
	overflow: hidden;
}

#home #gHeader,
#home .copyright,
#home .menuBox {
	left: 0 !important;
	opacity: 1 !important;
}

#home .sLink {
	right: 0 !important;
	opacity: 1 !important;
}

#home .topVisual {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: fixed;
	z-index: 10000;
	background-color: #16110A;
}

#home .topVisual .logo {
	padding: 0 60px;
	max-width: 920px;
	width: 90%;
	position: absolute;
	left: 50%;
	top: 50%;
	overflow: hidden;
	box-sizing: border-box;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}

#home .topVisual .logo img {
	width: 100%;
}

#home .topVisual .logo span {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	transition: all 1s;
	-webkit-transition: all 1s;
	background-color: #16110A;
}

#home .topVisual .logo.show span {
	top: 100%;
}

#home .topVisual .audioSelect {
	position: absolute;
	top: 55%;
	margin-top: 100px;
	width: 100%;
	text-align: center;
}
#home .topVisual .audioSelect p{
	color: #bbbbba;
	font-size: 13px;
	line-height: 1.8em;
	margin-bottom: 18px;
}
#home .topVisual .audioSelect ul{
	overflow: hidden;
}
#home .topVisual .audioSelect ul li{
	display: inline-block;
	margin: 0 5px;
}
#home .topVisual .audioSelect ul li:hover{
	cursor: pointer;
}
#home .topVisual .audioSelect ul li img{
	vertical-align: middle;
}
#home #main {
	height: 100vh;
	position: relative;
}

#home #main .movie {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
}

#home #main .movie video {
	width: 100%;
	height: auto;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}


#home #main .movie span {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/index/movie_bg.png) repeat left top;
}

#home #main ul {
	position: absolute;
	left: 99px;
	top: 89px;
}

#home #main li {
	margin-right: 15px;
	float: left;
	color: #FFF;
	font-size: 13px;
}

#home #main li:first-child {
	margin-right: 20px;
}

#home #main .voiceBtn {
	position: absolute;
	right: 99px;
	top: 89px;
	cursor: pointer;
	color: #FFF;
	font-size: 20px;
}

#home #main .voiceBtn .fa-volume-off {
	display: none;
}

#home #main h2 {
	padding: 0 60px;
	width: 90%;
	max-width: 920px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	z-index: 10;
	box-sizing: border-box;
}

#home #main h2 img {
	width: 100%;
}

#home #main .link {
	position: absolute;
	right: 80px;
	bottom: 80px;
	background-color: #FFF;
}

#home #main .link a:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#home #main .play {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 100px;
	text-align: center;
}

#home #main .pop {
	padding: 60px;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1000;
	display: none;
	box-sizing: border-box;
}

#home #main .pop .videoBox {
	height: 100%;
	position: relative;
	background-color: #FFF;
}

#home #main .pop video {
	width: auto;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

#home #main .pop .close {
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 10000;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#home {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}

	#home,
	#home #container {
		height: 100%;
		overflow: hidden;
	}

	#home .topVisual .logo {
		padding: 0;
		width: 280px;
		position: absolute;
		left: 50%;
		top: 50%;
		overflow: hidden;
	}

	#home #main {
		padding: 0;
		height: 100%;
		overflow: hidden;
	}

	#home #main .voiceBtn,
	#home #main ul,
	#home #main .link,
	#home #main .play {
		display: none;
	}

	#home #main .movie {
		/*background: url(img/index/sp_movie_bg.jpg) no-repeat center top;
		background-size: cover;*/
	}

	#home #main .movie video {
		/*display: none;*/
		display: block;
	    object-fit: cover;
	    /*object-position: center center;*/
	    left: 0;
	    right: 0;
	    width: 100%;
	    height: 100%;
	}

	#home #main .pop {
		display: none !important;
	}

	#home #main .pop.moviePage{
		display: block!important;
		padding: 20px 4%;
	}
	#home #main .pop.moviePage video{
		width: 100%;
	}

	#home #main .movie span {
		background-size: 2px 2px;
	}

	#home .sLink {
		width: 100%;
		height: auto;
		top: inherit;
		bottom: 0;
		display: block;
		background-color: rgba(0,0,0,0.5);
	}

	#home .sLink a {
		margin: 0;
		width: 100%;
		height: 100%;
		display: block;
		position: static;
		transform: none;
		-webkit-transform: none;
		padding: 0;
	}
	#home .sLink a:after {
		display: none;
	}

	#home .sLink img {
		margin: 0 auto;
		width: 320px;
	}

	#home #main h2 {
		padding: 0;
		width: 280px;
	}
}

/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#news #main {
	padding: 310px 60px 0;
}

#news #main.nextPage {
	padding: 60px 60px 0;
}

#news #main p.page {
	display: none;
}

#news #main.nextPage p.page {
	margin-bottom: 25px;
	display: block;
	color: #492808;
	font-size: 13px;
}

#news #main .fixBg {
	background: url(img/news/fix_bg.jpg) no-repeat center top;
	background-size: cover;
}

#news #main .mainBox {
	margin-bottom: 120px;
	padding: 79px 71px 91px;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	background: url(img/common/main_box_bg.jpg) repeat-y left top;
}

#news #main.nextPage .mainBox {
	padding-top: 25px;
}

#news #main h2 {
	margin-bottom: 62px;
	text-align: center;
}

#news #main.nextPage h2 {
	display: none;
}

#news #main h2 img {
	margin: 0 auto;
}

#news #main dl {
	margin-bottom: 49px;
	letter-spacing: 1px;
	border-top: 1px solid #5C350F;
}

#news #main dt {
	padding: 17px 0 0 49px;
	float: left;
	color: #492808;
	font-size: 14px;
}

#news #main dd {
	padding: 17px 20px 17px 12.0em;
	color: #492808;
	font-size: 14px;
	background: url(img/common/line01.png) repeat-x left bottom;
}

#news #main dd:nth-child(4n) {
	background: rgba(232,214,203,0.3) url(img/common/line01.png) repeat-x left bottom;
}

#news #main dd p {
	margin-top: 20px;
}

#news #main dd a {
	color: #492808;
}

#news #main dd a.on,
#news #main dd a:hover {
	color: #e60012;
	text-decoration: underline;
}

#news #main dd .pBox {
	display: none;
}

#news #main dd .pBox .photo {
	margin-top: 20px;
}

#news #main dd .pBox img {
	margin: 0 auto;
/* 	display: block; */
	max-width: 100%;
	height: auto;
}

#news #main .wp-pagenavi {
	text-align: center;
}

#news #main .wp-pagenavi .pages,
#news #main .wp-pagenavi .first,
#news #main .wp-pagenavi .previouspostslink,
#news #main .wp-pagenavi .nextpostslink,
#news #main .wp-pagenavi .last {
	display: none;
}

#news #main .wp-pagenavi a {
	margin: 0 5px;
	box-sizing: border-box;
	-webkit-appearance: none;
	 -moz-appearance: none;
		  appearance: none;
	border: 1px solid #492808;
	color: #492808;
	font-size: 17px;
	padding: 6px 3px;
	min-width: 40px;
	display: inline-block;
	text-decoration: none;
	text-align: center;
	position: relative;
	overflow: hidden;
	z-index: 1;
	-webkit-transition: color 150ms ease-in-out;
	transition: color 150ms ease-in-out;
}

#news #main .wp-pagenavi span {
	margin: 0 5px;
	box-sizing: border-box;
	-webkit-appearance: none;
	 -moz-appearance: none;
		  appearance: none;
	color: #492808;
	font-size: 17px;
	padding: 6px 3px;
	min-width: 40px;
	overflow: hidden;
	display: inline-block;
	text-align: center;
}

@media all and (-ms-high-contrast:none){
	#news #main .wp-pagenavi span,
	#news #main .wp-pagenavi a {
		padding: 9px 3px 3px;
	}
}

#news #main .wp-pagenavi a:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
		  transform: translateX(-50%);
	width: 0;
	height: 100%;
	background: #492808;
	z-index: -1;
	-webkit-transition: width 150ms ease-in-out;
	transition: width 150ms ease-in-out;
}

#news #main .wp-pagenavi a:hover {
	color: #FFF;
}

#news #main .wp-pagenavi a:hover:after {
	width: 110%;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#news #main {
		padding: 155px 20px 0;
		background: #16110A url(img/news/sp_main_bg.jpg) no-repeat center top;
		background-size: 100% auto;
	}

	#news #main.nextPage {
		padding: 50px 20px 0;
	}

	#news #main .mainBox {
		margin-bottom: 60px;
		padding: 40px 10px;
	}

	#news #main.nextPage p.page {
		font-size: 14px;
		text-align: center;
	}

	#news #main h2 {
		margin-bottom: 28px;
	}

	#news #main h2 img {
		width: 93px;
	}

	#news #main dl {
		margin-bottom: 30px;
		letter-spacing: 0;
	}

	#news #main dt {
		padding: 12px 10px 0;
		float: none;
		font-size: 13px;
	}

	#news #main dt:nth-child(4n-1) {
		background: rgba(232,214,203,0.3);
	}

	#news #main dd {
		padding: 2px 8px 12px;
		font-size: 13px;
		letter-spacing: -1px;
		background: url(img/common/sp_line01.png) repeat-x left bottom;
		background-size: 2px 1px;
	}

	#news #main dd:nth-child(4n) {
		background: rgba(232,214,203,0.3) url(img/common/line01.png) repeat-x left bottom;
		background-size: 2px 1px;
	}

	#news #main dd .pBox p {
		line-height: 2.0;
	}

	#news #main dd .pBox .photo {
		margin: 20px -8px 0;
	}

	#news #gFooter {
		padding-top: 36px;
	}

	#news #main .wp-pagenavi a,
	#news #main .wp-pagenavi span {
		margin: 0 3px;
		padding: 3px;
		min-width: 35px;
	}

	#news #main .wp-pagenavi .extend {
		margin: 0;
		padding: 4px 0;
		min-width: inherit;
	}

	#news #main .wp-pagenavi a:hover {
		color: #492808;
	}

	#news #main .wp-pagenavi a:after {
		display: none;
	}
}

/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact #main {
	padding-bottom: 115px;
	background: url(img/common/main_box_bg.jpg) repeat center top;
}

#contact #main .mainBox {
	padding-top: 99px;
	position: relative;
}

#contact #main h2 {
	margin-bottom: 62px;
	text-align: center;
}

#contact #main .mapBox {
	margin-bottom: 109px;
}

#contact #main .mapBox .textBox {
	padding: 4px 67px 0;
	height: 400px;
	width: 50%;
	box-sizing: border-box;
	display: table;
	float: left;
	background-color: #16110B;
}

#contact #main .mapBox .textBox .subBox {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
}

#contact #main .mapBox .textBox .tel {
	margin-bottom: 30px;
}

#contact #main .mapBox .textBox .tel img {
	max-width: 100%;
}

#contact #main .mapBox p {
	margin: 0 9px 16px 3px;
	padding: 6px;
	font-size: 12px;
	text-align: center;
	border: 1px solid #8B8885;
}

@media all and (-ms-high-contrast:none){
	#contact #main .mapBox p {
		padding: 8px 6px 4px;
	}
}

#contact #main .mapBox li {
	padding-top: 21px;
	width: 100%;
	display: table;
	font-size: 13px;
	line-height: 1.2;
}

#contact #main .mapBox li span {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
}

#contact #main .mapBox li .img {
	padding: 0 12px 2px 2px;
}

#contact #main .mapBox .map {
	width: 50%;
	float: right;
}

#contact #main .mapBox .mapBox iframe {
	display: block;
}

#contact #main .h2Ttl {
	margin-bottom: 56px;
}

#contact #main .textUl {
	margin-bottom: 26px;
}

#contact #main .textUl li {
	padding-bottom: 9px;
	color: #313131;
	font-size: 14px;
}

#contact #main .textUl li a {
	color: #e60012;
	text-decoration: underline;
}

#contact #main .textUl li a:hover {
	text-decoration: none;
}

#contact #main .note {
	margin: 0 0 28px 30px;
	color: #313131;
	font-size: 14px;
}

#contact #main .thanks {
	color: #313131;
	font-size: 14px;
	text-align: center;
}

#contact #main .thanks01 {
	margin-bottom: 30px;
}

#contact #main .thanks a {
	color: #e60012;
	text-decoration: underline;
}

#contact #main .thanks a:hover {
	text-decoration: none;
}

#contact #main .note img {
	margin: -2px 9px 0 0;
	display: inline-block;
	vertical-align: middle;
}

#contact #main .mailForm {
	border-top: 1px solid #5C350F;
}

#contact #main .mailForm table {
	margin-bottom: 46px;
	width: 100%;
	border-collapse: collapse;
}

#contact #main .mailForm th {
	padding: 34px 60px 20px 30px;
	width: 26%;
	position: relative;
	color: #492808;
	font-size: 16px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	background: url(img/common/line01.png) repeat-x left bottom;
}

#contact #main .mailForm th img {
	position: absolute;
	right: 14px;
	top: 36px;
}

#contact #main .mailForm td {
	padding: 19px 48px 21px 25px;
	color: #535353;
	font-size: 16px;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	text-align: left;
	vertical-align: top;
	background: url(img/common/line01.png) repeat-x left bottom;
}

#contact #main .confirm th {
	padding: 34px 60px 34px 30px;
}

#contact #main .confirm td {
	padding: 34px 48px 34px 25px;
}

#contact #main .mailForm td input[type="text"] {
	margin: 0;
	padding: 0 20px;
	width: 100%;
	max-width: 448px;
	height: 50px;
	display: block;
	font-size: 16px;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	line-height: 50px;
	border: none;
	box-sizing: border-box;
	background-color: #FFF;
}

#contact #main .mailForm td textarea {
	margin: 0;
	padding: 16px 20px;
	width: 100%;
	height: 150px;
	font-size: 16px;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	border: none;
	box-sizing: border-box;
	background-color: #FFF;
}

#contact #main .mailForm td .code[type="text"] {
	margin-bottom: 10px;
	max-width: 188px;
}

#contact #main .mailForm td .selectBox {
	position: relative;
}

#contact #main .mailForm td select {
	margin: 0 20px 10px 0;
	padding: 0 60px 0 15px;
	width: 188px;
	left: 0;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	box-sizing: border-box;
}

#contact #main .mailForm td select option {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
}

#contact #main .mailForm td .customSelect {
	margin: 0 19px 10px 0;
	padding: 0 60px 0 20px;
	height: 50px;
	display: block;
	float: left;
	color: #535353;
	font-size: 16px;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	line-height: 50px;
	background: #FFF url(img/contact/select_icon.gif) no-repeat right top;
}

#contact #main .mailForm td .address01[type="text"] {
	margin-bottom: 10px;
	max-width: 460px;
	width: 70%;
	float: left;
}

#contact #main .mailForm td .address02[type="text"] {
	max-width: 668px;
}

#contact #main .mailForm td .radioUl {
	margin: 11px 0 8px;
}

#contact #main .mailForm td .radioUl li {
	padding-bottom: 4px;
	line-height: 2.0;
}

#contact #main .mailForm td .radioUl li input[type="radio"] {
	display: none;
}

#contact #main .mailForm td .radioUl li input[type="radio"] + label {
	padding-left: 30px;
	display: block;
	background: url(img/contact/check_off.png) no-repeat left 5px;
}

#contact #main .mailForm td .radioUl li input[type="radio"]:checked + label {
	background: url(img/contact/check_on.png) no-repeat left 5px;
}

@media all and (-ms-high-contrast:none){
	#contact #main .mailForm td .radioUl li input[type="radio"] + label,
	#contact #main .mailForm td .radioUl li input[type="radio"]:checked + label {
		background-position: left 3px;
	}
}

#contact #main .mailForm td .error {
	margin-top: 10px;
	color: #F00;
	display: block;
}

#contact #main .mailForm .text {
	margin-bottom: 25px;
	color: #313131;
	font-size: 14px;
	text-align: center;
}

#contact #main .mailForm .text a {
	color: #e60012;
	text-decoration: underline;
}

#contact #main .mailForm .text a:hover {
	text-decoration: none;
}

#contact #main .mailForm .submit {
	text-align: center;
}

#contact #main .mailForm .submit li {
	margin: 0 10px;
	max-width: 320px;
	width: 45%;
	position: relative;
	display: inline-block;
	overflow: hidden;
}

#contact #main .mailForm .submit li input {
	background: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	 -moz-appearance: none;
		  appearance: none;
	border: 1px solid #492808;
	color: #492808;
	font-size: 18px;
	padding: 18px 18px 16px;
	width: 100%;
	cursor: pointer;
	display: inline-block;
	letter-spacing: 1px;
	text-decoration: none;
	text-align: center;
	position: relative;
	z-index: 1;
	-webkit-transition: color 150ms ease-in-out;
	transition: color 150ms ease-in-out;
}

#contact #main .mailForm .submit li:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
		  transform: translateX(-50%);
	width: 0;
	height: 100%;
	background: #492808;
	-webkit-transition: width 150ms ease-in-out;
	transition: width 150ms ease-in-out;
}

#contact #main .mailForm .submit li:hover input {
	color: #FFF;
}

#contact #main .mailForm .submit li:hover:after {
	width: 110%;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#contact #main {
		padding: 50px 0 0;
	}

	#contact #main .mainBox {
		padding: 40px 20px 45px;
		box-sizing: border-box;
	}

	#contact #main h2 {
		margin-bottom: 30px;
	}

	#contact #main h2 img {
		margin: 0 auto;
		width: 163px;
	}

	#contact #main .mapBox {
		margin-bottom: 53px;
	}

	#contact #main .mapBox .textBox {
		padding: 25px 20px;
		width: 100%;
		height: auto;
		float: none;
		display: block;
	}

	#contact #main .mapBox .textBox .tel {
		margin-bottom: 14px;
		width: 222px;
	}

	#contact #main .mapBox .textBox p {
		margin: 0 0 3px;
		padding: 4px 4px 2px;
		font-size: 11px;
		letter-spacing: 0;
	}

	#contact #main .mapBox .textBox li {
		padding-top: 15px;
		font-size: 11px;
		letter-spacing: -1px;
	}

	#contact #main .mapBox .textBox li .img {
		padding-right: 10px;
	}

	#contact #main .mapBox .textBox li img {
		width: 19px;
	}

	#contact #main .mapBox .map {
		width: 100%;
		float: none;
	}

	#contact #main .mapBox .map iframe {
		height: 203px;
	}

	#contact #main .h2Ttl {
		margin-bottom: 27px;
	}

	#contact #main .h2Ttl img {
		width: 183px;
	}

	#contact #main .textUl {
		margin-bottom: 11px;
	}

	#contact #main .textUl li {
		padding-bottom: 5px;
		font-size: 12px;
	}

	#contact #main .note {
		margin: 0 0 20px;
		font-size: 12px;
	}

	#contact #main .thanks {
		font-size: 12px;
	}

	#contact #main .note img {
		width: 36px;
	}

	#contact #main .mailForm table {
		margin-bottom: 21px;
	}

	#contact #main .mailForm th {
		padding: 18px 40px 12px 12px;
		width: 100%;
		display: block;
		float: left;
		font-size: 13px;
		box-sizing: border-box;
		background: none;
	}

	#contact #main .mailForm th img {
		margin: -4px 0 0 13px;
		width: 36px;
		position: static;
		vertical-align: middle;
	}

	#contact #main .mailForm td {
		padding: 0 0 11px;
		width: 100%;
		display: block;
		float: left;
		font-size: 13px;
		box-sizing: border-box;
		background: url(img/common/sp_line01.png) repeat-x left bottom;
		background-size: 2px 1px;
	}

	#contact #main .confirm td {
		padding: 0 12px 11px;
	}

	#contact #main .mailForm td .radioUl {
		margin: 3px 15px 0;
	}

	#contact #main .mailForm td .radioUl li {
		padding-bottom: 15px;
	}

	#contact #main .mailForm td .radioUl li input[type="radio"] + label {
		padding-left: 20px;
		background-size: 17px 17px;
		background-position: left 4px;
	}

	#contact #main .mailForm td .radioUl li input[type="radio"]:checked + label {
		background-size: 17px 17px;
		background-position: left 4px;
	}

	#contact #main .mailForm td input[type="text"] {
		padding: 0 14px;
		max-width: inherit;
		height: 40px;
		font-size: 12px;
		line-height: 40px;
	}

	#contact #main .mailForm td select {
		margin-right: 0;
		padding: 0 50px 0 14px;
		width: 48%;
		height: 40px;
		line-height: 40px;
		left: inherit;
		right: 0;
		top: -50px;
		z-index: 1;
		font-size: 12px;
	}

	#contact #main .mailForm td .customSelect {
		margin-right: 0;
		padding: 0 50px 0 14px;
		position: absolute;
		right: 0;
		top: -50px;
		font-size: 12px;
		height: 40px;
		line-height: 40px;
		background-size: 40px 40px;
	}

	#contact #main .mailForm td .code[type="text"] {
		max-width: inherit;
		width: 48%;
	}

	#contact #main .mailForm td .address01[type="text"] {
		max-width: inherit;
		width: 100%;
	}

	#contact #main .mailForm td textarea {
		padding: 14px;
		height: 100px;
		font-size: 12px;
	}

	#contact #main .mailForm .text {
		margin-bottom: 17px;
		font-size: 12px;
		line-height: 1.7;
	}

	#contact #main .mailForm .submit li {
		margin: 10px 0 0;
		width: 100%;
		max-width: inherit;
	}

	#contact #main .mailForm .submit li input {
		padding: 11px 10px 10px;
		font-size: 12px;
	}

	#contact #main .mailForm .submit li:after {
		display: none;
	}

	#contact #main .mailForm .submit li:hover input {
		color: #492808;
	}

	#contact #main .mailForm input {
		border-radius: 0;
	}
}

/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
#privacy #main {
	background: url(img/common/main_box_bg.jpg) repeat center top;
}

#privacy #main .mainBox {
	padding: 100px 0 40px;
	position: relative;
}

#privacy #main h2 {
	margin-bottom: 62px;
	text-align: center;
}

#privacy #main .textBox {
	padding: 42px 50px 55px;
	border-top: 1px solid #5C350F;
	border-bottom: 1px solid #5C350F;
}

#privacy #main .textBox p {
	margin-bottom: 34px;
	color: #313131;
	font-size: 14px;
	line-height: 2.15;
}

#privacy #main .textBox h3 {
	margin-bottom: 2px;
	color: #e60012;
	font-size: 16px;
	font-weight: normal;
}

#privacy #main .textBox ul {
	margin: -34px 0 29px 30px;
}

#privacy #main .textBox li {
	color: #313131;
	font-size: 14px;
	line-height: 2.15;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#privacy #main {
		padding: 50px 0 0;
	}

	#privacy #main .mainBox {
		padding: 40px 20px 60px;
		box-sizing: border-box;
	}

	#privacy #main h2 {
		margin-bottom: 30px;
	}

	#privacy #main h2 img {
		margin: 0 auto;
		width: 258px;
	}

	#privacy #main .textBox {
		padding: 17px 0 3px;
	}

	#privacy #main .textBox p {
		margin-bottom: 22px;
		font-size: 13px;
		letter-spacing: -1px;
		line-height: 1.8;
	}

	#privacy #main .textBox h3 {
		margin-bottom: 0;
		font-size: 14px;
	}

	#privacy #main .textBox ul {
		margin: -22px 0 22px 18px;
	}

	#privacy #main .textBox li {
		font-size: 13px;
		letter-spacing: -1px;
		line-height: 1.8;
	}
}

/*------------------------------------------------------------
	concept
------------------------------------------------------------*/
#concept #main {
	padding-bottom: 0;
}

#concept #main .philosophy {
	margin: 0 -60px;
	position: relative;
}

#concept #main .philosophy > img {
	width: 100%;
}

#concept #main .philosophy .ttlBox {
	width: 47%;
	position: absolute;
	left: 26.5%;
	top: 27%;
}

#concept #main .philosophy .ttlBox h3 {
	margin-bottom: 10%;
	text-align: center;
	opacity: 0;
	transition: opacity 1s;
	-webkit-transition: opacity 1s;
}

#concept #main .philosophy .ttlBox.animated h3 {
	opacity: 1;
}

#concept #main .philosophy .ttlBox h3 img {
	max-width: 45%;
}

#concept #main .philosophy .ttlBox .svg {
	overflow: hidden;
}

#concept #main .philosophy .ttlBox svg {
	width: 100%;
}

#concept #main .philosophy .ttlBox svg path {
    fill:#fff;
    stroke:#492808;
    stroke-width:1;
    stroke-dasharray: 1500;
    stroke-dashoffset:1500;
}

@media all and (-ms-high-contrast:none){
	#concept #main .philosophy .ttlBox .svg {
		opacity: 0;
		transition: opacity 0.5s;
	}

	#concept #main .philosophy .ttlBox .svg.animated {
		opacity: 1;
	}

	#concept #main .philosophy .ttlBox svg path {
		fill:#492808;
		stroke:#492808;
		stroke-width:1;
		stroke-dasharray: 1500;
		stroke-dashoffset:1500;
	}
}

#concept #main .philosophy .ttlBox .svg.animated svg path {
    -moz-animation:DASH 2s ease-in-out 0s forwards;
    -webkit-animation:DASH 2s ease-in-out 0s forwards;
    -o-animation:DASH 2s ease-in-out 0s forwards;
    -ms-animation:DASH 2s ease-in-out 0s forwards;
    animation:DASH 2s ease-in-out 0s forwards;
	-moz-transition:all .3s ease-in-out;
    -webkit-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	-ms-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out;
}

@keyframes DASH{
    0%  {stroke-dashoffset:3000;fill:#fff;}
    80% {stroke-dashoffset:2000;fill:#fff;}
    100%{stroke-dashoffset:0;fill:#492808;}
}

@-moz-keyframes DASH{
    0%  {stroke-dashoffset:3000;fill:#fff;}
    80% {stroke-dashoffset:2000;fill:#fff;}
    100%{stroke-dashoffset:0;fill:#492808;}
}

@-webkit-keyframes DASH{
    0%  {stroke-dashoffset:3000;fill:#fff;}
    80% {stroke-dashoffset:2000;fill:#fff;}
    100%{stroke-dashoffset:0;fill:#492808;}
}

@-o-keyframes DASH{
    0%  {stroke-dashoffset:3000;fill:#fff;}
    80% {stroke-dashoffset:2000;fill:#fff;}
    100%{stroke-dashoffset:0;fill:#492808;}
}

@-ms-keyframes DASH{
    0%  {stroke-dashoffset:3000;fill:#fff;}
    80% {stroke-dashoffset:2000;fill:#fff;}
    100%{stroke-dashoffset:0;fill:#492808;}
}

#concept #main .whiteBox {
	padding: 87px 0 120px;
	background-color: #FFF;
}

#concept #main .whiteBox .subBox {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}

#concept #main .whiteBox p {
	margin-bottom: 30px;
	color: #492808;
	font-size: 16px;
	line-height: 2.5;
	text-align: center;
}

#concept #main .whiteBox ul {
	margin: 0 auto;
	width: 697px;
}

#concept #main .whiteBox li {
	padding-left: 50px;
	width: 199px;
	float: left;
}

#concept #main .whiteBox li:first-child {
	padding-left: 0 !important;
}

#concept #main .whiteBox li:nth-child(2) {
	transition-delay: 0.5s;
	-webkit-transition-delay: 0.5s;
}

#concept #main .whiteBox li:nth-child(3) {
	transition-delay: 1s;
	-webkit-transition-delay: 1s;
}

#concept #main .whiteBox li span {
	padding: 15px 10px 13px;
	display: block;
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	background-color: #492808;
}

@media all and (min-width: 768px) and (max-width: 830px) {
	#concept #main .whiteBox ul {
		width: 657px;
	}

	#concept #main .whiteBox li {
		padding-left: 30px;
	}
}

#concept #main .vision {
	width: 100%;
	display: table;
}

#concept #main .vision .photo {
	display: none;
}

#concept #main .vision .textBox {
	padding: 20px;
	width: 50%;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	background-color: #252018;
}

#concept #main .vision .textBox h3 {
	margin-bottom: 50px;
}

#concept #main .vision .textBox h4 {
	font-size: 24px;
	font-weight: normal;
}

#concept #main .mission .textBox h4 {
	margin-bottom: 43px;
	font-size: 32px;
}

#concept #main .vision .textBox p {
	margin-top: 32px;
	font-size: 16px;
	line-height: 2.0;
}

#concept #main .vision .photoBox {
	width: 50%;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	background: url(img/concept/photo05.jpg) no-repeat center top;
	background-size: cover;
}

#concept #main .mission .photoBox {
	background: url(img/concept/photo06.jpg) no-repeat center top;
	background-size: cover;
}

#concept #main .vision .photoBox img {
	width: 100%;
	opacity: 0;
	visibility: hidden;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#concept #main {
		padding: 50px 0 0;
	}

	#concept #main .philosophy {
		margin: 0;
	}

	#concept #main .philosophy .ttlBox {
		left: 11%;
		top: 26.5%;
		width: 78%;
	}

	#concept #main .philosophy .ttlBox h3 img {
		margin: 0 auto;
		max-width: inherit;
		width: 59%;
	}

	#concept #main .philosophy .ttlBox svg {
		height: 72%;
	}

	#concept #main .whiteBox {
		padding: 40px 18px 35px;
	}

	#concept #main .whiteBox p {
		margin-bottom: 38px;
		font-size: 13px;
		letter-spacing: -1.5px;
		line-height: 2.15;
	}

	#concept #main .whiteBox ul {
		width: 279px;
	}

	#concept #main .whiteBox li {
		padding: 0 0 34px;
		width: 100%;
		float: none;
		overflow: hidden;
		zoom: 1;
		transition-delay: 0s !important;
		-webkit-transition-delay: 0s !important;
	}

	#concept #main .whiteBox li img.sp {
		width: 126px;
		float: left;
	}

	#concept #main .whiteBox li span {
		margin-top: 15px;
		padding: 13px 10px 11px;
		width: 133px;
		float: right;
		font-size: 13px;
	}

	#concept #main .vision {
		display: block;
	}

	#concept #main .vision .photo {
		display: block;
	}

	#concept #main .vision .photoBox {
		display: none;
	}

	#concept #main .vision .textBox {
		padding: 40px 18px;
		width: auto;
		display: block;
	}

	#concept #main .mission .textBox {
		padding-bottom: 73px;
	}

	#concept #main .vision .textBox h3 {
		margin: 0 auto 25px;
		width: 280px;
	}

	#concept #main .vision .textBox p {
		margin-top: 22px;
		font-size: 13px;
		letter-spacing: -1.5px;
	}

	#concept #main .vision .textBox h4 {
		font-size: 14px;
	}

	#concept #main .mission .textBox h4 {
		margin-bottom: 24px;
		font-size: 18px;
	}

}

/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company #main {
	padding-bottom: 0;
}

#company #main .topBox {
	background: url(img/company/top_box_bg.jpg) no-repeat center top;
	background-size: cover;
}

#company #main .topBox .ulBox ul {
	max-width: 200px;
}

#company #main .companyBox {
	padding-bottom: 204px;
	background: url(img/common/main_box_bg.jpg) repeat center top;
}

#company #main .company {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}

#company #main .company h3 {
	margin-bottom: 80px;
	text-align: center;
}

#company #main .company table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #5C350F;
}

#company #main .company th {
	padding: 17px;
	width: 16.5%;
	color: #181511;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
	background: rgba(232, 214, 203, 0.3) url(img/common/line01.png) repeat-x left bottom;
}

#company #main .company td {
	padding: 11px 51px 11px 43px;
	color: #492808;
	font-size: 14px;
	text-align: left;
	vertical-align: middle;
	background: url(img/common/line01.png) repeat-x left bottom;
}

#company #main .company td span {
	display: block;
	float: left;
}

#company #main .company td a {
	color: #e60012;
	text-decoration: underline;
}

#company #main .company td a:hover {
	text-decoration: none;
}

#company #main .company td .map {
	display: block;
	float: right;
	letter-spacing: 2px;
}

#company #main .company td .map img {
	margin: -8px 0 -2px 12px;
	display: inline-block;
	vertical-align: middle;
}

#company #main .historyBox {
	background: url(img/company/history_bg.gif) repeat center top;
}

#company #main .historyBox h3 {
	margin: 0 -60px;
	height: 300px;
	position: relative;
	background: url(img/company/photo02.jpg) no-repeat center top;
	background-size: cover;
}

#company #main .historyBox h3 span {
	margin-left: -178px;
	display: block;
	position: absolute;
	left: 50%;
	top: -91px;
}

#company #main .history {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
	position: relative;
}

#company #main .history .imgText {
	position: absolute;
	left: -92px;
	top: 47px;
}

#company #main .history .imgText02 {
	position: absolute;
	left: 0;
	top: -52px;
}

#company #main .history dl {
	padding: 79px 0 88px;
	position: relative;
	z-index: 2;
	background: url(img/company/dl_bg.gif) repeat-y left top;
}

#company #main .history dt {
	width: 100px;
	float: left;
	position: relative;
	z-index: 2;
	color: #16110b;
	font-size: 24px;
	text-align: center;
	opacity: 0;
	transition: opacity 1s;
	-webkit-transition: opacity 1s;
}

#company #main .history dd {
	padding: 2px 0 22px 158px;
	position: relative;
	z-index: 1;
	font-size: 15px;
	line-height: 1.7;
	opacity: 0;
	transition: opacity 1s;
	-webkit-transition: opacity 1s;
}

#company #main .history dt.animated,
#company #main .history dd.animated {
	opacity: 1;
}

#company #main .history .ddStyle01 {
	padding-bottom: 73px;
}

#company #main .history .ddStyle02 {
	padding-bottom: 49px;
}

#company #main .history .ddStyle04 {
	padding-bottom: 50px;
}

#company #main .history .ddStyle05 {
	padding-bottom: 48px;
}

#company #main .history .ddWid01 {
	padding-right: 260px;
}

#company #main .history dd img {
	position: absolute;
	right: 38px;
	top: -35px;
	z-index: -1;
}

#company #main .history .ddStyle02 img {
	right: 141px;
	top: -7px;
}

#company #main .history .ddStyle03 img {
	right: 1px;
	top: -5px;
}

#company #main .history dd .img01 {
	right: 0;
	top: -10px;
}

#company #main .history .photo {
	position: absolute;
	bottom: 0;
	right: -65px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#company #main {
		padding: 50px 0 0;
	}

	#company #main .topBox {
		padding-bottom: 65px;
	}

	#company #main .topBox .subBox {
		background: url(img/company/sp_top_box_bg.jpg) no-repeat center top;
		background-size: cover;
	}

	#company #main .topBox h2 img {
		width: 226px;
	}

	#company #main .topBox .bgBox {
		height: 65px;
		bottom: -65px;
	}

	#company #main .topBox .ulBox {
		bottom: -53px;
	}

	#company #main .topBox .ulBox ul {
		max-width: inherit;
	}

	#company #main .topBox .ulBox li:first-child {
		padding-right: 70px;
	}

	#company #main .company {
		padding: 0 20px;
		width: auto;
	}

	#company #main .company h3 {
		margin-bottom: 40px;
	}

	#company #main .company h3 img {
		margin: 0 auto;
		width: 150px;
	}

	#company #main .company th {
		padding: 12px 10px;
		width: 30%;
		font-size: 13px;
		background: rgba(232, 214, 203, 0.4) url(img/common/sp_line01.png) repeat-x left bottom;
		background-size: 2px 1px;
	}

	#company #main .company td {
		padding: 12px 0 13px 15px;
		font-size: 13px;
		letter-spacing: -1px;
		background: url(img/common/sp_line01.png) repeat-x left bottom;
		background-size: 2px 1px;
	}

	#company #main .company td .map img {
		width: 25px;
	}

	#company #main .company td span {
		margin-bottom: 5px;
	}

	#company #main .companyBox {
		padding-bottom: 110px;
	}

	#company #main .historyBox h3 {
		margin: 0;
		height: 146px;
		background: url(img/company/sp_photo02.jpg) no-repeat center top;
		background-size: cover;
	}

	#company #main .historyBox h3 span {
		margin-left: -81px;
		width: 163px;
		top: -50px;
	}

	#company #main .history {
		padding: 0 20px;
		width: auto;
	}

	#company #main .history .imgText {
		display: none;
	}

	#company #main .history .imgText02 {
		width: 50px;
		left: 20px;
		top: -26px;
	}

	#company #main .history dl {
		padding: 40px 0 45px;
		background-size: 50px auto;
	}

	#company #main .history dt {
		width: 50px;
		font-size: 15px;
		line-height: 1.1;
		text-align: center;
	}

	#company #main .history dd {
		padding: 0 0 12px 66px;
		font-size: 13px;
		letter-spacing: -1px;
		line-height: 1.1;
	}

	#company #main .history .ddStyle01 {
		padding-bottom: 27px;
	}

	#company #main .history .spDdStyle01 {
		padding-bottom: 29px;
	}

	#company #main .history .spDdStyle02 {
		padding-bottom: 23px;
	}

	#company #main .history .ddStyle04,
	#company #main .history .spDdStyle03 {
		padding-bottom: 28px;
	}

	#company #main .history .ddStyle02,
	#company #main .history .spDdStyle04 {
		padding-bottom: 26px;
	}

	#company #main .history .spDdStyle05 {
		padding-bottom: 39px;
	}

	#company #main .history .spDdStyle06 {
		padding-bottom: 37px;
	}

	#company #main .history .spDdStyle07 {
		padding-bottom: 43px;
	}

	#company #main .history .ddStyle05 {
		padding-bottom: 30px;
	}

	#company #main .history dd span {
		margin-bottom: 12px;
		display: inline-block;
	}

	#company #main .history dd img {
		display: none;
	}

	#company #main .history .photo {
		display: none;
	}
}

/*------------------------------------------------------------
	brand
------------------------------------------------------------*/
#brand #main {
	padding-bottom: 0;
}

#brand #main .topBox {
	background: url(img/brand/top_box_bg.jpg) no-repeat center top;
	background-size: cover;
}

#brand #main .topBox .ulBox ul {
	width: 220px;
}

#brand #main .ragazzottoBox {
	background: url(img/common/main_box_bg.jpg) repeat center top;
}

#brand #main .ragazzotto {
	margin: 0 auto 100px;
	width: 90%;
	max-width: 1000px;
}

#brand #main .ragazzotto h3 {
	margin-bottom: 71px;
	text-align: center;
}

#brand #main .ragazzotto .photo {
	margin: 50px -10% 0 0;
	width: 55%;
	float: left;
}

#brand #main .ragazzotto .photo img {
	width: 100%;
}

#brand #main .ragazzotto .textBox {
	padding: 49px 42px 54px 40px;
	width: 55%;
	float: right;
	box-sizing: border-box;
	background-color: #FFF;
}

#brand #main .ragazzotto .textBox .ttlBox {
	margin: 0 0 33px 7px;
}

#brand #main .ragazzotto .textBox .ttlBox img {
	display: block;
	float: left;
}

#brand #main .ragazzotto .textBox .ttlBox a {
	margin-top: 20px;
	padding-right: 15px;
	display: block;
	float: right;
	color: #e60012;
	font-size: 13px;
	background: url(img/common/icon03.gif) no-repeat right 3px;
}

@media all and (-ms-high-contrast:none){
	#brand #main .ragazzotto .textBox .ttlBox a {
		background: url(img/common/icon03.gif) no-repeat right top;
	}
}

#brand #main .ragazzotto .textBox .ttlBox a:hover {
	text-decoration: underline;
}

#brand #main .ragazzotto .textBox p {
	color: #492808;
	font-size: 14px;
	line-height: 1.85;
}

#brand #main .ragazzotto .textBox p span {
	display: block;
	font-size: 18px;
	font-weight: bold;
}

#brand #main .sliderBox .item {
	margin-right: 1px;
}

#brand #main .strategyBox {
	padding: 100px 0 119px;
	background: url(img/brand/strategy_bg.gif) repeat center top;
}

#brand #main .strategy {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}

#brand #main .strategy h3 {
	margin-bottom: 25px;
	text-align: center;
}

#brand #main .strategy li {
	margin-top: 55px;
	width: 48%;
	max-width: 480px;
	float: left;
	position: relative;
}

#brand #main .strategy li:nth-child(2n) {
	float: right;
}

#brand #main .strategy li .img {
	margin-bottom: 31px;
	display: block;
	background: url(img/brand/photo15_on.jpg) no-repeat left top;
	background-size: 100% auto !important;
}

#brand #main .strategy li .img img {
	width: 100%;
}

#brand #main .strategy li:nth-child(2) .img {
	background: url(img/brand/photo16_on.jpg) no-repeat left top;
}

#brand #main .strategy li:nth-child(3) .img {
	background: url(img/brand/photo17_on.jpg) no-repeat left top;
}

#brand #main .strategy li:nth-child(4) .img {
	background: url(img/brand/photo18_on.jpg) no-repeat left top;
}

#brand #main .strategy li .ttl {
	margin-bottom: 18px;
	display: block;
	font-size: 26px;
	opacity: 0.1;
}

#brand #main .strategy li .text {
	display: block;
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 1.7;
	opacity: 0.1;
}

#brand #main .strategy li:hover img {
	visibility: hidden;
	opacity: 0;
}

#brand #main .strategy li:hover .ttl,
#brand #main .strategy li:hover .text {
	opacity: 1;
}

#brand #main .strategy li:nth-child(2n+1) {
	clear: both;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#brand #main {
		padding: 50px 0 0;
	}

	#brand #main .topBox {
		padding-bottom: 65px;
	}

	#brand #main .topBox .subBox {
		background: url(img/brand/sp_top_box_bg.jpg) no-repeat center top;
		background-size: cover;
	}

	#brand .topBox h2 img {
		width: 154px;
	}

	#brand .topBox .bgBox {
		height: 65px;
		bottom: -65px;
	}

	#brand .topBox .ulBox {
		width: auto;
		bottom: -53px;
	}

	#brand #main .topBox .ulBox ul {
		width: auto;
	}

	#brand #main .topBox .ulBox li:first-child {
		padding-right: 30px;
	}

	#brand #main .ragazzotto {
		margin: 0 20px 45px;
		width: auto;
	}

	#brand #main .ragazzotto h3 {
		margin-bottom: 41px;
	}

	#brand #main .ragazzotto h3 img {
		margin: 0 auto;
		width: 165px;
	}

	#brand #main .ragazzotto .photo {
		margin: 0;
		width: 100%;
		float: none;
	}

	#brand #main .ragazzotto .textBox {
		padding: 24px 20px 26px 25px;
		width: auto;
		float: none;
	}

	#brand #main .ragazzotto .textBox .ttlBox {
		margin: 0 0 15px;
	}

	#brand #main .ragazzotto .textBox .ttlBox img {
		width: 101px;
	}

	#brand #main .ragazzotto .textBox .ttlBox a {
		margin-top: 14px;
		font-size: 13px;
		background-size: 12px 12px;
		background-position: right 2px;
	}

	#brand #main .ragazzotto .textBox p {
		font-size: 13px;
		letter-spacing: -2px;
	}

	#brand #main .ragazzotto .textBox p span {
		font-size: 16px;
	}

	#brand #main .strategyBox {
		padding: 50px 0 55px;
	}

	#brand #main .strategy {
		padding: 0 20px;
		width: auto;
	}

	#brand #main .strategy h3 {
		margin-bottom: 40px;
	}

	#brand #main .strategy h3 img {
		margin: 0 auto;
		width: 166px;
	}

	#brand #main .strategy li {
		margin-top: 34px;
		width: 100%;
		max-width: inherit;
		float: none !important;
	}

	#brand #main .strategy li .img {
		margin-bottom: 17px;
	}

	#brand #main .strategy li .img img {
		opacity: 0;
		visibility: hidden;
	}

	#brand #main .strategy li .ttl {
		margin-bottom: 6px;
		opacity: 1;
		font-size: 17px;
	}

	#brand #main .strategy li .text {
		opacity: 1;
		font-size: 13px;
		letter-spacing: 0;
	}
}

/*------------------------------------------------------------
	essence
------------------------------------------------------------*/
#essence #main {
	padding-bottom: 0;
}

#essence #main .topBox {
	background: url(img/essence/top_box_bg.jpg) no-repeat center top;
	background-size: cover;
}

#essence #main .topBox .ulBox li:first-child {
	padding-right: 18px;
}

#essence #main .greetingBox {
	padding: 60px 0 182px;
	overflow: hidden;
	background-color: #16110B;
}

#essence #main .greetingBox > h3 {
	margin-bottom: 81px;
	position: relative;
	text-align: center;
	z-index: 100;
}

#essence #main .greetingBox > h3:after {
	width: 1px;
	height: 100px;
	position: absolute;
	left: 50%;
	top: -100px;
	background-color: #FFF;
	content: '';
}

#essence #main .greetingBox .switch-button {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
	position: relative;
	z-index: 1;
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
	border: 1px solid #926B03;
	box-sizing: border-box;
	overflow: hidden;
	zoom: 1;
}

#essence #main .greetingBox .switch-button-case {
	padding: 15px 10px 16px;
	display: block;
	width: 50%;
	height: 100%;
	float: left;
	color: #92918F;
	font-size: 14px;
	position: relative;
	border: none;
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
	letter-spacing: 2px;
	text-align: center;
	box-sizing: border-box;
}

#essence #main .greetingBox .switch-button-case span {
	margin-left: 20px;
	font-size: 18px;
}

#essence #main .greetingBox .switch-button-case:hover {
	color: #FFF;
}

#essence #main .greetingBox .switch-button .active {
	color: #FFF;
	background-color: #926B03;
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	height: 100%;
	z-index: -1;
	-webkit-transition: .3s ease-out all;
	transition: .3s ease-out all;
}

#essence #main .greetingBox .switch-button .active-case {
	color: #FFF;
}

#essence #main .greetingBox .tabPanel {
	background: url(img/essence/panel_bg01.png) no-repeat center top;
}

#essence #main .greetingBox .tabPanel02 {
	background: url(img/essence/panel_bg02.jpg) no-repeat center top;
}

#essence #main .greetingBox .subPanel {
	margin: 0 auto;
	padding: 186px 0 243px;
	width: 90%;
	max-width: 1000px;
}

#essence #main .greetingBox .subPanel h4 {
	text-align: center;
}

#essence #main .greetingBox .subPanel h4 img {
	max-width: 100%;
}

#essence #main .greetingBox .subPanel .lBox {
	width: 60%;
	float: left;
}

#essence #main .greetingBox .tabPanel02 .subPanel .lBox {
	width: 38.6%;
}

#essence #main .greetingBox .subPanel .lBox .photo01 {
	margin: -26.6% 0 -58px -66%;
	position: relative;
	z-index: 1;
}

#essence #main .greetingBox .tabPanel02 .subPanel .lBox .photo01 {
	margin: -23% 0 -72% -120%;
}

#essence #main .greetingBox .tabPanel02 .subPanel .lBox .imgText {
	margin-bottom: -49.2%;
	text-align: right;
}

#essence #main .greetingBox .subPanel .lBox img,
#essence #main .greetingBox .subPanel .rBox img {
	max-width: 100%;
}

#essence #main .greetingBox .subPanel .lBox .photo01 img {
	max-width: 60%;
}

#essence #main .greetingBox .tabPanel02 .subPanel .lBox .photo01 img {
	max-width: 80%;
}

#essence #main .greetingBox .subPanel .lBox .photo02 {
	margin-bottom: 78px;
}

#essence #main .greetingBox .tabPanel02 .subPanel .lBox .photo02 {
	margin-bottom: 38.8%;
}

#essence #main .greetingBox .subPanel .rBox {
	margin-top: 53px;
	width: 35.4%;
	float: right;
}

#essence #main .greetingBox .tabPanel02 .subPanel .rBox {
	margin-top: 25.9%;
	width: 59%;
}

#essence #main .greetingBox .tabPanel02 .subPanel .rBox .photo02 {
	margin: 0 -17.3% 29px 0;
	text-align: right;
}

#essence #main .greetingBox .tabPanel02 .subPanel .rBox .photo02 img {
	max-width: 90%;
}

#essence #main .greetingBox .tabPanel02 .subPanel .rBox p {
	margin-left: 8px;
}

#essence #main .greetingBox .subPanel .rBox .imgText {
	margin-bottom: -78.2%;
}

#essence #main .greetingBox .subPanel .rBox .imgText img {
	max-width: 40%;
}

#essence #main .greetingBox .subPanel .rBox .photo01 {
	margin: 0 -6px 48.5% 0;
	position: relative;
	text-align: right;
}

#essence #main .greetingBox .subPanel .rBox .photo01 img {
	max-width: 65%;
}

#essence #main .voice {
	margin: 0 auto;
	padding: 103px 0 68px;
	width: 90%;
	max-width: 1000px;
	position: relative;
	background: url(img/essence/voice_bg.jpg) repeat-y center top;
	background-size: cover;
}

#essence #main .voice h3 {
	margin-left: -43px;
	position: absolute;
	left: 50%;
	top: -98px;
}

#essence #main .voice .logo {
	margin-bottom: 70px;
	text-align: center;
}

#essence #main .voice .logo img {
	max-width: 90%;
}

#essence #main .voice h4 {
	margin-bottom: 27px;
	text-align: center;
}

#essence #main .voice p {
	margin: 0 20px -9.8%;
	position: relative;
	color: #000;
	font-size: 18px;
	line-height: 2.2;
	text-align: center;
}

#essence #main .voice .audio {
	width: 0;
	height: 0;
	visibility: hidden;
	overflow: hidden;
}

#essence #main .voice .photo {
	margin-bottom: 119px;
}

#essence #main .voice .photo img {
	max-width: 100%;
}

#essence #main .voice .h4Ttl {
	margin-bottom: 70px;
}

#essence #main .voice .dreamBox {
	margin-right: 53px;
}

#essence #main .voice .dreamBox .photoBox {
	max-width: 48.8%;
	position: relative;
	float: left;
}

#essence #main .voice .dreamBox .photoBox .off,
#essence #main .voice .dreamBox .photoBox .on {
	max-width: 100%;
}

#essence #main .voice .dreamBox .photoBox .on {
	display: none;
}

#essence #main .voice .dreamBox.active .photoBox span,
#essence #main .voice .dreamBox.active .photoBox .line,
#essence #main .voice .dreamBox.active .photoBox .off {
	display: none;
}

#essence #main .voice .dreamBox.active .photoBox .on {
	display: block;
}

#essence #main .voice .dreamBox.pause .photoBox .on {
	display: none;
}

#essence #main .voice .dreamBox.pause .photoBox .off {
	display: block;
}

#essence #main .voice .dreamBox .photoBox .line {
	max-width: 95.8%;
	position: absolute;
	left: 53.5%;
	bottom: 16.3%;
}

#essence #main .voice .dreamBox .photoBox > span {
	width: 180px;
	display: block;
	position: absolute;
	left: 135.5%;
	top: 24.3%;
	color: #16110b;
	font-size: 20px;
	text-align: center;
}

#essence #main .voice .dreamBox .photoBox > span a {
	margin-bottom: 7px;
	display: inline-block;
}

#essence #main .voice .dreamBox .textBox {
	width: 443px;
	max-width: 48%;
	float: right;
	display: none;
}

#essence #main .voice .dreamBox.active .textBox {
	display: block;
	position: relative;
}

#essence #main .voice .dreamBox .textBox .btn {
	max-width: 40%;
	position: absolute;
	right: -35%;
	bottom: -4px;
	z-index: 100;
}

#essence #main .voice .dreamBox .textBox .btn a {
	display: block;
}

#essence #main .voice .dreamBox .textBox .btn a img {
	max-width: 100%;
}

#essence #main .voice .dreamBox .textBox .btn .off {
	display: none;
}

#essence #main .voice .dreamBox .textBox .btn .animate .on {
	display: none;
}

#essence #main .voice .dreamBox .textBox .btn .animate .off {
	display: block;
}

#essence #main .voice .dreamBox .textBox .scrollBox {
	height: 496px;
}

#essence #main .voice .dreamBox .textBox p {
	margin: 25px 0 29px;
	font-size: 16px;
	line-height: 1.9;
	text-align: left;
}

#essence #main .profileBox {
	padding: 258px 0 0;
	position: relative;
	background-color: #F2F1EE;
}

#essence #main .profile {
	margin: 0 auto -66px;
	width: 90%;
	max-width: 1000px;
}

#essence #main .profile h3 {
	margin-left: -108px;
	position: absolute;
	left: 50%;
	top: -92px;
}

#essence #main .profile .sliderBox {
	margin: 0 -3px 0 -6px;
	position: relative;
}

#essence #main .profile .sliderBox img {
	max-width: 100%;
}

#essence #main .profile .sliderBox .bPhoto {
	margin-right: -3%;
	width: 425px;
	max-width: 43%;
	float: left;
}

#essence #main .profile .sliderBox .bPhoto div {
	display: none;
}

#essence #main .profile .sliderBox .bPhoto div:first-child {
	display: block;
}

#essence #main .profile .sliderBox .sPhoto {
	margin-top: 4px;
	width: 600px;
	max-width: 60%;
	float: right;
}

#essence #main .profile .sliderBox .sPhoto li {
	padding: 0 0 14px 14px;
	width: 25%;
	float: left;
	box-sizing: border-box;
}

#essence #main .profile .sliderBox .sPhoto li a {
	display: block;
	background: url(img/essence/s_photo01_over.png) no-repeat;
	background-size: cover !important;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(2) a {
	background: url(img/essence/s_photo02_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(3) a {
	background: url(img/essence/s_photo03_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(4) a {
	background: url(img/essence/s_photo04_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(5) a {
	background: url(img/essence/s_photo05_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(6) a {
	background: url(img/essence/s_photo06_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(7) a {
	background: url(img/essence/s_photo07_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(8) a {
	background: url(img/essence/s_photo08_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(9) a {
	background: url(img/essence/s_photo09_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(10) a {
	background: url(img/essence/s_photo10_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(11) a {
	background: url(img/essence/s_photo11_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto li:nth-child(12) a {
	background: url(img/essence/s_photo12_over.png) no-repeat;
}

#essence #main .profile .sliderBox .sPhoto .on img {
	visibility: hidden;
}

#essence #main .profileBox .whiteBox {
	padding: 93px 0 112px;
	background-color: #FFF;
}

#essence #main .profileBox .whiteBox .subBox {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}

#essence #main .profileBox .whiteBox .nameBox {
	padding: 12px 0 0 25px;
	width: 300px;
	float: left;
	color: #492808;
	font-size: 20px;
	line-height: 1.3;
	text-align: center;
}

#essence #main .profileBox .whiteBox .nameBox span {
	display: block;
	font-size: 43px;
}

#essence #main .profileBox .whiteBox .detailBox {
	width: 625px;
	float: right;
}

#essence #main .profileBox .whiteBox .detailBox div {
	display: none;
}

#essence #main .profileBox .whiteBox .detailBox div:first-child {
	display: block;
}

#essence #main .profileBox .whiteBox .detailBox span {
	padding: 23px 10px;
	width: 424px;
	float: left;
	display: block;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	color: #492808;
	font-size: 18px;
	letter-spacing: 3px;
	line-height: 1.6;
	text-align: center;
}

#essence #main .profileBox .whiteBox .detailBox span:before {
	width: 71px;
	height: 77px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/essence/l_img.png) no-repeat;
	content: "";
}

#essence #main .profileBox .whiteBox .detailBox span:after {
	width: 71px;
	height: 77px;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url(img/essence/r_img.png) no-repeat;
	content: "";
}

#essence #main .profileBox .whiteBox .detailBox a {
	margin-top: 42px;
	padding: 4px 22px 2px 0;
	display: block;
	float: right;
	color: #b9b9b9;
	font-size: 14px;
	letter-spacing: 2px;
	line-height: 1.1;
	vertical-align: bottom;
	background: url(img/common/icon04.png) no-repeat right 1px;
}

#essence #main .profileBox .whiteBox .detailBox a:hover {
	text-decoration: underline;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#essence #main {
		padding: 50px 0 0;
	}

	#essence #main .topBox {
		padding-bottom: 95px;
		border-bottom: 1px solid #565552;
	}

	#essence #main .topBox .subBox {
		background: url(img/essence/sp_top_box_bg.jpg) no-repeat center top;
		background-size: cover;
	}

	#essence .topBox h2 img {
		width: 191px;
	}

	#essence #main .greetingBox {
		padding: 0 0 89px;
		background: #15110B url(img/essence/sp_greeting_bg.jpg) no-repeat center top;
		background-size: 100% auto;
	}

	#essence #main .greetingBox > h3 {
		margin-bottom: 57px;
	}

	#essence #main .greetingBox > h3 img {
		margin: 0 auto;
		width: 78px;
	}

	#essence #main .greetingBox > h3:after {
		display: none;
	}

	#essence #main .greetingBox .switch-button {
		margin: 0 20px;
		width: auto;
	}

	#essence #main .greetingBox .switch-button-case {
		padding: 6px 5px;
		font-size: 8px;
		line-height: 1.3;
	}

	#essence #main .greetingBox .switch-button-case span {
		margin: 0;
		display: block;
		font-size: 12px;
	}

	#essence #main .greetingBox .tabPanel {
		background: url(img/essence/sp_panel_bg01.jpg) no-repeat center top;
		background-size: 100% auto;
	}

	#essence #main .greetingBox .tabPanel02 {
		background: url(img/essence/sp_panel_bg02.jpg) no-repeat center top;
		background-size: 100% auto;
	}

	#essence #main .greetingBox .subPanel {
		padding: 68px 0 95px;
	}

	#essence #main .greetingBox .subPanel h4 img {
		width: 280px;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel h4 {
		margin-bottom: 120px;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel h4 img {
		width: 169px;
	}

	#essence #main .greetingBox .subPanel .inner {
		margin-bottom: 44px;
	}

	#essence #main .greetingBox .subPanel .lBox {
		margin-top: 55px;
		width: 63%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .lBox {
		margin-top: 0;
		width: 33.4%;
	}

	#essence #main .greetingBox .subPanel .lBox .photo01 {
		margin: 0 0 -12% -52%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .lBox .photo01 {
		display: none;
	}

	#essence #main .greetingBox .subPanel .lBox .photo01 img {
		max-width: inherit;
		width: 82%;
	}

	#essence #main .greetingBox .subPanel .lBox .photo02 {
		margin: 0 0 40px 5px;
	}

	#essence #main .greetingBox .subPanel .lBox p {
		font-size: 13px;
		letter-spacing: -1px;
		line-height: 1.9;
	}

	#essence #main .greetingBox .subPanel .rBox {
		margin-top: 35px;
	}

	#essence #main .greetingBox .subPanel .rBox .imgText {
		margin: 0 0 28px 18px;
	}

	#essence #main .greetingBox .subPanel .rBox .imgText img {
		max-width: inherit;
		width: 70px;
	}

	#essence #main .greetingBox .subPanel .rBox .photo01 {
		margin-bottom: 0;
	}

	#essence #main .greetingBox .subPanel .rBox .photo01 img {
		max-width: 87%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .lBox .imgText {
		margin-bottom: 14px;
		text-align: center;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .lBox .imgText img {
		width: 72%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .lBox .photo02 {
		margin: 0 -2px;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .rBox {
		margin-top: 0;
		width: 63%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .rBox .photo01 {
		margin: -72px -80% -17px 0;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .rBox .photo01 img {
		max-width: 74%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .rBox .photo02 {
		margin-bottom: 0;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .rBox .photo02 img {
		max-width: 100%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .rBox p {
		margin: 20px 0 0;
	}

	#essence #main .greetingBox .subPanel .spPhoto {
		text-align: right;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .spPhoto {
		margin-left: 4px;
		text-align: left;
	}

	#essence #main .greetingBox .subPanel .spPhoto img {
		width: 64%;
	}

	#essence #main .greetingBox .tabPanel02 .subPanel .spPhoto img {
		width: 62%;
	}

	#essence #main .voice h3 {
		margin-left: -28px;
		top: -50px;
	}

	#essence #main .voice h3 img {
		width: 56px;
	}

	#essence #main .voice {
		margin: 0 20px;
		padding: 53px 0 45px;
		width: auto;
		background: url(img/essence/sp_voice_bg.jpg) no-repeat center top;
		background-size: cover;
	}

	#essence #main .voice .logo {
		margin-bottom: 30px;
	}

	#essence #main .voice .logo img {
		width: 244px;
	}

	#essence #main .voice h4 {
		margin-bottom: 18px;
	}

	#essence #main .voice h4 img {
		margin: 0 auto;
		width: 163px;
	}

	#essence #main .voice p {
		margin: 0 10px -83px;
		font-size: 14px;
		letter-spacing: -1.5px;
		line-height: 2.0;
	}

	#essence #main .voice .photo {
		margin: 0 0 59px;
		overflow: hidden;
	}

	#essence #main .voice .photo span {
		margin: 0 -110px;
		display: block;
	}

	#essence #main .voice .photo img {
		margin: 0 0 0 49px;
		display: block;
	}

	#essence #main .voice .h4Ttl {
		margin-bottom: 30px;
	}

	#essence #main .voice .h4Ttl img {
		width: 169px;
	}

	#essence #main .voice .dreamBox {
		margin-right: 0;
	}

	#essence #main .voice .dreamBox .photoBox {
		margin-bottom: 38px;
		max-width: 100%;
		float: none;
	}

	#essence #main .voice .dreamBox .photoBox .off,
	#essence #main .voice .dreamBox .photoBox .on {
		width: 60%;
	}

	#essence #main .voice .dreamBox .photoBox .line {
		max-width: inherit;
		width: 54%;
		left: 27%;
	}

	#essence #main .voice .dreamBox .photoBox > span {
		width: 30%;
		top: 22%;
		left: 64.5%;
		font-size: 12px;
	}

	#essence #main .voice .dreamBox .textBox {
		margin: 0 16px 0 22px;
		width: auto;
		max-width: inherit;
		float: none;
		display: block !important;
	}

	#essence #main .voice .dreamBox .textBox p {
		margin: 0 0 23px;
		font-size: 12px;
	}

	#essence #main .voice .dreamBox .textBox .btn {
		width: 62px;
		max-width: inherit;
		bottom: inherit;
		top: -42px;
		right: -32px;
		z-index: 10;
		display: none;
	}

	#essence #main .voice .dreamBox.active .textBox .btn {
		display: block;
	}

	#essence #main .voice .dreamBox .textBox .scrollBox {
		height: 254px;
	}

	.jspVerticalBar {
		width: 6px;
	}

	.jspTrack {
		padding: 0;
		border-radius: 4px;
		background: rgba(0,0,0,0.2);
	}

	.jspDrag {
		border-radius: 4px;
		background: #15110B;
	}

	#essence #main .profileBox {
		padding: 122px 0 0;
	}

	#essence #main .profile h3 {
		margin-left: -75px;
		top: -50px;
	}

	#essence #main .profile h3 img {
		width: 150px;
	}

	#essence #main .profile {
		margin: 0 auto;
		width: auto;
	}

	#essence #main .profile .sliderBox {
		margin: 0 -13px 0 0;
	}

	#essence #main .profile .sliderBox .bPhoto {
		margin: 0;
		width: auto;
		max-width: inherit;
		float: none;
	}

	#essence #main .profile .sliderBox .bPhoto div {
		display: block !important;
	}

	#essence #main .profile .sliderBox .sPhoto {
		display: none;
	}

	#essence #main .profile .sliderBox .bPhoto .slick-arrow {
		margin: -17px 0 0;
		padding: 0;
		width: 35px;
		height: 35px;
		position: absolute;
		top: 50%;
		border: none;
		text-indent: -9999px;
		z-index: 100;
	}

	#essence #main .profile .sliderBox .bPhoto .slick-prev {
		left: 0;
		background: url(img/essence/prev_img.gif) no-repeat;
		background-size: 35px auto;
	}

	#essence #main .profile .sliderBox .bPhoto .slick-next {
		right: 13px;
		background: url(img/essence/next_img.gif) no-repeat;
		background-size: 35px auto;
	}

	#essence #main .profile .sliderBox .bPhoto .slick-slide {
		margin: 0 -20px;
	}

	#essence #main .profile .sliderBox .bPhoto .slick-slide img {
		transform: scale(0.61);
		-webkit-transform: scale(0.61);
	}

	#essence #main .profile .sliderBox .bPhoto .slick-center img {
		transform: scale(1);
		-webkit-transform: scale(1);
	}

	#essence #main .profileBox .whiteBox {
		padding: 12px 0 0;
		background: none;
	}

	#essence #main .profileBox .whiteBox .subBox {
		margin: 0;
		width: auto;
	}

	#essence #main .profileBox .whiteBox .nameBox {
		padding: 0 10px 19px;
		width: auto;
		float: none;
		font-size: 12px;
	}

	#essence #main .profileBox .whiteBox .nameBox span {
		display: inline-block;
		font-size: 23px;
		vertical-align: middle;
	}

	#essence #main .profileBox .whiteBox .detailBox {
		padding: 20px;
		width: auto;
		float: none;
		text-align: center;
		background-color: #FFF;
	}

	#essence #main .profileBox .whiteBox .detailBox span {
		padding: 14px 5px;
		width: auto;
		float: none;
		font-size: 13px;
		letter-spacing: 0;
		line-height: 1.3;
	}

	#essence #main .profileBox .whiteBox .detailBox span:before,
	#essence #main .profileBox .whiteBox .detailBox span:after {
		width: 35px;
		height: 36px;
		background-size: 35px auto;
	}

	#essence #main .profileBox .whiteBox .detailBox a {
		margin-top: 10px;
		padding: 0 10px 0 0;
		float: none;
		display: inline-block;
		font-size: 10px;
		letter-spacing: 1px;
		line-height: 1.5;
		background-size: 6px auto;
		background-position: right 2px;
	}

	#essence #main .profileBox .whiteBox .detailBox div {
		display: none !important;
	}

	#essence #main .profileBox .whiteBox .detailBox div.on {
		display: block !important;
	}
}
