@charset "UTF-8";
/*---------------------------------------------------------------
　　　common
---------------------------------------------------------------*/
html {
  font-size: 62.5%; }

img {
  width: 100%; }

a {
  text-decoration: none; }

body {
  font-size: 1.6rem;
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif; }

.forPC {
  display: block; }
  @media all and (max-width: 640px) {
    .forPC {
      display: none; } }

#contents {
  position: relative;
  z-index: 10;
  width: 100%;
  margin: 0 auto; }

.inner {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  position: relative;

}

img {
  width: 100%;
  vertical-align: top; }

.annotation {
	text-align: right;
	padding: 0 20px 50px 0;
}
@media only screen and (max-width: 640px){
	.annotation {
		font-size: 0.8rem;
		text-align: right;
		padding: 0 10px 20px 0;
	}
}

.shop_info {
  width: 100%;
  max-width: 750px;
  margin: 0 auto; }
  @media all and (max-width: 640px) {
    .shop_info {
      margin-top: 0; } }
.shop_ttl {
	margin: 0 30px;
	padding: 12% 14% 5%;
}
.fv {
  margin: auto;
}
  .fv .btn {
    position: absolute;
    left: 0;
    width: calc(650 / 750 * 100%);
    z-index: 100;
    margin: calc(1010 / 750 * 100%) 0 0 calc(50 / 750 * 100%);
	animation: pulse 2s infinite; }
    .fv .btn a {
      display: block;
      transform: scale(1, 1);
      transition: all 0.3s; }
      .fv .btn a:hover {
        transform: scale(1.1, 1.1); }
.cta {
  margin: auto;
}
.cta .btn02 {
    position: absolute;
    left: 0;
    width: calc(650 / 750 * 100%);
    z-index: 100;
    margin: calc(720 / 750 * 100%) 0 0 calc(50 / 750 * 100%);
	animation: pulse 2s infinite; }
    .cta .btn02 a {
      display: block;
      transform: scale(1, 1);
      transition: all 0.3s; }
      .cta .btn02 a:hover {
        transform: scale(1.1, 1.1); }


.relative {
	position: relative;
}
.oubo_btn {
	position: absolute;
	bottom: 2%;
	left: 3%;
	animation: pulse 2s infinite;
}


.small {
  font-size: 12px;
  color: #666;
  margin: 0;
  padding: 0;
  text-align: center; }

ul {
  list-style: none; }

.fix_btn {
	z-index: 9999;
	position: fixed;
	bottom: 0;
	width: 100%;
}
.fix_inner {
	margin: 0 auto;
	max-width: 750px;
}
/* motion */
.tg_cmn {
  transform: scale(0.6, 0.6);
  opacity: 0; }
  .tg_cmn.active {
    transform: scale(1, 1);
    opacity: 1;
    -webkit-transition: transform 0.6s cubic-bezier(0.25, 0.25, 0, 2), opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
    -moz-transition: transform 0.6s cubic-bezier(0.25, 0.25, 0, 2), opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
    -o-transition: transform 0.6s cubic-bezier(0.25, 0.25, 0, 2), opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
    transition: transform 0.6s cubic-bezier(0.25, 0.25, 0, 2), opacity 0.3s cubic-bezier(0.5, 0, 0, 1); }

.cta02.tg_cmn.active {
  transition-delay: .2s; }

.store-block {
  text-align: left;
  margin: 0 15px 0; }
  .store-block:nth-of-type(n + 2) {
    margin-top: 10px; }
  .store-block h3 {
    margin: 0;
    padding: 15px 0;
    font-size: 3rem;
    border: #444 1px solid; }

p.caption {
  margin: 0;
  padding: 0 15px;
  text-align: center;
  font-size: 12px;
  color: #666;
  line-height: 1.6; }
  @media all and (max-width: 640px) {
    p.caption {
      font-size: 10px;
      text-align: left; } }


/* カルーセル */
.slick-next {
	right: 10px;
}
.slick-prev {
	left: 10px;
	z-index: 1;
}
.slick-dots {
	bottom: 10px;
}
.carousel {
	position: relative;
}
.single-item {
	position: absolute !important;
	bottom: 2%;
	left: 5%;
	width: 90%;
}

/* 店舗一覧 */
.store-area {
  background: #fff;
  font-size: 1.273em;
  font-style: normal;
  font-weight: 400;
  color: #444;
  text-align: center;
  padding: 0.6em 0;
  cursor: pointer;
  position: relative;
  transition: opacity .2s; }
  @media all and (max-width: 640px) {
	.store-area {
	  font-size: 22px !important; } }
  .store-area:hover {
	opacity: .8; }
  .store-area::after {
	content: "";
	background: url("../img/arrow.png") no-repeat center top/contain;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 58%;
	right: 1em;
	transform: translateY(-50%) rotate(0deg);
	transition: transform .4s; }
	@media all and (max-width: 640px) {
	  .store-area::after {
		width: 24px;
		height: 24px;
		right: 0.5em; } }
  .store-area.js-active::after {
	content: "";
	background: url("../img/arrow.png") no-repeat center top/contain;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%) rotate(90deg);
	transition: transform .4s; }
	@media all and (max-width: 640px) {
	  .store-area.js-active::after {
		width: 19px;
		height: 19px;
		right: 0.8em; } }
.shop_bg {
	background: linear-gradient(0.25turn, #ff91a5 5%, #91caff 95%);
}
.store-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-items: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: stretch;
  align-items: stretch; }
	.store-body:first-of-type {
		margin-top: 5px; }

.store-region {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-flex: auto;
  -ms-flex-positive: auto;
  flex-grow: auto;
  width: 2em;
  max-width: 56px;
  line-height: 1.2;
  background: #444;
  font-size: 1.273em;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  padding: 2em 0 1em;
  color: #fff;
  text-align: center;
  margin-right: 3px; }

	.store-body:nth-of-type(n + 2) {
	  margin-top: 10px; }

.store-box {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  padding: 10px;
  box-sizing: border-box; }

.store-desc {
  background: white;
  line-height: 1.4;
  padding: 1em .9em 1.8em; }

.store-desc:nth-of-type(n + 2) {
  margin-top: 10px; }

.store-block_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2rem;
  font-weight: 700;
  color: #444;
  position: relative;
  padding: 0;
  margin: 0; }

.store-block_tel,
.store-block_tel a,
.store-block_address,
.store-block_route {
  color: #444; }

.store-block_tel {
  font-size: 1.273em;
  font-weight: bold;
  margin: .6em 0 0;
  display: none; }

.store-block_address {
  font-size: 1em;
  font-weight: normal;
  font-style: normal;
  margin: .6em 0 0; }

.store-block_route {
  font-size: .818em;
  border-top: 1px dashed #000;
  margin: 1em 0 0;
  padding: 1em 0 0; }

.store-block_route a {
	color: #f667aa;
	text-decoration: underline;
}

.store-block_link {
  margin-top: 1.2em; }

.store-block_link a {
  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: 80%;
  height: 3em;
  border: 1px solid #444;
  font-weight: bold;
  color: #444;
  margin: 1em auto 0; }

.store-block_link a:hover {
  background-color: #444;
  color: #fff;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); }

.salon_btn {
  display: flex;
  justify-content: center;
  padding: 20px 20px 260px;}
  @media all and (max-width: 640px) {
	.salon_btn {
	  flex-wrap: wrap;
	  padding: 20px 0px 190px;
	} }
  .salon_btn div {
	margin: 0 15px; }
	@media all and (max-width: 640px) {
	  .salon_btn div {
		width: 80%;
		margin: 10px auto; } }
	.salon_btn div a {
	  display: inline-block;
	  border: 1px solid #222;
	  background: white;
	  border-radius: 30px;
	  padding: 15px 30px;
	  color: #222;
	  font-size: 20px;
	  transition: all .3s;
	  text-align: center; }
	  @media all and (max-width: 640px) {
		.salon_btn div a {
		  display: block;
		  font-size: 16px;
		  padding: 15px 15px; } }
	  .salon_btn div a:hover {
		border: 1px solid #444;
		color: #444; }

.under_txt {
  border-top: 1px solid #222;
  padding: 20px 20px 60px; }
  .under_txt p {
    text-align: center; }
    @media all and (max-width: 640px) {
      .under_txt p {
        font-size: 14px; } }

.post {
  width: 90%;
  max-width: 900px;
  margin: 40px auto;
  text-align: center;
  background: white;
  border-radius: 30px;
  padding: 20px;
  box-sizing: border-box;
  position: relative; }
  .post .voice {
    display: block;
    width: 80px;
    position: absolute;
    top: -10px;
    left: -10px; }
    @media all and (max-width: 640px) {
      .post .voice {
        width: 60px; } }
  .post h2.post_title {
    color: black;
    font-size: 40px;
    position: relative;
    margin-bottom: 40px; }
    @media all and (max-width: 640px) {
      .post h2.post_title {
        font-size: 24px; } }
    .post h2.post_title:after {
      content: "";
      display: block;
      width: 80px;
      height: 1px;
      background: #222;
      position: absolute;
      bottom: -20px;
      left: calc(50% - 40px); }
  .post .p_date {
    display: flex;
    justify-content: flex-start;
    width: 500px;
    margin: 0 auto 20px; }
    @media all and (max-width: 640px) {
      .post .p_date {
        width: 100%;
        justify-content: space-between; } }
    .post .p_date span {
      display: inline-block; }
    .post .p_date .illust {
      width: 100px; }
      @media all and (max-width: 640px) {
        .post .p_date .illust {
          width: 80px; } }
    .post .p_date .txt {
      width: 400px; }
      @media all and (max-width: 640px) {
        .post .p_date .txt {
          width: calc(100% - 95px);
          text-align: left; } }
      .post .p_date .txt h2.post_data {
        font-size: 16px;
        font-weight: normal; }
        @media all and (max-width: 640px) {
          .post .p_date .txt h2.post_data {
            margin-top: 5px; } }
      .post .p_date .txt ul {
        display: flex;
        justify-content: center;
        margin: 0 auto 20px;
        padding: 0; }
        @media all and (max-width: 640px) {
          .post .p_date .txt ul {
            justify-content: flex-start;
            margin-left: -5px; } }
        .post .p_date .txt ul li {
          display: block;
          color: white;
          border-radius: 40px;
          padding: 2px 20px;
          margin: 0 10px;
          font-size: 16px; }
          @media all and (max-width: 640px) {
            .post .p_date .txt ul li {
              font-size: 14px;
              margin: 0 5px; } }

  .post .all_rating {
    background: #f9e7f8;
    padding: 25px;
    margin: 0 0 40px;
    position: relative; }
    .post .all_rating:before, .post .all_rating:after {
      content: "";
      display: block;
      width: 22px;
      height: 41px;
      position: absolute;
      left: 2%;
      top: -10px; }
    .post .all_rating:after {
      left: auto;
      right: 2%; }
    .post .all_rating h3.shop_name {
      margin: 0 0 10px;
      padding: 10px;
      font-size: 24px;
      font-weight: normal; }
      @media all and (max-width: 640px) {
        .post .all_rating h3.shop_name {
          font-size: 18px; } }

    .post .all_rating .post_total_rating_01 {
      display: block;
      font-size: 30px;
      margin-bottom: 1px;
      background: white;
      padding: 20px 10px;
      color: #e34e94;
      font-weight: bold; }
      @media all and (max-width: 640px) {
        .post .all_rating .post_total_rating_01 {
          font-size: 26px; } }
      .post .all_rating .post_total_rating_01 .stars {
        display: inline-block;
        padding-left: 1em;
        color: #fed100; }
        @media all and (max-width: 640px) {
          .post .all_rating .post_total_rating_01 .stars {
            display: block;
            padding-left: 0; } }

    .post .all_rating .post_total_rating_02 {
      display: block;
      font-size: 30px;
      margin-bottom: 1px;
      background: white;
      padding: 20px 10px;
      color: #3179d9;
      font-weight: bold; }
      @media all and (max-width: 640px) {
        .post .all_rating .post_total_rating_02 {
          font-size: 26px; } }
      .post .all_rating .post_total_rating_02 .stars {
        display: inline-block;
        padding-left: 1em;
        color: #fed100; }
        @media all and (max-width: 640px) {
          .post .all_rating .post_total_rating_02 .stars {
            display: block;
            padding-left: 0; } }

    .post .all_rating .post_total_rating_03 {
      display: block;
      font-size: 30px;
      margin-bottom: 1px;
      background: white;
      padding: 20px 10px;
      color: #6f71cc;
      font-weight: bold; }
      @media all and (max-width: 640px) {
        .post .all_rating .post_total_rating_03 {
          font-size: 26px; } }
      .post .all_rating .post_total_rating_03 .stars {
        display: inline-block;
        padding-left: 1em;
        color: #fed100; }
        @media all and (max-width: 640px) {
          .post .all_rating .post_total_rating_03 .stars {
            display: block;
            padding-left: 0; } }

    .post .all_rating .post_total_rating_04 {
      display: block;
      font-size: 30px;
      margin-bottom: 1px;
      background: white;
      padding: 20px 10px;
      color: #f87b47;
      font-weight: bold; }
      @media all and (max-width: 640px) {
        .post .all_rating .post_total_rating_04 {
          font-size: 26px; } }
      .post .all_rating .post_total_rating_04 .stars {
        display: inline-block;
        padding-left: 1em;
        color: #fed100; }
        @media all and (max-width: 640px) {
          .post .all_rating .post_total_rating_04 .stars {
            display: block;
            padding-left: 0; } }

    .post .all_rating .post_total_rating_05 {
      display: block;
      font-size: 30px;
      margin-bottom: 1px;
      background: white;
      padding: 20px 10px;
      color: #29bf96;
      font-weight: bold; }
      @media all and (max-width: 640px) {
        .post .all_rating .post_total_rating_05 {
          font-size: 26px; } }
      .post .all_rating .post_total_rating_05 .stars {
        display: inline-block;
        padding-left: 1em;
        color: #fed100; }
        @media all and (max-width: 640px) {
          .post .all_rating .post_total_rating_05 .stars {
            display: block;
            padding-left: 0; } }

    .post .all_rating ol.each_rating {
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0; }
      @media all and (max-width: 640px) {
        .post .all_rating ol.each_rating {
          flex-wrap: wrap; } }
      .post .all_rating ol.each_rating li {
        width: calc(100%/3);
        background: white; }
        @media all and (max-width: 640px) {
          .post .all_rating ol.each_rating li {
            width: 100%; } }
        .post .all_rating ol.each_rating li:not(:last-child) {
          margin-right: 1px; }

        .post .all_rating ol.each_rating li .about_rating_voice_01 {
          display: block;
          background: #e34e94;
          color: white;
          padding: 5px 20px;
          font-size: 18px; }
          @media all and (max-width: 640px) {
            .post .all_rating ol.each_rating li .about_rating_voice_01 {
              font-size: 14px; } }

        .post .all_rating ol.each_rating li .about_rating_voice_02 {
          display: block;
          background: #3179d9;
          color: white;
          padding: 5px 20px;
          font-size: 18px; }
          @media all and (max-width: 640px) {
            .post .all_rating ol.each_rating li .about_rating_voice_02 {
              font-size: 14px; } }

        .post .all_rating ol.each_rating li .about_rating_voice_03 {
          display: block;
          background: #6f71cc;
          color: white;
          padding: 5px 20px;
          font-size: 18px; }
          @media all and (max-width: 640px) {
            .post .all_rating ol.each_rating li .about_rating_voice_03 {
              font-size: 14px; } }

        .post .all_rating ol.each_rating li .about_rating_voice_04 {
          display: block;
          background: #f87b47;
          color: white;
          padding: 5px 20px;
          font-size: 18px; }
          @media all and (max-width: 640px) {
            .post .all_rating ol.each_rating li .about_rating_voice_04 {
              font-size: 14px; } }

        .post .all_rating ol.each_rating li .about_rating_voice_05 {
          display: block;
          background: #29bf96;
          color: white;
          padding: 5px 20px;
          font-size: 18px; }
          @media all and (max-width: 640px) {
            .post .all_rating ol.each_rating li .about_rating_voice_05 {
              font-size: 14px; } }

        .post .all_rating ol.each_rating li .stars {
          display: block;
          color: #fed100;
          font-size: 24px;
          padding: 10px 0; }
          @media all and (max-width: 640px) {
            .post .all_rating ol.each_rating li .stars {
              font-size: 20px; } }

    .post .all_rating .decisive {
      background: white;
      border-radius: 100px;
      padding: 20px 30px 20px 100px;
      text-align: left;
      margin: 30px 0 0;
      position: relative;
      min-height: 90px;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      width: 100%;
      height: 100%; }
      @media all and (max-width: 640px) {
        .post .all_rating .decisive {
          padding: 35px 15px 15px;
          border-radius: 10px;
          font-size: 16px; } }
      .post .all_rating .decisive:before {
        content: "";
        width: 50px;
        height: 50px;
        padding: 20px;
        background: #e34e94 url(../img/kimete.png) no-repeat center center/contain;
        color: white;
        position: absolute;
        left: 0;
        top: 0;
        border-radius: 100px; }
        @media all and (max-width: 640px) {
          .post .all_rating .decisive:before {
            content: "選んだ決め手";
            width: 200px;
            text-align: center;
            height: auto;
            padding: 5px 0;
            box-sizing: border-box;
			background: #e34e94;
            color: white;
            left: calc(50% - 100px);
            top: -10px; } }

  .post .taikendan {
    display: flex;
    justify-content: space-between; }
    @media all and (max-width: 640px) {
      .post .taikendan {
        flex-wrap: wrap; } }
    .post .taikendan .taiken_photo {
      width: 30%; }
      @media all and (max-width: 640px) {
        .post .taikendan .taiken_photo {
          width: 100%;
          display: flex;
          justify-content: space-between; } }
      .post .taikendan .taiken_photo div {
        width: 100%;
        height: auto;
        margin: 0 0 15px; }
        @media all and (max-width: 640px) {
          .post .taikendan .taiken_photo div {
            width: 48%; } }
    .post .taikendan .taiken_txt {
      width: 65%; }
      @media all and (max-width: 640px) {
        .post .taikendan .taiken_txt {
          width: 100%; } }
      .post .taikendan .taiken_txt p {
        font-size: 16px;
        line-height: 2;
        text-align: left;
        padding: 0 0 30px;
        margin: 0; }
        .post .taikendan .taiken_txt p.attention {
          font-size: 12px; }
        .post .taikendan .taiken_txt p strong {
          color: #e34e94;
          border-bottom: 2px dotted #e0c6be; }
  .post .closeBtn a {
    display: block;
    background: #999;
    color: white;
    width: 250px;
    margin: 40px auto;
    padding: 10px 0;
    border-radius: 50px; }
  .post button.mfp-close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background: #999 !important;
    color: white;
    transition: all .3s; }
    .post button.mfp-close:hover {
      background: #333 !important; }
  .post .btn_reserve,
  .post .salon_lacoco {
    display: block;
    width: 85%;
    margin: 0 auto 10px; }
    .post .btn_reserve a,
    .post .salon_lacoco a {
      display: block;
      color: white;
      border-radius: 50px;
      padding: 10px 0;
      font-size: 22px;
      font-weight: bold; }
      @media all and (max-width: 640px) {
        .post .btn_reserve a,
        .post .salon_lacoco a {
          font-size: 16px; } }
.post .salon_lacoco a {
	background: #e34e94;
    border: 1px solid #e34e94;
}

.modal_reserve_01{
      background: #e34e94;
      border: 1px solid #e34e94;
}
.modal_reserve_02{
      background: #3179d9;
      border: 1px solid #3179d9;
}
.modal_reserve_03{
      background: #6f71cc;
      border: 1px solid #6f71cc;
}
.modal_reserve_04{
      background: #f87b47;
      border: 1px solid #f87b47c;
}
.modal_reserve_05{
      background: #29bf96;
      border: 1px solid #29bf96;
}



  .post .salon_lacoco a {
    background: white;
    border: 1px solid #e34e94;
    color: #e34e94;
    font-size: 16px; }