@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Pinyon+Script);


/*リセット*/
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, 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, button {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
table, caption, tbody, tfoot, thead, tr, th, td {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	background:transparent;
}
ul {
	list-style:none;
}
:focus {
	outline:none !important;
}
ins {
	text-decoration:none;
}
del {
	text-decoration:line-through;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
figure {
	margin:0;
}
a {
	color: #f30003;
}

/*共通レイアウト*/
img {
	width:100%;
}

/*html, body{
  height:auto;
  overflow-y:auto;
}

html {
	font-size:16px;
}
body {
	background:#000;
	color:#DBDBDB;
	min-width:320px;
	overflow-x:hidden;
	overflow-y:scroll;
	width:100%;
	height:100%;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size:1rem;
	text-shadow: -2px -2px 2px rgba(0,0,0,0.5), 2px -2px 2px rgba(0,0,0,0.5), 2px 2px 2px rgba(0,0,0,0.5), -2px 2px 2px rgba(0,0,0,0.5);
	line-height:1.4;
	position:relative;
	padding-bottom:120px;
}*/

html, body{
  height:auto;
  overflow-y:auto;
}

body {
  background:#000;
  color:#DBDBDB;
  min-width:320px;
  overflow-x:hidden;
  overflow-y:auto; /* ←ここ修正 */
  width:100%;
  height:auto;     /* ←ここ修正 */
  font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size:1rem;
  text-shadow: -2px -2px 2px rgba(0,0,0,0.5), 2px -2px 2px rgba(0,0,0,0.5), 2px 2px 2px rgba(0,0,0,0.5), -2px 2px 2px rgba(0,0,0,0.5);
  line-height:1.4;
  position:relative;
  padding-bottom:120px;
  padding-top:60px;
}

input, select,  button, textarea {
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	line-height:1.4;
	font-size:1rem;
}
.clear:after {
	content:"";
	display:block;
	clear:both;
	height:0;
}
p {
	margin: 1em 0;
}
small {
	font-size:12px;
}
.w20 {
	width:20px;
}
.w40 {
	width:40px;
}
.w60 {
	width:60px;
}
.w80 {
	width:80px;
}
.w90 {
	width:90px;
}
.w100 {
	width:100px;
}
.w200 {
	width:200px;
}
.w300 {
	width:300px;
}
.w400 {
	width:400px;
}
.w500 {
	width:500px;
}
.p100 {
	width:100%;
}
.bold {
	font-weight:bold;
}
.center {
	text-align:center;
}
.right {
	text-align:right;
}
.left {
	text-align:left;
}
.float-left {
	float:left;
}
.float-right {
	float:right;
}
.column {
	padding: 15px;
}
.mincho {
    font-family: "HG明朝B","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
	font-size:20px;
	font-weight:normal;
	line-height:1.2;
}
.mincho-b {
    font-family: "HG明朝E","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
	font-weight:bold;
}
.gray {
	color:#dbdbdb;
}
.gray2 {
	color:#999;
}
.gold {
	color:#d2b85f;
}
.red {
	color: #c00;
}
.purple {
	color:#700d61;
}
.bg-gray {
	background: #737373;
}
.bg-black {
	background: rgba(20,0,10,0.5);
}

.bg-purple {
	background: rgba(20,0,10,0.9);
	transition: background-color 0.4s ease 0s;
}

/*.bg-purple {
	background: rgba(43,4,40,0.5);
	transition: background-color 0.4s ease 0s;
}*/

a.bg-purple:hover, a.bg-purple:focus {
	background: rgba(95,11,82,0.7);
}
.bg-red {
	background: rgba(125,0,34,0.5);
	transition: background-color 0.4s ease 0s;
}
a.bg-red:hover, a.bg-red:focus {
	background: rgba(147,0,40,0.7);
}
.bg-pattern1 {
	background:url(/img/site/bg-pattern1.png) repeat;
	background-size:50px 75px;
}
.intro {
	margin: 1em 2em;
}
.input-box {
	background: rgba(100, 60, 80,0.75);
	padding:0.2em 0.5em;
	margin:0.2em;
	border-radius:4px;
	display:inline-block;
}
.input-box input, .input-box textarea {
	border:none;
	background:none;
	color:#fff;
}
.text-box {
	display:block;
}
select.input-box  {
	border:none;
	height:1.8em;
	color:#fff;
}
.bg-scroll {
	background:url(/img/site/text-bg.png);
	background-size:100% auto;
	color:#fff;
	padding:20px;
	margin:0 0 20px;
}
.font-m {
	font-size:1.2em;
	font-weight: bold;
}
.font-l {
	font-size:1.4em;
}
.text {
	line-height:1.5;
}
.text:first-letter {
	font-size:2.5em;
	font-weight:bold;
	color:#c00;
	font-style:normal;
	float: left;
    margin-right: 0.2em;
    padding: 0.05em 0;
	line-height:1em;
}
.inner {
	max-width:960px;
	min-width:300px;
	margin:0 auto;
	padding:10px;
}
.inline-block {
	display:inline-block;
}
.headline {
	text-align:center;
	width:90%;
	max-width:500px;
	margin:0 auto;
}
.headline .font-l {
	color:#ff0303;
}
.headline .bg-black {
	padding:0.5em;
	box-shadow:0 0 15px #000;
}
.headline img {
	display:block;
}
a .mincho {
	color:#DBDBDB;
}
/*.icon {
	position:relative;
	padding-left:40px;
	display:inline-block;
}
.icon:before {
	content:"";
	display:block;
	width:30px;
	height:30px;
	position:absolute;
	left:3px;
	top:50%;
	margin-top:-15px;
	background:url(/img/site/icons.png) no-repeat 0 0;
	background-size:210px 30px;
}
.icon-arrow {
	padding:0.5em 35px 0.5em 0.5em;
}
.icon-arrow:before {
	left:auto;
	right: 3px;
	background-position:0 0;
}*/
.icon-menu:before {
	background-position:-30px 0;
}
.icon-cart:before {
	background-position:-60px 0;
}
.icon-cross:before {
	background-position:-90px 0;
}
.icon-whitecross:before {
	background-position:-120px 0;
}
.icon-pen:before {
	background-position:-150px 0;
}
.icon-key:before {
	background-position:-180px 0;
}
.button {
	border-radius:8px;
	box-shadow:0 1px rgba(255,255,255,0.2) inset, 0 1px rgba(0,0,0,0.3);
    color: #FFF;
    background: transparent linear-gradient(to bottom, #878477 0%, #787569 100%);
	margin:1em auto 0;
	padding:0.5em;
	text-shadow:0 0 2px rgba(0,0,0,0.8);
	text-decoration:none;
	text-align:center;
	font-size:1.4rem;
	display: block;
	white-space:nowrap;
	cursor:pointer;
	max-width:220px;
}
.button:hover {
    background: #787569;
}
.button-s {
	padding:0.1em 0.5em;
	font-size:18px;
	max-width:150px;
}
.button-gold {
    background: transparent linear-gradient(to bottom, #958954 0%, #827646 100%);
}
.button-gold:hover {
    background:  #827646;
}
.button-red {
    background: transparent linear-gradient(to bottom, #a70d30 0%, #930629 100%);
}
.button-red:hover {
    background: #930629;
}
.button .icon-arrow {
	padding: 0 35px 0 0;
	margin-right:-20px;
}
.button input {
	display:none;
}
.button-box {
	text-align:center;
}
.message {
	position:fixed;
	top:0;
	width:100%;
	color:#fff;
	background: #4E4E19;
	padding:1em 0;
	text-align:center;
	box-shadow:0 1px 4px rgba(0,0,0,0.8);
	display:none;
	z-index:10000;
}
.error-message {
	background: rgba(125,0,34,1);
}
.loading {
	width:100%;
	height:100%;
	z-index:1000;
	background:#000;
	opacity:0.5;
	display:none;
	position:fixed;
	left:0;
	top:0;
}
.loading img{
	display:block;
	width:40px;
	position:absolute;
	left:50%;
	top:50%;
	margin:-10px 0 0 -20px;
}
.title {
	text-align:center;
	padding:15px 0;
	font-size:25px;
}
.title1 {
	position:relative;
	font-size:25px;
}
.title1:after {
	content:"";
	width:100%;
	display:block;
	background: no-repeat center bottom;
	background-size: contain;
	background-image: url(/img/site/title1-bg.png);
	max-width:400px;
	height:20px;
	margin: 5px auto;
}
.title2 {
	font-size:24px;
	margin:10px auto -2em;
	padding:0 30px;
	position:relative;
	max-width:550px;
}
.title2:before, .title2:after {
	position:absolute;
	content:"";
	display:block;
	width:30px;
	height:30px;
	background:url(/img/site/icons.png) -90px 0;
	background-size:210px 30px;
	top:50%;
	margin-top:-15px;
}
.title2:before{
	left:0;
}
.title2:after {
	right:0;
}
.title2-bg {
	display:block;
	margin: -20px auto;
}
.title3 {
	font-size:17px;
	margin-bottom:0;
}
.img-title {
	max-width:500px;
}
.limited {
	margin:-1em 0 0;
	position:relative;
}
.name {
	background:url(/img/site/name-bg.png) no-repeat center;
	background-size:contain;
	color:#fff;
	text-align:center;
	padding:0.5em 0;
	margin:0 0 20px;
}
.name a {
	color:#fff;
	text-decoration:none;
}
.figure {
	position:relative;
}
.figure .box {
	display:block;
	width:100%;
	position:relative;
}


.thumb-list {
	text-align:center;
	margin-bottom:8px;
}
.thumb-list li {
	display:inline-block;
	width:25%;
	margin:2% 2%;
}


.thumb {
	width:100%;
	cursor:pointer;
	box-shadow:0 0 5px rgba(243,204,0,0.80);
	transition:box-shadow 0.4s ease 0s;
	position:relative;
}

.thumb.on, .thumb:hover{
	box-shadow:0 0 20px rgba(243,204,0,1);
}
.slide {
	cursor:pointer;
}

.figure figcaption {
	text-align:center;
	display:block;
}
.figure-l .price {
	font-size:18px;
}
.tagline {
	font-weight:bold;
	text-align:center;
	margin-top:0;
	line-height:1.2;
	color:#fff;
	text-shadow: -3px -3px 5px #a00, 3px -3px 5px #a00, 3px 3px 5px #a00, -3px 3px 5px #a00;
}
.tag {
	display:inline-block;
	margin:0.2em;
}
.menu-list {
	font-size:18px;
}
.menu-list a {
	display:block;
	padding:0.5em 35px 0.5em 0.5em;
	text-decoration:none;
	color:#ebebeb;
	margin: 1px 0;
	box-shadow:0 1px rgba(255,255,255,0.05) inset, 0 1px rgba(0,0,0,0.3);
}

.deco {
	position:relative;
	margin:100px 0 150px;
}
.deco:before, .deco:after {
	content:"";
	display:block;
	margin:0 auto;
	width:100%;
	height:120px;
	background-repeat: no-repeat;
	background-size:contain;
	position:absolute;
	left:0;
}
.deco:before {
	background-image:url(/img/site/deco-top.png);
	background-position: center bottom;
	border-bottom: solid 2px #b2974e;
	top: -120px;
}
.deco:after {
	background-image:url(/img/site/deco-bottom.png);
	background-position: center top;
	border-top: solid 2px #b2974e;
	bottom: -120px;
}

/* ===== list ===== */

.item-list .column {
	margin:15px 0;
	box-shadow:0 1px rgba(255,255,255,0.05) inset, 0 1px rgba(0,0,0,0.3);
}

.item-list .column:first-child {
	margin-top: 0;
}
.item-list .holder {
	display:block;
	position:relative;
}
.item-list  .figure {
	width:130px;
	margin:0 auto;
}
.item-list .button {
	color:#fff;
	text-decoration:none;
}

.item-list .item-m .figure {
	width:68%;
	max-width:500px;
	margin:-10px auto 0;
	float:none;
}

/*.item-list .item-s .figure {
	width:40%;
	max-width:200px;
	margin:-10px 15px 0 0;
	float:left;
}*/

/* 商品画像大きさ・左寄り修正 */
.item-list .item-s .figure{
  float:none;
  margin:0 auto 10px;
  width:80%;
}

.item-list .text {
	min-height:220px;
}
.item-list .item-s .text {
	min-height:0;
}


/*.ranking .item-s .figure {
	margin:10px 15px 0 10px;
}*/

/* ランキング4位以降画像左寄り修正 */
.ranking .item-s .figure{
  margin:10px auto;
  float:none;
  width:70%;
}

.ranking .item-s .text {
	min-height:220px;
}
.item-list .ranking-text {
	box-shadow:0 0 20px rgba(255,255,255,0.25) inset;
}
.item-list .ranking-text:first-letter {
	color:#fff;
}
.item-l .ranking-text, .item-m .ranking-text {
	min-height: 0;
}

.cart-box {
	position:relative;
	padding-left:120px;
	text-align:left;
	max-width:160px;
	margin:0 auto;
	min-height: 100px;
}
.cart-box figure {
	position: absolute;
	left:0;
	top:0;
	width:100px;
}
.sum {
	float:right;
}
.dl dt {
	float:left;
	clear:left;
	padding:0.2em 0;
}
.dl dd {
	padding:0.2em 0 0.2em 100px;
	min-height:1em;
	font-weight:bold;
	text-align:left;
}
.review-list p {
	margin:0;
}
.bg {
	position:fixed;
	top:0;
	z-index:0;
	text-align:center;
	width:100%;
}
.bg img {
	min-width:320px;
	width:120%;
	margin:0 -10%;
	transition: all 0.4s ease 0s;
}
#bg1 img {
	max-width:1200px;
}
#bg2 img {
	max-width:600px;
}
#fixed {
	position: fixed;
	top:0;
	width:100%;
	background: rgba(95,11,82,0.8);
	z-index:100;
}
#fixed .inner {
	position:relative;
}
/*#menu-button {
	position:absolute;
	right:15px;
	top:5px;
	margin:0;
	padding:0;
	letter-spacing:-0.4em;
	width:30px;
	height:30px;
	cursor:pointer;
	display:none;
	z-index:9999;
    opacity:1;
}*/

#menu-button{
  position:absolute;
  right:15px;
  top:10px;
  width:30px;
  height:30px;
  cursor:pointer;
  z-index:10001;
  opacity:1;
  display:none;
}

@media (max-width:768px){
  #menu-button{
    display:block !important;
  }
}

#fixed .menu-list {
	position:absolute;
	top:100%;
	right:0;
	width: 100%;
	display:none;
}
#fixed h1 {
	position:relative;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:14px;
	font-weight:normal;
}
#fixed h1 a {
	text-decoration:none;
	color:#ebebeb;
}
#wrapper {
	position:relative;
	width:100%;
	min-width:320px;
	max-width:960px;
	overflow-x:visible;
	margin:0 auto;
}
#logo-box {
	width:80%;
	max-width:330px;
	display:block;
	margin:40px auto -20%;
	position:relative;
}
#logo {
	display:block;
}
#logo-jp {
	max-width:240px;
	margin:10px auto -25px;
}
#footer {
	text-align:center;
	width:100%;
	padding:2em 0;
	position:absolute;
	bottom:0;
	background:url(/img/site/footer-bg.gif) #000;
}


#side .button {
	text-decoration:none;
	font-size:16px;
}
#side .figure {
	max-width:100px;
}
.plate-box {
	border-radius:6px;
	box-shadow:0 0 5px rgba(0,0,0,0.63) inset;
	border:solid 1px #737373;
	padding:1.5em;
	margin:1.5em 0;
	text-shadow:none;
}
#side .plate-box {
	padding:0.5em;
	margin:0.5em 0;
}
#side h2.small {
	font-size:16px;
	font-weight:normal;
}
#pay-info a {
	text-decoration:none;
}
.card {
	max-width:60px;
}
.cvs {
	max-width:50px;
	vertical-align:middle;
}
.cvs2 {
	max-width:100px;
	vertical-align:middle;
}
.cvs3 {
	max-width:250px;
	height:80px;
	vertical-align:middle;
}
[name=ss_imgTag] {
	max-width:120px;
}
.tel {
	font-size:33px;
	line-height:1.2;
	font-family:"Palatino Linotype", "Book Antiqua", Palatino, serif;
	text-shadow: -2px -2px 2px rgba(0,0,0,0.78), 2px -2px 2px rgba(0,0,0,0.78), 2px 2px 2px rgba(0,0,0,0.78), -2px 2px 2px rgba(0,0,0,0.78);
}
.ranking-title {
	margin:0 0 -1em;
}
.rank {
	font-weight:bold;
	text-align:center;
	color:#fff;
	font-size:25px;
	background:url(/img/site/rank.png) no-repeat center center;
	background-size:100px 100px;
	height:100px;
	line-height:100px;
	position:relative;
	margin-top:0.5em;
}
.rank span {
	font-size:2.5em;
	font-weight:normal;
	margin:0 0.1em;
	font-family: 'Pinyon Script', cursive;
	vertical-align:sub;
}
.rank:before {
	color:#c00;
	position:absolute;
	top:-2.3em;
	left:0;
	content:"ランキング";
	width:100%;
	text-align:center;
	font-size:0.8em;
	font-weight:bold;
}
.rank1, .rank2, .rank3 {
	height:125px;
	font-size:38px;
	line-height:145px;
	background-size:125px 125px;
}
.rank1 {
	background-image:url(/img/site/rank1.png);
}
.rank2 {
	background-image:url(/img/site/rank2.png);
}
.rank3 {
	background-image:url(/img/site/rank3.png);
}

.text-image {
	max-width:140px;
	box-shadow: 0 1px 5px rgba(0,0,0,0.5);
	border:rgb(220, 205, 185) solid 3px;
}
.text-image.float-left {
	margin:0 1em 1em 0;
}
.text-image.float-right {
	margin:0 0 1em 1em;
}
.question {
	margin:0 0.1em;
	border-bottom: solid 2px rgba(128,0,2,1.00);
	line-height:1.2;
	padding:10px 0 0 40px;
	position:relative;
}
.question:before {
	font-size:2.5em;
	font-weight:bold;
	font-family: 'Pinyon Script', cursive;
	content:"Q.";
	position:absolute;
	left:0;
	bottom:0;
	margin:0 0 -0.1em;
}

.news_style {
	text-align: center;
}

.news {
	width: 100%;
	height: 100%;
	margin-top: 40px;
}

/* ===== index ===== */

.main-wrap{
  display:flex !important;
}

.page-wrap{
  margin-top:60px;
}
/* ===== メイントップ ===== */
.top-visual-wrap{
  width:100%;
  overflow:hidden;
}

/* ===== フェード ===== */
.visual-fade{
  position:relative;
  height:60vh;
  max-height:600px;
  overflow:hidden;
  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 80%,
    rgba(0,0,0,0.7) 90%,
    rgba(0,0,0,0.3) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 80%,
    rgba(0,0,0,0.7) 90%,
    rgba(0,0,0,0.3) 100%
  );
}

.visual-item{
  position:absolute;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity 1.8s ease;
  z-index:1;
}

.visual-item.active{
  opacity:1;
  z-index:2;
}

.visual-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(0.8) contrast(0.9);
}

.visual-item a::after{
  content:"→";
  position:absolute;
  right:20px;
  bottom:20px;
  opacity:0.5;
}

/* テキスト */
.visual-text{
  position:absolute;
  bottom:15%;
  left:50%;
  transform:translateX(-50%);
  color:#ddd;
  text-align:center;
  font-size:18px;
  letter-spacing:1px;
  text-shadow:0 0 10px rgba(0,0,0,0.7);
}

.top-visual-wrap{
  position:relative;
}

/* 暗さ */
.visual-fade::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:3;

  background:radial-gradient(
    ellipse at center,
    rgba(0,0,0,0) 40%,
    rgba(0,0,0,0.2) 65%,
    rgba(0,0,0,0.6) 100%
  );
}

/* 色統合 */
.visual-fade::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:3;

  background:radial-gradient(
    circle at center,
    rgba(10,20,35,0) 30%,
    rgba(10,20,35,0.2) 60%,
    rgba(10,20,35,0.4) 100%
  );
}

/* ===== ニュース ===== */
.top-news{
  text-align:center;
  padding:12px 0;
  font-size:13px;
  letter-spacing:1px;
  opacity:0.7;
  border-top:1px solid rgba(255,255,255,0.1);
  border-bottom:1px solid rgba(255,255,255,0.1);
}

.top-news a{
  color:#ccc;
  text-decoration:none;
}

/* ===== 願い選択 ===== */
.wish-select{
  padding:30px 15px;
  text-align:center;
}

.wish-lead{
  font-size:14px;
  margin-bottom:20px;
  opacity:0.8;
}

.wish-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  max-width:400px;
  margin:0 auto;
}

.wish-grid a{
  display:block;
  padding:12px;
  border:1px solid rgba(255,255,255,0.15);
  color:#eee;
  text-decoration:none;
  transition:all 0.3s;
}

.wish-grid a:hover{
  border-color:#c9a96a;
  color:#c9a96a;
}

/* ===== キャンペーン ===== */
.campaign-box{
  text-align:center;
  padding:20px 0 40px;
}

.campaign-box p{
  display:inline-block;
  font-size:13px;
  color:#c9a96a;
  letter-spacing:1px;
  border-bottom:1px solid rgba(201,169,106,0.4);
}

/* ===== 願い選択タイトル ===== */
/*.wish-title{
  display:block;
  text-align:center;
  margin:40px auto;
  padding:16px 20px;
  max-width:420px;

  font-size:14px;
  letter-spacing:2px;

  color:#d4af37;*/ /* 暗金 */
 /* border:1px solid rgba(212,175,55,0.4);

  background:linear-gradient(
    180deg,
    rgba(10,20,30,0.9),
    rgba(5,10,15,0.95)
  );

  box-shadow:
    0 0 10px rgba(212,175,55,0.15),
    inset 0 0 10px rgba(212,175,55,0.05);

  position:relative;
  transition:0.4s;
	
　cursor:default;
　pointer-events:none;
}*/

/* ホバーで“反応” */
/*.wish-title:hover{
  transform:none;
  box-shadow:
    0 0 10px rgba(212,175,55,0.15),
    inset 0 0 10px rgba(212,175,55,0.05);
}*/


/* ===== 願い選択グリッド ===== */
/*.wish-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:25px auto 10px;
  max-width:520px;
}*/

/* ===== 願いボタン（儀式札） ===== */
/*.wish-btn{
  display:inline-block;
  padding:10px 18px;
  min-width:110px;

  text-align:center;
  text-decoration:none;

  font-size:13px;
  letter-spacing:1.5px;

  color:#d4af37;*/ /* 暗金 */

 /* border:1px solid rgba(212,175,55,0.4);

  background:linear-gradient(
    180deg,
    rgba(10,20,30,0.95),
    rgba(5,10,15,0.95)
  );

  box-shadow:
    0 0 8px rgba(212,175,55,0.15),
    inset 0 0 8px rgba(212,175,55,0.05);

  transition: all 0.3s ease;
  position:relative;
}*/

/* ===== ホバー（覚醒感） ===== */
/*.wish-btn:hover{
  color:#fff;

  border-color:rgba(212,175,55,0.8);

  box-shadow:
    0 0 15px rgba(212,175,55,0.5),
    inset 0 0 15px rgba(212,175,55,0.15);

  transform:translateY(-2px) scale(1.03);
}*/

/* ===== 微細な光（重厚感） ===== */
/*.wish-btn::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;

  background:linear-gradient(
    120deg,
    transparent,
    rgba(212,175,55,0.15),
    transparent
  );

  opacity:0;
  transition:0.4s;
}

.wish-btn:hover::after{
  opacity:1;
}*/

/* ===== 1位ランキング説明上のテキスト ===== */
.rank-catch{
  text-align:center;
  font-size:13px;
  letter-spacing:1px;
  color:#d4af37;
  margin-bottom:10px;
  opacity:0.8;
}

/* ===== 1位ランキングボタン装飾 ===== */

.item-l .button{
  background: linear-gradient(to bottom, #b89b3c, #8a732c);
}

.item-l .button:hover{
  background: linear-gradient(to bottom, #d4af37, #9c8430);
}

/* ===== ランキング続きを読む ===== */
.ranking-more{
  text-align:center;
  margin-top:30px;
}

.ranking-more a{
  display:inline-block;
  padding:10px 24px;
  border:1px solid rgba(180,0,0,0.5);
  color:#cfcfcf;
  text-decoration:none;
  background:rgba(0,0,0,0.4);
  transition:0.3s;
}

.ranking-more a:hover{
  background:rgba(120,0,0,0.3);
}

/* ===== ランキング一覧ボタン ===== */
.ranking-link{
  text-align:center;
  margin-top:20px;
}

.ranking-link a{
  color:#d4af37;
  font-size:13px;
  text-decoration:none;
  opacity:0.8;
}

.ranking-link a:hover{
  opacity:1;
}

/* ランキングのプライス表示 */
.ranking .price{
  font-size:11px;
  opacity:0.5;
}


/* ===== 限定品キャッチ ===== */

.limited-catch{
  text-align:center;
  font-size:13px;
  color:#d4af37;
  margin:10px 0;
  letter-spacing:1px;
  opacity:0.85;
}

/* ===== ライン登録画像 ===== */
.line-box{
　max-width:240px;
  text-align:center;
  margin:30px 0;
}

.line-box img{
  max-width:220px;
  opacity:0.9;
  transition:0.3s;
}

.line-box img:hover{
  opacity:1;
  transform:scale(1.03);
}

/* ===== list（商品一覧2列） ===== */

/* 全体でfloat解除 */
.item,
.item-list .item-s .figure{
  float:none !important;
}

/*　商品枠ずれ修正 */
.item .holder{
  display:flex;
  flex-direction:column;
  height:100%;
}

.item-list .item.column{
  margin:0;
}

/* 商品一覧グリッド */
.item-list{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}

/* スマホ：2列 */
.item{
  width:calc(50% - 8px);
  min-height:420px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:10px;
}

/* テキスト暴走防止 */
.item .text{
  font-size:12px;
  line-height:1.4;
  flex-grow:1;
}

.item .button{
  width:100%;
  max-width:none;
  font-size:12px;
  padding:10px;
}

.item .figure{
  margin-bottom:10px;
}



/* 商品名の高さズレ修正 */
.item .name{
  min-height:40px;
}

/* 一覧のプライス表示 */
.item-list .price{
  font-size:12px;
  opacity:0.6;
}

/* 同シリーズ 横並び */
.related-list{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}

.related-list .item{
  width:48%;
}

/* 次ページ表示 */
.pager{
  text-align:center;
  margin:30px 0;
}

.pager a{
  display:inline-block;
  padding:10px 15px;
  margin:5px;
  color:#d4af37;
  border:1px solid rgba(212,175,55,0.4);
  text-decoration:none;
}

.pager a:hover{
  background:rgba(212,175,55,0.2);
}

.pager-numbers{
  text-align:center;
  margin:30px 0;
  max-width:100%;
  overflow-wrap:wrap;
}

.pager-numbers a,
.pager-numbers span{
  display:inline-block;
  margin:3px;
  padding:6px 10px;
  white-space:nowrap;
}

.pager-numbers .current{
  background:#d4af37;
  color:#000;
}


/* ===== header.html ===== */

.site-header{
  position:fixed;
  top:0;
  width:100%;
  height:60px;
  background:rgba(0,0,0,0.7);
  backdrop-filter: blur(6px);
  z-index:1000;
}

.header-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 15px;
  height:60px;
  position:relative;
}

.logo{
  flex-shrink:0;
}

.logo img{
  height:40px;
  width:auto;
  max-width:100%;
}

.pc-nav{
  display:flex;
}

.pc-nav a{
  margin-left:15px;
  color:#ccc;
  font-size:13px;
  text-decoration:none;
}

.sp-menu{
  position:fixed;
  top:0;
  right:-100%;
  width:80%;
  max-width:320px;
  height:100vh;
  background:rgba(0,0,0,0.75);
  backdrop-filter: blur(8px);
  padding:20px;
  box-sizing:border-box;
  overflow-y:auto;
  transition:0.3s;
  z-index:9999;
}


.sp-menu.open{
  right:0;
}

.sp-menu a{
  display:block;
  margin-bottom:15px;
  color:#ccc;
  text-decoration:none;
  word-break:break-word;
}

/* 背景タップで閉じる */
.menu-overlay{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.4);
  opacity:0;
  pointer-events:none;
  transition:0.3s;
  z-index:9997;
}

.menu-overlay.active{
  opacity:1;
  pointer-events:auto;
}

/* SP */
@media(max-width:768px){
  .pc-nav{
    display:none;
	  }
  }

/* ===== 上矢印 ===== */

#backToTop{
  position:fixed;
  bottom:20px;
  right:20px;
  width:40px;
  height:40px;
  border:none;
  border-radius:50%;
  background:rgba(10,20,30,0.8);
  border:1px solid rgba(212,175,55,0.4);
  color:#d4af37;
  font-size:18px;
  cursor:pointer;
  display:none;
  z-index:10000;
}


/* ===== スマホ調整 ===== */
@media (max-width:480px){

  .wish-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between !important;
  }

  .wish-btn{
    width:48% !important;
    min-width:0 !important;
    box-sizing:border-box;
  }

}

@media only screen and (min-width:600px) {
	.mincho {
		font-size:25px;
	}
	#fixed a {
		text-align:left;
	}
	#fixed .text {
		display:inline;
	}
	#fixed .menu-list a {
		padding-right:0.5em;
	}
	#logo-box {
		margin-bottom:-85px;
	}

	
}

@media only screen and (min-width:800px) {

  #container{
    display:flex;
    align-items:flex-start;
  }

  #main{
    flex:1;
	min-width:0;
	width:auto !important;
  }

  #side{
    width:280px;
	flex-shrink:0;
  }
	
/* PC：2列（余裕持たせる） */
 .item{
    width:48%;
	float:none !important;
  }
	
/* 同シリーズ 横並び */
 .related-list .item{
    width:30%;
  }
}


/* =========================
   スライダー
========================= */
.swiper,
.swiper-wrapper,
.swiper-slide{
    width:100%;
    height:100%;
}

#hero-slider{
    position: relative;
    width: 100%;
    height: 520px;
    overflow: hidden;
    background: #000;
}

#hero-slider .slide{
    position: relative;
    width: 100%;
    height: 520px;
	overflow:hidden;
}

#hero-slider .slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(68%) contrast(105%);
	position:absolute;
    inset:0;
}

#hero-slider .slide::after{
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.15),
            rgba(0,0,0,0.45)
        );
}

#hero-slider .slide-content{
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    width: 90%;
}

#hero-slider h2{
    color: #fff;
    font-size: 34px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    font-weight: 700;
    margin-bottom: 30px;
    text-shadow: 0 0 12px rgba(0,0,0,0.8);
}

.hero-btn{
    display: inline-block;
    padding: 12px 28px;
    border: 1px solid #b08d57;
    color: #d4b06a;
    text-decoration: none;
    background: rgba(0,0,0,0.45);
    transition: all 0.4s ease;
    letter-spacing: 0.08em;
}

.hero-btn:hover{
    background: rgba(176,141,87,0.15);
    color: #fff;
}

@media screen and (max-width:768px){

#hero-slider,
#hero-slider .slide{
    height: 72vw;
    min-height: 320px;
    max-height: 460px;
}

#hero-slider h2{
    font-size: 22px;
    line-height: 1.7;
    letter-spacing: 0.05em;
	max-width: 780px;
    margin: 0 auto 30px;
}

.hero-btn{
    padding: 10px 22px;
    font-size: 13px;
}

#hero-slider .slide-content{
    width:88%;
}

}

/* =========================
   カテゴリ一覧
========================= */

#category-grid{
    width: 92%;
    max-width: 1400px;
    margin: 120px auto;
    display: flex;
    justify-content: center;
    gap: 40px;
}

/* カード */

.category-card{
    width: 33.333%;
    position: relative;
    display: block;
    overflow: hidden;
    /*background: #050505;*/
	background: #120009;
    text-decoration: none;
    transition: transform 0.5s ease;
}
/* hover */

.category-card:hover{
    transform: translateY(-6px);
}

/* 画像 */

.category-image{
    position: relative;
    overflow: hidden;
}

.category-image img{
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    filter:
        brightness(72%)
        contrast(105%);
    transition:
        transform 1.2s ease,
        filter 0.8s ease;
}

/* hover時 */

.category-card:hover .category-image img{
    transform: scale(1.04);
    filter:
        brightness(82%)
        contrast(108%);
}

/* 黒グラデ */

.category-image::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.05),
            rgba(0,0,0,0.55)
        );
}

/* テキスト */

/*.category-content{
    padding: 30px 26px 34px;
    text-align: center;
    background:
        linear-gradient(
            to bottom,
            rgba(10,10,10,0.96),
            rgba(0,0,0,1)
        );
}*/

.category-content{
    padding: 30px 26px 34px;
    text-align: center;

    background:
        linear-gradient(
            to bottom,
            #16000c,
            #080003
        );
	border-top:1px solid rgba(176,141,87,0.12);
}

/* タイトル */

.category-content h2{
    color:#d0b06d;
    font-size:28px;
    font-weight:600;
    letter-spacing:0.08em;
    margin-bottom:14px;
}

/* 説明 */

.category-content p{
    color:#d4d4d4;
    font-size:14px;
    line-height:1.9;
    letter-spacing:0.05em;
    margin-bottom:28px;
}

/* ボタン */

.category-btn{
    display:inline-block;
    padding:10px 24px;
    border:1px solid rgba(176,141,87,0.65);
    color:#c7a76a;
    font-size:13px;
    letter-spacing:0.08em;
    transition:all 0.4s ease;
}

/* hover */

.category-card:hover .category-btn{
    background:rgba(176,141,87,0.12);
    color:#fff;
}

/* =========================
   スマホ
========================= */

@media screen and (max-width: 900px){

#category-grid{
    display: block;
    margin: 80px auto;
}

.category-card{
    width: 100%;
    margin-bottom: 50px;
}

.category-content{
    padding: 26px 20px 30px;
}

.category-content h2{
    font-size: 24px;
}

}

/* =========================
   お知らせ
========================= */

#top-news{
    padding:18px 0;
    border-top:1px solid rgba(176,141,87,0.15);
    border-bottom:1px solid rgba(176,141,87,0.15);
    /*background:#050505;*/
	background: #120009;
}

.news-inner{
    width:92%;
    max-width:1200px;
    margin:0 auto;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.news-text{
    color:#d4d4d4;
    font-size:14px;
    letter-spacing:0.06em;
    text-decoration:none;
}

.news-more{
    color:#b08d57;
    font-size:12px;
    letter-spacing:0.08em;
    text-decoration:none;
    transition:opacity 0.4s ease;
}

.news-more:hover{
    opacity:0.7;
}

@media screen and (max-width:768px){

.news-inner{
    display:block;
    text-align:center;
}

.news-text{
    display:block;
    margin-bottom:10px;
}

}

/* =========================
   限定商品
========================= */

#limited-section{
    position:relative;
    padding:120px 0;

    background:
        linear-gradient(
            to bottom,
            #000000,
            #120009 38%,
            #050002
        );
}

/* 上ライン */

#limited-section::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);

    width:86%;
    height:1px;

    background:
        linear-gradient(
            to right,
            transparent,
            rgba(176,141,87,0.45),
            transparent
        );
}

/* 見出し */

.limited-header{
    text-align:center;
    margin-bottom:70px;
}

.limited-label{
    color:#b08d57;
    font-size:18px;
    letter-spacing:0.16em;
    margin-bottom:12px;
    font-style:italic;
}

.limited-title{
    color:#ffffff;
    font-size:52px;
    letter-spacing:0.08em;
    margin-bottom:18px;
}

.limited-copy{
    color:#cfcfcf;
    line-height:2;
    letter-spacing:0.06em;
}

#limited-section .tagline{
    color:#b08d57;
    font-size:13px;
    letter-spacing:0.12em;
    opacity:0.8;

    margin-bottom:14px;
}

/* 商品 */

#limited-section .limited-item{
    width:90%;
    max-width:1180px;

    margin:0 auto;

    padding:70px;

    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.92),
            rgba(0,0,0,0.96)
        );

    border-top:1px solid rgba(176,141,87,0.22);

    box-sizing:border-box;
}

/* タイトル */

#limited-section .limited-name{
    text-align:center;
    margin-bottom:40px;
}

#limited-section .limited-name a{
    color:#fff;
    font-size:30px;
    text-decoration:none;
    letter-spacing:0.08em;
}

/* 本体 */

#limited-section .limited-holder{
    display:flex;
    align-items:flex-start;
    gap:60px;
}

/* 左 */

#limited-section .limited-figure{
    width:44%;
    margin:0;
}

/* 画像 */

#limited-section .limited-image-wrap{
    background:#050505;

    border:1px solid rgba(176,141,87,0.18);

    overflow:hidden;
}

/* 商品画像 */

#limited-section .item-image{
    width:100%;
    height:auto;
    display:block;
	filter:
        brightness(88%)
        contrast(108%);
}

/* サムネ */

#limited-section .limited-thumb-list{
    margin-top:26px;
    display:flex;
    justify-content:center;
    gap:12px;
	width:52px;
}

#limited-section .limited-thumb-list li{
    width:62px;
}

#limited-section .thumb{
    width:100%;
    opacity:0.7;

    border:1px solid rgba(176,141,87,0.25);

    transition:all 0.4s ease;
}

#limited-section .thumb:hover{
    opacity:1;
}

/* 価格 */

#limited-section .limited-price{
    margin-top:28px;
    text-align:center;

    font-size:26px;
    color:#d0b06d;
}

/* 右 */

#limited-section .limited-info{
    width:56%;
}

/* 説明 */

#limited-section .limited-text{
    color:#d8d8d8;
    line-height:2.2;
    font-size:15px;

    margin-bottom:42px;
}

/* テーブル */

#limited-section .limited-table{
    width:100%;
    margin-bottom:40px;
}

#limited-section .limited-table th{
    color:#8d7850;
}

/* タグ */

#limited-section .tag{
    margin-right:10px;
}

/* ボタン */

#limited-section .limited-cart{
    width:260px;
    margin-top:10px;
	background:
        linear-gradient(
            to bottom,
            #b08d57,
            #7c5b27
        );

    border:1px solid rgba(255,220,150,0.2);

    box-shadow:none;
}

/* =========================
   スマホ
========================= */

@media screen and (max-width:900px){

#limited-section{
    padding:90px 0;
}

#limited-section .limited-item{
    width:88%;
    padding:40px 24px;
}

#limited-section .limited-holder{
    display:block;
}

#limited-section .limited-figure{
    width:100%;
    margin-bottom:40px;
}

#limited-section .limited-info{
    width:100%;
}

#limited-section .limited-name a{
    font-size:24px;
}

#limited-section .limited-title{
    font-size:38px;
}

}
/* =========================
   ランキング
========================= */

#ranking-section{
    position:relative;
    padding:120px 0;
    background:
        linear-gradient(
            to bottom,
            #000000,
            #120009 40%,
            #050002
        );
}

/* 上ライン */

#ranking-section::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:86%;
    height:1px;

    background:
        linear-gradient(
            to right,
            transparent,
            rgba(176,141,87,0.45),
            transparent
        );
}

/* 見出し */

.ranking-header{
    text-align:center;
    margin-bottom:70px;
}

.ranking-label{
    color:#b08d57;
    font-size:18px;
    letter-spacing:0.16em;
    margin-bottom:14px;
    font-style:italic;
}

.ranking-header h2{
    color:#c40d16;
    font-size:52px;
    letter-spacing:0.08em;
    margin-bottom:18px;

    text-shadow:
        0 0 10px rgba(0,0,0,0.8),
        0 0 18px rgba(120,0,20,0.5);
}

.ranking-copy{
    color:#d4d4d4;
    line-height:2;
    letter-spacing:0.06em;
}

/* 商品リスト */

.ranking-list{
    width:92%;
    max-width:1200px;
    margin:0 auto;
}



/* =========================
   お客様の声
========================= */

#review-section{
    position:relative;
    padding:120px 0;
    background:
        linear-gradient(
            to bottom,
            #050002,
            #000000
        );
}

/* 上ライン */

#review-section::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:86%;
    height:1px;

    background:
        linear-gradient(
            to right,
            transparent,
            rgba(176,141,87,0.4),
            transparent
        );
}

/* 見出し */

.review-header{
    text-align:center;
    margin-bottom:70px;
}

.review-label{
    color:#b08d57;
    font-size:18px;
    letter-spacing:0.16em;
    margin-bottom:14px;
    font-style:italic;
}

.review-header h2{
    color:#ffffff;
    font-size:48px;
    letter-spacing:0.08em;
    margin-bottom:18px;
}

.review-copy{
    color:#cfcfcf;
    line-height:2;
    letter-spacing:0.06em;
}

/* 一覧 */

.review-list{
    width:92%;
    max-width:1200px;
    margin:0 auto;

    display:flex;
    gap:34px;
    flex-wrap:wrap;

    padding:0;
    list-style:none;
}

/* カード */

.review-card{
    width:31%;
    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.92),
            rgba(0,0,0,0.96)
        );

    border-top:1px solid rgba(176,141,87,0.2);

    overflow:hidden;

    transition:transform 0.4s ease;

    margin-bottom:70px;
}

.review-card:hover{
    transform:translateY(-5px);
}

/* 画像 */

.review-image{
    display:block;
    overflow:hidden;
    width:78%;
    margin:30px auto 0;
}

.review-image img{
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    display:block;

    filter:
        brightness(62%)
        contrast(102%);

    transition:
        transform 1s ease,
        filter 0.6s ease;
}

.review-card:hover .review-image img{
    transform:scale(1.04);

    filter:
        brightness(88%)
        contrast(108%);
}

/* 中身 */

.review-content{
    padding:28px 24px 32px;
}

/* 商品名 */

.review-item{
    color:#d0b06d;
    font-size:15px;
    line-height:1.8;
    margin-bottom:16px;
}

/* 本文 */

.review-text{
    color:#d4d4d4;
    font-size:14px;
    line-height:2;
    letter-spacing:0.04em;

    margin-bottom:18px;
}

/* ユーザー */

.review-user{
    color:#8e8e8e;
    font-size:12px;
    margin-bottom:20px;
}

/* リンク */

.review-link{
    color:#b08d57;
    font-size:13px;
    text-decoration:none;
    letter-spacing:0.08em;

    transition:opacity 0.4s ease;
}

.review-link:hover{
    opacity:0.7;
}

/* =========================
   スマホ
========================= */

@media screen and (max-width:900px){

#review-section{
    padding:90px 0;
}

.review-header{
    margin-bottom:50px;
}

.review-header h2{
    font-size:38px;
}

.review-list{
    display:block;
    width:88%;
}

.review-card{
    width:100%;
    margin-bottom:70px;
}

}

/* =========================
   世界観
========================= */

#world-section{
    position:relative;

    padding:160px 0;

    background:
        radial-gradient(
            circle at center,
            rgba(30,0,12,0.45),
            rgba(0,0,0,1)
        );

    overflow:hidden;
}

/* 上ライン */

#world-section::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);

    width:86%;
    height:1px;

    background:
        linear-gradient(
            to right,
            transparent,
            rgba(176,141,87,0.3),
            transparent
        );
}

/* 中央 */

.world-inner{
    width:90%;
    max-width:760px;
    margin:0 auto;

    text-align:center;
}

/* ラベル */

.world-label{
    color:#b08d57;
    font-size:18px;
    letter-spacing:0.16em;
    margin-bottom:16px;
    font-style:italic;
}

/* タイトル */

#world-section h2{
    color:#ffffff;
    font-size:56px;
    letter-spacing:0.12em;
    margin-bottom:60px;

    text-shadow:
        0 0 12px rgba(0,0,0,0.9);
}

/* 本文 */

.world-text p{
    color:#d8d8d8;
    font-size:17px;
    line-height:2.6;
    letter-spacing:0.08em;

    margin-bottom:38px;
}

/* リンク */

.world-link{
    display:inline-block;

    margin-top:20px;

    color:#b08d57;
    font-size:14px;
    letter-spacing:0.12em;

    text-decoration:none;

    border-bottom:1px solid rgba(176,141,87,0.4);

    padding-bottom:6px;

    transition:all 0.4s ease;
}

.world-link:hover{
    opacity:0.7;
}

/* =========================
   スマホ
========================= */

@media screen and (max-width:900px){

#world-section{
    padding:110px 0;
}

#world-section h2{
    font-size:40px;
    margin-bottom:40px;
}

.world-text p{
    font-size:15px;
    line-height:2.3;
    margin-bottom:30px;
}

}

/* =========================
   ブログ
========================= */

#blog-section{
    position:relative;

    padding:120px 0;

    background:
        linear-gradient(
            to bottom,
            #000000,
            #120009 45%,
            #050002
        );
}

/* 上ライン */

#blog-section::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);

    width:86%;
    height:1px;

    background:
        linear-gradient(
            to right,
            transparent,
            rgba(176,141,87,0.35),
            transparent
        );
}

/* 見出し */

.blog-header{
    text-align:center;
    margin-bottom:70px;
}

.blog-label{
    color:#b08d57;
    font-size:18px;
    letter-spacing:0.16em;
    margin-bottom:14px;
    font-style:italic;
}

#blog-section h2{
    color:#ffffff;
    font-size:48px;
    letter-spacing:0.08em;
    margin-bottom:18px;
}

.blog-copy{
    color:#cfcfcf;
    line-height:2;
    letter-spacing:0.06em;
}

/* 一覧 */

.blog-list{
    width:92%;
    max-width:1200px;
    margin:0 auto;

    display:flex;
    flex-wrap:wrap;
    gap:34px;
}

/* カード */

.blog-card{
    width:31%;

    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.9),
            rgba(0,0,0,0.96)
        );

    border-top:1px solid rgba(176,141,87,0.18);

    overflow:hidden;

    transition:transform 0.4s ease;
}

.blog-card:hover{
    transform:translateY(-5px);
}

/* 画像 */

.blog-image{
    display:block;
    overflow:hidden;
}

.blog-image img{
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    display:block;

    filter:
        brightness(78%)
        contrast(105%);

    transition:
        transform 1s ease,
        filter 0.6s ease;
}

.blog-card:hover .blog-image img{
    transform:scale(1.04);

    filter:
        brightness(88%)
        contrast(108%);
}

/* 中 */

.blog-content{
    padding:28px 24px 34px;
}

/* 日付 */

.blog-date{
    color:#8a8a8a;
    font-size:12px;
    margin-bottom:14px;
    letter-spacing:0.08em;
}

/* タイトル */

.blog-title{
    margin-bottom:18px;
    line-height:1.8;
}

.blog-title a{
    color:#d0b06d;
    font-size:18px;
    text-decoration:none;
    letter-spacing:0.06em;
}

/* 本文 */

.blog-text{
    color:#d4d4d4;
    font-size:14px;
    line-height:2;
    letter-spacing:0.04em;

    margin-bottom:22px;
}

/* リンク */

.blog-link{
    color:#b08d57;
    font-size:13px;
    text-decoration:none;
    letter-spacing:0.08em;

    transition:opacity 0.4s ease;
}

.blog-link:hover{
    opacity:0.7;
}

/* 一覧ボタン */

.blog-more-wrap{
    text-align:center;
    margin-top:70px;
}

.blog-more{
    display:inline-block;

    padding:14px 34px;

    border:1px solid rgba(176,141,87,0.35);

    color:#d0b06d;
    text-decoration:none;
    letter-spacing:0.08em;

    transition:all 0.4s ease;
}

.blog-more:hover{
    background:rgba(176,141,87,0.08);
    color:#fff;
}

/* =========================
   スマホ
========================= */

@media screen and (max-width:900px){

#blog-section{
    padding:90px 0;
}

.blog-header{
    margin-bottom:50px;
}

#blog-section h2{
    font-size:38px;
}

.blog-list{
    display:block;
    width:88%;
}

.blog-card{
    width:100%;
    margin-bottom:40px;
}

}


/* =========================
   ペラダンの復権とは
========================= */

/* hero */

#about-section{
    position:relative;

    padding:180px 0 140px;

    background:
        radial-gradient(
            circle at center,
            rgba(30,0,12,0.45),
            rgba(0,0,0,1)
        );

    overflow:hidden;
}

/* 上ライン */

#about-section::before{
    content:"";
    position:absolute;

    top:0;
    left:50%;

    transform:translateX(-50%);

    width:86%;
    height:1px;

    background:
        linear-gradient(
            to right,
            transparent,
            rgba(176,141,87,0.35),
            transparent
        );
}

.about-inner{
    width:90%;
    max-width:900px;
    margin:0 auto;

    text-align:center;
}

.about-label{
    color:#b08d57;

    font-size:18px;
    letter-spacing:0.18em;

    margin-bottom:18px;

    font-style:italic;
}

#about-section h1{
    color:#ffffff;

    font-size:64px;
    letter-spacing:0.08em;

    margin-bottom:40px;

    text-shadow:
        0 0 12px rgba(0,0,0,0.85);
}

.about-lead{
    color:#f0f0f0;

    font-size:24px;

    line-height:2.2;

    letter-spacing:0.06em;

    font-weight:500;
}

/* 本文 */

.about-content{
    background:
        linear-gradient(
            to bottom,
            #050002,
            #000000
        );

    padding:120px 0 160px;
	position:relative;
    z-index:5;
	
	font-family:
	"Yu Mincho",
	"ヒラギノ明朝 ProN",
	serif;
}

.about-container{
    width:88%;
    max-width:900px;
    margin:0 auto;
}

/* 見出し */

.about-content h2{
    color:#d0b06d !important;

    font-size:38px !important;
    letter-spacing:0.06em;
	
	line-height:1.6 !important;

    margin-top:120px !important;
    margin-bottom:46px !important;

    padding-bottom:18px;

    border-bottom:
        1px solid rgba(176,141,87,0.2);
}

.about-content h2:first-child{
    margin-top:0;
}

/* 本文 */

.about-content p{
    color:#e2e2e2 !important;

    font-size:18px !important;;
    line-height:2.3 !important;;
    letter-spacing:0.04em;
	
	font-weight:500 !important;
	
    margin-bottom:34px;
	
	position:relative !important;

    opacity:1 !important;

    display:block !important;
}

/* プロフィール */

.about-profile{
    display:flex;
    align-items:flex-start;

    gap:60px;

    margin-top:50px;
}

.about-profile img{
    width:280px;
    display:block;

    filter:
        brightness(82%)
        contrast(105%);
}

/* メッセージ */

.about-message{
    margin-top:120px;

    padding-top:70px;

    border-top:
        1px solid rgba(176,141,87,0.2);

    text-align:center;
}

.about-message p{
    font-size:20px;
    line-height:2.6;
}

/* =========================
   スマホ
========================= */

@media screen and (max-width:900px){

/* hero */

#about-section{
    padding:110px 0 80px;
}

#about-section h1{
    font-size:38px;
    line-height:1.5;
    letter-spacing:0.04em;
}

.about-label{
    font-size:14px;
    letter-spacing:0.14em;
}

.about-lead{
    font-size:18px;
    line-height:2.1;
    letter-spacing:0.04em;

    width:92%;
    margin:0 auto;
}

/* 本文 */

.about-content{
    padding:70px 0 100px;
	
	font-family:
	"Yu Mincho",
	"ヒラギノ明朝 ProN",
	serif;
}

.about-container{
    width:88%;
}

/* 見出し */

.about-content h2{
    font-size:28px !important;

    line-height:1.7;

    margin-top:80px !important;
    margin-bottom:30px !important;

    padding-bottom:14px;
}

/* 本文 */

.about-content p{
    font-size:16px !important;

    line-height:2.2 !important;

    letter-spacing:0.03em !important;

    font-weight:500 !important;

    margin-bottom:28px !important;
}
	
.about-content p br{
    display:none;
}

/* ペラダン画像 */

.about-profile{
    display:block;
}

.about-profile img{
    width:100%;
    margin-bottom:28px;

    filter:
        brightness(82%)
        contrast(105%);
}

/* 最後メッセージ */

.about-message{
    margin-top:70px;
    padding-top:40px;
}

.about-message p{
    font-size:18px !important;
    line-height:2.2 !important;
}

}


/* =========================
   サイドバー
========================= */

#side{
    display:flex;
    flex-direction:column;
    gap:34px;
}

/* セクション */

.side-section{
    padding:34px 28px;

    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.94),
            rgba(0,0,0,0.96)
        );

    border-top:
        1px solid rgba(176,141,87,0.22);
}

/* ラベル */

.side-label{
    color:#b08d57;

    font-size:12px;
    letter-spacing:0.18em;

    margin-bottom:14px;

    opacity:0.75;

    font-style:italic;
}

/* タイトル */

.side-title{
    color:#ffffff;

    font-size:24px;
    line-height:1.6;
    letter-spacing:0.08em;

    margin-bottom:26px;
}

.side-title.small{
    font-size:18px;
}

/* テキスト */

.side-text{
    color:#d4d4d4;

    font-size:14px;
    line-height:2.1;
    letter-spacing:0.04em;

    margin-bottom:24px;
}

/* メニュー */

.side-menu{
    padding:0;
    margin:0;

    list-style:none;
}

.side-menu li{
    border-bottom:
        1px solid rgba(176,141,87,0.12);
}

.side-menu li:last-child{
    border-bottom:none;
}

.side-menu a{
    display:block;

    padding:16px 0;

    color:#d4d4d4;

    text-decoration:none;

    line-height:1.8;
    letter-spacing:0.04em;

    transition:all 0.4s ease;
}

.side-menu a:hover{
    color:#d0b06d;
    padding-left:8px;
}

/* ボタン */

.side-button{
    display:inline-block;

    padding-bottom:6px;

    color:#b08d57;

    text-decoration:none;

    border-bottom:
        1px solid rgba(176,141,87,0.4);

    transition:all 0.4s ease;
}

.side-button:hover{
    opacity:0.7;
}

/* バナー */

.side-banner{
    margin-bottom:20px;
}

.side-banner:last-child{
    margin-bottom:0;
}

.side-banner img{
    width:100%;
    display:block;
}

/* 支払い */

.side-pay{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.side-pay img{
    width:56px;
    opacity:0.9;
}

/* SNS */

.side-sns{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.side-sns a{
    color:#d4d4d4;

    text-decoration:none;

    letter-spacing:0.08em;

    transition:all 0.4s ease;
}

.side-sns a:hover{
    color:#b08d57;
    padding-left:8px;
}

/* =========================
   スマホ
========================= */

@media screen and (max-width:900px){

#side{
    gap:24px;
}

.side-section{
    padding:28px 22px;
}

.side-title{
    font-size:22px;
}

.side-title.small{
    font-size:16px;
}

.side-text{
    font-size:13px;
    line-height:2;
}

.side-menu a{
    padding:14px 0;
    font-size:14px;
}

}

/* =========================
   レビュー一覧ページ
========================= */

#review-archive{
    position:relative;
    padding:140px 0;
    background:
        linear-gradient(
            to bottom,
            #000000,
            #120009 42%,
            #050002
        );
}

#review-archive::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:86%;
    height:1px;
    background:
        linear-gradient(
            to right,
            transparent,
            rgba(176,141,87,0.4),
            transparent
        );
}

#review-archive .review-header h1{
    color:#ffffff;
    font-size:52px;
    letter-spacing:0.08em;
    margin-bottom:18px;
    text-align:center;
}

@media screen and (max-width:900px){

#review-archive{
    padding:100px 0;
}

#review-archive .review-header h1{
    font-size:38px;
}

}

/* ランキング中身 */

.ranking-items{
    padding:0;
    margin:0 auto;
    list-style:none;
}

.ranking-card{
    margin-bottom:70px;
    padding:60px 40px;
    background:
        linear-gradient(
            to bottom,
            rgba(18,0,9,0.9),
            rgba(0,0,0,0.96)
        );
    border-top:1px solid rgba(176,141,87,0.2);
}

.ranking-rank{
    text-align:center;
    color:#b08d57;
    font-size:18px;
    letter-spacing:0.08em;
    margin-bottom:26px;
}

.ranking-rank span{
    font-size:34px;
    color:#fff;
    padding:0 4px;
}

.ranking-image{
    display:block;
    width:58%;
    max-width:300px;
    margin:0 auto 34px;
}

.ranking-image img{
    width:100%;
    display:block;
    filter:brightness(82%) contrast(105%);
}

.ranking-name{
    text-align:center;
    margin-bottom:18px;
}

.ranking-name a{
    color:#fff;
    font-size:22px;
    line-height:1.7;
    text-decoration:none;
    letter-spacing:0.06em;
}

.ranking-price{
    text-align:center;
    color:#d0b06d;
    font-size:16px;
    margin-bottom:26px;
}

.ranking-text{
    color:#d4d4d4;
    font-size:14px;
    line-height:2.2;
    letter-spacing:0.04em;
    margin-bottom:28px;
	padding:0 10px;
}

.ranking-button{
    display:block;
    width:180px;
    margin:0 auto;
    padding:12px 20px;
    border:1px solid rgba(176,141,87,0.35);
    color:#d0b06d;
    text-align:center;
    text-decoration:none;
    letter-spacing:0.08em;
}

.ranking-first{
    border-top:1px solid rgba(176,141,87,0.45);
}

.ranking-first .ranking-image{
    width:72%;
    max-width:380px;
}

.ranking-more-wrap{
    text-align:center;
    margin-top:30px;
}

.ranking-more{
    display:inline-block;
    padding:14px 34px;
    border:1px solid rgba(176,141,87,0.35);
    color:#d0b06d;
    text-decoration:none;
    letter-spacing:0.08em;
}

/* レビュー画像を余白付きにする */

.review-image{
    width:78%;
    margin:30px auto 0;
}

.review-image img{
    filter:brightness(62%) contrast(102%);
}

/* スマホ */

@media screen and (max-width:900px){

.ranking-card{
    padding:50px 24px;
    margin-bottom:80px;
}

.ranking-image{
    width:68%;
}

.ranking-first .ranking-image{
    width:86%;
}

.ranking-name a{
    font-size:20px;
}

.review-image{
    width:72%;
}

}

#limited-section .limited-image-wrap{
    width:100%;
    max-width:420px;
    margin:0 auto;
    background:#050505;
    border:1px solid rgba(176,141,87,0.18);
    overflow:hidden;
}

#limited-section .limited-main-image{
    width:100%;
    height:auto;
    display:block;
    filter:brightness(88%) contrast(108%);
}

.limited-read-more{
    display:inline-block;
    margin-top:18px;
    color:#b08d57;
    text-decoration:none;
    letter-spacing:0.08em;
    font-size:13px;
    transition:0.3s ease;
}

.limited-read-more:hover{
    color:#fff;
}

/* ヘッダーメニュー */
.sp-menu-heading{
  color:#b08d57;
  font-size:13px;
  letter-spacing:0.14em;
  margin:26px 0 12px;
  border-bottom:1px solid rgba(176,141,87,0.25);
  padding-bottom:8px;
}

.sp-search-wrap{
  margin:10px 0 28px;
}

.sp-search-input{
  width:100%;
  height:48px;
  background:#0a0a0a;
  border:1px solid rgba(176,141,87,0.25);
  color:#fff;
  padding:0 14px;
  font-size:14px;
  box-sizing:border-box;
}

.sp-search-input::placeholder{
  color:#777;
}

.sp-search-btn{
  width:100%;
  height:44px;
  margin-top:10px;
  background:#120009;
  border:1px solid rgba(176,141,87,0.28);
  color:#d0b06d;
  letter-spacing:0.08em;
}


@media screen and (max-width:999px){

  #container{
    display:block !important;
  }

  #main{
    width:100% !important;
  }

  #side{
    width:88% !important;
    margin:80px auto 0;
  }

}

/* =========================
   新規PHPページ用 スマホ調整
========================= */

@media screen and (max-width:900px){

  body #container{
    display:block !important;
  }

  body #main{
    width:100% !important;
  }

  body #side{
    width:92% !important;
    margin:80px auto 0 !important;
  }

  #menu-button{
    display:block !important;
    color:#d0b06d;
    font-size:28px;
  }

}

/* =========================
   ペラダン最終調整：ヘッダー・スマホメニュー
========================= */

@media screen and (max-width:900px){

  .pc-nav{
    display:none !important;
  }

  #menu-button,
  .menu-button{
    display:block !important;
    color:#d0b06d !important;
    font-size:30px !important;
    line-height:1 !important;
    cursor:pointer !important;
    z-index:10001 !important;
  }

  #sp-menu.sp-menu{
    position:fixed !important;
    top:0 !important;
    right:-100% !important;
    width:82% !important;
    max-width:none !important;
    height:100vh !important;
    background:rgba(0,0,0,0.92) !important;
    padding:28px 24px !important;
    box-sizing:border-box !important;
    overflow-y:auto !important;
    transition:right 0.3s ease !important;
    z-index:10000 !important;
  }

  #sp-menu.sp-menu.open{
    right:0 !important;
  }

  .close-btn{
    color:#d0b06d !important;
    font-size:32px !important;
    text-align:right !important;
    margin-bottom:24px !important;
    cursor:pointer !important;
  }

  .menu-overlay{
    position:fixed !important;
    inset:0 !important;
    background:rgba(0,0,0,0.5) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:0.3s ease !important;
    z-index:9999 !important;
  }

  .menu-overlay.active{
    opacity:1 !important;
    pointer-events:auto !important;
  }

}
