/* ----------------------------------------
 * all
 * ------------------------------------- */
* {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

li {
  list-style: none;
}
.scroll-container {
  scroll-behavior: auto;
}
.no-pc {
  display: none;
}
.no-sp {
  display: block;
}

@media screen and (max-width: 768px) {
  .no-pc {
    display: block;
  }
  .no-sp {
    display: none;
  }
}

main {

  color: #333333;

  z-index: -2;
font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', serif;
font-weight: bold;
}

.bgi {
  background-image: url(https://www.lightup.jp/on/demandware.static/-/Sites-lusc-Library/default/v1756687123950/lusc-operation/contents-asset/special/kyosai/img/bgi--00.jpg);
    background-attachment: fixed;
  background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
    padding-top: 50px;
}
@media only screen and (max-width: 768px) {
.bgi {
    background-image: none;
    padding-top: 0px;

  }
}

.bgi {
    position: relative;
    padding-bottom: 60px; 
}


.bgi--credit.footer-on-bg {
    position: absolute;
    bottom: 40px;   
    right: 100px;    
     font-size: 12px;
     line-height: 1.6em;
     background-color: #dcc194a3;
     padding: 3px;
}
.bgi--02{
    z-index: 1000;
    position: sticky;
}

.breadcrumb {
    position: sticky;
    z-index: 1000;
}
#header-breadcrumb {
  margin: 0;
padding-bottom: 10px;
}

#footer {
  background-color: #fff;
}
.item-ph {
  margin-bottom: 0px;
}
.product-itemlist .product-item .item-icon {
  display: none;
}
section.related-special-area.op_view {
    display: none;
}


/* ----------------------------------------
 * nav
 * ------------------------------------- */
 .pc-lcol {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    display: flex;
    justify-content: flex-start;
    width: var(--pc-rcol-width);
 }
.nav_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.nav_list {
margin: 35vh 0 2vw 5vw;
transition: all 0.3s; /* 滑らかに消える */
opacity: 1;
}
:root {
--main-width: 500px;
    --pc-lcol-width: calc((100% - var(--main-width)) * (556 / (556 + 335)) + 1px);
    --pc-rcol-width: calc((100% - var(--main-width)) * (335 / (556 + 335)) + 1px);
    }

    .nav_list.is-hidden {
  opacity: 0;
  visibility: hidden; /* スクリーンリーダー等にも隠す場合 */
  pointer-events: none; /* クリック無効化 */
}




/* ナビゲーションの基本状態（アニメーション用） */
.nav_list {
    transition: opacity 0.3s ease, visibility 0.3s ease;
    opacity: 1;
    visibility: visible;
}

/* 非表示にするためのクラス */
.nav_list.is-hidden {
    opacity: 0;
    visibility: hidden;
}

.nav_wrapper {
  opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease; /* ふんわり表示させるアニメーション */
}
/* 表示状態：jsでクラスが付与された時に適用 */
.nav_wrapper.is-show {
    opacity: 1;
    visibility: visible;
}

.nav_wrapper .nav_list li {
  margin-bottom: 22px;
  background-color: #FFF8EA;
  box-shadow: 0 0 0 1px #000000, 0 0 0 5px #FFF8EA, 0 0 0 7px #000000;
  text-align: center;
  padding: 10px 10px;
  font-weight: 700;
  color: #000;
  font-size: 18px;
}
.nav_list img {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (max-width: 800px) {
  .nav_wrapper {
    display: none;
  }
}


/* ----------------------------------------
 * SPファースト中
 * ------------------------------------- */
.article {
  max-width: 550px;
  margin: 0 auto;
  position: relative;
      padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .article {
    max-width: none;
    width: 100%;
  }
}
.article .section {
  padding: 20px 20px 30px 20px;
  background-color: #F6EDD9;
}



/* ----------------------------------------
 *メインビジュアル
 * ------------------------------------- */
 div#sec01  {
  padding: 20px 0px 30px 0px;
  position: relative;
 }
 .one-point-img {
    position: absolute;
    bottom: -70px;
    right: -80px;
}
@media screen and (max-width: 768px) {
  .one-point-img  {
bottom: -30px;
    right: 0;
    width: 100px;
  }
}
.mainvisual img{
    width: 100%;
}
.read {
    margin: 50px 0;
}
.read p {
    text-align: center;
    font-size: 16px;
    line-height: 30px;
}
.btn--original {
  background-color: #000;
  width: 80%;
  margin: 0 auto;
  margin-bottom: 50px;
}
.btn--original p {
  color: #fff;
  padding: 10px;
  font-size: 20px;
}
/* ----------------------------------------
 *プレゼントキャンペーン
 * ------------------------------------- */

.titile {
  padding: 10px;
  background-color: #FFF8EA;
  box-shadow: 0 0 0 1px #000000, 0 0 0 6px #FFF8EA, 0 0 0 8px #000000;
  width: 90%;
  text-align: center;
  display: block;
  margin: 0 auto;
  margin-bottom: 50px;
}
h3.present  {
  font-size: 20px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
 h3.present {
  font-size: 16px;
  }
}
.titile h2 {
margin-bottom: 0;
line-height: 1.4em;
font-size: 1.6rem;
}
.campaign span {
    font-size: 30px;
    font-weight: bold;
    vertical-align: -5%;
}
span.Exclamation--mark {
    font-size: 18px;
    vertical-align: 1%;
}
.site-visual {
  margin: 0 auto;
  width: 90%;
  text-align: end;
  margin-bottom: 40px;
}
.site-visual img{
  width: 100%;
  display: block;
  margin: 0 auto;
  margin-top: 40px;
  margin-bottom: 5px;
}
.site-visual p {
  font-size: 14px;
} 
p.annotation {
  font-size: 12px;
  font-family: Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, Meiryo, sans-serif;
  font-weight: 100;
}
/* ----------------------------------------
 *タブメニュー
 * ------------------------------------- */
 .tab-nav {
margin: 30px 0;
 }
.tab{
	display: flex;
	flex-wrap: wrap;
}
.info_list dd {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .dt {
  font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  .dd {
  font-size: 18px;
  }
}

.info-table .info_list {
  border-bottom: 1px dotted #ccc;
}
@media only screen and (max-width: 768px) {
 .info-table .info_list {
padding: 10px 0;
  }
}

@media (min-width: 768px) {
.info-table .info_list {
  display: flex;
  align-items: center;
}
.info-table .info_list dt {
    width: 120px;
    padding: 20px;
}
.info-table .info_list dd {
    flex: 1;
    padding: 5px;
}
}

.tab li a{
	display: block;
	background:#ee918a;
  margin-right: 4px;
	padding:10px 40px;
  color: #fff;
  border-bottom: none;
  font-size: 20px;
}
/*liにactiveクラスがついた時の形状*/
.tab li.active a{
  font-size: 20px;
	background:#FFF8EA;
  color: #000;
  font-weight: bold;
    box-shadow: 4px -1px 5px -3px rgba(194, 178, 150, 0.4)
}


/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	background: #FFF8EA;
	padding:50px 20px 10px;
   box-shadow: 3px 3px 6px 0px rgba(194, 178, 150, 0.4);

}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;
    /* animation-duration: 2s; */
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.apply {
  margin: 0 auto;
  background-color: #111;
  margin: 20px 0;
  border-radius: 26px;
}
.apply p{
  font-size: 18px;
  color: #fff;
  text-align: center;
  padding: 10px;
}

/* ----------------------------------------
 *画像ループ
 * ------------------------------------- */
 .scroll-infinity {
margin: 50px 0;
 }
	@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  height: calc(100vh / 4);
}
.scroll-infinity__item img {
  height: 100%;
  max-width: none;
  padding: 0 2px;
}

/* ----------------------------------------
 *図録
 * ------------------------------------- */
  div#sec03 {
  position: relative;
 }
 .one-point-img--03 {
    position: absolute;
   top: -80px;
  left: -60px;

}
 .one-point-img--04 {
    position: absolute;
    top: -10px;
    right: -30px;
    width: 150px;
}

 .zuroku {
  width: 90%;
  margin: 0 auto;
  margin-bottom: 30px;
 }
  .zuroku img{
      display: block;
  width: 90%;
  margin: 0 auto;
 }

 /* ----------------------------------------
 *当社限定アイテム
 * ------------------------------------- */
 div#sec04 {
  padding-top: 100px;
  position: relative;
 }
 .one-point-img--02 {
    position: absolute;
    top: -10px;
    left: -80px;
}
@media screen and (max-width: 768px) {
 .one-point-img--02  {
top: 0px;
    left: -20px;
    width: 140px;
  }
}
 .item-btn {
  background-color: #111;
  color: #fff;
  padding: 10px;
  width: 90%;
  margin: 0 auto;
  margin-top: 30px;
 }
 .item-btn p {
  text-align: center;
  font-size: 20px;
 }
 .product-itemlist {
     justify-content: space-around;
        margin-top: 30px;
}
 
.product-itemlist .product-item {
  width: 45%;
  margin: 0 0 35px 0;

}
.product-itemlist .product-item  {
    min-height: 0;
}
h3.js-p-name-h3 {
  font-size: 14px;
}
.item-price {
  font-size: 14px;
}
 /* ----------------------------------------
 * 河鍋暁斎
 * ------------------------------------- */
 .kawanabe-wapper {
 display: flex;
 }
 .about--name h4 {
      text-align: center;
    margin-bottom: 20px;
 }
  .kawanabe--img {
  width: 45%;
 }
 .kawanabe--text {
  width: 55%;
  padding: 0 0 0 20px;
 }
 .kawanabe--text p {
 }
 .kawanabe--img img {
  width: 100%;
 }
 .kawanabe-wapper h4 {
  font-size: 24px;
  margin-bottom: 20px;
 }

div#sec05 {
padding: 80px 20px 80px 20px
}
.credit {
font-size: 10px;
    line-height: 1.6;
    display: inline-block;
    margin-top: 5px;

}

.collection {
    position: absolute;
    bottom: 20px;   
    left: 70px;  
    font-size: 12px;
}

 /* ----------------------------------------
 * タブ
 * ------------------------------------- */
 .tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: center;
  padding: 30px 0;
  font-family: Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, Meiryo, sans-serif;
      font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .tab-wrap {
    width: 100%;
  }
}

.tab-label {
  color: White;
  background: #ea6188;
  font-weight: bold;
  font-size: 20px;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
  width: 150px;
}
@media only screen and (max-width: 768px) {
  .tab-label {
    width: 150px;
  }
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-switch:checked+.tab-label {
  background: #000000;

}
@media only screen and (max-width: 768px) {
  .tab-switch:checked+.tab-label {
    width: 150px;
  }
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  background: #FFF8EA;
  padding: 50px 20px 10px;
  box-shadow: 3px 3px 6px 0px rgba(194, 178, 150, 0.4);
}
.tab-switch {
  display: none;
}
 .tab-switch:checked+.tab-label:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-top-color: #000000;
  border-width: 14px;
  margin-left: -14px;
}
.tab-switch:checked+.tab-label {
  background: #000000;
  position: relative;
}


