@charset "utf-8";
/* CSS Document */

html {
	font-size: 62.5%;
}
body {
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 1.6rem;
	margin: 0;
	background: rgb(45, 45, 43);
	/* animation: bgchange 10s ease infinite; */
}
/* @keyframes bgchange{
	0%   { background:#0b0b0d; }
	50% { background:#2d2d2b; }
	100%   { background:#0b0b0d; }
} */
@font-face {
    src: url("../../fonts/woff/NotoSerifJP-Regular.woff") format("woff");
    font-family: "Noto Serif JP";
    font-style: normal;
    font-display: swap;
}
h1, figure {
	margin: 0;
}
img, picture {
	vertical-align:bottom;
}
p {
	line-height: 2;
}
a {
	text-decoration: none;
}
/* Loading背景画面設定　*/
#splash {
	/*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	text-align:center;
	color:#fff;
}
	/* Loading画像中央配置　*/
	#splash_text {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 999;
		transform: translate(-50%, -50%);
		color: #fff;
		width: 100%;
	}
	#splash_text p {
		position: absolute;
		top: 60%;
		left: 0;
		right: 0;
		margin: 24px auto 0;
	}
/*割れる画面のアニメーション*/
.loader_cover {
    width: 100%;
    height: 50%;
    background-color: #0b0b0d;
    transition: all .2s cubic-bezier(.04, .435, .315, .9);
    transform: scaleY(1);
}
	/*上の画面*/
	.loader_cover-up {
		transform-origin: center top;
	}

	/*下の画面*/
	.loader_cover-down {
		position: absolute;
		bottom: 0;
		transform-origin: center bottom;
	}
	/*クラス名がついたらY軸方向に0*/
	.coveranime {
		transform: scaleY(0);
	}
#wrapper {
	max-width: 1000px;
	width: 100%;
	margin: auto;
	/* padding-bottom: 150px; */
}
	#wrapper img,
	#wrapper picture {
		width: 100%;
	}
.attentionBox {
	background: #2d2d2b;
	padding: 3em 0;
}
#home .attentionBox {
}
	.attentionBox h3, .attentionBox p, .attentionBox a {
		color: #fff;
	}
	.attentionBox h3, .attentionBox p {
		margin: 0;
		text-align: center;
		margin-bottom: 1em;
	}
	.attentionBox p:last-child {
		margin-bottom: 0;
	}
	.attentionBox a {
		text-decoration: underline;
	}
.movieArea {
	position: relative;
}
	.movieArea img {
		position: absolute;
		top: 0;
	}
	.movieArea video {
		width: 100%;
	}
.btnArea {
	position: relative;
}
	.btnArea.orderNext a img {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
  		right: 0;
		margin: auto;
	}
	.btnArea .btn {
		transition: .3s;
	}
	.btnArea .btn:hover {
		opacity: .8;
	}
#footer {
	text-align: center;
	color: #888886;
	background: #0b0b0d;
	margin: 0;
	padding: 1em 0 5em;
}

.fixedBnr {
    position: fixed;
    bottom: 0;
    z-index: 4;
    display: flex;
    justify-content: center;
	flex-direction: row;
    transition: .3s;
	max-width: 1000px;
	width: 100%;
	opacity: 0;
  	visibility: hidden;
}
	.active{
		opacity: 1;
		visibility: visible;
	}
	.fixedBnr p {
		font-size: 12px;
		line-height: 1.4;
		text-align: center;
	}
	.fixedBnr a {
		width: 50%;
		color: #fff;
		display: flex;
		justify-content: center;
    	align-items: center;
		padding: 8px 0;
	}
.fixedBnr .iconPhoneShop {
	background-color: #7c0000;
}
.fixedBnr .iconPhoneSecr {
	background-color: #958047;
}
	.fixedBnr .iconPhoneShop i,
	.fixedBnr .iconPhoneSecr i {
		font-size: 24px;
		margin-right: .5em;
	}
.fixedBnr .snsLine {
	background-color: #06c655;
}
	#wrapper .fixedBnr .snsLine img {
		width: 32px;
		margin-right: .5em;
	}

.videoWrap {
	text-align: center;
	background: #2d2d2b;
}
	.videoWrap video {
		width: 77%;
	}

.menuListWrap {
	background: #2d2d2b;
	width: 100%;
}
.menuListWrap.ml_kiwami_01,
.menuListWrap.ml_prem_01 {
	padding-top: 100px;
}
.menuListWrap.ml_kiwami_02,
.menuListWrap.ml_prem_02 {
	padding-top: 90px;
}
	.menuList {
		margin: auto;
		/* -ms-writing-mode: tb-rl;
		writing-mode: vertical-rl; */
		text-align: center;
	}
		.menuList p {
			color: #fff;
			font-size: 1.5em;
			margin: 0 3%;
			line-height: 2.4;
		}
			.menuList p span {
				font-size: 64%;
				display: block;
				margin-top: 2em;
			}
			.menuList p span.num {
				font-size: 100%;
				display: inline-block;
				margin-top: 0;
				text-combine-upright: all;
				line-height: 1;
			}
		.menuList p.menuListSub {
			margin-top: 1em;
		}
		.menuList p.menuListSub.mgL {
			margin-left: 1em;
		}
#wrapper .ml_kiwami_02 img,
#wrapper .ml_prem_02 img {
	width: 56%;
	display: block;
	margin: 0 auto 2em;
}

.purchase {
	background: #2d2d2b;
	text-align: center;
	color: #888886;
	margin: 0;
	padding: 100px 0;
}
.purchase.support {
	padding: 80px 0 0;
	font-size: 1.9em;
}

.top_price {
	color: #fff;
}
	.top_price h2 {
		font-size: 2em;
		font-weight: normal;
	}
	.top_price h3 {
    	font-size: 2em;
		font-weight: normal;
		color: #968244;
		border-top: 1px solid #454432;
		border-bottom: 1px solid #454432;

	}
	.top_price h4 {
		font-size: 2em;
		margin-bottom: 0;
	}
	.top_price p {
		font-size: 1.5em;
		margin-top: 0;
	}
	.top_price p.sub {
		font-size: 1.0em;
	}
	.top_price_attention {
		margin: 7% auto 0;
		border: 1px solid #d5b963;
		color: #d5b963;
		box-sizing: border-box;
		max-width: 800px;
		width: 90%;
		padding: 1em 1em 0;
	}
	.top_price .top_price_attention p.sub {
		color: #fff;
	}
	.top_price_child {
    	margin-top: 7%;
	}

.detailTableWrap,
.detailTableTitle {
	background: #2d2d2b;
}
	.detailTableTitle,
	.detailTable {
		color: #fff;
		font-size: 2em;
	}
	.detailTableTitle {
		text-align: center;
		margin: 0;
		padding: 40px 0 80px;
	}
	.detailTable {
		width: 72%;
		margin: auto;
		border-collapse: collapse;
		text-align: left;
	}
		.detailTable tr {
			border-top: 1px solid #454432;
			vertical-align: top;
		}
		.detailTable tr:last-of-type {
			border-bottom: 1px solid #454432;
		}
		.detailTable tr.detailTableAtt {
			border-top: 0;
		}
			.detailTable tr th {
				width: 40%;
			}
			.detailTable tr th, .detailTable tr td {
				font-weight: 100;
				padding: 70px 0;
			}
			.detailTable tr.detailTableAtt td {
				padding: 0 0 70px;
			}
			.detailTable tr.detailTableNopb th,
			.detailTable tr.detailTableNopb td {
				padding: 70px 0 8px;
			}
				.detailTable td a {
					color: #938348;
				}

.banner-box {
	border-bottom: 11px solid #323230;
	background: #090909;
	position: relative;
	text-align: center;
	padding: 0 0 14%;
	margin-top: -12px;
}
	.banner-box a {
		display: inline-block;
		margin-bottom: 4%;
	}
	.banner-box a:last-child {
		margin-bottom: 0;
	}
		.banner-box a img {
			max-width: 750px;
		}

.englishBox {
	position: fixed;
	z-index: 1;
	top: 0;
	left: calc(50% - 500px);
	background-color: rgba( 255, 255, 255, 0.72 );
	backdrop-filter: blur(3px);
	padding: .5em 1em;
	border-radius: 0 0 5px 0;
}
	.englishBox p {
		color: #0b0b0d;
		margin: 0;
		font-size: .9em;
		font-weight: bold;
	}
		.englishBox p a {
			color: #0b0b0d;
			text-decoration: underline;
		}

.topBnr {
	background: #2d2d2b;
	/* padding: 16% 0; */
	padding: 8% 0;
}
	.topBnr a {
		display: block;
		max-width: 800px;
		margin: 0 auto;
	}
	.topBnr a + a {
		margin: 8% auto 0;
	}

.eventBox {
	background: #2d2d2b;
	padding: 0 0 16%;
}
	.eventBoxFlex {
		max-width: 960px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	.eventBoxFlex div {
		width: 49.5%;
	}

.newsListWrap {
	background: #2d2d2b;
	padding: 2% 13% 8%;
}
.newsListInner {
	padding: 2% 4%;
	border: 1px solid #555;
	box-sizing: border-box;
	height: 240px;
	overflow-y: scroll;
}
.newsList {
	display: flex;
}
	.newsList, .newsList a {
		color: #fff;
	}
	.newsList a {
		text-decoration: underline;
		text-decoration-color: #aaa;
	}

/* modal start */
.modal {
	max-width: 720px;
	width: 96%;
	margin-bottom: 5em;
}
	.modal a {
		max-width: 720px;
		color: #b6942c;
	}
	.modal img {
		width: 100%;
	}
	.modal h2 {
		text-align: center;
	}
	.modal h3 {
		border-bottom: 1px solid #b6942c;
		color: #b6942c;
		margin-top: 2em;
	}
	.modal h4 {
		border-left: 3px solid #b6942c;
		color: #b6942c;
		padding-left: .5em;
		margin-top: 2em;
	}
	.modal h5 {
		border-left: 1px solid #b6942c;
		padding-left: .5em;
		font-size: 1em;
		margin-bottom: 0;
	}
	.modal .goldsquare {
		border: 1px solid #b6942c;
		padding: 1em;
	}
	.modal .tr {
		text-align: right;
	}
.blocker {
	z-index: 3;
}
.closeTxt {
	text-align: center;
}
.closeTxt a {
	color: #0b0b0d;
}
/* modal end */

/* hamburger start */
.hamburger {
	display : block;
	position: fixed;
	z-index : 3;
	right: calc(50% - 480px);
	top   : 12px;
	width : 42px;
	height: 42px;
	cursor: pointer;
	text-align: center;
  }
  .hamburger span {
	display : block;
	position: absolute;
	width   : 30px;
	height  : 2px ;
	left    : 6px;
	background : #999997;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition   : 0.3s ease-in-out;
	transition        : 0.3s ease-in-out;
  }
  .hamburger span:nth-child(1) {
	top: 10px;
  }
  .hamburger span:nth-child(2) {
	top: 20px;
  }
  .hamburger span:nth-child(3) {
	top: 30px;
  }
  
  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
	top : 16px;
	left: 6px;
	background :#fff;
	-webkit-transform: rotate(-45deg);
	-moz-transform   : rotate(-45deg);
	transform        : rotate(-45deg);
  }
  
  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
	top: 16px;
	background :#fff;
	-webkit-transform: rotate(45deg);
	-moz-transform   : rotate(45deg);
	transform        : rotate(45deg);
  }
  
  nav.globalMenuSp {
	position: fixed;
	z-index : 2;
	top  : 0;
	left : 0;
	color: #fff;
	background: rgba(0,0,0,0.8);
	text-align: center;
	width: 100%;
	opacity: 0;
	transition: opacity .6s ease, visibility .6s ease;
	pointer-events: none;
  }
  
  nav.globalMenuSp ul {
	margin: 0 auto;
	padding: 0;
	width: 100%;
  }
  
  nav.globalMenuSp ul li {
	list-style-type: none;
	padding: 0;
	width: 100%;
  }
  nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
  }
  nav.globalMenuSp ul li:hover a {
	color: #948449;
  }
  nav.globalMenuSp ul li a {
	display: block;
	color: #fff;
	padding: 2.4em 0;
	text-decoration :none;
	transition: .4s all;
  }
  
  /* このクラスを、jQueryで付与・削除する */
  nav.globalMenuSp.active {
	opacity: 100;
	pointer-events: inherit;
  
  }
/* hamburger end */

.sp { display: none !important; }

@media screen and (max-width: 1000px) {
	.hamburger {
		right : 13px;
	}
	.englishBox {
		left: 0;
	}
	.topBnr a {
		width: 80%;
	}
	.eventBoxFlex {
		width: 80%;
		margin: auto;
		flex-direction: column;
	}
	.eventBoxFlex div {
		width: 100%;
	}
	.eventBoxFlex div:first-child {
		margin-bottom: 2%;
	}
	.newsList dt, .newsList dd {
		font-size: 14px;
	}
	.newsList dd {
		margin-left: 16px;
	}
}

@media screen and (max-width: 767px) {
	.pc { display: none !important; }
	.sp { display: inherit !important; }
	.englishBox + img {
		margin: 11% auto 0;
	}
	.attentionBox {
		padding: 3em 14%;
		margin: auto;
	}
	.attentionBox h3, .attentionBox p {
		text-align: left;
	}
	.videoWrap video {
		width: 72%;
	}
	.purchase.support {
		padding: 40px 0 0;
		font-size: .9em;
	}
	.top_price {
		padding: 100px 14%;
	}
	.top_price h4 {
		font-size: 4vw;
	}
	.top_price p {
		font-size: 4vw;
	}
	.top_price_attention {
		margin-top: 12%;
		width: 100%;
	}
	.top_price_attention .sub {
		text-align: justify;
	}
	.top_price_child {
    	margin-top: 12%;
	}
	.top_price_child .sub {
		text-align: justify;
	}
	.menuList p,
	.detailTable {
		font-size: 4vw;
	}
	.banner-box {
		border-bottom: 1.6vw solid #323230;
		margin-top: -1.6vw;
	}
		#wrapper .banner-box a img {
			width: 80%;
		}
	#footer {
		padding: 1em 0 7em;
	}

	.fixedBnr a {
		flex-direction: column;
		padding: 8px;
	}
	.fixedBnr a p {
		margin: 0;
	}
	.fixedBnr .iconPhoneShop i,
	.fixedBnr .iconPhoneSecr i {
		margin: 4px 0 8px;
	}
	#wrapper .fixedBnr .snsLine img {
		margin: 0 0 4px;
	}
}

/* fadeanimation start */
/* fadeIn */
.fadeUp_down {
	animation-name: fadeUpAnime_down;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
	@keyframes fadeUpAnime_down {
		from {
			opacity: 0;
			transform: translateY(-50px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	.fadeInTrigger_down {
		opacity: 0;
	}

.fadeUp_up {
	animation-name: fadeUpAnime_up;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
	@keyframes fadeUpAnime_up {
		from {
			opacity: 0;
			transform: translateY(50px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	.fadeUpTrigger_up {
		opacity: 0;
	}

.fadeUp_left {
	animation-name: fadeUpAnime_left;
	animation-duration: 2.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
	@keyframes fadeUpAnime_left {
		from {
			opacity: 0;
			transform: translateX(-130px);
		}
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
	.fadeUpTrigger_left {
		opacity: 0;
	}

.fadeUp_right{
	animation-name: fadeUpAnime_right;
	animation-duration: 2.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
	@keyframes fadeUpAnime_right {
		from {
			opacity: 0;
			transform: translateX(130px);
		}
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
	.fadeUpTrigger_right {
		opacity: 0;
	}

.box{
	opacity: 0;
}
.fadeUp {
	animation-name:fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}
	@keyframes fadeUpAnime{
		from {
			opacity: 0;
			transform: translateY(100px);
		}
		
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
/* fadeanimation end */