/******************************/
/* 色調整箇所 */
/******************************/

/* ※ 行番号はコード更新で順次変化するため該当クラス名を記載します */
/* 美の革新3step の色つきシャドウ */
/* .p-block-01-list__img */

/* about vieoty, vieoty による革新とは の画像背景部分
.p-concept-list__img.first
.p-concept-list__img.second */
.youtube-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}

.youtube-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/******************************/
/* SLIDER */
/******************************/
.p-main-visual-wrap + .p-concept {
  padding-top: 0;
}
.p-main-visual {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 180px;
  max-width: 1600px;
}
@media screen and (max-width: 767px) {
  .p-main-visual {
    display: block;
    padding-bottom: 60px;
  }
}
.p-main-visual * {
  min-width: 0;
  min-height: 0;
}
.p-main-slider {
  position: relative;
  width: calc(50% + 50px);
  width: 100%;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .p-main-slider {
    padding-bottom: 75px;
    width: auto;
  }
}
.p-main-slider .slick-prev {
  top: auto;
  bottom: -76px;
  left: auto;
  right: 51px;
}
@media screen and (max-width: 767px) {
  .p-main-slider .slick-prev {
    bottom: -59px;
    right: 39px;
  }
}
.p-main-slider .slick-next {
  top: auto;
  bottom: -76px;
  left: auto;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-main-slider .slick-next {
    bottom: -59px;
    right: 0;
  }
}
.p-main-slider .slick-active img {
  animation: fadezoomout 10s 0s;
  animation: fadezoomout 10s 0s forwards;
}
.p-main-slider-list__item {
  overflow: hidden;
}
.p-main-slider-list__item img {
  width: 100%;
  height: auto; /* アスペクト比を維持して縮小・拡大 */
    object-fit: contain; /* 画像をはみ出さないように調整 */
}
@keyframes fadezoomout {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.p-main-slider-list{
  position:relative;
  overflow:hidden;
  aspect-ratio:750 / 800;
}
.p-main-slider-list.firstViewInitialized{
  opacity:1;
}
.p-main-slider-list__item,
.p-main-slider-list__item img{
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  object-fit:cover;
  pointer-events:none;
  user-select:none;
}
.p-main-txt {
  position: absolute;
  left: 50%;
  top: 30%;
  z-index: 10;
  width: 50%;
}
@media screen and (max-width: 1030px) {
  .p-main-txt {
    top: 30%;
  }
}
@media screen and (max-width: 767px) {
  .p-main-txt {
    position: static;
    width: auto;
  }
}
.p-top-logo {
  display: inline-block;
  max-width: 600px;
  padding-right: 30px;
}
@media screen and (max-width: 1030px) {
  .p-top-logo {
    display: none;
  }
}
.p-top-logo__img {
  font-size: 48px;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
  line-height: 1.2;
}
@media screen and (max-width: 1200px) {
  .p-top-logo__img {
    font-size: 36px;
  }
}
.p-top-logo__img img {
  max-height: 180px;
}
.p-top-logo__txt {
  display: block;
  margin-top: 10px;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
  font-size: 24px;
  font-weight: normal;
  text-align: right;
}
/******************************/
/* NEWS */
/******************************/
.p-line-informaiton {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 30px 0;
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton {
    display: block;
    margin-left: 0;
    padding: 25px 45px 30px 25px;
  }
}
@media screen and (max-width: 767px) {
  .p-line-informaiton {
    margin-left: 25px;
  }
}
.p-line-informaiton__ttl {
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 170px;
  font-size: 17px;
  font-weight: bold;
  font-family: "Playfair Display", serif;
  color: #79645e;
  text-align: center;
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton__ttl {
    margin-bottom: 15px;
    padding-top: 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #5a5a5a;
    width: auto;
    font-size: 16px;
    text-align: left;
  }
}
.p-line-informaiton__box {
  box-sizing: border-box;
  position: relative;
  flex: 1;
  padding-left: 45px;
  padding-right: 90px;
  border-left: 1px solid #5a5a5a;
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton__box {
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
  }
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton-list {
    font-size: 12px;
  }
}
.p-line-informaiton-list:before {
  content: "";
  position: absolute;
  right: -45px;
  top: 50%;
  margin-top: -5px;
  width: 1px;
  height: 10px;
  background: #5a5a5a;
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton-list:before {
    right: 30px;
    top: -50px;
    margin-top: 0;
    width: 1px;
    height: 10px;
  }
}
.p-line-informaiton-list .slick-prev, .p-line-informaiton-list .slick-next {
  width: 30px;
  height: 30px;
  transition: all 0.4s ease;
  z-index: 1;
  background: transparent;
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton-list .slick-prev, .p-line-informaiton-list .slick-next {
    top: -45px;
  }
}
.p-line-informaiton-list .slick-prev:before, .p-line-informaiton-list .slick-next:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 5px;
  height: 5px;
  border-left: 1px solid #5a5a5a;
  border-top: 1px solid #5a5a5a;
  transition: all 0.4s ease;
  z-index: 1;
}
.p-line-informaiton-list .slick-prev {
  left: auto;
  right: -44px;
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton-list .slick-prev {
    right: 33px;
  }
}
.p-line-informaiton-list .slick-prev:before {
  right: 10px;
  transform: translateY(-50%) rotate(-45deg);
}
.p-line-informaiton-list .slick-next {
  left: auto;
  right: -75px;
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton-list .slick-next {
    right: 0px;
  }
}
.p-line-informaiton-list .slick-next:before {
  left: 10px;
  transform: translateY(-50%) rotate(135deg);
}
@media screen and (max-width: 1030px) {
  .p-line-informaiton-list .slick-next:before {
    left: 13px;
  }
}
/******************************/
/* RECOMMEND ITEMS */
/******************************/
.p-recommend {
  position: relative;
  overflow: hidden;
}
.p-recommend-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .p-recommend-bg {
    width: 50%;
  }
}
.p-recommend-list {
  margin-top: 120px;
  margin-bottom: 75px;
  margin-left: -25px;
  margin-right: -25px;
}
@media screen and (max-width: 767px) {
  .p-recommend-list {
    margin-top: 60px;
    margin-bottom: 0;
    margin-left: 25px;
    margin-right: 25px;
  }
}
.p-recommend-list .slick-list {
  overflow: visible;
}
.p-recommend-list .slick-prev {
  top: -70px;
  left: auto;
  right: 76px;
}
@media screen and (max-width: 767px) {
  .p-recommend-list .slick-prev {
    top: 35%;
    left: -35px;
    right: auto;
  }
}
.p-recommend-list .slick-next {
  top: -70px;
  left: auto;
  right: 25px;
}
@media screen and (max-width: 767px) {
  .p-recommend-list .slick-next {
    top: 35%;
    right: -35px;
  }
}
.p-recommend-list__item {
  margin-left: 25px;
  margin-right: 25px;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .p-recommend-list__item {
    margin-left: 15px;
    margin-right: 15px;
  }
}
.p-recommend-list__img {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .p-recommend-list__img {
    margin-bottom: 15px;
  }
}
.p-recommend-list__txt {
  position: relative;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
}
.p-recommend-list__ttl {
  font-size: 16px;
}
.p-recommend-list__ttl img {
  vertical-align: middle;
}
.p-recommend-list__expl {
  margin-top: 10px;
  font-size: 16px;
  color: #79645e;
}
@media screen and (max-width: 767px) {
  .p-recommend-list__expl {
    margin-top: 12px;
  }
}
.p-recommend-list__price {
  margin-top: 30px;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
}
.p-recommend-list__price.is-default {
  margin-top: 0;
}
/******************************/
/* TOP CONCEPT */
/******************************/
.p-concept {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-concept-list {
    margin-top: 30px;
  }
}
.p-concept-list__item {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-concept-list__item {
    display: block;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-list__item:last-child {
    margin-bottom: 0;
  }
}
.p-concept-list__item:nth-child(even) .p-concept-list__txt {
  margin-left: 0;
  margin-right: 40px;
  order: -1;
}
@media screen and (max-width: 767px) {
  .p-concept-list__item:nth-child(even) .p-concept-list__txt {
    margin-left: 0;
    margin-right: 0;
  }
}
.p-concept-list__item:nth-child(even) .p-concept-list__img {
  margin-left: 0;
  margin-right: -100px;
}
@media screen and (max-width: 1030px) {
  .p-concept-list__item:nth-child(even) .p-concept-list__img {
    margin-right: -50px;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-list__item:nth-child(even) .p-concept-list__img {
    margin-right: 0;
  }
}
.p-concept-list__img {
  box-sizing: border-box;
  flex: 1;
  margin-left: -100px;
}
@media screen and (max-width: 1030px) {
  .p-concept-list__img {
    margin-left: -50px;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-list__img {
    margin-left: 0;
    margin-bottom: 30px;
    width: auto;
    text-align: center;
  }
}
.p-concept-list__img img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-concept-list__img img {
    width: 600px;
    max-width: 100%;
  }
}
.p-concept-list__txt {
  margin-left: 40px;
  width: 375px;
}
@media screen and (max-width: 1030px) {
  .p-concept-list__txt {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-list__txt {
    margin-left: 0;
    width: auto;
  }
}
.p-concept-list__ttl {
  margin-bottom: 30px;
  line-height: 1.4;
  font-size: 30px;
  font-weight: normal;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
  color: #9b8970;
}
@media screen and (max-width: 767px) {
  .p-concept-list__ttl {
    margin-bottom: 15px;
    padding-left: 40px;
    font-size: 21px;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-list__body {
    padding-left: 40px;
    font-size: 16.5px;
  }
}
/******************************/
/* TOP PICK UP ITEMS */
/******************************/
.p-pickup {
  position: relative;
  overflow: hidden;
}
.p-concept-list .c-ttl-main .heading-label  {
  background-color: #e2dbe4;
  border: solid #e2dbe4;
  border-width: 6px 24px 6px 24px;
  margin-left: -15px;
}
.p-pickup-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 25%;
}
.p-pickup-list {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-pickup-list {
    margin-top: 0;
    margin-left: 25px;
    margin-right: 25px;
  }
}
.p-pickup-list__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 70px;
}
@media screen and (max-width: 1030px) {
  .p-pickup-list__item {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 45px;
    max-width: 600px;
  }
}
.p-pickup-list__item:last-child {
  margin-bottom: 0;
}
.p-pickup-list__img {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 600px;
}
@media screen and (max-width: 1030px) {
  .p-pickup-list__img {
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-pickup-list__img {
    width: auto;
  }
}
.p-pickup-list__img-l {
  width: 50%;
}
.p-pickup-list__img-r {
  width: 50%;
}
.p-pickup-list__txt {
  width: 330px;
}
@media screen and (max-width: 1030px) {
  .p-pickup-list__txt {
    width: auto;
  }
}
.p-pickup-list__ttl {
  margin-top: 0;
  margin-bottom: 30px;
  line-height: 1.4;
  font-size: 18px;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
}
@media screen and (max-width: 767px) {
  .p-pickup-list__ttl {
    margin-bottom: 15px;
    font-size: 18px;
  }
}
.p-pickup-list__body {
  color: #79645e;
  font-size: 16.5px
}
.p-pickup-list__btn {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-pickup-list__btn {
    text-align: center;
  }
}
/******************************/
/* TOP 画像大エリア */
/******************************/
.p-block-01 {
  overflow: hidden;
  margin-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .p-block-01 {
    margin-bottom: 0;
  }
}
.p-block-01-list__item {
  border-top: 3px solid #ffffff;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__item {
    border-top: 0;
    padding-bottom: 30px;
  }
}
.p-block-01-list__item:nth-child(even) .p-block-01-list__txt {
  order: 1;
  margin-left: 30px;
  margin-right: 0;
}
@media screen and (max-width: 1030px) {
  .p-block-01-list__item:nth-child(even) .p-block-01-list__txt {
    margin-right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-block-01-list__item:nth-child(even) .p-block-01-list__txt {
    margin-left: 0;
    margin-right: 0;
  }
}
.p-block-01-list__item:nth-child(even) .p-block-01-list__img {
  margin-right: 0;
  margin-left: -200px;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__item:nth-child(even) .p-block-01-list__img {
    margin-left: 0;
  }
}
.p-block-01-list__item.is-01 {
  background: #f7f8fa;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__item.is-01 {
    background: #f5f0f0;
  }
}
.p-block-01-list__item.is-02 {
  background: #eceff4;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__item.is-02 {
    background: #ffffff;
  }
}
.p-block-01-list__item.is-03 {
  background: #f3f6f9;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__item.is-03 {
    background: #ffffff;
  }
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
.p-block-01-list__box {
    width: 1000px;
  }
}
.p-block-01-list__box {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__box {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}
.p-block-01-list__img {
  box-sizing: border-box;
  flex: 1;
  margin-right: -200px;
  max-width: 900px;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__img {
    margin-right: 0;
    text-align: center;
  }
}
.p-block-01-list__img img {
  width: 100%;
}
.p-block-01-list__txt {
  order: -1;
  margin-right: 30px;
  width: 270px;
}
@media screen and (max-width: 1030px) {
  .p-block-01-list__txt {
    margin-left: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-block-01-list__txt {
    margin-left: 0;
    margin-right: 0;
    padding: 30px 25px;
    width: auto;
  }
}
.p-block-01-list__ttl {
  margin-bottom: 20px;
  line-height: 1.4;
  font-size: 24px;
  font-weight: normal;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__ttl {
    margin-top: 0;
    font-size: 18px;
  }
}
.p-block-01-list__body {
  color: #79645e;font-size: 16.5px;
}
.p-block-01-list__btn {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-block-01-list__btn {
    text-align: center;
  }
}
/******************************/
/* TOP POPUP GALLERY */
/******************************/
.p-block-02 {
  position: relative;
}
.p-block-02-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 25%;
}
.p-block-02-bg.is-left {
  right: auto;
  left: 0;
}
.p-block-02-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
@media screen and (max-width: 767px) {
  .p-block-02-list {
    margin-left: -5px;
    margin-right: -5px;
  }
}
.p-block-02-list__item {
  box-sizing: border-box;
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .p-block-02-list__item {
    margin-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px;
    width: 50%;
  }
}
.mfp-zoom-out-cur .mfp-image-holder .mfp-close .mfp-close,
.mfp-zoom-out-cur .mfp-iframe-holder .mfp-close .mfp-close {
  right: 0 !important;
  width: 15px;
}
.mfp-zoom-out-cur .mfp-bottom-bar {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
}
.mfp-zoom-out-cur .mfp-arrow-right:after {
  left: -10px;
  border-left: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  border-bottom: 0;
  border-right: 0;
  width: 30px;
  height: 30px;
  transform: rotate(135deg);
}
.mfp-zoom-out-cur .mfp-arrow-left:after {
  left: 0px;
  border-left: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  border-bottom: 0;
  border-right: 0;
  width: 30px;
  height: 30px;
  transform: rotate(-45deg);
}
/******************************/
/* TOP RANKING */
/******************************/
.p-ranking {
  position: relative;
  overflow: hidden;
}
.p-ranking-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 25%;
}
.p-ranking-list {
  margin-top: 120px;
  margin-bottom: 75px;
  margin-left: -10px;
  margin-right: -10px;
}
@media screen and (max-width: 767px) {
  .p-ranking-list {
    margin-top: 0;
    margin-bottom: 60px;
    margin-left: -18px;
    margin-right: -18px;
  }
}
.p-ranking-list .slick-list {
  overflow: visible;
}
.p-ranking-list .slick-prev {
  top: -70px;
  left: auto;
  right: 61px;
}
@media screen and (max-width: 767px) {
  .p-ranking-list .slick-prev {
    top: -55px;
    right: 57px;
  }
}
.p-ranking-list .slick-next {
  top: -70px;
  left: auto;
  right: 10px;
}
@media screen and (max-width: 767px) {
  .p-ranking-list .slick-next {
    top: -55px;
    right: 18px;
  }
}
.p-ranking-list .slick-dotted.slick-slider {
  margin-bottom: 60px;
}
.p-ranking-list .slick-dots {
  bottom: -45px;
}
.p-ranking-list .slick-dots li {
  margin: 0 2px;
}
.p-ranking-list__item {
  position: relative;
  box-sizing: border-box;
  margin-right: 10px;
  margin-left: 10px;
  padding-bottom: 25px;
  word-break: break-all;
}
@media screen and (max-width: 1030px) {
  .p-ranking-list__item {
    margin-right: 18px;
    margin-left: 18px;
  }
}
.p-ranking-list__item.slick-active .p-ranking-list__num {
  opacity: 1;
  animation: rankingfadein 0.2s 0s;
}

.p-ranking-list__img {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .p-ranking-list__img {
    margin-bottom: 15px;
    text-align: center;
  }
}
.p-ranking-list__num {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 26px;
  line-height: 26px;
  font-size: 16px;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
  background: #a0a0a0;
  color: #ffffff;
  text-align: center;
  border-radius: 13px;
  opacity: 0;
  transition: all ease 0.1s;
}
.p-ranking-list__num.is-1 {
  background: #AE8F61;
}
.p-ranking-list__num.is-2 {
  background: #84878C;
}
.p-ranking-list__num.is-3 {
  background: #9E9A94;
}
@keyframes rankingfadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-ranking-list__ttl {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
}
.p-ranking-list__ttl img {
  vertical-align: middle;
}
.p-ranking-list__price {
  margin-top: 30px;
  font-size: 12px;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
  color: #79645e;
}
@media screen and (max-width: 767px) {
  .p-ranking-list__price {
    margin-top: 20px;
  }
}
.p-ranking-list__price.is-default {
  margin-top: 0;
}
/******************************/
/* TOP IMAGE */
/******************************/
.p-image {
  text-align: center;
}
@media screen and (max-width: 1030px) {
  .p-image {
    overflow: hidden;
  }
}
.p-image img {
  width: 100%;
}
@media screen and (max-width: 1030px) {
  .p-image__img {
    margin: 0 -150px;
  }
}
/******************************/
/* TOP MEDIA */
/******************************/
.p-media-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
@media screen and (max-width: 767px) {
  .p-media-list {
    margin-left: 30px;
    margin-right: 30px;
  }
}
.p-media-list__item {
  box-sizing: border-box;
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .p-media-list__item {
    padding-left: 8px;
    padding-right: 8px;
    width: 50%;
  }
}
.p-media-list__img {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-media-list__img {
    margin-bottom: 10px;
    text-align: center;
  }
}
.p-media-list__txt {
  text-align: center;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-media-list__txt {
    font-size: 16px;
  }
}
/******************************/
/* TOP SHOP LIST */
/******************************/
.p-shoplist-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: 100px;
  margin-right: 100px;
}
@media screen and (max-width: 767px) {
  .p-shoplist-list {
    margin-left: 15px;
    margin-right: 15px;
  }
}
.p-shoplist-list__item {
  box-sizing: border-box;
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .p-shoplist-list__item {
    margin-bottom: 15px;
    padding-left: 8px;
    padding-right: 8px;
    width: 50%;
    text-align: center;
  }
}
/******************************/
/* TOP GALLERY */
/******************************/
.p-gallery {
  overflow: hidden;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-gallery {
    padding-bottom: 45px;
  }
}
.p-gallery-list {
  margin-left: auto;
  margin-right: auto;
  width: 400px;
}
@media screen and (max-width: 767px) {
  .p-gallery-list {
    width: 70%;
  }
}
.p-gallery-list .slick-list {
  overflow: visible;
}
.p-gallery-list__item {
  margin-left: 10px;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .p-gallery-list__item {
    margin-left: 5px;
    margin-right: 5px;
  }
}
.p-gallery-list__img img {
  width: 100%;
}
/******************************/
/* TOP INFORMATION */
/******************************/
.p-information {
  padding-top: 120px;
  padding-bottom: 60px;
}
@media screen and (max-width: 1030px) {
  .p-information {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.p-information__body {
  margin-left: 60px;
  margin-right: 60px;
  line-height: 2;
  color: #79645e;
}
@media screen and (max-width: 1030px) {
  .p-information__body {
    margin-left: 10px;
    margin-right: 10px;
  }
}
/******************************/
/* TOP FREE */
/******************************/
.p-free {
  padding-top: 60px;
  padding-bottom: 60px;
  color: #79645e;
}
@media screen and (max-width: 767px) {
  .p-free {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.p-free__body {
  margin-left: 60px;
  margin-right: 60px;
  line-height: 2;
}
@media screen and (max-width: 1030px) {
  .p-free__body {
    margin-left: 40px;
    margin-right: 40px;
  }
}



/******************************/
/* Custom */
/******************************/


<!--/* --- ロゴアニメーション用CSS --- */

/* オーバーレイ初期状態 */
#overlay {
  position: fixed; /* 位置を固定 */
  top: 0;
  left: 0;
  width: 100%; /* 画面全体を覆う */
  height: 100%;
  background: #fff; /* 背景色（白） */
  display: flex; /* ロゴを中央揃えにするため */
  align-items: center;
  justify-content: center;
  z-index: 9999; /* 他の要素より手前に表示 */
  opacity: 1; /* 最初は表示されている状態 */
  visibility: visible; /* 最初は表示されている状態 */
  /* 既存の transition や animation 指定があれば削除してください */
}

/* ロゴ画像初期状態 */
#logo-image { /* ロゴ画像のIDを指定 */
  opacity: 0; /* 最初は透明で見えない状態 */
  width: 230px; /* ロゴの幅（元の指定を維持） */
  /* 必要に応じて max-width: 100%; などを追加 */
}

/* ロゴ画像のフェードインアニメーション定義 */
@keyframes logoFadeInAnimation {
  from {
    opacity: 0; /* 開始時：透明 */
    transform: scale(0.95); /* 開始時：少し小さい */
  }
  to   {
    opacity: 1; /* 終了時：不透明 */
    transform: scale(1); /* 終了時：元のサイズ */
  }
}

/* ロゴ画像に適用するクラス（JavaScriptから付与される） */
#logo-image.logo-fade-in {
  animation-name: logoFadeInAnimation; /* 上で定義したアニメーション名 */
  animation-duration: 0.8s; /* アニメーション時間（0.8秒） */
  animation-timing-function: ease-out; /* アニメーションの変化具合（ゆっくり終わる） */
  animation-fill-mode: forwards; /* アニメーション終了後、最後の状態を維持 */
}

/* オーバーレイのフェードアウトアニメーション定義 */
@keyframes overlayFadeOutAnimation {
  from {
    opacity: 1; /* 開始時：不透明 */
    visibility: visible; /* 開始時：表示 */
  }
  to   {
    opacity: 0; /* 終了時：透明 */
    visibility: hidden; /* 終了時：非表示（クリックなどを防ぐ） */
  }
}

/* オーバーレイに適用するクラス（JavaScriptから付与される） */
#overlay.overlay-fade-out {
  animation-name: overlayFadeOutAnimation; /* 上で定義したアニメーション名 */
  animation-duration: 0.6s; /* アニメーション時間（0.6秒） */
  animation-timing-function: ease-in; /* アニメーションの変化具合（ゆっくり始まる） */
  animation-delay: 0.3s; /* アニメーション開始までの待ち時間（0.3秒）ロゴ表示後少し待つ */
  animation-fill-mode: forwards; /* アニメーション終了後、最後の状態を維持 */
}

/* --- ロゴアニメーション用CSS ここまで --- */
-->
.p-top-logo__txt {
  color: white;
}

.p-top-logo__img img {
  filter: brightness(35.5);
}

.p-main-visual {
  max-width: initial;
}

.p-main-slider {
  height: initial;
  padding-bottom: initial;
}

.p-main-visual {
  padding-bottom: initial;
  z-index: 1;
}

.p-main-slider-list {
  aspect-ratio: initial;
  height: 90vh;
  z-index: -1;
}

@media screen and (max-width: 1030px) {
  .p-top-logo {
    display: block;
  }
  .p-main-txt {
    position: absolute;
  }
  .p-top-logo__txt {
    font-size: 14px;
  }
  .p-line-informaiton {
    display: none;
  }
}

.p-recommend-bg {
  /* background: linear-gradient(120deg, #faf8fa, #e5d4ef 50%, #e3dcfc); */
  /* background: linear-gradient(120deg, rgba(250, 248, 250, 0.1), rgba(229, 212, 239, 0.1) 50%, rgba(227, 220, 252, 0.1)); */
  background: #ffffffd9;
}

.p-newitem-bg {
  width: 25%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  /* background: linear-gradient(180deg, #faf8fa, #e5d4ef 50%, #e3dcfc); */
  background: #ffffffd9;
}

.p-newitem {
  /* background: #f9f7f5; */
  background: #fcf8f4;
  position: relative;

}

@media screen and (max-width: 767px) {
  .p-recommend-bg {
    width: 75%;
  }
  .p-newitem-bg {
    width: 75%;
  }
}

.p-recommend-list__ttl {
  font-size: 18px;
  font-weight: bold;
}

.p-recommend-list__price {
  margin-top: 10px;
  font-size: 21px;
  /* color: #684c4c; */
  color: #544545;
  /* font-family: serif;
  font-weight: 500; */
  font-family: "游ゴシック", "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "Open Sans", sans-serif;
  font-weight: 600;
}


.u-square-img img {
  width: 100%;
  margin-bottom: 25px;
}

.p-newitem-list__ttl {
  font-size: 18px;
  font-weight: bold;
}

.p-newitem-list__price {
  margin-top: 10px;
  font-size: 21px;
  /* color: #684c4c; */
  color: #544545;
  /* font-family: serif;
  font-weight: 500; */
  font-weight: 600;
}

.p-newitem-list__expl {
  margin-top: 10px;
  font-size: 16px;
  color: #79645e;
}

@media screen and (max-width: 767px) {
  .p-concept-list__body, .p-concept-list__ttl {
    padding-left: 0px;
  }
}

.p-concept {
  /* background-image: url(https://img21.shop-pro.jp/PA01513/282/etc_base64/cHVycGxlX3NwYXJrbGUy.png?cmsp_timestamp=20241207211303);
  background-size: cover;
  filter: brightness(1.1) opacity(1.0); */

  background: #f3efeb;
}

/* .p-concept * {
  color: #ffffff !important;
} */

/* .p-concept h1,
.p-concept h2,
.p-concept h3 {
  color: #ffffff !important;
  text-shadow: 
    1px 1px 10px rgba(255, 255, 255, 0.5),
    -1px 1px 10px rgba(255, 255, 255, 0.5),
    1px -1px 10px rgba(255, 255, 255, 0.5),
    -1px -1px 10px rgba(255, 255, 255, 0.5);
} */


.p-concept-list__img.first {
  /* box-shadow: -10px 10px 25px rgb(219 165 156 / 59%); */
  /* box-shadow: -60px 20px rgb(219 165 156 / 59%); */
}

.p-concept-list__img.second
{
  /* box-shadow: 10px 10px 25px rgb(210, 210, 215 / 59%); */
  /* box-shadow: 60px 20px rgb(130 176 139 / 59%); */
  /* box-shadow: 60px 20px rgb(141 169 146 / 59%);; */
}

.p-pickup {
  background: #f9f7f5;
}

.p-pickup-bg {
  background: linear-gradient(230deg, #efe8de, #e5d4ef 50%, #e3dcfc);
}

.p-pickup-list__btn {
  text-align: center;
}

.p-pickup-list__btn:after {
  content: "";
  background-image: url(https://img21.shop-pro.jp/PA01513/282/etc_base64/b3JuYW1lbnRfNDM1NzY0ODQ.png?cmsp_timestamp=20241207211437);
  width: 70px;
  height: 20px;
  margin: 0 auto;
  background-size: contain;
  display: block;
}

.p-block-01-list__btn {
  text-align: center;
}

.p-block-01-list__btn:after {
  content: "";
  background-image: url(https://img21.shop-pro.jp/PA01513/282/etc_base64/b3JuYW1lbnRfNDM1NzY0ODQ.png?cmsp_timestamp=20241207211437);
  width: 70px;
  height: 20px;
  margin: 0 auto;
  background-size: contain;
  display: block;
}

.p-block-01-list__item.is-02 .p-block-01-list__txt {
  margin-left: 60px;
}

@media screen and (max-width: 767px) {
  .p-block-01-list__item.is-02 .p-block-01-list__txt {
    margin-left: 0px;
  }
}

.p-block-01-list__img {
 ★
   /*box-shadow: -10px 10px 25px rgb(210, 210, 215 / 59%), 10px -10px 25px rgb(0 178 203 / 38%);
  box-shadow: -10px 10px 25px rgb(219 156 206 / 59%);
  box-shadow: -10px 10px 25px rgb(130 176 139 / 59%);*/
  
}

.p-block-01-list__item.is-02 .p-block-01-list__img {
  box-shadow: 20px 20px 0 0 #c5b9df;
  box-shadow: -10px 10px 25px rgb(219 156 182 / 59%), 10px -10px 25px rgb(203 174 0 / 28%);
  box-shadow: -10px 10px 25px rgb(219 156 182 / 59%);
  box-shadow: -10px 10px 25px rgb(219 165 156 / 59%);
}

.p-block-01-list__item.is-03 .p-block-01-list__img {
  box-shadow: 20px 20px 0 0 #dbb9df;
  box-shadow: -10px 10px 25px rgb(219 156 206 / 59%), 10px -10px 25px rgb(0 178 203 / 38%);
  box-shadow: -10px 10px 25px rgba(156, 162, 219, 0.59);
}

@media screen and (max-width: 767px) {
  .p-block-01-list__img {
    /*box-shadow: -5px 5px 15px rgb(219 156 206 / 59%), 5px -5px 15px rgb(0 178 203 / 38%);
    box-shadow: -5px 5px 15px rgb(219 156 206 / 59%);
    box-shadow: -5px 5px 15px rgb(130 176 139 / 59%);*/
  }
  
  .p-block-01-list__item.is-02 .p-block-01-list__img {
    box-shadow: -5px 5px 15px rgb(219 156 182 / 59%), 5px -5px 15px rgb(203 174 0 / 28%);
    box-shadow: -5px 5px 15px rgb(219 156 182 / 59%);
    box-shadow: -5px 5px 15px rgb(219 165 156 / 59%);
  }
  
  .p-block-01-list__item.is-03 .p-block-01-list__img {
    box-shadow: -5px 5px 15px rgb(219 156 206 / 59%), 5px -5px 15px rgb(0 178 203 / 38%);
    box-shadow: -5px 5px 15px rgb(219 156 206 / 59%);
    box-shadow: -5px 5px 15px rgba(156, 162, 219, 0.59);
  }
}

.p-block-01-list__item.is-02 {
  background: #f9f7f5;
}

.p-block-01-list__item.is-03 {
  margin-bottom: 40px;
}

.p-block-01-list__item {
  border-top: none;
}

.c-ttl-main.is-right span {
  /* background: white; */
}

.p-concept .p-concept-list__item:nth-child(2) {
  margin-top: 100px;
}

.p-block-02-bg {
  background: linear-gradient(180deg, #faf8fa, #e5d4ef 50%, #d9d1e9);
}

/* SHOP LIST */
.p-shoplist .p-free__body {
  margin-left: 0px;
  margin-right: 0px;
}

.p-shoplist .p-free__body div {
  margin-top: 30px;
}

.p-shoplist .p-free__body div a {
  margin-top: 30px;
  border: 1px solid;
  padding: 10px 20px;
}

/* INSTAGRAM */
.p-instagram {
  overflow: hidden;
}

.p-instagram .p-information__body {
  display: flex;
  justify-content: center;
  margin: auto 0;
}

.p-instagram .p-media-list__img {
  width: 33%;
}

.p-instagram .p-media-list__img img {
  width: 100%;
}

.p-instagram-sns {
  font-size: 90px;
  display: flex;
  justify-content: center; /* 子要素間を等間隔に配置 */
  align-items: center; /* 垂直方向を中央揃え */
  gap: 60px;
}

@media screen and (max-width: 767px) {
  .p-instagram-sns {
    font-size: 25px;
    gap: 40px;
  }

  .p-instagram-sns i {
    font-size: 33px;
  }
}

/* .instagram-icon:after {
  font-family: 'Font Awesome 6 Free';
  content: "\e055";
  font-weight: 600;
  color: #b35f9b;
}
.line-icon:after {
  font-family: 'Font Awesome 6 Free';
  content: "\f16d";
  font-weight: 600;
  color: #b35f9b;
}
.twitter-icon:after {
  font-family: 'Font Awesome 6 Free';
  content: "\f16d";
  font-weight: 600;
  color: #b35f9b;
}
.facebook-icon:after {
  font-family: 'Font Awesome 6 Free';
  content: "\f16d";
  font-weight: 600;
  color: #b35f9b;
} */


/* COLOMN */
.p-column > p {
  text-align: center;
  margin: 45px 0;
}

.p-column .p-media-list__img > img {
  /* height: 136px; */
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-column .p-media-list {
    margin-left: 0px;
    margin-right: 0px;
  }
}

/* 最近ご覧になった商品 */
.c-favorite-list__img a img {
  margin-bottom: 0px;
 
}

/******************************/
/* End Custom */
/******************************/
/* ----- ファーストビュー スライダー矢印の位置調整 ----- */

.p-main-slider .slick-prev,
.p-main-slider .slick-next {
    top: 50%;  /* ボタンの上端を親要素（スライダーエリア）の真ん中に */
    transform: translateY(-50%); /* ボタン自身の高さの半分だけ上に移動させ、完全に中央揃え */
    bottom: auto; /* 既存のbottom指定を解除 */
    z-index: 10; /* 念のため他の要素より手前に */
}

/* 左矢印 (Previous) の位置 */
.p-main-slider .slick-prev {
    left: 20px;   /* スライダー左端からの距離 (この数値を調整) */
    right: auto;  /* 既存のright指定を解除 */
}

/* 右矢印 (Next) の位置 */
.p-main-slider .slick-next {
    right: 20px;  /* スライダー右端からの距離 (この数値を調整) */
    left: auto;   /* 既存のleft指定を解除 */
}

/* スマートフォン表示での調整 (画面幅が767px以下の場合) */
/* 基本的には上記の設定でPC/スマホ共通で中央になりますが、 */
/* もしスマホで左右の端からの距離を変えたい場合は以下を調整 */
@media screen and (max-width: 767px) {
    .p-main-slider .slick-prev {
        left: 10px; /* スマホでは少し内側にする場合など */
    }
    .p-main-slider .slick-next {
        right: 10px; /* スマホでは少し内側にする場合など */
    }
    /* top や transform は変更不要なことが多い */
}

/* 250514 */
/* カラーミーデフォルトスライド用CSS */
#slider {
  width: 100%;
  height: calc(100dvh - 60px);
  position: relative;
  margin-bottom: 60px;
}
#slider .slick-arrow {
  position: absolute;
  width: 50px;
  height: 50px;
  top: calc(50dvh - 25px);
  display: flex;
  border-radius: 25px;
  background-color: #b394bd;	/* 矢印ボタン背景 */
  z-index: 2;
}
#slider .slick-arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border: solid 2px #fff;	/* 矢印ボタン線 */
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
#slider .slick-prev {
  left: 2.5%;
}
#slider .slick-prev::before {
  transform: rotate(-135deg);
  right: 17px;
}
#slider .slick-next {
  right: 2.5%;
}
#slider .slick-next::before {
  transform: rotate(45deg) translateX(-3px);
  left: 18px;
}
#slider .slick-list {
  height: 100%;
}
#slider .slick-track {
  height: 100%;
}
#slider div:not(.slick-list,.slick-track) {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#slider div:not(.slick-list,.slick-track) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 9s ease-in-out 0s; /* スライドズーム時間　8sを書き換え */
  opacity: 0;
}
#slider div:not(.slick-list,.slick-track) a {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  padding: 20px 60px 20px 20px;
  width: 100vw;
  max-width: 430px;
  min-height: 120px;
  background-color: rgba(245, 240, 240, 0.5);	/* CTA背景 */
  text-decoration: none;
  transition: all .6s ease .5s;
  opacity: 0;
}
#slider div:not(.slick-list,.slick-track) a::before {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  background-color: rgba(179, 148, 189, 0.5);	/* CTA分割線 */
  top: 0;
  bottom: 0;
  right: 40px;
}
#slider div:not(.slick-list,.slick-track) a::after {
  content: "";
  width: 8px;
  height: 8px;
  border: solid 4px #a37ba8;	/* CTA矢印線 */
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg) translateX(-3px);
  right: 16px;
}
#slider div:not(.slick-list,.slick-track) a h2 {
  font-size: 1.2rem;
  margin: 0 0 0.5em;
}
#slider div:not(.slick-list,.slick-track) a p {
  font-size: 0.8rem;
  margin: 0;
}
#slider div:not(.slick-list,.slick-track) a:hover {
  text-decoration: none;
  opacity: .75;
}
#slider div:not(.slick-list,.slick-track).slick-active img {
  transform: scale(1.17); /* スライドズーム量 */
  opacity: 1;
}
#slider div:not(.slick-list,.slick-track).slick-active a {
  opacity: 1;
}
#slider .slick-dots {
  width: 100%;
  max-width: 300px;
  display: flex;
  gap: 10px;
  margin: auto;
  bottom: -34px;
  left: 0;
  right: 0;
  justify-content: center;
  line-height: 0;
}
#slider .slick-dots li {
  flex-basis: 50px;
  height: auto;
  margin: 0;
}
#slider .slick-dots li button {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  cursor: pointer;
  margin: 0;
  padding: 0;
  background-color: #fff;	/* ピル背景 */
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);	/* ピル枠影 */
}
#slider .slick-dots li.slick-active button {
  box-shadow: none;
  background-color: #b394bd;	/* ピルアクティブ背景 */
}
