@charset "UTF-8";


html, body {
    height: 100%;
}
body {
	position: relative;
	max-width: 100%;
	overflow-x: hidden;
	color: #fff;
	letter-spacing: 0;
	font-family: sans-serif;
	margin: 0;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	background-color: #000;
}
img {
	max-width: 100%;
	height: auto;
}
sup {
	font-size: 50%;
	font-weight: normal;
}

/*
content
---------------------------------------------*/

.container {
	max-width: 1150px;
	padding: 0 30px;
	position: relative;
	margin: 0 auto;
	box-sizing: border-box;
}

@media (max-width: 1040px) {

}

/*
visual
---------------------------------------------*/

#content-visual {
	display: block;
	width: 100%;
	position: relative;
	height: calc(100vh - 118px);
	overflow: hidden;
	position: fixed;
	top: 118px;
	z-index: 20;
	padding: 0px 0 0 0;
	background: #000;
}

#content-visual-para {
	left: -5%;
}

#content-visual .bg {
	position: absolute;
	width: 105%;
	height: 100vh;
	background: url(../img/content-visual-bg.jpg) no-repeat center bottom;
	background-size: cover;
	z-index: 2;
	bottom: 0;
	opacity: 0;
}
#content-visual .product {
	position: absolute;
	z-index: 3;
	bottom: 0;
	text-align: center;
	width: 100%;
	height: 100%;
}
#content-visual .product div {
	position: absolute;
	left: 5%;
	bottom: 118px;
	width: 100%;
	text-align: center;
}
#content-visual .product div img {
	height: calc(100vh - 118px);
	width: auto;
}
#content-visual .product div.product-black {
	opacity: 1;
}
#content-visual .product div.product-logo {
	opacity: 1;
	bottom: 118px;
	left: 5%;
}
#content-visual .product .anime {
	display: block;
	position: relative;
	overflow: visible;
	margin: 0 auto;
	height: calc(100vh - 118px);
}
#content-visual .product .anime2 {
	position: absolute;
	height: calc(100vh - 118px);
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
/* 	overflow: hidden; */
}
#content-visual .product-logo .anime2 {
	overflow: hidden;
	width: 0%;
}
#content-visual .product-logo .anime3 {
	opacity: 1;
}


#content-visual .product .anime3 {
	position: absolute;
	height: calc(100vh - 118px);
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	opacity: 0;
}

#content-visual .light-para {
	width: 110%;
	height: calc(100vh - 90px);
	display: block;
	position: absolute;
	z-index: 4;
}
#content-visual .light-wrapper {
	opacity: 0;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
}
#content-visual .light {
	position: absolute;
	width: 100%;
	height: 100%;
/*
	background: url(../img/content-visual-light.png) no-repeat center bottom;
	background-size: cover;
*/
	z-index: 4;
	bottom: 0;
/* 	transform: scale(1.2); */
/*     bottom: -450px; */
}

#content-visual .light1 {
	background: url(../img/content-visual-light01.png) no-repeat center bottom;
	background-size: cover;
	bottom: -20px;
}
#content-visual .light2 {
	background: url(../img/content-visual-light02.png) no-repeat center bottom;
	background-size: cover;
	bottom: -20px;
}
#content-visual .light3 {
	background: url(../img/content-visual-light03.png) no-repeat center bottom;
	background-size: cover;
	bottom: -20px;
}
#content-visual .visual-bage {
	position: absolute;
	z-index: 9;
	right: 0;
	top:0px;
	opacity: 0;
}
#content-visual .icon-arrow-wrapper {
	opacity: 0;
	z-index: 200 
}
#content-visual .icon-arrow {
	position: absolute;
	left: 50%;
	margin-left: -22px;
	bottom: 38px;
	z-index: 40;
	display: block;
	cursor: pointer;
	animation-name: scroll;
    animation-iteration-count: infinite;
    animation-duration: 2.1s;
}
#content-visual .black {
	background: #000;
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	z-index: 10;
	left: 0;
	top:0;
}
#content-visual.hide {
	opacity: 0;
}
#content-visual .visual-copy {
	font-size: 58px;
	position: absolute;
	width: 100%;
	text-align: center;
	top:calc(50% + 30px);
	font-family: ryo-text-plusn, serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.32em;
	z-index: 8;
}

@keyframes scroll {
    0% {
        opacity: 0;
    }
    50% {
       opacity: 1;
    }
    100% {
       opacity: 0;
    }
}

.dummy-visual {
	position: relative;
	height: calc(100vh - 118px);
	z-index: 2;
}

/*
content
---------------------------------------------*/

#content-wrapper {
	display: block;
/* 	max-width: 1980px; */
	margin: 0 auto;
	min-width: 640px;
}
#content-body {
	position: relative;
	display: block;
	z-index: 20;
}


header,header.header-move,footer,#pagetop {
	z-index: 3000;
}


.max-wrapper {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background: #000;
    z-index: 20;
}
#content-about {
	text-align: center;
	padding: 33% 0 18% 0;
	position: relative;
	overflow: hidden;
	margin-top: -6px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
}
#content-about:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	background: url(../img/boder-texchre.jpg) repeat-x center center;
	background-size: cover;
	z-index: 30;
	top: 0;
}

#content-about .bg {
	position: absolute;
	width: 100%;
	height: 115%;
	display:  block;
	left: 0;
	top:0;
	z-index: 0;
}
#content-about .bg-1 {
	background: url(../img/about-bg-01.jpg) no-repeat center bottom;
	background-size: cover;
	left: 0;
	top:0;
}
#content-about .bg-2 {
	background: url(../img/about-bg-02.png) no-repeat center bottom;
	background-size: cover;
	left: 0;
	top:0;
}
#content-about .bg-dixed .bg {
	position: fixed; 
}
#content-about h2 {
	font-size: 34px;
    font-family: ryo-text-plusn, serif;
    font-weight: 500;
    position: relative;
    letter-spacing: 0.3em;
    margin-bottom:60px;
}
#content-about h2:after {
	position: absolute;
	height: 1px;
	background: #fff;
	width: 38px;
	display: block;
	content: "";
	left: 50%;
	margin-left: -19px;
	/*bottom: -24px;*/
	bottom:-27px;
}
#content-about p {
	font-family: ryo-text-plusn, serif;
    font-weight: 500;
    font-size: 17px;
    line-height: 2.2;
    letter-spacing: 0.25em;
    margin-bottom: 22px;
}
#content-about .logo {
	padding: 60px 0 0 0;
}


.dummy-bg {
	position: fixed;
	width: 100%;
	height: 100vh;
	display: block;
	left: 0;
	top:0;
}
.dummy-bg .bg {
	position: absolute;
	width: 100%;
	height: 100vh;
	display: block;
	z-index: -1;
	background: url(../img/point-bg-gold.jpg) no-repeat center center;
	background-size: cover;
	top:0;
	left: 0;
}
.dummy-bg .bg-color {
	opacity: 1;
}

.renewal h2 {
	text-align: center;
	line-height: 1;
	margin-top: 0;
	position: relative;
	z-index: 10;
}
.renewal h2 span {
	display: block;
	text-align: center;
	width: 100%;
}
.renewal h2 span.obi01 {
	padding: 8px 0;
	background: url(../img/dobuble_obi_01.png) no-repeat center center;
	background-size: cover;
}
.renewal h2 span.obi02 {
	padding: 8px 0;
	background: url(../img/dobuble_obi_02.png) no-repeat center center;
	background-size: cover;
    font-family: ryo-text-plusn, serif;
    font-weight: 500;
    color: #000;
    font-size: 19px;
    letter-spacing: 0.1em;
}

#renewal h2 {
	transform: translate(0, 0);
    transition: opacity 0.6s cubic-bezier(0.3,0.4,0.1,1),transform 0.6s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.5s;
}
#renewal h2.renew-right {
	transform: translate(0, -100%);
}


.renewal {
	position: relative;
	display: block;
	z-index: 10;
	overflow: hidden;
}
.renewal .bg-left {
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: calc(100vh - 60px);
    background: url(../img/tec_main_bg.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
}
.renewal .bg-right {
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: calc(100vh - 60px);
	background: url(../img/renewal_bg.png) no-repeat center center;
	background-size: cover;
	position: absolute;
	transform: translate(0 0);
    transition: opacity 0.8s cubic-bezier(0.3,0.4,0.1,1),transform 1.2s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.5s;
}

#renewal .dummy-height {
	position: relative;
	display: block;
	width: 100%;
	height: 3000px;
}
.dummy-point {
	position: absolute;
	top: 300px;
	display: block;
}
.renewal-fixed {
	position: absolute;
	display: block;
	width: 100%;
	height: 100vh;
	left: 0;
	top:-2px;
}
.renewal-fixed .renewal-inner {
	position: absolute;
	display: block;
	width: 100%;
	height: 400px;
	top: 50%;
	margin-top: -150px;
	z-index: 8;
}

/*
#renewal {
	padding: 40px 0 0 0;
}
*/
#renewal.re-fixed .renewal-fixed {
	position: fixed;
	top:60px;
}
#renewal.re-fixed .bg-left {
	position: fixed;
	z-index: -2;
	top:60px;
}
#renewal.re-fixed .bg-right {
	position: absolute;
	z-index: 2
}

#renewal.re-fixed2 .bg-right {
	transform: translate( 100%, 0);	
}

#renewal ul li:nth-child(2)  {
	transform: translate(0 0);
    transition: opacity 0.8s cubic-bezier(0.3,0.4,0.1,1),transform 1.2s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.5s;
    -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
#renewal.re-fixed2 ul li:nth-child(2)  {
	transform: translate( 100%, 0);	
}

#renewal h3  {
	transform: translate(0 0);
    transition: opacity 0.8s cubic-bezier(0.3,0.4,0.1,1),transform 1.2s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.5s;
    -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
#renewal.re-fixed2 h3  {
	transform: translate( 100%, 0);	
}
#renewal.re-fixed2 ul li:nth-child(2):after {
	display: none;
}

#renewal {
	overflow: hidden;
}
#renewal .bottle {
	position: absolute;
	margin-bottom: 60px;
	left: 50%;
	margin-left: -30px;
	display: block;
	bottom: 0;
}
#renewal .bottle img {
	height: calc(90vh - 60px);
	width: auto;
}

.renewal-inner {
	display: block;
	width: 100%;
	height: 100vh;
}
.renewal h3 {
	text-align: center;
	margin-bottom: 22px;
}
.renewal ul {
	max-width: 1250px;
	margin: 0 auto;
	display: block;
	position: relative;
	padding: 0 30px;
}
.renewal ul li {
	width: 50%;
	display: block;
	float: left;
	text-align: center;
}
.renewal ul li:nth-child(2):after {
	position: absolute;
	content: "";
	display: block;
	width: 71px;
	height: 71px;
	background: url(../img/renewal_and.png) no-repeat center center;
	background-size: contain;
	left: 50%;
	top: 6px;
	margin-left: -35px;
}
.renewal ul li a {
	display: block;
	position: relative;
	height: 210px;
}
.renewal ul li a:before {
	content: "";
	display: block;
	width: 32px;
	height: 11px;
	background: url(../img/icon_arrow_b.png) no-repeat center center;
	background-size: contain;
	left: 50%;
	bottom: -29px;
	position: absolute;
	margin-left: -23px;
}
.renewal ul li:nth-child(1) a:before {
	background: url(../img/icon_arrow_w.png) no-repeat center center;
	background-size: contain;
}

.renewal .renewal-attention {
	position: absolute;
	font-size: 10px;
	right: 11px;
	bottom: 80px;
	color: #000;
	z-index: 20;
}

#renewal .renewal ul.li-hide li a {
	pointer-events:none;
	cursor: default;
}
#renewal ul.li-hide li a:before {
	display: none;
}

#tec-main {
	position: relative;
    width: 100%;
    padding-bottom: 57.5%;
    display: block;
/*
    background: url(../img/tec_main_bg.jpg) no-repeat center center;
    background-size: cover;
*/
	z-index: 20;
}
#tec-main h2 {
	position: absolute;
	top:50%;
	left: 50%;
    margin-top: -90px;
    margin-left: -440px;
}

#technology {
	position: relative;
	max-width: 1920px;
    margin: 0 auto;
    z-index: 20;
}
#technology h2 {
	position: absolute;
	z-index: 10;
	display: block;
	width: 100%;
	height: 60px;
}
#technology h2 span {
	text-align: center;
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	margin-left: -167px;
	z-index: 10;
}
#technology h2:before {
	display: block;
	content: "";
	width: 100%;
	height: 15px;
	background: #020a15;
	position: absolute;
	left: 0;
	top:0;
}
#technology h2.ttl-fixed {
    position: fixed;
    top: 60px;
    z-index: 2000;
    display: block;
    height: 120px;
    width: 100%;
    left: 0;
}

#technology .tec-box {
	padding: 18% 0;
	display: block;
	width: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
#technology .tec-1 {
	position: relative;
	overflow: hidden;
}
#technology .tec-1 .bg {
	background: url(../img/tec_bg01.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
	display: block;
	width: 100%;
	height: 115%;
	left: 0;
	top:0;
}
#technology .tec-2 {
	position: relative;
	overflow: hidden;
}
#technology .tec-2 .bg {
	background: url(../img/tec_bg02.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
	display: block;
	width: 100%;
	height: 115%;
	left: 0;
	top:0;
}
#technology .tec-box-inner {
	max-width: 960px;
	margin: 0 auto;
}
#technology .tec-box-inner .pict,#technology .tec-box-inner .info {
	width: 50%;
	float: left;
	box-sizing: border-box;
}
#content-body #technology .tec-2 .pict {
	padding: 0 5px 0 0;
}

#technology .tec-box-inner .pict {
	padding: 0 30px;
}
#technology .tec-box-inner .info { 
	padding: 0 30px;
}

#technology .tec-box-inner .info .point {
	display: block;
	width: 206px;
	height: 35px;
	text-align: center;
	background: url(../img/point_bg.png) no-repeat 0 0;
	background-size: contain;
	font-size: 19px;
	line-height: 1.8;
	margin-bottom: 22px;
}

#technology .tec-box-inner .info h3 {
	font-size: 28px;
	margin-bottom: 22px;
}
#technology .tec-box-inner .info h4 {
	font-size: 18px;
	margin-bottom: 5px;
}
#technology .tec-box-inner .info p {
	font-size: 16px;
	margin-bottom: 20px;
}
#technology .tec-box-inner .info p small {
	font-size: 11px;
	display: block;
	line-height: 1.4;
}
#technology .tec-box-inner .info dl {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: 18px 0 8px 0;
	margin-bottom: 12px;
}
#technology .tec-box-inner .info dl dt {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
}
#technology .tec-box-inner .info dl dd {
	font-size: 15px;
	margin-bottom: 10px;
}
#technology .tec-box-inner .info dl dd ul {
	line-height: 1.75;
}
#technology .tec-box-inner .info dl dd ul li {
	display: inline-block;
}
#technology .tec-box-inner .info dl dd ul li:nth-child(odd) {
	width: 45%;
}
#technology .tec-box-inner .info dl dd ul li:nth-child(even) {
	width: 53%;
}
#technology .tec-box-inner .info ul li {
	list-style-type: none;
}
#technology .tec-box-inner .info dl dd small {
	font-size: 11px;
}

#luxury {
	overflow: hidden;
}
#luxury .lux-main {
	position: relative;
	width: 100%;
	height: auto;
	display: block;
}
#luxury .lux-main .inner {
	position: absolute;
	display: block;
	height: 100vh;
	width: 100%;
	left: 0;
	top:0;
}
#luxury .lux-main .bg {
	display: block;
	position: absolute;
	background: url(../img/lux_main_bg.jpg) no-repeat center center;
	background-size: cover;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	left: 0;
	top:0;
}
#luxury .lux-main .dummy-height {
	position: relative;
	display: block;
	height: 2200px;
}
#luxury .lux-main.lux-fixed .inner {
	position: fixed;
}

#luxury .lux-main h2 {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -90px;
	margin-left: 132px;
}
#luxury .lux-box-wrapper {
	position: relative;
	display: block;
	width: 100%;
    max-width: 1920px;
    margin: 0 auto;
}

#luxury .lux-main.lux-fixed .bg {
	position: fixed;
	left: 0;
	top:0;
}
#luxury .lux-main.lux-fixed h2 {
	position: fixed;
}
#luxury .lux-main {
	overflow: hidden;
}
#luxury .lux-main .bottle {
	position: absolute;
}
#luxury .lux-main .bottle img {
    height: calc(100vh - 70px);
    width: auto;
}

#luxury .lux-box-wrapper h2.ttl-fixed {
    position: fixed;
    top: 60px;
    z-index: 2000;
    display: block;
    height: 120px;
    width: 100%;
    left: 0;
}
#luxury .lux-box-wrapper h2 span {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 10;
	margin-left: -167px;
	text-align: center;
}
#luxury .lux-box-wrapper h2:before {
	content: "";
	display: block;
	height: 15px;
	width: 100%;
	background: url(../img/ttl_lux_bg.png) no-repeat center center;
	background-size: 1280px 16px;
	background-color: #fff;
}

#luxury .lux-box {
	display: block;
	position: relative;
	width: 100%;
	padding-bottom: 57.5%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #000;
}
#luxury .lux-box .bg {
	display: block;
	position: absolute;
	left: 0;
	top:0;
	width: 100%;
	height: 115%;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
}
#luxury .lux-1,#luxury .lux-2,#luxury .lux-3,#luxury .lux-4 {
	position: relative;
	overflow: hidden;
}
#luxury .lux-1 .bg {
	background-image: url(../img/lux_bg01.jpg);
}
#luxury .lux-2 .bg {
	background-image: url(../img/lux_bg02.jpg);
}
#luxury .lux-3 .bg {
	background-image: url(../img/lux_bg03.jpg);
}
#luxury .lux-4 .bg {
	background-image: url(../img/lux_bg04.jpg);
}

#luxury .lux-box-inner {
	position: absolute;
	left: 50%;
	margin-left: 30px;
	top:22%;
	max-width: 420px;
}
#luxury .lux-2 .lux-box-inner {
	margin-left: -420px;
}
#luxury .lux-4 .lux-box-inner {
	margin-left: -420px;
}

#luxury .lux-box .point {
    display: block;
    width: 206px;
    height: 35px;
    text-align: center;
    background: url(../img/point_bg.png) no-repeat 0 0;
    background-size: contain;
    font-size: 19px;
    line-height: 1.8;
    margin-bottom: 22px;
    color: #fff;
}
#luxury .lux-box h3 {
    font-size: 28px;
    margin-bottom: 22px;
    line-height: 1.3;
}
#luxury .lux-box h3 small {
	display: block;
	font-size: 12px;
	margin-bottom: 4px;
}
#luxury .lux-box h3 span {
	display: block;
}
#luxury .lux-box dl dt {
	display: block;
	margin-bottom: 6px;
	font-weight: bold;
}
#luxury .lux-box dl dt small {
	display: block;
	font-size: 12px;
}
#luxury .lux-box dl dt span {
	font-size: 19px;
}
#luxury .lux-box dl dd {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 18px;
}
#luxury .lux-box dl dd small {
	font-size: 11px;
}

.content-products {
	padding: 12% 0;
	color: #000;
	position: relative;
	overflow: hidden;
	color: #fff;
}
.content-products .bg {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/products_bg.jpg) no-repeat center center;
	background-size: cover;
	left: 0;
	top:0;
	-webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all  0.3s ease-in;
    opacity: 1;
}
#content-products2 {
	color: #000;
}
#content-products2 .bg {
	background: url(../img/products_bg2.jpg) no-repeat center center;
	height: 100%;
}
.content-products .bg-dixed {
	position: fixed;
	opacity: 1;
}
.content-products h2 {
	display: block;
	text-align: center;
	margin-bottom: 60px;
	font-family: ryo-text-plusn, serif;
    font-weight: 500;
    font-size: 26px;
    letter-spacing: 0.16em;
    text-indent: 1.5em;
}
.content-products .products-wrapper {
	max-width: 900px;
	display: block;
	margin: 0 auto;
}
.content-products .products-box {
	display: block;
	width: 50%;
	float: left;
}
.content-products .products-box .pict {
	display: block;
	text-align: center;
	margin-bottom: 15px;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	max-width: 320px;
}
/*
.content-products .products-box .pict img {
	height: calc(100vh - 500px);
	max-height: 450px;
	width: auto;
}
*/


#products-fixed-dummy {
	height: calc(450vh - 300px);
}
#products-fixed {
	position: absolute;
	top: 120px;
	display: block;
	width: 100%;
}
/*
#products dl,#products .bnr {
	opacity: 0;
    transform: translate(0,40px);
    transition: opacity 0.8s cubic-bezier(0.3,0.4,0.1,1),transform 0.8s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.6s;
}
#products.pro-fixed2 dl,#products.pro-fixed2 .bnr {
    opacity: 1;
    transform: translate(0,0);
}
*/


.content-products.pro-fixed .bg {
	position: fixed;
}
.content-products.pro-fixed #products-fixed {
	position: fixed;
}


#products .products-box .pict .bottle {
	position: absolute;	
	left: 0;
	top:0;
	width: 100%;
    margin-left: 25%;
}

.content-products .products-box dl {
	position: relative;
	margin: 0 auto;
	min-height: 110px;
	margin: 0 auto 18px auto;
	max-width: 250px;
	text-align: center;
}
.content-products .products-box dl dt {
	position: absolute;
	left: 0;
	top:0;	
}
.content-products .products-box dl dd {
	padding-top: 22px;
}
.content-products .products-box dl dd .name,.content-products .products-box dl dd .price,.content-products .products-box dl dd .extra-name {
	display: block;
}
.content-products .products-box dl dd .name {
	font-size: 15px;
	margin-bottom: 4px;
}
.content-products .products-box dl dd .price {
	font-size: 20px;
}
.content-products .products-box dl dd .price small {
	font-size: 12px;
	display: inline-block;
	margin-left: 8px;
	font-weight: normal;
}
.content-products .products-box dl dd .extra-name {
	font-size: 12px;
	padding-top: 8px;
	padding-bottom: 10px;
}
.content-products .products-box .bnr {
	text-align: center;
}
.content-products .products-box .bnr span {
	display: block;
	margin-bottom: 14px;
}
.content-products .products-box .bnr a {
	display: block;
	background: #000;
	color: #fff;
	padding: 16px 0;
	font-size: 16px;
	max-width: 260px;
	margin: 0 auto;
	position: relative;
/* 	box-shadow: 0px 0px 12px rgba(38,49,119,1),0px 0px 12px rgba(38,49,119,1);  */
	overflow: hidden;
	animation-name: shadow;
    animation-iteration-count: infinite;
    animation-duration:2.4s;
    letter-spacing: 0.05em;
}

@keyframes shadow {
    0% {
        box-shadow: 0px 0px 12px rgba(38,49,119,1),0px 0px 14px rgba(38,49,119,1),0px 0px 14px rgba(38,49,119,1);
    }
    50% {
       box-shadow: 0px 0px 12px rgba(38,49,119,0.5),0px 0px 14px rgba(38,49,119,0.5),0px 0px 14px rgba(38,49,119,0.5); 
    }
    100% {
       box-shadow: 0px 0px 12px rgba(38,49,119,1),0px 0px 14px rgba(38,49,119,1),0px 0px 14px rgba(38,49,119,1); 
    }
}

.content-products .products-box .bnr a span {
	position: relative;
	z-index: 10;
	margin-bottom: 0;
}
.content-products .products-box .bnr a:after {
	position: absolute;
	width: 17px;
	height: 8px;
	content: "";
	background: url(../img/icon_arrow2.png) no-repeat 0 0;
	background-size: cover;
	right: 18px;
	top:20px;
	-webkit-transition: all 0.2s cubic-bezier(0.3,0.4,0.1,1);
    -moz-transition: all 0.2s cubic-bezier(0.3,0.4,0.1,1);
    -o-transition: all 0.2s cubic-bezier(0.3,0.4,0.1,1);
    transition: all  0.2s cubic-bezier(0.3,0.4,0.1,1);
}
.content-products .products-box .bnr a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #2d3264;
	left: 0;
	top:0;
	-webkit-transition: all 0.2s cubic-bezier(0.3,0.4,0.1,1);
    -moz-transition: all 0.2s cubic-bezier(0.3,0.4,0.1,1);
    -o-transition: all 0.2s cubic-bezier(0.3,0.4,0.1,1);
    transition: all  0.2s cubic-bezier(0.3,0.4,0.1,1);
    transform: translate(0,100%);
}
.content-products .products-box .bnr a:hover {
	text-decoration: none;
}
.content-products .products-box .bnr a:hover:after {
	right: 24px;
}
.content-products .products-box .bnr a:hover:before {
	transform: translate(0,0);
}
#content-point .point-wrapper .andand-sp {
	display: none;
}
.content-products .attention {
	padding-top: 100px;
	display: block;
	text-align: center;
}
.content-products .attention p {
	text-align: left;
	display: inline-block;
	line-height: 1.85;
}


footer {
	background: #000;
}

#content-visual .product div.product-black-sp {
	display: none;
}
#content-visual .product-logo-sp {
	display: none;
}

#content-body .bg-hide {
	display: none;
}
#content-body .bg-hide.bg-show {
	display: block;
}

.pc-hide {
	display: none
}
.sp-hide {
	display: inline-block;
}

.bottle {
	position: absolute;
	left: 50%;
}
#luxury .bottle {
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -540px;
}

.page-navi {
	position: fixed;
	z-index: 3000;
	right:30px;
	top: 36%;
}
.page-navi ul li {
	padding: 10px 10px;
	list-style-type: none;
	cursor: pointer;
	display: block;
}
.page-navi ul li:first-child {
	margin-bottom: 6px;
}
.page-navi .circle {
	width: 7px;
	height: 7px;
	display: block;
	background: #fff;
	border-radius: 50%;
	position: relative;
	left: 1px;
	opacity: 0.5;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
.page-navi .chara {
	display: block;
	height: 0;
	overflow: hidden;
	opacity: 0;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    position: relative;
}
.page-navi ul li.on .circle {
	opacity: 0.9;
}
.page-navi ul li.on .chara {
	height: auto;
	opacity: 1;
	top: 6px;
}
.page-navi ul li:hover .chara {
	height: auto;
	opacity: 1;
	top: 6px;
}

#products {
	display: block;
}
#sp-products {
	display: none;
}

#renewal {
	display: block;
}
#sp-renewal {
	display: none;
}

#tec-main {
	display: none;
}
#lux-main {
	display: none;
}

@media screen and (max-width: 1024px) {
	
	#luxury .lux-main .bg {
	    background: url(../img/lux_main_bg_sp.jpg) no-repeat center center;
	}
	
	
	#tec-main {
		display: block;
	}
	
	#luxury .lux-main {
		display: none;
	}
	#lux-main {
		display: block;
	}
	
	#products {
		display: none;
	}
	#sp-products {
		display: block;
	}
	
	#renewal {
		display: none;
	}
	#sp-renewal {
		display: block;
	}
	
	.bottle {
		display: none;
	}
	
	.pc-hide {
		display: inline-block;
	}
	.sp-hide {
		display: none;
	}
	
	#content-visual .product div img {
		height: 542px;
		width: auto;
	}
	#content-visual .product .anime {
		height: calc(100vh - 85px);
	}
	#content-visual .product .anime2 {
		height: calc(100vh - 85px);
	}
	#content-visual .product .anime3 {
		/*height: calc(100vh - 85px);*/
	}
	
	#content-about .bg-dixed .bg {
		z-index: 0;
	}
	#content-point .bg-point {
		display: none;
	}
	
	#content-visual .product div.product-black {
		display: none;
	}
	#content-visual .product div.product-black-sp {
		display: block;
	}
	
	#content-visual .product-logo-pc {
		display: none;
	}
	#content-visual .product-logo-sp {
		display: block;
	}
	
	#content-point .point h4 {
		line-height: 1.4;
	}
	
	#content-wrapper sup {
		font-size: 50%;
	}
	
	#content-visual {
	    height: calc(100vh - 84px);
	        padding: 0px 0 0 0;
	}
	#content-visual h1 {
		font-size: 38px;
	}	
	#content-visual .icon-arrow {
		bottom: auto;
		top: 80%;
	}
	#content-visual .product div,#content-visual .product div.product-logo {
		bottom: 125px;
	    transform: scale(1.1);
	}
	#content-visual .light-para {
	    height: calc(100vh - 60px);
	}
	
	#content-about {
		padding: 140px 0;
		margin-top: -15px;
	}
	#content-about:after {
		height: 15px;
	}
	#content-about h2 {
		font-size: 38px;
	}
	#content-about p {
		font-size: 22px;
		letter-spacing: 0.15em;
	}
	#content-about .logo {
		padding-top: 60px;
	}
	
	
	.content-products {
		/*padding: 90px 0 50px 0;*/
		padding: 200px 0 50px 0;
	}
	.content-products .products-box {
		float: none;
		width: 100%;
		margin-bottom: 90px;
		padding-top: 50px;
	}
	.content-products h2 {
		font-size: 36px;
		margin-bottom: 20px;
		text-indent: 0;
	}
	.content-products h2 span {
		font-size: 24px;
	}
	.content-products .products-box .pict {
		width: 580px;
		margin: 0 auto 20px auto;
	}
	.content-products .products-box dl {
		max-width: 380px;
		min-height: 130px;
	}
	.content-products .products-box dl dt img {
		width: 130px;
	}
	.content-products .products-box dl dd {
		padding-top: 10px;
	}
	.content-products .products-box dl dd .name {
		font-size: 22px;
	}
	.content-products .products-box dl dd .price {
		font-size: 30px;
	}
	.content-products .products-box dl dd .price small {
		font-size: 16px;
		font-weight: normal;
	}
	
	.content-products .products-box .bnr span {
		font-size: 22px;
		margin-bottom:20px;
	}
	.content-products .products-box .bnr a {
		font-size: 20px;
		padding: 30px 0;
		max-width: 420px;
	}
	.content-products .products-box .bnr a:after {
	    background: url(../img/icon_arrow2.png) no-repeat 0 0;
	    background-size: contain;
	    width: 28px;
	    height: 12px;
		top: 37px;
		right: 22px;
	}
	.content-products .products-box .bnr a span {
		font-size: 26px;
	}
	
	.content-products .attention {
		padding-top:10px;
	}
	.content-products .attention p {
		font-size: 18px;
	}
	
	#content-visual .visual-copy {
		font-size: 38px;
	}
	.dummy-visual {
	    height: calc(100vh - 84px);
	}
	#content-visual .visual-bage {
		top:0px;
	}
	#content-visual .visual-bage img {
		width: 225px;
	}
	#content-point .container {
		margin-top: 0;
	}
	.dummy-bg {
		display: none;
	}
	.content-products .bg {
		background: url(../img/products_bg_sp.jpg) no-repeat center bottom;
		background-size: contain;
		background-color: #010307;
		height: 100%;
	}	
	#content-visual .bg {
		background: url(../img/content-visual-bg-sp.jpg) no-repeat center bottom;
		background-size: cover;
	}
	#content-visual h1 img {
		width: 424px;
	}
	
	#content-point .point h3 small {
		font-size: 23px;
		letter-spacing: 0.07em;
	}
	
	#content-visual .bg {
		width: 116%;
	}
	
	#content-visual .light {
		width: 100%;
		height: 100%;
	}
	#content-visual .light1 {
		background: url(../img/content-visual-light01-sp.png) no-repeat center bottom;
		background-size: cover;
		bottom: 0px;
	}
	#content-visual .light2 {
		background: url(../img/content-visual-light02-sp.png) no-repeat center bottom;
		background-size: cover;
		bottom: 0px;
	}
	#content-visual .light3 {
		background: url(../img/content-visual-light03-sp.png) no-repeat center bottom;
		background-size: cover;
		bottom: 0px;
	}
	
	#content-visual .visual-copy {
		    top: calc(50% - 10px);
	}
	
	#content-visual .product {
		width: 110%;
	}
	#content-visual .product div.product-logo,#content-visual .product div.product-black {
		bottom: 85px;
	}
	#content-visual .product div.product-black {
		bottom: 8%;	
	}
	#content-visual .product div.product-black img {
		/*height: 752px;*/
		height: calc(100vh - 180px);
		width: auto;
	}
	
	#content-visual .product div.product-logo {
		left: 0;
	}
	
	#content-about {
		width: 100%;
	}
	#content-about .bg {
		position: absolute;
		height: 115%;
	}
	#content-about .bg-1 {
	    background: url(../img/about-bg-01-sp.jpg) no-repeat center top;
	    background-size: cover;
	}
	#content-about .bg-2 {
	    background: url(../img/about-bg-02-sp.png) no-repeat center top;
	    background-size: cover;
	}
	
	sup {
		vertical-align: text-top;
	}
	
	#technology .tec-box-inner .pict, #technology .tec-box-inner .info {
		float: none;
		width: 100%;
	}
	#technology .tec-box-inner {
		padding: 0 30px;
		height: auto;
	}
	#technology .tec-box-inner .pict,#technology .tec-box-inner .info {
		padding: 0;
	}
	#technology .tec-box-inner .pict {
		margin-bottom: 80px;
	}
	
	.renewal-inner {
		background: url(../img/renewal_bg_sp.jpg) no-repeat center center;
	    background-size: cover;
        padding: 10% 0;
        height: auto;
	}
	.renewal h3 {
		margin-bottom: 30px;
	}
	.renewal h3 img {
		width: 392px;
	}
	.renewal ul {
		padding: 0 15px;
	}
	.renewal ul li:first-child:after {
		width: 50px;
		height: 50px;
		top: 15px;
		margin-right: -25px;
	}
	.renewal h2 span.obi02 {
		font-size: 26px;
	}
	.renewal ul li:nth-child(2):after {
		width: 58px;
		height: 58px;
		margin-left: -30px;
	}
	
	
	#luxury .lux-main {
		background: url(../img/lux_main_bg_sp.jpg) no-repeat center center;
		background-size: cover;
		padding-bottom: 145%;
	}
	#luxury .lux-main h2 {
		top: 100px;
		margin-left: -130px;
		margin-top: 0;
	}
	#luxury .lux-main h2 img {
		width: 310px;
	}
	.bg_sp {
		background-position: center top;
		background-repeat: no-repeat;
		background-size: cover;
		position: absolute;
		left: 0;
		top:0;
		width: 100%;
		height: 108%;
	}
	
	#luxury .lux-box {
		padding-bottom: 230%;
		background-position: center top;
	}
	#luxury .lux-1 {
		padding-bottom:245%;
	}
	#luxury .lux-4 {
		padding-bottom:270%;
	}
	#luxury .lux-1 .bg,#luxury .lux-2 .bg,#luxury .lux-3 .bg,#luxury .lux-4 .bg {
		display: none;
	}
	#luxury .lux-1 .bg_sp {
	    background-image: url(../img/lux_bg01_sp.jpg);
	}
	#luxury .lux-2 .bg_sp {
	    background-image: url(../img/lux_bg02_sp.jpg);
	    background-position: center top;
	}
	#luxury .lux-3 .bg_sp {
	    background-image: url(../img/lux_bg03_sp.jpg);
	    background-position: center top;
	}
	#luxury .lux-4 .bg_sp {
		background-image: url(../img/lux_bg04_sp.jpg);
		background-position: center top;
	}
	#luxury .lux-box-inner {
		left: 30px;
		top: auto;
		margin-left: 0;
		width: calc(100% - 60px);
		max-width: 100%;
		bottom: 105px;
	}
	#luxury .lux-2 .lux-box-inner {
		margin-left: 0;
	}
	#luxury .lux-4 .lux-box-inner {
		margin-left: 0;
	}
	#luxury .lux-box .point {
		width: 276px;
		height: 48px;
		font-size: 26px;
		margin-bottom: 26px;
	}
	#luxury .lux-box h3 {
		font-size: 38px;
		margin-bottom: 22px;
	}
	#luxury .lux-box h3 small {
		font-size: 20px;
	}
	#luxury .lux-box dl dt {
		/*margin-bottom: 0;*/
	}
	#luxury .lux-box dl dt span {
		font-size: 28px;
	}
	#luxury .lux-box dl dd {
		font-size: 24px;
	}
	#luxury .lux-box dl dd img {
		width: 100%;
		margin-top: 10px;
	}
	
	#technology h2 span img {
		width: 440px;
	}
	#technology h2 span {
		margin-left: -220px;
	}
	#technology .tec-1 .bg {
		display: none;
	}
	#technology .tec-1 .bg_sp {
		 background-image: url(../img/tec_bg01_sp.jpg);
	}	
	#technology .tec-2 .bg {
		display: none
	}
	#technology .tec-2 .bg_sp {
		background-image: url(../img/tec_bg02_sp.jpg);
	}
	
	#technology .tec-box {
		padding: 180px 0;
	}
	#technology .tec-box-inner .info .point {
		width: 276px;
		height: 48px;
		font-size: 26px;
		margin-bottom: 26px;
	}
	#technology .tec-box-inner .info h3 {
		font-size: 40px;
		line-height: 1.3;
	}
	#technology .tec-box-inner .info h4 {
		font-size: 30px !important;
	}
	#technology .tec-box-inner .info p {
		font-size: 24px;
	}
	#technology .tec-box-inner .info dl dt {
		font-size: 24px;
	}
	#technology .tec-box-inner .info dl dd {
		font-size: 22px;
	}
	
	#tec-main {
		background: url(../img/tec_main_bg_sp.jpg) no-repeat center center;
		background-size: cover;
		padding-bottom: 145%;
	}
	#tec-main h2 {
		margin-top: 0;
		margin-left: -240px;
		top: 70px;	
	}
	#tec-main h2 img {
		width: 480px;
	}
	
	#technology .tec-1 .pict {
		text-align: center;
	}
	#technology .tec-1 .pict img {
		width: 430px
	}
	
	
	#content-products2 .bg {
		background: url(../img/products_bg_sp2.jpg) no-repeat center center;
	}
	
	#technology h2.ttl-fixed {
		top: 84px;
	}
	#luxury .lux-box-wrapper h2.ttl-fixed {
		top: 84px;
	}
	#luxury h2 span img {
		width: 440px;
	}
	#luxury h2 span {
		margin-left: -220px !important;
	}
	.page-navi {
		display: none;
	}
	
	.content-products .products-box dl dd .extra-name {
		font-size: 18px;
	}
	
	
	.bottle_sp {
		position: absolute;
		left: 0;
		top:0;
	}
	.dummy-height-sp {
		position: relative;
		height: 2500px;
	}
	#tec-main .inner {
		height: calc(100vh - 85px);;
		padding-bottom: 0;
		position: absolute;
		width: 100%;
		left: 0;
		top:0;
		background: url(../img/tec_main_bg_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#tec-main .bottle_sp {
		left: calc(8% + 20px);
		bottom: -36%;
		top: auto;
	}
	#tec-main .bottle_sp img {
	    height: calc(100vh - 85px);
	    width: auto;
	}
	#tec-main.sp-fixed .inner {
		position: fixed;
		top:85px;
	}
	
	#lux-main {
		position: relative;
		width: 100%;
	}
	#lux-main .dummy-height-sp {
		height: 3000px;
	}
	#lux-main h2 {
	    top: 70px;
	    left: 50%;
	    margin-left: -155px;
	    margin-top: -115px;
	    top: 50%;
	    position: absolute;
	    z-index: 200;
	}
	#lux-main .inner {
		height: calc(100vh - 85px);
		padding-bottom: 0;
		position: absolute;
		width: 100%;
		left: 0;
		top:0;
		background: url(../img/luxury_back_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#lux-main .bottle_sp_wrapper {
		position: absolute;
		width: 343px;
		right: 0;
		top:200px;
		display: block;
	}
	#lux-main .bottle_sp {
		right: 0;
		top:0;
	}
	#lux-main .bottle_sp img {
		height: calc(100vh - 58px);
		width: auto;
	}
	#lux-main.sp-fixed .inner {
		position: fixed;
		top:85px;
	}
	
	.renewal ul li a {
		height: auto;
	}
	.renewal ul li a:before {
		display: none;
	}
	
}



/*
animation
---------------------------------------------*/

.fadeIn {
	opacity: 0;
    transform: translate(0,40px);
    transition: opacity 0.8s cubic-bezier(0.3,0.4,0.1,1),transform 0.8s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.6s;
}
.fadeIn.fadeIn-on {
	opacity: 1;
    transform: translate(0,0);
}
.fadeIn_long {
	opacity: 0;
    transform: translate(0,100%);
    transition: opacity 1.2s cubic-bezier(0.3,0.4,0.1,1),transform 1.2s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.6s;
}
.fadeIn_long.fadeIn-on {
	opacity: 1;
    transform: translate(0,0);
}
.fadeIn_left {
	opacity: 0;
    transform: translate(-100%,0);
    transition: opacity 0.8s cubic-bezier(0.3,0.4,0.1,1),transform 0.8s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.6s;
}
.fadeIn_left.fadeIn-on {
	opacity: 1;
    transform: translate(0,0);
}
.fade {
	opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.3,0.4,0.1,1),transform 0.8s cubic-bezier(0.3,0.4,0.1,1);
    transition-delay: 0.6s;
}
.fade.fade-on {
	opacity: 1;
    transform: translate(0,0);
}

.renew-right {
    transform: translate(150%,0);
}
.renewal ul li.renew-right:after {
	opacity: 0;
}

/*
clearfix
---------------------------------------------*/

.clearfix::after{
  content: "";
  display: block;
  clear: both;
}

/*20190206 vancraft追加*/
.page-navi{
	top:45% !important;
}

.content-products .products-box dl dd .price{
	font-weight: bold;
}
.renewal h2 span.obi01,.renewal h2 span.obi02{
	padding: 11px 0 !important;
}
.content-products .products-box .bnr a{
	border:1px solid #1d2088;
}
#technology .tec-box-inner .info .point{
	font-weight: bold;
}
#technology .tec-box-inner .pict{
	padding: 100px 30px 0;
}
#technology .tec-box-inner .info h4{
	font-size: 19px;
    /*letter-spacing: 0.05em;*/
}
#technology .tec-box-inner .info h4 rt{
	letter-spacing: normal;
}
#technology .tec-box-inner .info dl dt{
	/*letter-spacing: 0.1em;*/
}
#technology .tec-box-inner .info dl dt.point-message{
	margin: 5px 0 15px;
}
#technology .tec-box-inner .info dl dt.point-subttl{
	margin-left: -8px;
}
#luxury .lux-box .point{
	font-weight: bold;
}
#luxury .lux-box dl dt span{
	letter-spacing: 0.05em;
}

@media screen and (max-width: 767px){
	.full-img{
		width: 100%;
	}
	#content-about{
		padding: 280px 0 140px;
	}
	.content-products .products-box dl dd .extra-name{
		font-size: 18px;
	}
	.renewal ul li{
		padding: 0px 40px;
		box-sizing: border-box;
	}
	#technology .tec-box-inner .info dl dd small{
		font-size:16px;
	}
	#technology .tec-box-inner .info p small{
		font-size: 16px;
	}
	#luxury .lux-box dl dd small{
		font-size: 16px;
	}
	.renewal .renewal-attention{
		bottom: 11px;
	}
	#technology .tec-1 .pict{
		padding: 0 !important;
	}
	#technology .tec-1 .pict img{
		width: 60%;
	}
}
