@charset "UTF-8";

/* TBEAUT style css
======================================================================================== */

/* System
======================================================================================== */
/* 店舗イベント
============================================ */
.l-block[data-value="MOD_JP_00102"] {
  padding-top: 30px;
}

@media screen and (min-width: 769px) {
  .l-block[data-value="MOD_JP_00102"] .c-title__global {
    text-align: center;
    border-bottom: none;
  }
}

/* カテゴリ
============================================ */
@media screen and (min-width: 769px) {
  .c-categoryBtnbox__body {
    padding: 14px 18px;
  }

  .c-categoryBtnbox__name {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .c-categoryBtnbox {
    border-top: 1px solid #b5b5b5;
  }

  .l-btncolumn__lists>.l-btncolumn__item.c-categoryBtnbox__item[data-column~="md:1"]:nth-child(n + 2) {
    margin-top: 0;
  }
}

/* nav
============================================ */
/* 1 col */
.c-nav__item[data-column] {
  margin-top: 24px;
  margin-left: 24px;
}

.c-nav__item[data-column^="1"] {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c-nav__item[data-column] {
    margin-top: 10px;
    margin-left: 10px;
  }
}

/* right */
.c-nav__linkwrap[data-arrow="right"] {
  padding-right: 10px;
}

.c-nav__linkwrap[data-arrow="right"]>span {
  position: relative;
  padding-right: calc((12px * 1.414) / 2 + 12px);
}

.c-nav__linkwrap[data-arrow="right"]>span::after {
  transform: translateY(-50%) rotate(45deg);
  right: 0;
}

.c-nav__linkwrap[data-arrow="right"]>span span::after {
  content: unset;
}

/* Utility
========================================================================================
======================================================================================== */
/* Font Color
============================================ */
.mc-fc__main {
  color: #711A1B !important;
}

.mc-fc__sub {
  color: #957758 !important;
}

/* .mc-fc__base {
  color: #EFE7F4 !important;
} */

.mc-fc__black {
  color: #313131 !important;
}

.mc-fc__white {
  color: #fff !important;
}

.mc-fc__gray {
  color: #6e6e6e !important;
}

.c-nav.mc-fc__main.c-nav__linkwrap>span::after,
.c-nav__linkwrap.mc-fc__main>span::after {
  border-color: #8D6FB3;
}

.c-nav.mc-fc__black.c-nav__linkwrap>span::after,
.c-nav__linkwrap.mc-fc__black>span::after {
  border-color: #313131;
}

.c-nav.mc-fc__white.c-nav__linkwrap>span::after,
.c-nav__linkwrap.mc-fc__white>span::after {
  border-color: #fff;
}

/* Background color
============================================ */
.mc-bgc__main {
  background-color: #711A1B !important;
}

.mc-bgc__sub {
  background-color: #957758 !important;
}

.mc-bgc__base {
  background: linear-gradient(90deg, #C6AE97, #D0B8A1, #E7DAC4, #D0B8A1, #C6AE97) !important;
}

.mc-bgc__black {
  background-color: #313131 !important;
}

.mc-bgc__white {
  background-color: #fff !important;
}

.mc-bgc__gray {
  background-color: #d5d5d5 !important;
}

.mc-bgc__none {
  background-color: transparent !important;
}

.l-block.u-bgc__base,
.l-block.u-bgc__lightgreen {
  background: linear-gradient(90deg, #C6AE97, #D0B8A1, #E7DAC4, #D0B8A1, #C6AE97) !important;
}

.l-block[data-value="MOD_JP_00080"] [class*="__arrow"]:not(:root),
.l-block[data-value="MOD_JP_00016"] [class*="__arrow"]:not(:root){
  background-color:#D0B8A1;
}

/* accordion */
.c-accordion__title * {
  cursor: pointer;
}

.c-accordion__title[class*="mc-fc__main"]>.c-accordion__icon::before,
.c-accordion__title[class*="mc-fc__main"]>.c-accordion__icon::after {
  background-color: #711A1B !important;
}

.c-accordion__title[class*="mc-fc__sub"]>.c-accordion__icon::before,
.c-accordion__title[class*="mc-fc__sub"]>.c-accordion__icon::after {
  background-color: #957758 !important;
}

.c-accordion__title[class*="mc-fc__white"]>.c-accordion__icon::before,
.c-accordion__title[class*="mc-fc__white"]>.c-accordion__icon::after {
  background-color: #fff !important;
}

.c-accordion__title[class*="mc-fc__gray"]>.c-accordion__icon::before,
.c-accordion__title[class*="mc-fc__gray"]>.c-accordion__icon::after {
  background-color: #d5d5d5 !important;
}

.l-block:not(.mc-bgc__base)+.l-block.mc-bgc__base,
.l-block.mc-bgc__base+.l-block:not(.mc-bgc__base),
.p-productwrap__block.-large>.l-block:not(.mc-bgc__base)+.l-block.mc-bgc__base,
.p-productwrap__block.-large>.l-block.mc-bgc__base+.l-block:not(.mc-bgc__base) {
  padding-top: 30px;
}

.l-block.u-bgc__base+.l-block.mc-bgc__base,
.l-block.mc-bgc__base+.l-block.u-bgc__base,
.l-block.u-bgc__lightgreen+.l-block.mc-bgc__base,
.l-block.mc-bgc__base+.l-block.u-bgc__lightgreen {
  padding-top: 0;
}

/* Utility (Original)
======================================================================================== */
/* icon text
============================================ */
.p-icontext {
  position: relative;
  display: inline-block;
  font-size: inherit;
  line-height: inherit;
}

.p-icontext__icon {
  position: absolute;
  top: 0.3em;
  left: 0;
  display: block;
  width: auto;
  max-width: 1em;
  height: 1em;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7481%) hue-rotate(36deg) brightness(88%) contrast(119%);
}

.p-icontext__icon.-bigger {
  top: 0;
  max-width: 1.6em;
  height: 1.6em;
  line-height: 1;
}

.p-icontext__icon.-center,
.p-icontext__icon.-bigger.-center {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-icontext__text {
  display: block;
  padding-left: 1.5em;
  line-height: 1.6;
}

.p-icontext__icon.-bigger+.p-icontext__text {
  padding-left: 2.1em;
}

/* Parts
========================================================================================
======================================================================================== */

/* Button
============================================ */
.mc-designbtn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  max-width: 470px;
  padding: 25px 16px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  color: #FFFFFF;
  background-color: #711A1B;
  border: 2px solid #711A1B;
  border-radius: 6px;
  -webkit-transition: 0.175s;
  transition: 0.175s;
}

.mc-designbtn>span {
  max-width: 100%;
  /* ((12px + 2px) * 1.4142) / 2 */
  padding: 0 9.8994px;
}

.mc-designbtn::after {
  position: absolute;
  top: 50%;
  /* right: calc(16px + 2px); */
  right: 18px;
  display: block;
  width: 12px;
  height: 12px;
  content: "";
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.mc-designbtn.-sub {
  color: #fff;
  background-color: #957758;
  border-color: #957758;
}

.mc-designbtn.-sub::after {
  border-color: #fff;
}

.mc-designbtn.-gray {
  color: #fff;
  background-color: #d5d5d5;
  border-color: #d5d5d5;
}

.mc-designbtn.-gray::after {
  border-color: #fff;
}

.mc-designbtn.-black {
  color: #fff;
  background-color: #4a515c;
  border-color: #4a515c;
}

.mc-designbtn.-black::after {
  border-color: #fff;
}

.mc-designbtn.-reverse {
  color: #313131;
  background-color: #fff;
}

.mc-designbtn.-reverse::after {
  border-color: #313131;
}

.mc-designbtn.-small {
  padding: 14px;
  font-size: 16px;
}

.mc-designbtn.-small::after {
  /* right: calc(14px + 2px); */
  right: 16px;
}

.mc-designbtn.-noArrow>span {
  padding: 0;
}

.mc-designbtn.-noArrow::after {
  display: none;
}

@media screen and (max-width: 768px) {
  .mc-designbtn {
    padding: 14px;
    font-size: 16px;
  }

  .mc-designbtn::after {
    /* right: calc(16px + 2px); */
    right: 16px;
  }
}

/* Parts (Original)
======================================================================================== */

/* MV slider
============================================ */
.-mvsliderWrap {
  display: block;
  width: 100%;
}

.p-mvslider:not(.is-load) {
  visibility: hidden;
  opacity: 0;
}

.p-mvslider {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  list-style: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.p-mvslider__wrap {
  position: relative;
  z-index: 1;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.p-mvslider__item {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: fit-content;
  background-color: #fff;
  border: solid 4px #957758;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.p-mvslider__itemBody {
  position: relative;
  overflow: hidden;
}

.p-mvslider__itemBody>img {
  max-width: 100%;
  width: 100%;
}

.p-mvslider__pagination,
.p-mvslider__sliderPagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  /* margin-top: 20px; */
}

.p-mvslider .swiper-pagination-bullets {
  bottom: 0;
  left: 0;
  -webkit-transform: none;
  transform: none;
}

.p-mvslider .swiper-pagination-bullet {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0 8px;
  cursor: pointer;
  background-color: transparent;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-mvslider .swiper-pagination-bullet span {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #957758;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

.p-mvslider .swiper-pagination-bullet svg {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.p-mvslider .swiper-pagination-bullet circle {
  fill: #fff;
  stroke: #957758;
  stroke-dasharray: 125.664px;
  stroke-dashoffset: 125.664px;
  stroke-linecap: round;
  stroke-width: 2;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.p-mvslider .swiper-pagination-bullet-active span {
  color: #fff;
}

.p-mvslider .swiper-pagination-bullet-active circle {
  fill: #957758;
  stroke: #fff;
  -webkit-animation: progress 5s;
  animation: progress 5s;
}

@keyframes progress {
  0% {
    stroke-dashoffset: 125.664px;
  }

  100% {
    stroke-dashoffset: 0;
  }
}

@media screen and (min-width: 769px) {
  .p-mvslider__item img:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 768px) {
  .l-block .-mvsliderWrap {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}


/*mvslider-pause*/
.swiper-pagination-bullet:nth-of-type(1){
  margin-left: 0;
}
.p-mvslider .swiper-pagination-bullet-active.is-pause circle {
  animation-play-state: paused;
}
.p-mvslider .swiper-pagination-bullet-active.is-animation circle {
  stroke: #fff;
  animation: re-progress 5s;
  stroke-dashoffset: 125.664px;
}
@keyframes re-progress {
  0% {
    stroke-dashoffset: 125.664px;
  }

  100% {
    stroke-dashoffset: 0;
  }
}

.p-mvslider__sliderBottom{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-mvslider__sliderBottom {
    margin-top: 15px;
  }
}
.p-mvslider__swiperBtn{
  cursor: pointer;
  display: block;
  position:relative;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  border-radius: 50%;
  background-color: #957758;
  border: 2px solid #fff;
  border-radius: 50%;
}
.p-mvslider__swiperBtn img{
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
/*end*/



/* brand slider
============================================ */
.p-brandSwiper .-pagination {
  text-align: center;
  display: block;
  width: 100%;
  margin-top: 20px;
}

.p-brandSwiper .-pagination>.swiper-pagination-bullet {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  transition: background-color 300ms;
}

.l-block:not([class*="-bgc__"]) .p-brandSwiper .-pagination>.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  border: 1px solid #dedede;
}

.p-brandSwiper .-pagination>.swiper-pagination-bullet+.swiper-pagination-bullet {
  margin-left: 10px;
}

.p-brandSwiper .-pagination>.swiper-pagination-bullet-active {
  background-color: #313131;
}

.p-brandSwiper .swiper-button-disabled {
  opacity: 0.5;
}

.p-brandSwiper .swiper-button-disabled,
.p-brandSwiper .swiper-button-disabled>.c-icon,
.p-brandSwiper .swiper-button-disabled>.c-icon img,
.p-brandSwiper .swiper-button-disabled:hover {
  cursor: auto;
}

.l-block[class*="-bgc__"] .c-productslider__arrow--next,
.l-block[class*="-bgc__"] .c-productslider__arrow--prev {
  background-color: transparent;
}

/* catalog
============================================ */
.p-catalog {
  display: block;
  width: 100%;
}

.p-catalog__cont {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px 0;
}

/* Myroomとは？ 
===========================================*/
.p-whatMyroom {
  position: relative;
  z-index: 0;
  padding: 0 30px;
  border-top: 10px solid #957758;
  border-bottom: 10px solid #957758;
}

.p-whatMyroom::after,
.p-whatMyroom::before {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  width: 100%;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
}

.p-whatMyroom::after {
  left: 0;
  background-image: url("/include/beauty/special/cosmefes/image/myroom_what_pc_left.png");
  background-position: center right;
}

.p-whatMyroom::before {
  right: 0;
  background-image: url("/include/beauty/special/cosmefes/image/myroom_what_pc_right.png");
  background-position: center left;
}

.p-whatMyroom__inner {
  position: relative;
  z-index: 5;
  width: 45%;
  max-width: 980px;
  min-width: 450px;
  margin: 0 auto;
  background-color: #fff;
}

.p-whatMyroom__title {
  padding: 30px 0 25px;
}

.p-whatMyroom__img {
  margin-bottom: 40px;
  text-align: center;
}

.p-whatMyroom__img img {
  display: inline-block;
}

.p-whatMyroom__cont {
  position: relative;
  padding-bottom: 60px;
}
.p-whatMyroom__copy{
  font-size: 18px;
  color: #D3732B;
  text-align: center;
  font-weight: bold;
  position: relative;
  width: fit-content;
  margin: 15px auto;
}
.p-whatMyroom__copy::before {
  content: "";
  border: 1px solid #D3732B;
  display: block;
  transform: rotate(45deg);
  width: 18px;
  position: absolute;
  bottom: 8px;
  left: -15px;
}

.p-whatMyroom__copy::after {
  content: "";
  border: 1px solid #D3732B;
  display: block;
  transform: rotate(135deg);
  width: 18px;
  position: absolute;
  bottom: 8px;
  right: -15px;
}
.p-whatMyroom__enter {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
}

.p-whatMyroom__enter > div {
  width: auto;
}

.p-whatMyroom__btn {
  position: relative;
  z-index: 1;
  max-width: 330px;
  padding: 20px 30px;
  margin: 0 auto;
  font-size: 28px;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
  background-color: #D3732B;
  border-radius: calc(20px + 0.5em);
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.p-whatMyroom__btn > span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  .p-whatMyroom__btn:hover {
    opacity: 0.6;
  }
}

@media screen and (max-width: 768px) {
  .p-whatMyroom {
    padding: 0 10px;
  }
  .p-whatMyroom::after,
  .p-whatMyroom::before {
    display: none;
  }
  .p-whatMyroom__title {
    padding: 15px 0;
  }
  .p-whatMyroom__img {
    max-width: 270px;
    padding: 10px;
    margin: 0 auto;
    margin-bottom: 15px;
  }
  .p-whatMyroom__inner{
    width: 100%;
    min-width: 100%;
  }
  .p-whatMyroom__cont {
    margin-bottom: 0;
    padding-bottom:30px;
  }
  .p-whatMyroom__btn {
    max-width: 330px;
    padding: 10px 30px;
    font-size: 18px;
  }
}
/* ログイン判定 */
.js-myroomBtn:not(.-on) {
  display: none;
} 