@charset "UTF-8";

/*-- 【 PC 】----------------------------------------------------*/

/*---------------------------------------
  ページ全体
----------------------------------------*/
.container{
  color: #000;
  padding: 0;
  font-family: "Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","Noto Sans Japanese","ヒラギノ角ゴ Pro W3","メイリオ",sans-serif;
}
.otherPageBox {
  width: 1000px;
  margin: 0 auto;
  padding: 60px 0 50px 0;
  position: relative;
  z-index: 1;
}
.otherPageBox p {
  font-size: 16px;
  line-height: 1.8em;
}
.otherPageBox p.large {
  font-size: 20px;
}
.otherPageBox p.x-large {
  font-size: 26px;
}
.otherPageBox p a {
  text-decoration: underline;
  color: #0101EE;
}
.otherPageBox section {
  margin-bottom: 60px;
}

.mamonaku {
  color: #d6001c;
  font-weight: bold;
}

.owari {
  margin: 30px auto 10px;
}

.owari p{
  font-size: 26px;
  color: #d6001c;
  font-weight: bold;
  line-height: 1.8em;
  text-align: center;
}

/*---------------------------------------
  見出し：タイトル
----------------------------------------*/
.otherPageBox h2 {
  margin: 0 0 20px;
  padding: 0.5rem 0rem;
  font-size: 26px;
  color: #000;
  border-bottom: 1px solid #000;
}
.otherPageBox h3 {
  margin: 50px 0 20px 0;
  padding: 0 0 0 15px;
  font-size: 20px;
  border-left: 6px solid #d6001c;
  font-weight: 700;
}
.otherPageBox h3.blue {
  border-left: 6px solid blue;
}
.otherPageBox h3 span {
  font-size: 22px;
  color: #d6001c;
  font-weight: bold;
}
.otherPageBox h3.blue span {
  color: blue;
}
.otherPageBox h4 {
  margin: 0 0 15px -20px;
  padding: 0 0 0 15px;
  font-size: 18px;
  font-weight: 500;
  border-left: 5px solid #dedede;
}
.otherPageBox h4.ml-0 {
  margin-left: 0;
}
.otherPageBox .subttl {
  font-size: 18px;
  line-height: 1;
  margin-bottom: 12px;
}
.otherPageBox .subttl.border {
  border-bottom: 1px solid #DEDEDE;
  padding-bottom: 12px;
}
/*---------------------------------------
  フォント：テキスト装飾
----------------------------------------*/
/* MV下注釈テキスト */
.mv-txt {
  margin: 10px auto;
  padding-left: -50px;
  width: 1000px;
  font-size: 13px;
  line-height: 1.5em;
  color: #666;	
  text-align: center;
}
.font-s {
  font-size: 60%;
} 
.note-txt {
  font-size: 13px;
}
.font-gray {
  font-size: 18px;
  color: #666;
}
.font-red {
  color: #D6001C;
}
.font-under {
  text-decoration: underline;
}
.font-bold {
  font-weight: bold;
}
.t-indent {
  padding-left: 1.2em;
  text-indent: -1.2em;
}
/*---------------------------------------
  2カラム
----------------------------------------*/
.column-box {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
}
.column-left {
  width: 50%;
  max-width: 500px;
}
.column-right {
  width: 50%;
  max-width: 500px;
}
/*---------------------------------------
  リスト：● 付き 16px
----------------------------------------*/
.list-txt-ul {
  margin: 10px 0;	
  list-style: none;
}
.list-txt-li {
  font-size: 16px;
  display: block;
  position: relative;
  line-height: 1.8em;
  padding-left: 1.0em;
  text-indent: -0.5em;
}
.list-txt-li::before {
  font-size: 0.9em;
  content: "⚫︎"; 
  color: #999;
  margin-right: 0.3em;
  display: inline-block;
  vertical-align: baseline;
}
.list-txt-li sup {
  font-size: 75%;
}

/* リスト部分：リンク */
.list-txt-ul a { 
  text-decoration: underline;
  color: #0101EE;
} 
/*---------------------------------------
  リスト：注釈
----------------------------------------*/
.note-txt-ul {
  margin: 10px 0;	
  list-style: none;
}
.contents .note-txt-li {
  font-size: 13px;
  line-height: 1.8em;
  padding-left: 1em;
  text-indent: -1em;
}
/*---------------------------------------
  リスト：14px
----------------------------------------*/
.list-txt-ul-s {
  margin: 5px 0 5px 20px;	
  list-style: none;
}
.list-txt-li-s {
  font-size: 14px;
  line-height: 1.8em;
  padding-left: 1em;
  text-indent: -1em;
}
/*---------------------------------------
  ボックス
----------------------------------------*/
.step-box {
 padding: 0 0 0 20px;
}
.point-box {
 margin: 20px  0;
 padding: 20px 20px 20px 40px;
 border: solid 1px #dedede;
}
.frame-box {
 margin: 30px 0 0 0;
 padding: 20px;
 border: solid 1px #dedede;
}
.number-box {
 padding-right: 0px;		
}
/*---------------------------------------
  ボタン
----------------------------------------*/
.btn-red {
  font-size: 24px;
  line-height: 100%;
  width: 360px;
  display: block;
  margin: 0 auto;
  padding: 25px 20px;
  background: #d6001c;
  color: #fff !important;
  text-align: center;
  transition: all 0.3s;
  opacity: 1.0;
  font-weight: 600;
  position: relative;
}
.btn-red:hover{
  text-decoration: none;
  transition: all 0.3s;
  opacity: 0.6;
}
.btn-red:after {
  content: '';
  display: inline-block;
  width: 11px;
  height: 16px;
  margin: 0 20px 0 40px;
  background: url(/assets/beauty/refa/refa_clear/refa_shower_cp/2025/img/icon_arrow.png) no-repeat left center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
/*---------------------------------------
  お問い合わせ
----------------------------------------*/
.contact {
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #f2f2f2;
}
.contact-box {
  box-sizing: content-box;
  width: 920px;
  margin: 20px auto 30px auto;
  padding: 20px;
  background-color: #fff;
  text-align: center;
}
.contact-tit {
  font-size: 26px;
  font-weight: 500;
  line-height: 2.0em;
  text-align: center;
}
.contact-subtit {
  font-size: 18px;
  line-height: 1.5em;
  text-align: center;
}
.tel-txt {
  font-size: 38px;
  font-weight: bold;
  margin: 15px 0 15px 20px;
}
.tel-txt::before {
  content: "";
  display: inline-block;
  width: 50px;
  height: 45px;	
  background: url(/assets/beauty/refa/refa_clear/refa_shower_cp/2025/img/icon_tel.png) no-repeat right center;
  background-size: contain;
  vertical-align: middle;
}
.contact-txt-box {
  display:inline-block;
  margin: 10px auto;
  font-size:17px;	
  text-align: left;
}
.tel-link,
.contact-txt-box {
  letter-spacing: 0 !important;
}
@media all and (min-width: 960px) {
  .l-header__inner {
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px;
    width: 960px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    padding-bottom: 20px;
  }
  body[data-header-pos="fixed"] .l-header__inner {
    padding-bottom: 0;
  }
}


/*-- 【 SP 】----------------------------------------------------*/

@media screen and (max-width: 766px) {
/*---------------------------------------
  ページ全体
----------------------------------------*/
.is-pc {
  display: none;
}
.container{
  padding: 0 20px;
}
.otherPageBox {
  width: 100%;
  margin: 0;
  padding: 0;
}
.otherPageBox p {
  /* width: 100%; */
  margin: 0;
  font-size: 15px;
  line-height: 1.6em;
}
.otherPageBox p.x-large {
  font-size: 20px;
}
.otherPageBox section {
  margin-bottom: 30px;
}
.owari {
  margin: 30px auto 10px;
}

.owari p{
  font-size: 20px;
  color: #d6001c;
  font-weight: bold;
  line-height: 1.8em;
  text-align: center;
}

/*---------------------------------------
  見出し：タイトル
----------------------------------------*/
.otherPageBox h2 {
  width: 100%;
  margin: 20px 0 20px 0;
  padding: 0.5rem 0rem;
  font-size: 20px;
}
.otherPageBox h3 {
  margin: 40px 0 20px 0;
  padding: 0 0 0 10px;
  font-size: 16px;
}
.otherPageBox h3 span {
  font-size: 16px;
  /* font-weight: 500; */
}	
.otherPageBox h4 {
  margin: 0 0 10px 0px;
  font-size: 16px;
}
.otherPageBox .subttl {
  font-size: 16px;
  margin-bottom: 12px;
}
/*---------------------------------------
  フォント：テキスト装飾
----------------------------------------*/
/* MV下注釈テキスト */
.mv-txt {
  margin: 10px 0 30px 0;
  padding-left: -10px;
  padding-right: 10px;
  width:100%;
  font-size: 11px;
  text-align: left;
}
/*---------------------------------------
  2カラム
----------------------------------------*/
.column-box {
  width: 100%;
  margin: 0;
  display: block;
}
.column-left {
  width: 100%;
  text-align: left;
  display: block;
}
/*---------------------------------------
  リスト：● 付き 14px
----------------------------------------*/
.list-txt-ul {
  margin: 0 0 10px 0;	
}
.list-txt-li {
  font-size: 15px;
  line-height: 1.6em;
  margin-top: 10px;
}
/*---------------------------------------
  リスト：注釈
----------------------------------------*/
.note-txt-ul {
  margin: 7px 0;
}
.contents .note-txt-li {
  font-size: 12px;
  line-height: 1.6em;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 10px;
}
/*---------------------------------------
  リスト：13px
----------------------------------------*/
.list-txt-li-s {
  font-size: 13px;
  line-height: 1.6em;
  margin-top: 7px;
}
/*---------------------------------------
  ボックス
----------------------------------------*/
.step-box {
 padding: 0;
}
.point-box {
 padding: 20px;
}
.number-box {
 padding-right: 15px;		
}
/*---------------------------------------
  ボタン
----------------------------------------*/
.btn-red {
  font-size: 22px;
  width: 280px;
  margin-top: -20px;
  margin-bottom: 60px;
 }
.btn-red:after {
  content: '';
  display: inline-block;
  width: 11px;
  height: 16px;
  margin: 0 10px 0 20px;
  background: url(/assets/beauty/refa/refa_clear/refa_shower_cp/2025/img/icon_arrow.png) no-repeat left center;
  background-size: 100%;
}
/*---------------------------------------
  お問い合わせ
----------------------------------------*/
.contact-box {
  width: 300px;
  margin: 20px auto;
}
.contact-tit {
  font-size: 24px;
}
.contact-subtit {
  font-size: 16px;
}
.tel-txt {
  font-size: 36px;
  margin: 15px 0 0 0;
}
.contact-txt-box {
  width: 300px;
  font-size: 15px;		
 }
}

/*-- 【 Tab 】----------------------------------------------------*/

@media screen and (min-width: 767px) and (max-width: 1028px) {
.otherPageBox p {
  width: 100%;
  margin: 0;
  font-size: 15px;
  line-height: 1.6em;
}
/*---------------------------------------
  ページ全体
----------------------------------------*/
.container{
  padding: 0;
}
.otherPageBox {
  width: 90%;
  /* padding: 0; */
}
.otherPageBox p {
  width: 100%;
  margin: 0;
  font-size: 15px;
  line-height: 1.6em;
}
.otherPageBox p.x-large {
  font-size: 22px;
}
.otherPageBox section {
  margin-bottom: 30px;
}
/*---------------------------------------
  見出し：タイトル
----------------------------------------*/
.otherPageBox h2 {
  width: 100%;
  margin: 20px 0 20px 0;
  padding: 0.5rem 0rem;
  font-size: 22px;
}
.otherPageBox h3 {
  margin: 40px 0 20px 0;
  padding: 0 0 0 10px;
  font-size: 16px;
}
.otherPageBox h3 span {
  font-size: 16px;
  font-weight: 500;
}	
.otherPageBox h4 {
  margin: 0 0 10px 0px;
  font-size: 16px;
}
/*---------------------------------------
  フォント：テキスト装飾
----------------------------------------*/
/* MV下注釈テキスト */
.mv-txt {
  margin: 10px 30px 30px 30px;
  padding-left: 10px;
  padding-right: 10px;
  width: 90%;
  font-size: 11px;
  text-align: left;
}
/*---------------------------------------
  2カラム
----------------------------------------*/
.column-box {
  width: 96%; 
  margin: 0 auto;
  display: flex;
}
.column-left {
  width: 48%;
}
.column-right {
  width: 48%;
}
/*---------------------------------------
  リスト：● 付き 14px
----------------------------------------*/
.list-txt-ul {
  margin: 0 0 10px 0;	
}
.list-txt-li {
  font-size: 15px;
  line-height: 1.6em;
  margin-top: 10px;
}
/*---------------------------------------
  リスト：注釈
----------------------------------------*/
.note-txt-ul {
  margin: 7px 0;
}
.contents .note-txt-li {
  font-size: 12px;
  line-height: 1.6em;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 10px;
}
/*---------------------------------------
  リスト：14px
----------------------------------------*/
.list-txt-li-s {
  font-size: 14px;
  line-height: 1.6em;
  margin-top: 7px;
}
/*---------------------------------------
  ボックス
----------------------------------------*/
.step-box {
 padding: 0;
}
.point-box {
 padding: 20px;
}
.number-box {
 padding-right: 0px;		
}
/*---------------------------------------
  ボタン
----------------------------------------*/
.btn-red {
  font-size: 22px;
  width: 360px;
  margin-top: 0px;
  margin-bottom: 60px;
 }
/*---------------------------------------
  お問い合わせ
----------------------------------------*/
/* .contact {
  margin-top: 80px;
  margin-bottom: 20px;
} */
.contact-box {
  width: 70%;
  margin: 20px auto;
}
.contact-tit {
  font-size: 24px;
}
.contact-subtit {
  font-size: 16px;
}
.tel-txt {
  font-size: 36px;
  margin: 15px 0 0 0;
}
.contact-txt-box {
  display:inline-block;
  font-size: 15px;		
 }
}	

/* 汎用系 */
.jc-sb {
  justify-content: space-between;
}
.ai-c {
  align-items: center;
}
.mx0 {
  margin-left: auto;
  margin-right: auto;
}
.item-detail-title {
  border-bottom: none;
}
.item-detail-title > img {
  max-width: 1366px;
}
@media screen and (min-width: 767px) {
  .is-sp {
    display: none;
  }
  .pc-w-80 {
    width: 80%;
  }
  .pc-w-70 {
    width: 70%;
  }
  .pc-w-60 {
    width: 60%;
  }
  .pc-w-40 {
    width: 40%;
  }
  .pc-w-30 {
    width: 30%;
  }
  .pc-w-16 {
    width: 16%;
  }
  .pc-w-15 {
    width: 15%;
  }
  .pc-mr-24 {
    margin-right: 24px;
  }
  .pc-ai-fe {
    align-items: flex-end;
  }
  /* .item-detail-title {
    padding-top: 6px;
  } */
}
@media screen and (max-width: 766px) {
  .sp-mx0 {
    margin-left: auto;
    margin-right: auto;
  }
  .sp-w-50 {
    width: 50%;
  }
  .sp-mt20 {
    margin-top: 20px;
  }
  .sp-mt30 {
    margin-top: 30px;
  }
}

/*---------------------------------------
  STEP
----------------------------------------*/
.point-box.step {
  padding: 22px 30px 19px;
}
.p-step {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.p-step.jc-fs {
  justify-content: flex-start;
}
.p-step__item {
  width: 19.8%;
}
.p-step__item .ttl {
  font-size: 14.44px;
  font-weight: 700;
  position: relative;
  background-color: #DDDDDD;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 45.6px;
}
.p-step__item .ttl::before {
  position: absolute;
  content: '';
  display: block;
  background-color: #fff;
  width: 15px;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 1;
}
.p-step__item .ttl::after {
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-left: 16.5px solid #DDDDDD;
  border-top: 22.8px solid transparent;
  border-bottom: 22.8px solid transparent;
  z-index: 3;
}
.p-step__item .main {
  margin: 15px 0 12px;
  font-size: 12.16px;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
}
.p-step__item .notes {
  font-size: 11.4px;
  line-height: 1.6;
  font-weight: 500;
  padding: 0 8px;
}
.otherPageBox img.step-img02 {
  width: 192px;
}
.otherPageBox img.step-img03 {
  display: block;
  margin: 0 auto;
  width: 116px;
}
.otherPageBox img.step-img04 {
  display: block;
  margin: 0 auto;
  width: 92px;
}
.otherPageBox img.step-img05 {
  display: block;
  margin: 0 auto;
  width: 130px;
}
.otherPageBox img.step-img06 {
  display: block;
  margin: 0 auto;
  width: 150px;
}
.otherPageBox img.step-img07 {
  display: block;
  margin: 0 auto;
  width: 192px;
}
@media screen and (max-width: 766px) {
  .point-box.step {
    padding: 16px;
  }
  .p-step {
    flex-direction: column;
    row-gap: 6px;
  }
  .p-step__item {
    width: 100%;
    display: flex;
    align-items: center;
    column-gap: 16px;
  }
  .p-step__item .ttl {
    font-size: 18px;
    width: 97px;
    min-height: 70px;
    flex-shrink: 0;
    height: auto;
    align-self: stretch;
    padding-bottom: 12px;
    box-sizing: border-box;
  }
  .p-step__item .ttl::before {
    width: 100%;
    height: 16px;
    top: auto;
    bottom: -1px;
    right: 0;
    left: 0;
  }
  .p-step__item .ttl::after {
    top: auto;
    bottom: -23px;
    left: 0;
    right: 0;
    border-left: 49px solid transparent;
    border-right: 49px solid transparent;
    border-top: 16px solid #ddd;
  }
  .p-step__item .main {
    margin:0 0 6px;
    font-size: 16px;
    text-align: left;
  }
  .p-step__item .notes {
    font-size: 15px;
    padding: 0;
  }
  .otherPageBox img.step-img02 {
    display: block;
    margin: 0 auto 20px;
    width: 206px;
  }
  .otherPageBox img.step-img03 {
    margin-bottom: 20px;
    width: 83px;
  }
  .otherPageBox img.step-img04 {
    margin-bottom: 20px;
    width: 67px;
  }
  .otherPageBox img.step-img05 {
    margin-bottom: 20px;
    width: 90px;
  }
  .otherPageBox img.step-img06 {
    margin-bottom: 20px;
    width: 150px;
  }
  .otherPageBox img.step-img07 {
    margin-bottom: 20px;
    width: 190px;
  }
}

/* タブその他 */
.ta-c {
  text-align: center;
}
.js-panel {
  display: none;
}
.js-panel.is-active {
  display: block;
}
.p-tab {
  border-bottom: 1px solid #707070;
}
.p-tab__list {
  display: flex;
  justify-content: center;
}
.p-tab__list-item {
  cursor: pointer;
  width: 50%;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  border-radius: 8px 8px 0 0;
  font-size: 15px;
  background-color: #fff;
  border-top: 1px solid #707070;
  border-left: 1px solid #707070;
  border-right: 1px solid #707070;
  color: #000000
}
.p-tab__list-item::after {
  position: absolute;
  content: '';
  display: block;
  width: 9px;
  height: 9px;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
  top: 50%;
  transform: translateY(-40%) rotate(45deg);
  right: 15px;
}
.p-tab__list-item.is-active {
  background-color: #6975A4;
  color: #fff;
}
.p-tab__list-item.is-active::after {
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.product-imgwrap {
  display: flex;
  column-gap: 20px;
}
.product-img {
  display: block;
  text-decoration: none !important;
  text-align: center;
  width: 200px !important;
}
.product-img-txt {
  color: #000 !important;
}
section.products {
  margin-top: 80px;
  padding-bottom: 0 !important;
}
@media screen and (min-width: 767px) {
  .products__list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }
  .products__list__item {
    width: 30%;
  }
  .products__list__item:first-of-type .products__list__copy {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .products__list__copy {
    height: min(5.625vw, 54px);
  }
}
@media screen and (max-width: 766px) {
  .p-tab {
    padding-top: 48px;
  }
  .p-tab__list-item {
    height: 48px;
    font-size: 12px;
    line-height: 1.33333333;
  }
  .p-tab__list-item::after {
    width: 7px;
    height: 7px;
    right: 12px;
  }
  .product-img {
    width: calc( 50% - 10px ) !important;
  }
  section.products {
    margin-top: 40px;
  }
}
.product-card:hover,
.product-card:visited {
  text-decoration: none !important;
}
#pageTopBtn {
  display: block !important;
}
.product-card__image img {
  height: 100% !important;
}