@charset "utf-8";

#Cont img {
	vertical-align: bottom;
	line-height: 1;
}

#Cont *, #Cont *:before,#Cont *:after {
	box-sizing: border-box;
	-webkit-font-feature-settings : "palt" 1;
	        font-feature-settings : "palt" 1;
	-webkit-font-kerning: normal;
	        font-kerning: normal;
}

/* common item ---------------------------------------*/


.clearfix:after,
.inner:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.sp {
	display: none;
}

.spbr {
	display: none;
}

#Cont a {
	color: #000;
	text-decoration: none;
}
#Cont a:hover {
	text-decoration: underline;
}

#Cont input {
	outline: none;
	border: none;
}

.js_hidden {
	display: none;
}

.loading {
	width: 100%;
	height: 100%;
	background: #fff url("../images/loading.gif") center center no-repeat;
	position: absolute;
	top: 0;
	z-index: 5000;
}

@media screen and (max-width: 768px) {
	#Cont img {
		max-width: 100%;
	}

	/* common item */
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.spbr {
		display: block;
	}

	.pcbr {
		display: none;
	}
}

#Cont {
	font-family: 'Times New Roman',"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","游明朝","Yu Mincho","游明朝体","YuMincho","ＭＳ Ｐ明朝","MS PMincho",serif;
	width: auto;
}
body.fixed{
	position: fixed;
	width: 100%;
}

html, body {
	/*height: 100%;*/
	/*overflow-x: hidden;*/
}

#Main, #Main_inner{
	/*height: 100%;*/
}
#Main_inner {
	position: relative;
}

.lineWrapper {
	margin: 0px 0px 10px;
	/*padding-top: 10px;*/
	position: relative;
	z-index: 1;
	background: #fff;
}

.bgVideoWrap{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 56.25vw;
	/*min-width: 100%;
	min-height: 100%;
	max-width: 100%;*/
	/*overflow: hidden;*/
	background: #000;
}
.bgVideoInnerWrap {
	width: 100%;
	height: 100%;
	/*position: absolute;*/
	/*top: 0;*/
	/*overflow: hidden;*/
}
#bgVideo {
	width: 100%;
	height: 100%;
}

.florting {
	display: none;
	background: #ff0000;
	width: 100%;
	overflow-y:auto;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	background: url(../index/img/bg_menu_on.png) 0 0 repeat-x;
	background-size: cover;
}
.florting .florting_inner {
	width: 960px;
	position: absolute;
	top: 0vh;
}
.florting .florting_inner .menuClose {
	position: absolute;
	top: 25px;
	right: 25px;
	width: 20px;
	cursor: pointer;
	z-index: 150;
}
.florting .florting_inner .menuMap {
	width: 100%;
	margin-top: 71px;
}
.florting .florting_inner .menuMapList {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 960px;
}
.florting .florting_inner .menuMapList li {
	position: absolute;
}
#Cont .florting .florting_inner .menuMapList li a {
	color: #333;
	display: block;
	font-size: 14px;
	font-style: italic;
	letter-spacing: 0.2em;
	width: 27.34375vw;
}
#Cont .florting .florting_inner .menuMapList li a:hover {
	text-decoration: none;
	color:#fff;
}
#Cont .florting .florting_inner .menuMapList li a small {
	font-size: 0.85938vw;
	font-style: normal;
	display: block;
}
.florting .florting_inner .menuMapList li.menu1 {
	top: 69px;
	left: 0;
}
.florting .florting_inner .menuMapList li.menu2 {
	top: 490px;
	left: 40px;
}
.florting .florting_inner .menuMapList li.menu3 {
	top: 210px;
	right: 0;
	text-align: right;
}

.fixHeader {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	/*width: 960px;
	height: 51px;*/
	z-index: 9999;
	opacity: 0;
	transition: opacity .5s ease;
}
.fixHeader-inner {
	width: 960px;
	margin: 0 auto;
}
.fixHeader .fixedLogo {
	margin: 10px 0 0 10px;
	width: 100px;
	/*-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
	opacity: 0;*/
}
.fixHeader .fixedLogo.on {
}

.fixHeader.on {
	opacity: 1;
	background-color: rgba(255, 255, 255, 0.8);
}

.menu {
	position: absolute;
	top: 25px;
	right: 25px;
	cursor: pointer;
	width: 20px;
}

.firstview {
	/*height: 100%;*/
	/*height: 100vh;*/
	/*height:645px;*/
	width: 100%;
	height: 56.25vw;
	position: relative;
}
.firstview .inner {
	/*height: 100%;*/
	height : 56.25vw;
	border-bottom: 0;
}
.firstview .title {
	width: 490px;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	/* Safari用 */
	-ms-transform: translate(-50%, -50%);
	    transform: translate(-50%, -50%);
}
.firstview .title img {
	width: 100%;
}
.firstview .logo {
	position: absolute;
	left: 50%;
	top: 100px;
	margin:0 0 0 -85px;
	width: 170px;
}
.firstview .map {
	display: none;
}
.firstview .play_btn {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 22%;
	width: 78px;
	height: 78px;
	cursor: pointer;
}
.firstview .scroll {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 3%;
	width: 25px;
}
.keyVisual {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.keyVisual.js_wait li {
	opacity: 1;
}
.keyVisual li {
	position: absolute;
	opacity: 0;
	width: 100%;
}
.keyVisual li > img {
	width: 100%;
}
.keyVisual li:nth-child(1) {
	z-index: 0;
}
.keyVisual li:nth-child(2) {
	z-index: -100;
}
.keyVisual li:nth-child(3) {
	z-index: -200;
}
.keyVisual li:nth-child(4) {
	z-index: -300;
}
.keyVisual li img {
	-webkit-transform:scale(1.1);
	-ms-transform:scale(1.1);
	    transform:scale(1.1);
	display: block;
}
.keyVisual li.js_active {
	opacity: 1;
}
.keyVisual li.js_fade {
	transition: all 1.5s linear;
	opacity: 0;
}
.keyVisual li.js_active img {
	-webkit-transform:scale(1.0);
	-ms-transform:scale(1.0);
	    transform:scale(1.0);
	transition: all 6s linear;
}

.brands {
	position: relative;
	width: 960px;
	margin: 0 auto;
}
.brands .title1 {
	padding-top: 43px;
	margin-bottom: 30px;
	text-align: center;
	color: #ba9255;
	line-height: 1.5;
	font-size: 34px;
	letter-spacing: 0.15em;
}
.brands .title1 span {
	display: block;
	margin-top: 10px;
	font-size: 12px;
	letter-spacing: 0.2em;
}
.brands .topMenu {
	width: 100%;
	overflow: hidden;
	margin-bottom: 60px;
}
.brands .topMenu li {
	width: 33.333%;
	float: left;
	position: relative;
}
.brands .topMenu li:nth-child(4) {
	width: 100%;
	height: 270px;
}
#Cont .brands .topMenu li a,
.brands .topMenu li div.current {
	color: #fff;
	letter-spacing: 0.5em;
	text-align: center;
}
.brands .topMenu li .bg {
	width: 100%;
}
.brands .topMenu li .centerMiddle {
	position: absolute;
	left: 50%;
	top: 55%;
	-webkit-transform: translate(-50%, -50%);
	/* Safari用 */
	-ms-transform: translate(-50%, -50%);
	    transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
}
.brands .topMenu li .bnrTitle {
	font-size: 20px;
	font-weight:normal;
	margin-bottom: 15px;
	line-height: 1;
}
.brands .topMenu li .bnrTitle:after {
	content: "";
	display: block;
	margin: 15px auto 15px;
	border-bottom: 1px #fafafa solid;
	width: 20px;
}
/*.brands .topMenu li .line {
	display: inline;
	width: 20px;
	margin-bottom: 15px;
}*/
.brands .topMenu li .bnrText {
	font-size: 12px;
	line-height: 1.5;
}
.brands .topMenu li .bnrText span {
	font-size: 10px;
	line-height: 2.667;
}
.brands .topMenu li .center {
	position: absolute;
	bottom: 30px;
	width: 100%;
	text-align: center;
}
.brands .topMenu li .visit {
	display: inline;
	width: 110px;
}

.section1, .section2, .section3, .section4,.section5, .section6,
.section7, .section8,.section9, .section10, .section11{
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.imgSection {
	overflow: hidden;
	position: relative;
	margin-bottom: 20px;
}
.imgSection .bg {
	width: 752px;
	height: 423px;
	float: left;
}
.imgSection.right .bg{
	float: right;
}
.imgSection .sectionText {
	position: absolute;
	left: 60px;
	bottom: 37px;
	color: #fff;
	letter-spacing: 0.25em;
}
.imgSection.right .sectionText {
	left: 268px;
}
.imgSection .sectionText h2 {
	font-size: 26px;
	line-height: 3;
}
.imgSection .sectionText p {
	font-size: 20px;
	line-height: 1.8;
}

.abFooter {
	font-family: 'Times New Roman',"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","游明朝","Yu Mincho","游明朝体","YuMincho","ＭＳ Ｐ明朝","MS PMincho",serif;
	background: #FBF2E1;
	text-align: center;
	position: relative;
		padding: 26px 0 40px;
}
.abFooter .abFoooterLogo img {
	margin: 0 auto;
	width: 210px;
	margin-bottom: 26px;
}
.abFooter nav.footer ul {
	border-top: 1px solid #eecc95;
	border-bottom: 1px solid #eecc95;
	width: 800px;
	height: 67px;
	margin: 0 auto;
	text-align: center;
}
.abFooter nav.footer li {
	display: inline-block;
	width: 32%;
}
.abFooter nav.footer li a{
	display: block;
	text-align: center;
	line-height: 1;
	padding-top: 20px;
	padding-bottom: 20px;
}
.abFooter nav.footer li div{
	display: block;
	text-align: center;
	line-height: 1;
	padding-top: 20px;
	padding-bottom: 20px;
}
.abFooter nav.footer h3 {
	color: #aa792c;
	font-size: 15px;
	letter-spacing: 0.25em;
	font-style: italic;
	padding-bottom: 5px;
}
.abFooter nav.footer p {
	color: #484d41;
	font-size: 11px;
	letter-spacing: 0.25em;
}
.abFooter nav.footer li a:hover {text-decoration: none;}
.abFooter nav.footer li a:hover h3 {color:#c69c5b;}
.abFooter nav.footer li a:hover p {color:#a8a093;}

.toTop {
	position: absolute;
	right: 25px;
	top: -28px;
}
.toTop img {
	width: 53px;
}

.coverSpace{
	position:absolute;
	width:100%;
	height:540px;
	left:0px;
	top:0px;
	z-index:10;
}

.u_padding-a {
	padding: 20px 0;
}
.u_padding-b {
	padding: 0 0 20px;
}
.u_bg_color-a {
	background: #FBF2E1;
}

.section3 {
	position: relative;
	margin-bottom: 50px;
}
.section3 .sectionText {
	margin: 0 auto 32px;
	text-align: center;
}
.section3 .sectionText h2 {
	display: inline-block;
	/*margin-right: 50px;*/
	width: 100%;
	text-align: center;
	height: 100%;
	font-size: 30px;
	vertical-align: top;
	line-height: 2.0;
	letter-spacing: 0.25em;
	padding-top:22px;
	color: #ba9255;
}
.section3 .sectionText h2 span {
	display: inline-block;
	border-top: 1px solid #ba9255;
	width: auto;
	font-size: 12px;
	line-height: 2.5;
	letter-spacing: 0.2em;
}
.section3 .sectionText .sectionIntroPc {
	display: inline-block;
	font-size: 20px;
	line-height: 2.15;
	letter-spacing: 0.175em;
	color: #545353;
	text-align: center;
	margin-top: 20px;
	width: 100%;
}

.movieIntroPc {
	font-size: 26px;
	line-height: 1.6;
	text-align: center;
	color: #ba9255;
	letter-spacing: 0.25em;
	margin-bottom:  22px;
}

.section2 .sectionText h2 span {
	display: block;
	width: 100%;
	margin-top: 18px;
	font-size: 20px;
	letter-spacing: 0.2em;
}

.section11 .movieIntroPc {
	font-size: 26px;
	line-height: 1.6;
	text-align: center;
	color: #ba9255;
	letter-spacing: 0.25em;
	margin: 50px auto 40px;
}
/* -- 共通ブロック ------------------------------ */
@media screen and (min-width: 769px) {
	.sp_only {
		display: none !important;
	}
	/*.keyVisual {
		display: none;
	}*/
	.brands .topMenu li:nth-child(4) a:hover{
		width: 100%;
		height: 100%;
		display: block;
		background-image: url('../images/bnr_brand_00_on.jpg');
		background-size: cover;
	}
}
@media screen and (max-width: 768px) {
	.pc_only {
		display: none !important;
	}
	.bgVideoWrap {
		display: none;
	}
	.section1, .section2, .section3, .section4,.section5, .section6,
	.section7, .section8,.section9, .section10, .section11,.section12, .section13, .section14, .section15{
		width: 100%;
	}

	.lineWrapper::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -11px;
		left: 0;
		width: 100%;
		height: 10px;
	}
	.bgVideoWrap {
		display: none;
	}
	#bgVideo {display: none;}

	.fixHeader{
		height: 10vw;
		/*width:100%;*/
		position:absolute;
		/*top:10px;*/
	}
	.fixHeader-inner {
		width: 100%;
	}
	.fixHeader.on{
		/*position:fixed;*/
		/*top:0;*/
	}

	.fixHeader .menu {
		right: 3.4vw;
		top: 3.4vw;
		transition: all  0.3s ease;
		width: 5.625vw;
	}
	.fixHeader.on .menu {
		right: 3.4vw;
		top: 3.4vw;
	}
	.fixHeader .fixedLogo {
		width: 25vw;
		margin: 1vw 0 0 1vw;
	}

	.florting {
		width: 100%;
	}
	.florting .florting_inner {width: 100%;}
	.florting .menuClose {
		position: absolute;
		top: 20px;
		right: 20px;
		width: 20px;
		cursor: pointer;
		z-index: 150;
	}
	.florting .florting_inner .menuMap {
		margin-top: 25.625vw;
		margin-left: 7.8125vw;
		width: 68%;
		margin-left: auto;
		margin-right: auto;
	}
	.florting .florting_inner .menuMapList {
		position: absolute;
		left: 0px;
		top: 0px;
	}
	.florting .florting_inner .menuMapList li {
		position: absolute;
	}
	#Cont .florting .florting_inner .menuMapList li a {
		color: #333;
		display: block;
		font-size: 10px;
		font-size: 3.125vw;
		font-size: 4vw;
		line-height: 1.4;
		letter-spacing: 0.2em;
		width: 250px;
		width: 78.125vw;
	}
	.florting .florting_inner .menuMapList li a:hover {
		text-decoration: none;
	}
	.florting .florting_inner .menuMapList li a small {
		font-size: 5px;
		font-size: 2.75vw;
		letter-spacing: 0.15em;
		color: #666;
		display: block;
	}
	.florting .florting_inner .menuMapList li.menu1 {
		top: 52px;
		top: 15.40625vw;
		left: 25px;
		left: 15.8125vw;
	}
	.florting .florting_inner .menuMapList li.menu2 {
		top: 472px;
		top: 130vw;
		left: 110px;
		left: 36.375vw;
	}
	.florting .florting_inner .menuMapList li.menu3 {
		top: 113px;
		top: 30.3125vw;
		left: 134px;
		left: 42.03125vw;
		text-align: left;
	}
	.firstview {
		overflow: hidden;
		width: 100%;
		height: 100vh;
	}
	.firstview .title {
		width: 71.6%;
		top: 40%;
	}
	.firstview .logo {
		position: absolute;
		/*left: 20px;*/
		left: 0;
		right: 0;
		top: 20%;
		/*-webkit-transform: translate(0%, 0%);*/
		/* Safari用 */
		/*transform: translate(0%, 0%);
		width: 30%;*/

		margin:auto;
	}
	.firstview .play_btn {
		width: 15%;
		height: auto;
		bottom: 26%;
	}
	.firstview .scroll {
		/*margin: 0 0 0 -15px;*/
		width: 30px;
		bottom : 10%;
	}

	.brands {
		position: relative;
		width: 100%;
		margin: 0 auto;
	}
	.brands .title1 {
		height: auto;
		padding-top: 30px;
		padding-top: 9.375vw;
		padding-bottom: 15px;
		padding-bottom: calc(9.375vw * 0.5);
		text-align: center;
		color: #ba9255;
		line-height: 1.5;
		font-size: 25px;
		/*font-size: calc(7.8125vw * 0.75);*/
		font-size: 24px;
		letter-spacing: 0.175em;
	}
	.brands .title1 span {
		display: block;
		margin-top: 0px;
		margin-top: 0vw;
		font-size: 8px;
		font-size: 2.5vw;
		letter-spacing: 0.2em;
		line-height: 2.0;
	}
	.brands .topMenu {
		width: 100%;
		overflow: hidden;
		margin-bottom: 20px;
		margin-bottom: 6.25vw;
	}
	.brands .topMenu li {
		width: 100%;
		float: none;
		position: relative;
	}
	#Cont .brands .topMenu li a {
		color: #fff;
		letter-spacing: 0.3em;
		text-align: center;
	}
	.brands .topMenu li:nth-child(4) {
		width: 100%;
		height: 63.4vw;
	}
	.brands .topMenu li .bg {
		width: 100%;
	}
	.brands .topMenu li:nth-child(4) .bg{
		display: none;
	}
	.brands .topMenu li:nth-child(4) a{
		width: 100%;
		height: 100%;
		display: block;
		background: url('../images/bnr_brand_00.jpg') center center no-repeat;
		background-size: cover;
	}
	.brands .topMenu li .centerMiddle {
		position: absolute;
		left: 50%;
		top: 50%;
		-webkit-transform: translate(-50%, -50%);
		/* Safari用 */
		-ms-transform: translate(-50%, -50%);
		    transform: translate(-50%, -50%);
		width: 100%;
		text-align: center;
	}
	.brands .topMenu li .bnrTitle {
		font-weight: 300;
		font-size: 18px;
		font-size: 5.625vw;
		margin-bottom: 5px;
		margin-bottom: 1.5625vw;
		line-height: 1;
	}
	.brands .topMenu li .bnrTitle:after {
		/*content: "";
		display: block;*/
		margin: 2.4vw auto 3.90625vw;
		/*border-bottom: 1px #fafafa solid;*/
		width: 4.375vw;
		/*margin: bottom: 3.90625vw;*/
	}
	/*.brands .topMenu li .line {
		display: inline-block;
		width: 14px;
		width: 4.375vw;
		margin-bottom: 13px;
		margin-bottom: 3.90625vw;
	}*/
	.brands .topMenu li .bnrText {
		font-size: 10px;
		font-size: 3.125vw;
		line-height: 1.5;
	}
	.brands .topMenu li .bnrText span {
		font-size: 8px;
		font-size: 2.5vw;
		line-height: 2.667;
	}
	.brands .topMenu li .center {
		position: absolute;
		bottom: 17px;
		bottom: 5.15625vw;
		width: 100%;
		text-align: center;
	}
	.brands .topMenu li .visit {
		display: inline;
		width: 160px;
		width: 50vw;
		width: 52vw;
	}

	.imgSection {
		overflow: hidden;
		position: static;
		top: 0;
		margin-bottom: 15px;
		margin-bottom: 4.6875vw;
	}
	.imgSection .bg {
		width: 100%;
		height: auto;
		float: none;
	}

	.imgSection .bg .sp{
		display: block;
		margin:0 auto;
	}
	.imgSection.right .bg{
		width: 100%;
		float: none;
	}
	.imgSection .bg iframe{display: none;}
	.imgSection .sectionText {
		position: static;
		color: #545353;
		letter-spacing: 0.25em;
		padding: 8% 8%;
		padding: 5.5vw 8vw 10vw;
	}
	.imgSection.right .sectionText {
		position: static;
		color: #545353;
		letter-spacing: 0.25em;
		padding: 8% 8%;
		padding: 5.5vw 8vw 10vw;
	}
	.imgSection .sectionText h2 {
		font-size: 18px;
		font-size: 5.625vw;
		margin-bottom: 10px;
		margin-bottom: 3.125vw;
		line-height: 1.5;
		padding: 0;
	}
	.imgSection .sectionText p {
		font-size: 15px;
		font-size: 4.5vw;
		line-height: 1.5;
		padding: 0;
	}

	.abFooter {
		background: #FBF2E1;
		text-align: center;
		padding: 5%;
		padding-top: 7.825vw;
	}
	.abFooter .abFoooterLogo img {
		margin: 0 auto;
		width: 155px;
		width: 48.28125vw;
		margin-bottom: 20px;
		margin-bottom: 7.825vw;
	}
	.abFooter nav.footer ul {
		border-top: 1px solid #eecc95;
		border-bottom: 1px solid #eecc95;
		width: auto;
		height: auto;
		margin: 0 auto;
		text-align: center;
		padding-top: 10px;
		padding-top: 3.125vw;
		padding-bottom: 10px;
		padding-bottom: 3.125vw;
		margin-bottom: 10px;
		margin-bottom: 3.125vw;
	}
	.abFooter nav.footer li {
		display: block;
		width: 100%;
		text-align: center;
		line-height: 1;
		padding-top: 10px;
		padding-top: 3.125vw;
		padding-bottom: 10px;
		padding-bottom: 3.125vw;
	}
	.abFooter nav.footer h3 {
		color: #aa792c;
		font-size: 14px;
		font-size: 4.375vw;
		padding-bottom: 10px;
		padding-bottom: 3.125vw;
	}
	.abFooter nav.footer p {
		color: #484d41;
		font-size: 10px;
		font-size: 3.125vw;
	}

	.toTop {
		position: absolute;
		right: 15px;
		top: -15px;
	}
	.toTop img {
		width: 42.5px;
		width: 13.28125vw;
	}
}

.modal {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.9);
	cursor: pointer;
	opacity: 0;
	z-index: 99999;
}

.modal .modal_close {
	top: -20px;
	right: 0px;
	border: none;
	background: none;
	position: absolute;
	width: 20px;
	height: 20px;
	cursor: pointer;
	display: block;
}

.modal .modal_close:before, .modal .modal_close:after {
	content: '';
	display: block;
	width: 15px;
	height: 3px;
	background: #999;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}
.modal .modal_close:hover:before, .modal .modal_close:hover:after {
	background: #333;
}
.modal .modal_close:before {
	-webkit-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
	        transform:rotate(45deg);
}
.modal .modal_close:after {
	-webkit-transform:rotate(-45deg);
	    -ms-transform:rotate(-45deg);
	        transform:rotate(-45deg);
}

.modal .modal_wrap {
	width: 80%;
	height: 80%;
	position: fixed;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
@media screen and (max-width: 768px) {
	.modal .modal_wrap {
		width: 90%;
	}
}

.js_parallax {
	opacity: 0;
	transition: opacity 0.5s linear;
}
.js_parallax.is_show {
	/*animation: fadein-a 0.5s linear;*/
	opacity: 1;
}
/*@keyframe fadein-a {
	0% {
		opacity : 0;
	}
	100% {
		opacity: 1;
	}
}*/
