@charset "UTF-8";


/* 60　ページ
========================================================= */

/* 50　セクション
----------------------------------------------- */

/* 40　パーツ
------------------------------------- */


/* スーパープレミアムギフトページ レイアウト変更用
========================================================= */
.bread-waku {
	display: none;
}
.ec-layoutRole .ec-layoutRole__left {
	display: none;
}
.ec-layoutRole .ec-layoutRole__contents {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}
.ec-layoutRole .ec-layoutRole__mainWithColumn {
	width: 100%;
	margin: 0;
}
.ec-role {
	max-width: 100%;
}
@media (max-width: 767px) {
	.ec-role.sp-noPadding {
	    padding: 0;
	}
}



/* スーパープレミアムギフト
========================================================= */
.catSuperpremium {
	background: #0F0F0F;
	color: #fff;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}
.catSuperpremium figure {
	margin: 0;
}
@media (max-width: 767px) {
	.pc-only {
		display: none;
	}
}
@media (min-width: 768px) {
	.sp-only {
	    display: none;
	}
}
@media (max-width: 959px) {
	.pm-only {
		display: none;
	}
}
@media (min-width: 960px) {
	.sm-only {
	    display: none;
	}
}
.catSuperpremium-container {
	padding-left: 20px;
	padding-right: 20px;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
}
.catSuperpremium-panel-01 {
	margin-top: 180px;
	padding-bottom: 340px;
	text-align: center;
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 100%;
}
.catSuperpremium-panel-01 .tit {
	top: -115px;
	position: relative;
}
.catSuperpremium-panel-01 .text {
	font-size: 17px;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.2em;
	line-height: 4;
	margin-top: -30px;
}
.catSuperpremium-panel-02 {
	position: relative;
}
.catSuperpremium-panel-02 + .catSuperpremium-panel-02 {
	margin-top: 250px;
}
.catSuperpremium-panel-02 .cover {
	width: 70%;
    height: 610px;
    object-fit: cover;
}
.catSuperpremium-panel-02 .info {
	padding-left: 20px;
	padding-right: 20px;
}
.catSuperpremium-panel-02 .text {
	font-weight: 500;
	font-family: 'Noto Serif JP', serif;
	font-size: 18px;
	line-height: 2;
	letter-spacing: .2em;
	margin: 15px 0;
}
.catSuperpremium-panel-02.reverse .img {
	text-align: right;
}

@media (min-width: 959px) {
	.catSuperpremium-panel-02 .info {
		padding-left: 80px;
		padding-right: 40px;
		position: absolute;
		right: 15.5%;
	    top: 55%;
		display: flex;
	    flex-direction: row-reverse;
	}
	.catSuperpremium-panel-02 .catch {
		margin-top: -50px;
	}
	.catSuperpremium-panel-02 .text {
		writing-mode: vertical-rl;
		line-height: 2.7;
	    letter-spacing: .25em;
	    margin: 0 60px;
	}
	.catSuperpremium-panel-02 .link {
		position: absolute;
		left: 0;
		top: 62px;
	    transform: rotateZ(90deg);
	}
	.catSuperpremium-panel-02.reverse .info {
		left: 15%;
		right: unset;
	}
}
@media (max-width: 1299px) {
	.catSuperpremium-panel-02 .cover {
		height: 400px;
	}
}
@media (max-width: 959px) {
	.catSuperpremium-panel-02 + .catSuperpremium-panel-02 {
		margin-top: 50px;
	}
	.catSuperpremium-panel-02 .cover {
		width: 100%;
		height: auto;
		margin-bottom: 25px;
	}
}
@media (max-width: 767px) {
	#catSuperpremiumMain .sp-text {
		text-align: center;
		padding: 40px 20px 80px;
	}
	.catSuperpremium-panel-01 {
		margin-top: 60px;
		background-position: top;
		background-size: cover;
	}
	.catSuperpremium-panel-01 .tit {
		top: -50px;
	}
	.catSuperpremium-panel-01 .text {
		font-size: 12px;
		letter-spacing: 0.1em;
		line-height: 2.6;
		margin-top: -25px;
	}
	.catSuperpremium-panel-02 .text {
		font-size: 12px;
	}
}
#catSuperpremiumMain {
	position: relative;
}
#catSuperpremiumMain:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -27%;
	background: url('../img/category/superpremium/pattern_01.png') no-repeat;
	background-size: 100% 100%;
	width: 30.584%;
    height: 55.19%;
}
#catSuperpremium-01 {
	background-image: url('../img/category/superpremium/01_02.jpg');
}
@media (max-width: 767px) {
	#catSuperpremium-01 {
		background-image: url('../img/category/superpremium/01_02_s.jpg');
	}
}
#catSuperpremium-02 {
	background-image: url('../img/category/superpremium/02_02.jpg');
	margin-top: 240px;
	position: relative;
}
#catSuperpremium-02 .pattern {
	position: absolute;
	right: 0;
	top: -62%;
	width: 19.706%;
	min-width: 260px;
}
#catSuperpremium-02 .tit {
	top: -90px;
}
@media (max-width: 767px) {
	#catSuperpremiumMain:before {
		bottom: 19%;
		width: 284px;
	    height: 331px;
	}
	#catSuperpremium-02 .pattern {
		top: -40%;
		width: auto;
		min-width: auto;
	}
	#catSuperpremium-02 {
		background-image: url('../img/category/superpremium/02_02_s.jpg');
		margin-top: 60px;
	}
	#catSuperpremium-02 .tit {
		top: -50px;
	}
}

#catSuperpremium-03 {
	position: relative;
	margin-top: 13.5%;
    padding-top: 13%;
    padding-bottom: 13%;
	background: url('../img/category/superpremium/03_bg.png') no-repeat;
	background-size: 100% 100%;
}
#catSuperpremium-03 .tit {
	position: absolute;
	top: -4%;
    right: 80px;
    width: 9%;
}
@media (max-width: 1199px) {
	#catSuperpremium-03 .tit {
		right: 40px;
	}
}
@media (max-width: 959px) {
	#catSuperpremium-03 {
		background: url('../img/category/superpremium/03_bg_s.png') no-repeat;
		background-size: 100% auto;
		background-position: bottom;
	}
	#catSuperpremium-03 {
		margin-top: 0;
		padding-top: 100px;
		padding-bottom: 100px;
	}
	#catSuperpremium-03 .tit {
		position: inherit;
		width: auto;
		right: 0;
		text-align: right;
		padding-right: 20px;
		margin-bottom: 25px;
	}
}
#catSuperpremium-04 {
	padding-top: 10%;
	background-image: url('../img/category/superpremium/04_02.jpg');
	background-position: 0 30%;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
}
#catSuperpremium-04 .list {
	display: flex;
	flex-wrap: wrap;
	margin-left: -60px;
	margin-top: -60px;
}
#catSuperpremium-04 .list li {
	margin-left: 60px;
	margin-top: 60px;
	width: calc(33.333% - 60px);
}
#catSuperpremium-04 .list li a:hover {
	opacity: .7;
}
#catSuperpremium-04 .text {
	font-size: 14px;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.2em;
	line-height: 3;
	margin-top: 35px;
}
#catSuperpremium-04 .group {
	margin-top: 20px;
	padding: 40px 40px 10px;
	background-color: #000000;
}
#catSuperpremium-04 .info {
	text-align: center;
}
#catSuperpremium-04 .tit {
	margin-bottom: 40px;
	position: absolute;
	left: 0;
	top: -156px;
	width: 20%;
}
#catSuperpremium-04 .sp-img {
	width: 100%;
}
@media (min-width: 1200px) {
	#catSuperpremium-04 .group {
		margin-top: 100px;
		padding: 120px;
		background-image: url('../img/category/superpremium/04_10.jpg');
		background-position: right center;
		background-repeat: no-repeat;
	}
	#catSuperpremium-04 .info {
		max-width: max-content;
	}
	#catSuperpremium-04 .sp-img {
		display: none;
	}
}
@media (max-width: 1199px) {
	#catSuperpremium-04 .list {
		margin-left: -30px;
		margin-top: -30px;
	}
	#catSuperpremium-04 .list li {
		margin-left: 30px;
		margin-top: 30px;
		width: calc(33.333% - 30px);
	}
}
@media (max-width: 959px) {
	#catSuperpremium-04 {
		padding-top: 0;
	}
	#catSuperpremium-04 .tit {
		position: inherit;
		width: auto;
	}
}
@media (max-width: 767px) {
	#catSuperpremium-04 {
		background-image: url('../img/category/superpremium/04_02_s.png');
		background-position: top;
	    background-size: contain;
	}
	#catSuperpremium-04 .list {
		margin-left: -10px;
		margin-top: -10px;
	}
	#catSuperpremium-04 .list li {
		margin-left: 10px;
		margin-top: 10px;
		width: calc(50% - 10px);
	}
	#catSuperpremium-04 .text {
		font-size: 12px;
		letter-spacing: 0.1em;
		line-height: 2.6;
	}
}

#catSuperpremium-05 {
	margin-top: 320px;
	padding-bottom: 165px;
	text-align: center;
	position: relative;
}
#catSuperpremium-05 .catSuperpremium-container {
	position: relative;
}
#catSuperpremium-05:before {
	content: '';
	background: url('../img/category/superpremium/05_bg.png') repeat;
	background-size: 100% 100%;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 90%;
}
#catSuperpremium-05 .pattern-01 {
	position: absolute;
	right: 0;
	top: 34%;
	width: 20.967%;
}
#catSuperpremium-05 .pattern-02 {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 25.539%;
}
#catSuperpremium-05 .tit {
	margin-bottom: 35px;
}
#catSuperpremium-05 .text {
	font-size: 14px;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.2em;
	line-height: 3;
}
#catSuperpremium-05 .info-01 {
	margin-bottom: 65px;
	display: flex;
}
#catSuperpremium-05 .info-01 > div {
	margin-left: 90px;
	margin-top: -13px;
	order: 1;
}
#catSuperpremium-05 .info-03 {
	display: flex;
	align-items: center;
	margin-top: 100px;
}
#catSuperpremium-05 .info-03 > div {
	flex: 1;
	margin-left: 90px;
}
#catSuperpremium-05 .info-03.reverse > div {
	margin-right: 90px;
	margin-left: 0;
	order: -1;
}
#catSuperpremium-05 .info-03 + .info-03 {
	margin-top: 160px;
}
@media (max-width: 1199px) {
	#catSuperpremium-05 {
		margin-top: 35%;
		padding-bottom: 70px;
	}
	#catSuperpremium-05 .info-01 > div {
		margin-left: 45px;
	}
	#catSuperpremium-05 .info-03 {
		display: block;
		margin-top: 70px;
	}
	#catSuperpremium-05 .info-03 > div {
		margin: 28px 0 !important;
	}
	#catSuperpremium-05 .info-03 + .info-03 {
		margin-top: 90px;
	}
}
@media (max-width: 767px) {
	#catSuperpremium-05 .pattern-01 {
	    top: 25%;
	    width: 30%;
	    min-width: 172px;
	}
	#catSuperpremium-05 .info-01 {
		display: block;
		margin-bottom: 35px;
	}
	#catSuperpremium-05 .info-01 > div {
		margin-top: 0;
		margin-left: 0;
		margin-bottom: 22px;
	}
	#catSuperpremium-05 .info-03.reverse > div {
		order: 1;
	}
	#catSuperpremium-05 .tit {
		margin-bottom: 30px;
	}
	#catSuperpremium-05 .text {
		font-size: 12px;
		letter-spacing: 0.1em;
		line-height: 2.6;
	}
}