@charset "utf-8";

/* リセット */
body {
  overflow-x: hidden;
  background: #fff !important;
}
ul {
  margin-bottom: 0;
  padding: 0;
  -webkit-padding-start: 0;
  list-style: none;
}
.breadcrumb-wrap {
  margin-bottom: 0;
}

/* エステ特設LP
__________________________________________*/
#esthe-salon {
  background: #fff;
  color: #56504d;
}
#esthe-salon ul {
  margin-bottom: 0;
  padding: 0;
  -webkit-padding-start: 0;
  list-style: none;
}
.w100{
  width: 100%;
}
.section-wrap{
  padding: 2.5em 0;
}
.max-w {
  max-width: 960px;
  margin: 0 auto;
}
.color-w {
  color:#fff;
}
.indent {
  padding-left:1rem;
  text-indent: -1rem;
}

/* kireimo
__________________________________________*/
.section-wrap > div:not(.area-list-wrap) h3, .feature-list_ttl_cont {
  font-size: 3.2rem;
}
.section-wrap > div:not(.area-list-wrap) h3 {
  position: relative;
  margin-bottom: 1.5em !important;
  color: #00a7ea;
}
.section-wrap > div:not(.salon-pick-wrap):not(.area-list-wrap) h3::after {
  display: inline-block;
  position: absolute;
  top: calc(100% + .3em);
  left: calc(50% - .5em);
  width: 1em;
  height: .65em;
  background: url(/images/brand/kireimo/icon_ribbon.png) no-repeat top center/contain;
  content: " ";
}
.section-wrap h4 {
  margin-bottom: .8em !important;
  font-size: 2.8rem;
}
.color01 {
  color: #f092ae;
}
.color02 {
  color: #00a7ea;
}
.fs-big{
  font-size:120%;
}
.fs-bigger{
  font-size:140%;
}
.fs-small {
  font-size: 85%;
}
.align-center {
  align-items: center;
}
.maxw100pc {
  max-width: 100%;
}
.flex1 {
  flex: 1;
}
.sp-left {
  text-align: center;
}
.main-bg {
  border-top: 1px solid #e8e8e8;
}
.info-border {
  margin: auto;
  padding: 1em;
  border: 1px solid #f092ae;
  border-radius: .4em;
}
.reserve_btn_wrap {
  margin-top: 2em;
  padding: 1.5em 0;
  text-align: center;
}
.btn-reserve {
  position: relative;
  max-width: 500px;
  padding: .8em;
  border-bottom: 3px solid #cc5478;
  border-radius: 48px;
  background: #f2648e;
  color:#fff;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1;
}
.btn-reserve::before{
  position: absolute;
  right: 24px;
  width: 24px;
  height: 24px;
  background: url(/images/brand/kireimo/icon_btn-arrow.png) no-repeat center center/contain;
  content: " ";
}
.btn-reserve:hover, .btn-reserve:focus, .btn-reserve:active {
  color: #fff;
  text-decoration: none;
}
.reserve_txt span{
  position: relative;
  padding: 0 2em;
  color: #00a7ea;
  font-weight: bold;
  font-size: 2rem;
}
.reserve_txt span::before, .reserve_txt span::after {
  position: absolute;
  top: 50%;
  width: 25px;
  height: 2px;
  content: '';
}
.reserve_txt span::before {
  left: 0;
  -webkit-transform: rotate(50deg);
  -moz-transform: rotate(50deg);
  -ms-transform: rotate(50deg);
  transform: rotate(50deg);
  background-color: #00a7ea;
}
.reserve_txt span::after {
  right: 0;
  -webkit-transform: rotate(-50deg);
  -moz-transform: rotate(-50deg);
  -ms-transform: rotate(-50deg);
  transform: rotate(-50deg);
  background-color: #00a7ea;
}
.btn-login {
  background: #00a7ea;
}
.btn-login:hover, .btn-login:focus, .btn-login.focus{
  color:#fff;
}
a.disabled{
  opacity: 0.3;
  pointer-events: none;
}
.btn-reserve:hover{
  color: #fff;
}
.reserve_btn_wrap a img:hover, .btn-reserve:hover, a.text-danger:hover{
  opacity: 0.7 !important;
  text-decoration: none;
}
.text-danger{
  color:#a94442 !important;
}
#esthe-salon ul.feature-conts {
  justify-content: space-between;
  margin: 0 0 2.5em 0;
}
.feature-conts li {
  max-width:100%;
  margin: 0 .5em;
  padding: 1em;
  border-radius: .6em;
  background: #00a7ea;
}
.feature-conts li:first-child {
  margin-left: 0;
}
.feature-conts li:last-child {
  margin-right: 0;
}
.feature-conts p {
  color: #fff;
  font-weight: bold;
  font-size: 1.5em;
}
.feature-num {
  width: 52px;
  height: auto;
  margin-bottom: 1em;
}
.feature-list > li{
  padding: 0;
  border: 4px solid #f092ae;
  border-radius: .9em;
}
.feature-list >li:not(:last-child){
  margin-bottom: 2.5em;
}
.feature-list li {
  text-align: left;
}
.feature-list-txt {
  flex-basis: 70%;
  padding: 1.5em;
}
.feature-list-img {
  flex-basis: 35%;
}
.feature-list_ttl {
  display: inline-block;
  position: relative;
  padding: .5em;
  border-radius: .5em;
  background: #00a7ea;
}
.feature-list_ttl::after {
  display: inline-block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  content: " ";
}
.feature-list > li:first-of-type .feature-list_ttl::after {
  top: -3em;
  right: -6.3em;
  width: 7em;
  height: 5.2em;
  background-image: url(/images/brand/kireimo/ttl_feature-list-01-pc.png);
}
.feature-list > li:nth-of-type(2) .feature-list_ttl::after {
  top: -3.6em;
  right: -7em;
  width: 8.3em;
  height: 6em;
  background-image: url(/images/brand/kireimo/ttl_feature-list-02-pc.png);
}
.feature-list > li:nth-of-type(3) .feature-list_ttl::after {
  top: -3.7em;
  right: -7em;
  width: 8.6em;
  height: 6em;
  background-image: url(/images/brand/kireimo/ttl_feature-list-03-pc.png);
}
.feature-list_ttl_cont {
  display: flex;
  align-items: center;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 1px;
}
.feature-list_ttl_cont::before {
  display: inline-block;
  width: 42px;
  height: 42px;
  margin-right: .2em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  content: " ";
}
.feature-list > li:first-of-type .feature-list_ttl .feature-list_ttl_cont::before {
  background-image: url(/images/brand/kireimo/icon_feature-01.png);
}
.feature-list > li:nth-of-type(2) .feature-list_ttl .feature-list_ttl_cont::before {
  background-image: url(/images/brand/kireimo/icon_feature-02.png);
}
.feature-list > li:nth-of-type(3) .feature-list_ttl .feature-list_ttl_cont::before {
  background-image: url(/images/brand/kireimo/icon_feature-03.png);
}
.feature-list_ttl_sub {
  font-size: 2.6rem;
}
.method-desc-wrap {
  max-width: 800px;
  margin: auto;
}
#esthe-salon ul.method-point {
  justify-content: space-between;
  max-width: 600px;
  margin: 2em auto 2.5em auto;
  background: url(/images/brand/kireimo/icon_plus.png) no-repeat center center/40px 40px;
}
.method-point li {
  flex-basis: auto;
  position: relative;
  width: 100%;
  max-width: 220px;
  padding: .5em;
  border-radius: .5em;
  background: #00a7ea;
}
.method-point li p {
  padding: 1em;
  border: 2px dashed #fff;
  border-radius: .5em;
  font-size: 1.8rem;
  line-height: 1.8;
}
.ttl-method-icon {
  width: 56px;
  margin-bottom: 1.2em;
}
.border-method, .border-experience {
  display: inline-block;
  width: 100%;
  height: 8px;
  border: none;
  content: " ";
}
.border-method {
  margin: 2.2em auto;
  background: url(/images/brand/kireimo/border_method.png) no-repeat center center;
}
.border-experience {
  margin: 1em auto;
  background: url(/images/brand/kireimo/border_experience.png) no-repeat center center;
}
.method-desc {
  align-items: center;
  justify-content: center;
}
.text-desc {
  flex-basis: auto;
  z-index: 1;
  padding: 2em;
  border-radius: .5em;
  background: #f092ae;
}
.method-photo {
  z-index: 2;
}
.method-photo img {
  max-width: 100%;
  margin-bottom: 0;
}
.ttl-heart::before, .ttl-heart::after {
  display: inline-block;
  width: 23px;
  height: 23px;
  background: url(/images/brand/kireimo/icon_ttl-heart.png) no-repeat center center/contain;
  content: " ";
}
.ttl-heart::before {
  margin-right: .5em;
}
.ttl-heart::after {
  margin-left: .5em;
}
.coupons_list-wrap {
  justify-content: space-around;
  margin-bottom: 4em;
}
.coupons_list h5 {
  padding-top: .5em;
  font-weight: normal;
  font-size: 2rem;
}
.coupons_list h5, .coupons_list h5 .small {
  color: #f092ae;
}
.sarani {
  position: relative;
  padding-left: calc(56px + 1em);
}
.sarani:before {
  display: block;
  position: absolute;
  right: calc(100% - 5.5em);
  bottom: -14px;
  z-index: 1;
  width: 65px;
  height: 65px;
  background: url('/images/brand/kireimo/icon_coupons-list-more.png') no-repeat;
  background-size: contain;
  content: "";
}
.coupons_list {
  flex-basis: 60%;
}
.combined_benefits_txt {
  position: relative;
  max-width: 720px;
  margin: auto;
  padding: 4em 2em 2em 2em;
  border: 4px solid #00a7ea;
  border-radius: .8em;
  background: #fff;
}
.combined_benefits_txt::before, .combined_benefits_txt::after {
  display: inline-block;
  position: absolute;
  content: " ";
}
.combined_benefits_txt::before {
  top: -4px;
  left: calc(50% - 100px);
  z-index: 2;
  border: 100px solid rgba(0,0,0,0);
  border-top: 58px solid #fff;
}
.combined_benefits_txt::after {
  top: -3px;
  left: calc(50% - 108px);
  z-index: 1;
  border: 108px solid rgba(0,0,0,0);
  border-top: 62px solid #00a7ea;
}
.combined_benefits_txt .text-ofcourse {
  display: inline-block;
  position: absolute;
  top: -.8em;
  left: calc(50% - 2em);
  z-index: 3;
}
.combined_benefits_txt .text-ofcourse, .combined_benefits_txt .text-main {
  font-size: 2.8rem;
}
.combined_benefits_txt .text-sub {
  padding: .5em;
  border-radius: .5em;
  background: #00a7ea;
  font-size: 2rem;
}
.flow-conts_list {
  margin: 1.5em auto 2em auto;
}
.flow-conts {
  position: relative;
}
.flow-conts:not(:last-of-type) {
  margin-bottom: 1.5em;
  background: url(/images/brand/kireimo/bg_flow-cont.png) repeat-y;
  background-position: left 26px bottom;
  background-size: auto;
}
.flow-conts::before {
  display: inline-block;
  position: absolute;
  top: -12px;
  left: 0;
  width: 54px;
  height: 86px;
  content: "";
}
.flow-conts:nth-of-type(1)::before {
  background: url(/images/brand/kireimo/ttl_flow-01.png) no-repeat top center/contain;
}
.flow-conts:nth-of-type(2)::before {
  background: url(/images/brand/kireimo/ttl_flow-02.png) no-repeat top center/contain;
}
.flow-conts:nth-of-type(3)::before {
  background: url(/images/brand/kireimo/ttl_flow-03.png) no-repeat top center/contain;
}
.flow-conts:nth-of-type(4)::before {
  background: url(/images/brand/kireimo/ttl_flow-04.png) no-repeat top center/contain;
}
.flow-conts:nth-last-of-type(2)::after {
  display: inline-block;
  position: absolute;
  bottom: 2px;
  left: 20px;
  transform: rotate(-45deg);
  width: 14px;
  height: 14px;
  border-bottom: 2px solid #00a7ea;
  border-left: 2px solid #00a7ea;
  content: " ";
}
.flow-conts ul {
  padding: 0 0 1em calc(54px + 1em) !important;
}
.flow-conts ul > li {
  text-align: left;
}
.flow-conts_ttl {
  display: inline-block;
  margin-bottom: .5em;
  padding: .5em;
  border-radius: .3em;
  background: #00a7ea;
  color: #fff;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1;
}
.flow-conts_ttl_sub {
  color: #f092ae;
  font-weight: bold;
}
.flow-conts_ttl span{
  margin-right:.3em;
}
.flow-conts p{
  text-align: left;
}
.flow-conts_txt {
  margin-bottom: 0;
}
.flow_desc {
  padding-right: 1em;
}
.flow_img {
  max-width: 280px;
}
.experience-conts {
  max-width: 720px;
  margin: auto;
  padding: 1.5em 1em;
  border: 4px solid #00a7ea;
  border-radius: 1em;
  line-height: 1.6;
}
.experience-conts_ttl {
  position: relative;
  color: #00a7ea;
  font-weight: bold;
  font-size: 2rem;
}
.experience-conts_ttl::before, .experience-conts_ttl::after {
  display: inline-block;
  position: absolute;
  content: " ";
}
.experience-conts_ttl::before {
  top: calc(50% - 28px);
  left: 2em;
  width: 95px;
  height: 57px;
  background: url(/images/brand/kireimo/ttl_experience-hand.png) no-repeat top center/contain;
}
.experience-conts_ttl::after {
  top: calc(50% - 23px);
  right: 4em;
  width: 57px;
  height: 46px;
  background: url(/images/brand/kireimo/ttl_experience-hair.png) no-repeat top center/contain;
}
.accordion_bring {
  margin: 1.5em auto;
  text-align: left;
}
.accordion_bring dt {
  display: flex;
  align-items: center;
  padding: .8em;
  border: 1px solid #f092ae;
  color: #f092ae;
  font-weight: normal;
  text-align: center;
}
.accordion_bring dt:hover, .accordion_bring dt:focus, .accordion_bring dt:active {
  cursor: pointer;
}
.accordion_bring dt span {
  display: inline-block;
}
.accordion_bring dt::after, .accordion_bring dt.active::after {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: auto;
  content: " ";
}
.accordion_bring dt::after {
  background: url(/images/brand/kireimo/icon_accordion-plus.png) no-repeat center center/contain;
}
.accordion_bring dt.active::after {
  background: url(/images/brand/kireimo/icon_accordion-minus.png) no-repeat center center/contain;
}
.accordion_bring dd {
  padding: 1em 1em 0 1em;
}
.bring_list p::before {
  padding-right: .8rem;
  color: #f092ae;
  font-size: 1.2rem;
  content: "●";
}
.bring_list .indent {
  padding-left: 2rem;
  text-indent: -2rem;
}
.bring_info {
  margin-top: 1em;
}
.agreement_danger {
  padding: 1em;
  border: 2px solid #00a7ea;
  border-radius: .4em;
  text-align: center !important;
}
.review-list {
  margin-top: 10px;
}
.review-conts {
  display: flex;
  flex-direction: column;
  padding: 0 .5em;
}
.review-conts-main {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  margin-top: 1em;
  padding: 1em;
  border-radius: .6em;
  background: #f092ae;
  color: #fff;
  font-size: 1.4rem;
}
.txt-review {
  flex: 1 0 auto;
  margin-bottom: 1.5em;
}
.review-people {
  flex-basis: auto;
}

/* FAQ */
.faq_cont {
  padding-bottom: 1em;
}
.question_category {
  display: flex;
  align-items: center;
  padding: .5em .7em;
  border-radius: .4em;
  background: #00a7ea;
  color: #fff;
  font-weight: bold;
  font-size: 2.2rem;
  text-align: left;
}
.question_category::after, .question_category.active::after {
  display: inline-block;
  width: 18px;
  height: 13px;
  margin-left: auto;
  content: " ";
}
.question_category::after {
  background: url(/images/brand/kireimo/icon_accordion-arrow-bottom.png) no-repeat center center/contain;
}
.question_category.active::after {
  background: url(/images/brand/kireimo/icon_accordion-arrow-top.png) no-repeat center center/contain;
}
.question_category:hover, .question_category:focus, .question_category:active {
  cursor: pointer;
}
.answer_cont {
  padding-top: 1em;
}
#faq dl {
  margin-top: .3em;
  margin-bottom: 0;
  text-align: left;
}
#faq dl:last-child {
  margin-bottom: 1.5rem !important;
}
#faq dl dt {
  position: relative;
  padding: .8em 2em .8em 2.2em;
  border-top: 2px dashed #00a7ea;
  border-bottom: 2px dashed #00a7ea;
  background: #fff;
  color: #00a7ea;
  font-weight: bold;
  line-height: 20px;
}
#faq dl dd {
  font-size: 1.4rem;
}
#faq dl dt::before, #faq dl dd .ans::before {
  display: inline-block;
  font-weight: normal;
  font-size: 3.4rem;
  font-family: "Noto Sans KR", "Meiryo UI", メイリオ, Meiryo, sans-serif;
  vertical-align: sub;
}
#faq dl dt::before {
  margin-right: .2em;
  color: #75c9eb;
  content: "Q";
}
#faq dl dd .ans {
  display: flex;
  display: -webkit-flex;
  -webkit-align-items: center;
  align-items: center;
  padding: .8em .8em .8em .5em;
}
#faq dl dd .ans::before {
  -webkit-align-self: flex-start;
  align-self: flex-start;
  margin-right: .3em;
  color: #f092ae;
  content: "A";
}

/* recommend salons */
.salon-pick-wrap, .area-list-wrap {
  background: #fff;
}
.salon-pick-wrap h3{
  font-weight: normal;
  font-size: 3.4rem;
}
.salon-ttl-line {
  width: 100%;
  padding: .5em 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  letter-spacing: 1px;
}
.salon-ttl-line span {
  font-size: 85%;
}
.section-wrap > div.salon-pick-wrap h3 {
  margin-bottom: 0 !important;
}
.salon-pick {
  margin: 1em auto;
  border: 2px solid #00a7ea;
  border-radius: 12px;
  background: #fff;
}
.salon-pick-wrap .flex {
  flex-wrap: wrap;
  position: relative;
}
.salon-pick-wrap .recommend-salon-margin {
  margin: 1em;
}
.salon-info{
  position: relative;
  width: 55%;
}
.salon-name {
  display: block;
  padding-bottom: .3em;
  border-bottom: 1px dashed #f092ae;
  font-size: 2.4rem;
}
.salon-detail{
  margin-bottom: .5em;
}
.salon-detail dl{
  margin-bottom: .5em;
}
.salon-detail dl::before, .shop_info li::before {
  color: #00a7ea;
  font-family: "fontawesome";
}
.salon-detail dl:first-child::before, .shop_info li:nth-child(2)::before{
  margin-right: .3em;
  content: "\f017";
}
.salon-detail dl:nth-child(2)::before, .shop_info li:nth-child(3)::before{
  margin-right: .5em;
  margin-left: .1em;
  content: "\f041";
}
.salon-detail dl:last-child::before, .shop_info li:last-child::before{
  margin-right: .3em;
  content: "\f238";
}
.salon-detail dt, .salon-detail dd{
  display: inline;
}
.salon-image{
  width: 45%;
  padding-right: 1em;
}
.salon_info-btn a.btn{
  flex:1;
  margin-top: 1em;
  margin-bottom: 0;
  padding: .5em;
  background:#f092ae;
}
.salon_info-btn a.btn:first-child{
  margin-right: .3em;
}
.salon_info-btn a.btn:last-child{
  margin-left: .3em;
}
.salon_info-btn a.btn:hover, .salon_info-btn a.btn:focus, .coupons_list a img:hover{
  opacity: 0.7;
  color:#fff !important;
}

/*対象サロン*/
.area_wrap ul a::after{
  background-color: #f092ae;
}
.select_area h3{
  padding: .6em 0;
  background: #00a7ea;
  font-weight: normal;
  line-height: 1;
}
.select_area {
  padding-bottom: 1em !important;
  border: 2px solid #00a7ea;
  background: #fff;
}
.area_wrap dl dd a{
  color:#0080ce;
}
/*サロン一覧モーダル*/
#esthe-salon button.close, #esthe-salon .modal-content .close:hover, #esthe-salon .modal-content .close:focus {
  position: absolute;
  top: 10px;
  right: 15px;
  z-index: 1;
  border-radius: 50%;
  background: #fff;
  opacity: 1;
  color: #bbb;
  font-size: 2.4rem;
  outline: none;
}
.shop_area_wrap {
  overflow-y: auto;
  max-height: 85vh;
  -webkit-overflow-scrolling: touch;
}
.shop_area_wrap .shop_info {
  margin: .5em 0;
  padding: 1em;
  border: solid 1px #ccc;
  border-radius: 5px;
  text-align:left;
}
.shop_info ul{
  margin-bottom: 0;
}
.shop_info li:first-child{
  margin-bottom:.5em;
}

/* max-width:991px
__________________________________________*/
@media (max-width:991px) {
  .max-w { max-width: 720px; }
  .section-wrap > div:not(.area-list-wrap) h3, .feature-list_ttl_cont { font-size: 2.6rem; }
  .feature-list-txt {flex-basis: 65%;padding: 1em;}
  .feature-list-img {flex-basis: 50%;}
  .feature-list_ttl_sub { font-size: 2.2rem; }
  .feature-list_ttl_cont::before { width: 32px; height: 32px; }
  .coupons_list h5 { font-size: 1.8rem; }
  .sarani:before { right: calc(100% - 9vw); }
}

/*ipad用
__________________________________________*/
@media (min-width:768px) and (max-width:1200px) {
}

/* max-width: 767px
__________________________________________*/
@media (max-width: 767px) {
  footer{margin-top: 0;}
  #esthe-salon, .flex li { font-size: 16px; }
  .flex-sp { display: flex; }
  .sp-12{font-size:1.2rem;}
  .sp-left{text-align:left;}
  .smaller{font-size:80%;}
  .fs-small { font-size: 90%; }
  .max-w { max-width: 540px; padding-right:1em; padding-left: 1em; }
  #esthe-salon h2{font-size: 20px;}
  .section-wrap > div:not(.area-list-wrap) h3 { font-size: 1.5em; }
  .salon-pick-wrap h3{font-size: 2.2rem;}
  .section-wrap > div:not(.area-list-wrap) h3, .select_area h3 p { font-size: 1.6em; }
  .section-wrap.other-campaign-wrap > div h3, .section-wrap h4 { font-size: 1.4em; }
  .section-wrap{padding: 2em 0;}
  .reserve_btn_wrap { margin-top: 1em; }
  .btn-reserve{max-width: 420px;padding: 1em .8em;font-size: 1.2em;}
  .btn-reserve::before {width: 20px;height: 20px;}
  .reserve-txt { max-width: 280px; }
  .box-btn-float { position: fixed; bottom: 0; left: 0; z-index: 5; width: 100%; padding: 0; background-color: rgba(230,230,230,.90); }
  .box-btn-float .btn_wrap { padding: .5em 10px; padding-bottom: calc(env(safe-area-inset-bottom) + .5em);}
  .box-btn-float .btn-login, .box-btn-float .btn-reserve{max-width: 400px;width: 100%;margin-left: auto;margin-right: auto;padding: .8em;font-size: 1.4rem;line-height: 1;}
  .box-btn-float .btn-reserve::before {width: 14px;height: 14px;}
  .feature-num { width: 1.8em; margin-bottom: .5em; }
  .feature-list_ttl_cont { font-size: 1.4em; }
  .feature-list_ttl_sub { font-size: 1.2em; }
  .feature-conts li, .feature-conts p { font-size: 1.1em; }
  .feature-conts li { margin: 0 .2em; padding: .5em .3em; }
  .feature-conts li .fs-big { font-size: 110%; }
  .feature-list >li{padding: 1em;}
  .feature-list_ttl { width: 100%; margin-bottom: .5em; }
  .feature-list-txt, .feature-list-img { flex-basis: 100%; }
  .feature-list-txt { padding: 0; }
  .feature-list_ttl_cont::before { width: 1.5em; height: 1.5em; }
  .feature-list > li:first-of-type .feature-list_ttl::after { right: -1.9em; }
  .feature-list > li:nth-of-type(2) .feature-list_ttl::after { right: -1.5em; }
  .feature-list > li:nth-of-type(3) .feature-list_ttl::after { right: -1.7em; }
  .feature-list > li:nth-of-type(2) { display: flex; flex-direction: column-reverse; }
  #esthe-salon ul.method-point { background-size: 15px 15px; }
  .method-point li:first-child { margin-right: 1em; }
  .method-point li:last-child { margin-left: 1em; }
  .method-point li p { padding: .5em; border: 1px dashed #fff; font-size: 1em; }
  .ttl-method-icon { width: 2.5em; margin-bottom: 1em; }
  .border-method { margin: 1.5em auto; }
  .method-photo, .text-desc { margin: auto 0; }
  .text-desc { width: 100%; }
  .method-desc { flex-direction: column; }
  .method-desc:first-of-type {  border-radius: .5em; background: #f092ae; }
  .method-desc:first-of-type, .text-desc { padding: 1em; }
  .method-desc:first-of-type .text-desc { padding: 0; }
  .method-desc:not(:nth-of-type(3)) > div:first-of-type, .method-desc:nth-of-type(odd):not(:first-of-type) { margin-bottom: 1em; }
  .method-desc:nth-of-type(3) .flex-sp { align-items: flex-start; }
  .method-desc:nth-of-type(3) .flex-sp p { flex-basis: 60%; padding-right: 1em; }
  .method-desc:nth-of-type(3) .method-photo { flex-basis: 40%; }
  .coupons_list h5 { font-size: 1.2em; }
  .combined_benefits_txt .text-ofcourse, .combined_benefits_txt .text-main { font-size: 1.2em; }
  .sarani { display: block; width: 100%; max-width: 100%; margin-bottom: .5em; }
  .sarani:before { right: calc(100% - 28vw); }
  .combined_benefits_txt { padding: 2.5em 1em 1em 1em; border-width: 2px; }
  .combined_benefits_txt::before { top: -6px; left: calc(50% - 75px); border: 75px solid rgba(0,0,0,0); border-top: 36px solid #fff; }
  .combined_benefits_txt::after { top: -2px; left: calc(50% - 71px); border: 71px solid rgba(0,0,0,0); border-top: 34px solid #00a7ea; }
  .combined_benefits_txt .text-sub { font-size: 1.1em; }
  .flow-conts:not(:last-of-type) { background-position: 1.45em bottom; }
  .flow-conts:nth-last-of-type(2)::after { left: 17px; }
  .flow-conts ul { flex-direction: column; padding-right: 0 !important; padding-left: 4em !important; }
  .flow-conts::before { width: 3em; height: 5em; }
  .flow-conts_ttl { font-size: 1.2em; }
  .flow-conts_ttl_sub { font-size: 1.1em; }
  .flow-conts_txt { margin-bottom: .5em; }
  .flow_desc { padding-right: 0; }
  .flow_img { max-width: 100%; margin-right: 0; }
  .experience-conts { padding: 1em .8em; border-width: 2px; }
  .experience-conts_ttl { font-size: 1.1em; }
  .experience-conts_ttl::before { top: calc(50% - 4px); left: 0; width: 3.8em; max-width: 62px; height: 2.5em; max-height: 40px; }
  .experience-conts_ttl::after { top: 50%; right: 3vw; width: 2.3em; max-width: 40px; height: 2em; max-height: 30px; }
  .agreement_danger { padding: .5em; font-size: 1em; text-align: left !important; }
  .review-wrap h3 {font-size: 1.8em !important;}
  .review-list { flex-direction: column; }
  .review-people-img { width: 120px; margin-bottom: 0; }
  .review-conts {max-width: 360px;width: 80%;margin-left: auto;margin-bottom: 1em;margin-right: auto;padding: 0;}
  .review-conts-main { font-size: 1.5rem; }
  .txt-review { margin-bottom: .5em; }
  .faq_cont:first-of-type { margin-top: 1em; }
  .question_category { font-size: 1.1em; }
  .question_category::after, .question_category.active::after { width: .8em; height: .8em; }
  .salon-pick-wrap .salon_info-btn{width: 100%;}
  .salon-name{width: 100%;font-size: 1.2em; }
  .salon-name::after{top:-1em;width: 50px; }
  #faq dl dt{text-indent: -.8em;}
  #faq dl dt::before{font-size:1.9em;}
  #faq dl dd .ans::before{font-size:2.2em;}
}

/* max-width: 480px
__________________________________________*/
@media (max-width: 480px) {
  #esthe-salon, .flex li { font-size: 14px; }
  .btn-reserve::before{width: 16px;height: 16px;}
  .reserve_txt span {font-size: 4.8vw;}
  .feature-conts li, .feature-conts p { font-size: 1em; }
  .feature-list > li { border-width: 2px; }
  .feature-list > li:first-of-type .feature-list_ttl::after { width: 6em; max-width: 80px; height: 5em; max-height: 64px; background-image: url(/images/brand/kireimo/ttl_feature-list-01-sp.png); }
  .feature-list > li:nth-of-type(2) .feature-list_ttl::after { width: 7em; max-width: 100px; height: 6em; max-height: 84px; background-image: url(/images/brand/kireimo/ttl_feature-list-02-sp.png); }
  .feature-list > li:nth-of-type(3) .feature-list_ttl::after { width: 7em; max-width: 98px; height: 5.5em; max-height: 77px; background-image: url(/images/brand/kireimo/ttl_feature-list-03-sp.png); }
  .ttl-heart::before, .ttl-heart::after { width: 14px; height: 14px; }
  .ttl-method-heart { width: 42px; }
  .info-border { padding: .8em .5em; font-size: 13px; }
  .sarani { padding-left: 3.3em; }
  .sarani:before { right: calc(100% - 3.3em); bottom: -7px; width: 3.2em; max-width: 54px; height: 2.8em; max-height: 54px; }
  .combined_benefits_txt .text-ofcourse, .combined_benefits_txt .text-main { margin-bottom: .2em; }
  .border-experience { margin: .5em auto; }
  .flow-conts:nth-last-of-type(2)::after { left: 1em; }
  .flow-conts_list { margin: 1em auto; }
  .accordion_bring { margin: 1em auto; }
  .accordion_bring dt { padding: .5em .8em; font-size: 1.1em; }
  .accordion_bring dt::after, .accordion_bring dt.active::after { width: 1em; height: 1em; }
  .accordion_bring dd { padding-right: .5em; padding-left: .5em; font-size: 13px; }
  .review-conts {width:90%;}
  .review-conts-main { font-size: 1.3rem; }
  .faq-wrap { padding-bottom: 1em; }
  #faq dl dt, #faq dl dd { font-size: 1.2rem; }
  #faq dl dt { border-width: 1px; text-indent: -.9em; }
  #faq dl dt::before, #faq dl dd .ans::before { font-size: 2rem; }
  .salon-detail { font-size: 1.2rem; }
}

/* max-width: 320px
__________________________________________*/
@media (max-width: 320px) {
  #esthe-salon, .flex li { font-size: 13px; }
  .btn-reserve{font-size: 16px;}
  .btn-reserve::before{width: 16px;height: 16px;}
  .salon_info-btn a.btn{font-size: 3.9vmin;}
  .feature-conts li, .feature-conts p, .method-point li { font-size: 12px; }
}

/* pc用
__________________________________________*/
@media (min-width: 768px) {
  #esthe-salon, .flex li {font-size: 1.6rem;}
  .main-bg { background: linear-gradient(#f092ae 0% , #f092ae 80% , #00a7ea 80%, #00a7ea 100%); }
  .flex li{ font-size: 100%;}
  .flex-pc { display: flex; }
  .feature-list-txt-main { margin-bottom: 0; }
  .method-desc > div:first-of-type { margin: 0 .5em 0 0; }
  .method-desc > div:last-of-type { margin: 0 0 0 .5em; }
  .text-desc, .method-photo { width: 50%; }
  .method-desc:first-of-type .method-photo { flex-basis: 45%; margin-left: -2em; }
  .method-desc:nth-of-type(1) .text-desc, .method-desc:nth-of-type(3) .text-desc, .method-desc:nth-of-type(2) .method-photo { flex-basis: 60%; }
  .method-desc:nth-of-type(2) .text-desc, .method-desc:nth-of-type(3) .method-photo { flex-basis: 40%; }
  .method-desc:nth-of-type(4), .method-desc:nth-of-type(5) { align-items: stretch; }
  .method-desc:nth-of-type(1) .text-desc { margin-right: 0; padding-right: 3em; }
  .method-desc:nth-of-type(3) { margin-bottom: 2.5em; }
  .method-desc:nth-of-type(5) { justify-content: space-between; }
  .experience-conts_ttl .fs-bigger { font-size: 160%; }
  .review-people-img { width: 160px; }
  .salon-info{margin-top: 3.5em;}
  .salon-name{position: absolute; right: 0; width: 55%; padding-bottom: .2em; line-height: 1;}
  .salon-detail{margin-bottom: 4em;}
  .salon-detail dt{display: inline-block;width: 6em; }
  .salon-pick-wrap .salon_info-btn{position: absolute; right: 0; bottom: 0;width: 55%; }
  .salon-pick-wrap .salon_info-btn a.btn{font-size: 1.8rem;}
  #faq dl dt::before { text-indent: -.9em; }
}