@charset "UTF-8";
/*=====================

	注意！注意！注意！

	開発用のLESSです
　当ファイルをコンパイル
	ターミナル使って
lessc common.less common.css
	>common.cssを読込

=====================*/
/*=====================
	スタイル設定まとめ
=====================*/
/*角丸*/
/*線・パディング込のボックスサイズ*/
.box-border-box {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
/*ゆっくり変わる*/
/*flexbox*/
.disp-flex {
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -o-flexbox;
  display: flexbox;
  display: -webkit-box;
  display: flex;
}
/*明朝文字スタイル*/
.font-mincho {
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*背景cover*/
.bg-cover {
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-position: center;
}
.main-contents {
  width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .main-contents {
    width: 100%;
  }
}
.sub-contents {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .sub-contents {
    width: 100%;
  }
}
.slim-contents {
  width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .slim-contents {
    width: 100%;
  }
}

/*MW WP From設定
/************************************************************/
#p-contact {
  padding-top: 40px;
}

@media (max-width: 640px) {
  #p-contact {
    padding-top: 20px;
  }
}

#p-contact .link-btn {
  max-width: 800px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto 80px;
}

@media (max-width: 640px) {
  #p-contact .link-btn {
    max-width: 100%;
    display: block;
  }
}

#p-contact .link-btn li {
  width: 48%;
  text-align: center;
  color: #fff;
}

@media (max-width: 640px) {
  #p-contact .link-btn li {
    width: 100%;
  }
}

@media (max-width: 640px) {
  #p-contact .link-btn li:last-child {
    margin-top: 10px;
  }
}

#p-contact .link-btn a {
  font-size: 110%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background-color: #db4151;
  position: relative;
  border: 1px solid #db4151;
  border-radius: 5px;
}

@media (max-width: 767px) {
  #p-contact .link-btn a {
    padding: 16px 10px;
  }
}

#p-contact .link-btn li .salon-icon {
  display: inline-block;
  margin-right: 10px;
  background-size: cover;
  background-position: center;
}

#p-contact .link-btn li .salon-icon01 {
  width: 12px;
  height: 15px;
  background-image: url(../img/ico-note-w.png);
}

#p-contact .link-btn li .salon-icon02 {
  width: 15px;
  height: 15px;
  background-image: url(../img/ico-calender-w.png);
}

#p-contact .link-btn a:hover {
  background-color: #fff;
  color: #db4151;
  border: 1px solid #db4151;
  transition: ease 0.4s;
}

#p-contact .link-btn a:hover .salon-icon01 {
  width: 12px;
  height: 15px;
  background-image: url(../img/ico-note-p.png);
  transition: ease 0.4s;
}

#p-contact .link-btn a:hover .salon-icon02 {
  width: 15px;
  height: 15px;
  background-image: url(../img/ico-calender-p.png);
  transition: ease 0.4s;
}

.content-page .contact-note {
  padding: 0 20px;
}
@media (max-width: 767px) {
  .content-page .contact-note {
    padding: 0;
  }
}

.mw_wp_form {
  padding: 32px 20px 40px;
}

@media (max-width: 767px) {
  .mw_wp_form {
    padding: 16px 0;
  }
}

.mw_wp_form p {
  text-align: center;
}

.mw_wp_form .note p {
  font-size: 90%;
  text-align: left;
  padding: 5px 0;
  line-height: 1.8;
}

.mw_wp_form .day input {
  margin: 8px 0 16px;
}

.mw_wp_form dl {
  display: flex;
  padding: 40px 0;
  align-items: center;
  flex-flow: row wrap;
  border-top: 1px solid #969696;
}

@media (max-width: 767px) {
  .mw_wp_form dl {
    padding: 16px 0 24px;
  }
}

.mw_wp_form dt {
  width: 30%;
  font-weight: bold;
  padding: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
  display: flex;
  align-items: center;
  margin-right: 40px;
}

@media (max-width: 767px) {
  .mw_wp_form dt {
    width: 100%;
  }
}

.mw_wp_form dt p {
  margin-left: auto;
}

.mw_wp_form dt .need {
  color: #fff;
  background-color: #db4151;
}

.mw_wp_form dt .free {
  color: #000;
  background-color: #f9f8f6;
}

.mw_wp_form dt strong {
  font-size: 1.4rem;
  font-weight: 400;
  padding: 5px 10px;
  display: inline-block;
  text-align: right;
}

.mw_wp_form dd {
  width: 60%;
  font-size: 100%;
  padding: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .mw_wp_form dd {
    width: 100%;
  }
}

.mw_wp_form input,
.mw_wp_form textarea {
  padding: 7px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 110%;

  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #ddd;
  border-radius: 5px;
}

@media (max-width: 640px) {
  .mw_wp_form .date {
    padding: 15px 10px;
  }
}

.mw_wp_form .check-box {
  display: flex;
  flex-wrap: wrap;
}

.mw_wp_form .check-box .mwform-checkbox-field,
.mw_wp_form .check-box .mwform-radio-field {
  width: 50%;
}

@media (max-width: 767px) {
  .mw_wp_form .check-box input {
    width: 10%;
  }
}

@media (max-width: 640px) {
  .mw_wp_form .check-box input {
    width: 15%;
  }
}

.mw_wp_form .check-box input {
  width: 15%;
  border: 1px solid #191919;
  appearance: checkbox;
  -webkit-appearance: checkbox;
}

#Form dl dd .mwform-radio-field {
  margin: 0;
}

#Form dl dd .mwform-radio-field,
#Form dl dd .mwform-checkbox-field {
  margin: 5px 0;
}

.mw_wp_form input[type="submit"] {
  display: inline-block;
  width: auto;
  background-color: #db4151;
  color: #fff;
  -webkit-border-radius: 26px;
  border-radius: 26px;
  padding: 17px 63px;
  font-size: 130%;
  cursor: pointer;
  -webkit-transition: 0.1s;
  -moz-transition: 0.1s;
  -ms-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;

  appearance: none;
  -webkit-appearance: none;
  position: relative;
}

@media (max-width: 640px) {
  .mw_wp_form input[type="submit"] {
    margin-bottom: 10px;
  }
}

.mw_wp_form input:hover[type="submit"] {
  background-color: #fff;
  color: #db4151;
  border: 1px solid #db4151;
  transition: ease 0.4s;
}

.mw_wp_form .half input {
  width: 50%;
}

.mw_wp_form .zip {
  position: relative;
}

.mw_wp_form .zip input {
  width: 20%;
}

.mw_wp_form .zip span {
  font-size: 80%;
  padding: 0 0.5em;
}

.mw_wp_form .zip .error {
  position: absolute;
  left: 5px;
  bottom: -19px;
  font-size: 93%;
  padding-left: 0;
}

.mw_wp_form .padding-n {
  padding-bottom: 10px;
}

@media (max-width: 640px) {
  .mw_wp_form .padding-n {
    padding-bottom: 0;
  }
}

#Form .text {
  text-align: left;
  line-height: 1.5;
}

@media (max-width: 640px) {
  #Form .text {
    padding-bottom: 22px;
  }
}

#Form .text span {
  font-size: 80%;
  color: red;
  padding-right: 5px;
}

#Form .questionnaire {
  background-color: #fcebed;
  padding: 40px;
  margin-top: 48px;
}

@media (max-width: 640px) {
  #Form .questionnaire {
    margin-top: 10px;
  }
}

#Form .questionnaire .info {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2;
}

@media (max-width: 640px) {
  #Form .questionnaire .info {
    font-size: 1.5rem;
  }
}

#Form .questionnaire dl {
  display: block;
}

#Form .questionnaire dl:first-of-type {
  border-top: 0;
}

#Form .questionnaire dt {
  width: 100%;
}

#Form .questionnaire dd {
  width: 100%;
}

@media screen and (max-width: 767px) {
  #Form .questionnaire {
    padding: 24px 10px 8px;
  }
}

@media (max-width: 640px) {
  #Form .questionnaire .info .br-sm {
    display: block;
  }
}

@media (min-width: 641px) {
  #Form .questionnaire .info .br-sm {
    display: none;
  }
}

#Form .privacy {
  font-size: 1.4rem;
  line-height: 2;
  padding: 32px 0;
  text-align: center;
}

@media (max-width: 640px) {
  #Form .privacy {
    text-align: left;
  }
}

#Form .privacy a {
  text-decoration: underline;
}

@media (min-width: 641px) {
  #Form .privacy .br-pc {
    display: block;
  }
}

@media (max-width: 640px) {
  #Form .privacy .br-pc {
    display: none;
  }
}

#Form .privacy a {
  color: #191919;
}

#Form .privacy .agree {
  margin-top: 10px;
}

#Form .privacy .agree .mwform-checkbox-field input {
  width: 5%;
  border: 1px solid #191919;
  appearance: checkbox;
  -webkit-appearance: checkbox;
}

.mw_wp_form .day p {
  text-align: left;
}

.mw_wp_form .day input {
  display: block;
}

.mw_wp_form .time {
  margin-bottom: 24px;
}

/*サイドバー*/
.l-sidebar .side-category img {
  width: 130px;
}

.l-sidebar .side-category li {
  border-top: 1px solid #191919;
}

.l-sidebar .side-category li:first-child {
  margin-top: 16px;
}

.l-sidebar .side-category li:last-child {
  border-bottom: 1px solid #191919;
}

.l-sidebar .side-category li a {
  color: #191919;
  padding: 24px 0 24px 10px;
  display: block;
  position: relative;
}

.l-sidebar .side-category li a:after {
  content: "";
  background-image: url(../img/more-b.svg);
  width: 6px;
  height: 9px;
  top: 0;
  bottom: 0;
  right: 10px;
  background-size: cover;
  position: absolute;
  margin: auto;
  display: block;
}

.l-sidebar .side-category li a:hover {
  color: #db4151;
  transition: ease 0.4s;
}

.l-sidebar .side-category li a:hover:after {
  background-image: url(../img/more-p.svg);
  transition: ease 0.4s;
}

/*ブログ記事一覧*/
.hc:hover {
  opacity: 0.6;
  transition: ease 0.4s;
}

.btn__link:hover {
  opacity: 0.6;
  transition: ease 0.4s;
}

@media (max-width: 640px) {
  #p-company span {
    display: block;
  }
}

@media (min-width: 641px) {
  #p-company span {
    padding-left: 10px;
  }
}

#p-company dl {
  width: 100%;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #191919;
  line-height: 1.8;
}

#p-company dl:first-child {
  border-top: 1px solid #191919;
}

#p-company dt {
  width: 28%;
  padding: 32px;
}

@media (max-width: 640px) {
  #p-company dt {
    padding: 24px 0;
  }
}

#p-company dd {
  width: 72%;
  padding: 32px;
}

@media (max-width: 640px) {
  #p-company dd {
    padding: 24px;
  }
}

#p-salon .message {
  line-height: 2;
  text-align: center;
}

@media (min-width: 640px) {
  #p-salon .br-sm {
    display: none;
  }
}

@media (max-width: 640px) {
  #p-salon .br-sm {
    display: block;
  }
}

#p-salon .note {
  max-width: 900px;
  margin: 0 auto;
  background-color: #db4151;
  border-radius: 10px;
  padding: 56px 30px;
  text-align: center;
  margin-top: 80px;
}

@media (max-width: 640px) {
  #p-salon .note {
    padding: 40px 20px;
    margin-top: 54px;
  }
}

#p-salon .note h2 {
  font-size: 180%;
  line-height: 2.5;
  margin-bottom: 10px;
  color: #fff;
  display: inline-block;
  position: relative;
}

@media (max-width: 640px) {
  #p-salon .note h2 {
    font-size: 1.8rem;
  }
}

@media (max-width: 320px) {
  #p-salon .note h2 {
    font-size: 1.7rem;
  }
}

#p-salon .note h2:after {
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background-image: url(../img/w-dot.png);
}

#p-salon .note p {
  color: #fff;
  line-height: 2;
  margin-top: 24px;
  margin-bottom: 50px;
}

@media (max-width: 640px) {
  #p-salon .note p {
    text-align: left;
    margin-top: 12px;
    margin-bottom: 40px;
  }
}

#p-salon .note .link-btn a {
  display: inline-block;
  background-color: #fff;
  color: #db4151;
  font-size: 120%;
  padding: 22px 0;
  text-align: center;
  width: 290px;
  position: relative;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-weight: bold;
  position: relative;
  border: 1px solid #db4151;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  transition: ease 0.4s;
}

#p-salon .note .link-btn a:before {
  display: block;
  position: absolute;
  content: "";
  background-color: #df5463;
  width: 90%;
  height: 15px;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  bottom: -16px;
  left: 0;
  right: 0;
  margin: auto;
}

#p-salon .note .link-btn a:hover {
  background-color: #db4151;
  border: 1px solid #fff;
  color: #fff;
}

#p-salon .gray-bg {
  background-color: #fafafa;
  margin-top: 100px;
}

@media (max-width: 767px) {
  #p-salon .gray-bg {
    margin-top: 56px;
  }
}

#p-salon .salon-info {
  padding: 100px 0;
}

@media (max-width: 767px) {
  #p-salon .salon-info {
    padding: 56px 0;
  }
}

#p-salon .salon-info h2 {
  font-size: 180%;
  color: #db4151;
  position: relative;
  padding-bottom: 14px;
}

#p-salon .salon-info h2:after {
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  bottom: 0;
  position: absolute;
  background-image: url(../img/dot.png);
}

#p-salon .salon-info .box {
  display: flex;
  margin-top: 40px;
}

@media (max-width: 767px) {
  #p-salon .salon-info .box {
    display: block;
    margin-top: 24px;
  }
}

#p-salon .salon-info .left-box {
  width: 50%;
  margin-right: 20px;
}

@media (max-width: 767px) {
  #p-salon .salon-info .left-box {
    width: 100%;
    margin-right: 0;
  }
}

#p-salon .salon-info .box img {
  display: block;
  margin: 0 auto;
}

#p-salon .salon-info .left-box img {
  height: 250px;
}

@media (max-width: 767px) {
  #p-salon .salon-info .left-box img {
    height: auto;
  }
}

#p-salon .salon-info .right-box {
  width: 50%;
  margin-left: 20px;
}

@media (max-width: 767px) {
  #p-salon .salon-info .right-box {
    width: 100%;
    margin-left: 0;
    margin-top: 24px;
  }
}

#p-salon .salon-info .right-box img {
  height: 350px;
}

@media (max-width: 767px) {
  #p-salon .salon-info .right-box img {
    height: auto;
  }
}

#p-salon .salon-info dl {
  display: flex;
  align-items: center;
  line-height: 1.5;
}

@media (max-width: 767px) {
  #p-salon .salon-info dl span {
    display: block;
  }
}

#p-salon .salon-info dl:first-of-type {
  padding-top: 16px;
}

#p-salon .salon-info dt {
  width: 25%;
  padding: 8px 0;
}

#p-salon .salon-info dd {
  width: 75%;
  padding: 8px;
}

#p-salon .salon-btn {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 40px;
}

@media (max-width: 767px) {
  #p-salon .salon-btn {
    margin-top: 24px;
  }
}

#p-salon .salon-btn li {
  width: 49%;
  text-align: center;
  color: #fff;
}

#p-salon .salon-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background-color: #db4151;
  position: relative;
  border: 1px solid #db4151;
  border-radius: 5px;
}

@media (max-width: 767px) {
  #p-salon .salon-btn a {
    padding: 16px 10px;
  }
}

#p-salon .salon-btn li .salon-icon {
  display: inline-block;
  margin-right: 10px;
  background-size: cover;
  background-position: center;
}

#p-salon .salon-btn li .salon-icon01 {
  width: 12px;
  height: 15px;
  background-image: url(../img/ico-note-w.png);
}

#p-salon .salon-btn li .salon-icon02 {
  width: 15px;
  height: 15px;
  background-image: url(../img/ico-calender-w.png);
}

#p-salon .salon-btn li .salon-icon03 {
  width: 15px;
  height: 15px;
  background-image: url(../img/ico-map-w.png);
}

#p-salon .salon-btn li:last-child {
  width: 100%;
  margin-top: 8px;
}

#p-salon .salon-btn a:hover {
  background-color: #fff;
  color: #db4151;
  border: 1px solid #db4151;
  transition: ease 0.4s;
}

#p-salon .salon-btn a:hover .salon-icon01 {
  width: 12px;
  height: 15px;
  background-image: url(../img/ico-note-p.png);
  transition: ease 0.4s;
}

#p-salon .salon-btn a:hover .salon-icon02 {
  width: 15px;
  height: 15px;
  background-image: url(../img/ico-calender-p.png);
  transition: ease 0.4s;
}

#p-salon .salon-btn a:hover .salon-icon03 {
  width: 15px;
  height: 15px;
  background-image: url(../img/ico-map-p.png);
  transition: ease 0.4s;
}

#p-recruit .recruti-pic {
  width: 100%;
  height: 450px;
  background-image: url(../img/recruit-pic.jpg);
  background-size: cover;
  background-position: center 33%;
}

@media (max-width: 767px) {
  #p-recruit .recruti-pic {
    height: 230px;
  }
}

#p-recruit .message {
  text-align: center;
  margin: 0 auto;
  padding: 100px 0;
}

@media (max-width: 767px) {
  #p-recruit .message {
    padding: 48px 0;
  }
}

#p-recruit .message h2 {
  font-size: 180%;
  color: #db4151;
  padding-bottom: 32px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  #p-recruit .message h2 {
    font-size: 1.8rem;
  }
}

@media (max-width: 767px) {
  #p-recruit .message h2 span {
    display: block;
  }
}

#p-recruit .message p {
  line-height: 2;
}

@media (max-width: 767px) {
  #p-recruit .message p span {
    display: block;
  }
}

#p-recruit .movie {
  margin-bottom: 80px;
}

@media (max-width: 640px) {
  #p-recruit .movie {
    margin-bottom: 40px;
  }
}

#p-recruit .movie p {
  width: 60%;
  margin: 0 auto;
  position: relative;
}

@media (max-width: 767px) {
  #p-recruit .movie p {
    width: 100%;
  }
}

#p-recruit .movie iframe {
  width: 100%;
  height: 400px;
  position: relative;
  z-index: 2;
  border: 6px solid #fcebed;
}

@media (max-width: 767px) {
  #p-recruit .movie iframe {
    height: 230px;
  }
}

#p-prevention .prevention-info {
  max-width: 900px;
  margin: 0 auto;
  background-color: #db4151;
  padding: 56px 30px;
  text-align: center;
  border-radius: 10px;
}

@media (max-width: 640px) {
  #p-prevention .prevention-info {
    padding: 40px 10px;
  }
}

@media (max-width: 640px) {
  #p-prevention .pc {
    display: none;
  }
}

@media (min-width: 640px) {
  #p-prevention .sm {
    display: none;
  }
}

@media (max-width: 640px) {
  #p-prevention .prevention-info .br-pc {
    display: none;
  }
}

@media (min-width: 641px) {
  #p-prevention .prevention-info .br-pc {
    display: block;
  }
}

#p-prevention .prevention-info h2 {
  font-size: 180%;
  line-height: 2.5;
  margin-bottom: 10px;
  color: #fff;
  display: inline-block;
  position: relative;
}

@media (max-width: 640px) {
  #p-prevention .prevention-info h2 {
    font-size: 1.8rem;
  }
}

#p-prevention .prevention-info h2:after {
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background-image: url(../img/w-dot.png);
}

#p-prevention .prevention-info .note {
  line-height: 2;
  color: #fff;
  padding: 24px 0 40px;
}

@media (max-width: 640px) {
  #p-prevention .prevention-info .note {
    text-align: left;
    padding: 10px 0 24px;
  }
}

#p-place .place-top {
  margin: 80px 0;
  padding-bottom: 80px;
  background-color: #fafafa;
  position: relative;
}

@media (max-width: 640px) {
  #p-place .place-top {
    margin: 14px 0 0;
    padding-bottom: 20px;
  }
}

#p-place .place-top:before {
  content: "";
  width: 100%;
  height: 135px;
  background-color: #fff;
  top: 0;
  position: absolute;
  z-index: 0;
}

#p-place .place-top .box {
  display: flex;
  z-index: 2;
  position: relative;
}

@media (max-width: 640px) {
  #p-place .place-top .box {
    display: block;
  }
}

#p-place .place-top .pic {
  width: 35%;
  background-position: center;
  background-size: cover;
}

@media (max-width: 640px) {
  #p-place .place-top .sm {
    width: 100%;
    height: 230px;
    margin-top: 30px;
  }
}

@media (max-width: 640px) {
  #p-place .place-top .right .pc {
    display: none;
  }
}

@media (min-width: 641px) {
  #p-place .place-top .right .sm {
    display: none;
  }
}

#p-place .place-top .right {
  width: 65%;
  padding: 50px 0 0 60px;
}

@media (max-width: 640px) {
  #p-place .place-top .right {
    width: 100%;
    padding: 0;
    text-align: center;
  }
}

@media (max-width: 640px) {
  #p-place .place-top .right .en-tit img {
    height: 24px;
  }
}

#p-place .place-top .right h1 {
  padding-top: 10px;
}

#p-place .place-top .text {
  margin-top: 40px;
  line-height: 2;
}

@media (max-width: 640px) {
  #p-place .place-top .text {
    margin-top: 20px;
    margin-bottom: 24px;
  }
}

#p-place .place-top .right .sub-pic {
  display: flex;
  justify-content: space-between;
  margin-top: 56px;
}

@media (max-width: 640px) {
  #p-place .place-top .right .sub-pic {
    display: none;
  }
}

#p-place .place-top .right .sub-pic p {
  width: 48%;
  height: 150px;
  background-position: center;
  background-size: cover;
}

#s-place {
  background-color: #fafafa;
  position: relative;
}

#s-place:after {
  content: "";
  width: 100%;
  height: 200px;
  background-color: #fff;
  top: 0;
  position: absolute;
  z-index: 0;
}

@media (max-width: 640px) {
  #s-place:after {
    height: 100px;
  }
}

#s-place .s-place-content {
  max-width: 900px;
  padding: 80px 0;
  position: relative;
  z-index: 2;
  margin: 0 auto;
}

@media (max-width: 640px) {
  #s-place .s-place-content {
    padding: 14px 0 40px;
  }
}

#s-place .s-place-content h1 {
  font-size: 180%;
  padding-bottom: 32px;
  line-height: 1.5;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  #s-place .s-place-content h1 {
    font-size: 1.8rem;
    padding-bottom: 20px;
  }
}

#s-place .s-place-content .thumbnail {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
}

@media (max-width: 640px) {
  #s-place .s-place-content .thumbnail {
    height: 250px;
  }
}

#s-place .s-place-content .explanation {
  width: 70%;
  margin-right: auto;
  padding: 30px 56px 56px;
  background-color: #fff;
  position: relative;
  bottom: 25px;
}

@media (max-width: 640px) {
  #s-place .s-place-content .explanation {
    width: 88%;
    padding: 20px;
  }
}

#s-place .s-place-content .explanation h2 {
  font-size: 150%;
  color: #db4151;
  padding-bottom: 20px;
  line-height: 1.5;
}

@media (max-width: 640px) {
  #s-place .s-place-content .explanation h2 {
    font-size: 1.6rem;
    padding-bottom: 14px;
  }
}

#s-place .s-place-content .explanation p {
  line-height: 1.5;
}

#s-place .s-place-content .box {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  #s-place .s-place-content .box {
    display: block;
  }
}

@media (max-width: 640px) {
  #s-place .s-place-content .box {
    margin-top: 0;
  }
}

#s-place .s-place-content .box dl {
  width: 48%;
  border-bottom: 1px solid #191919;
  border-top: 1px solid #191919;
  display: flex;
  align-items: center;
}

@media (max-width: 640px) {
  #s-place .s-place-content .box dl {
    width: 100%;
    border-top: 0;
  }
}
@media (min-width: 641px) {
  #s-place .s-place-content .box dl:nth-child(1) {
    border-bottom: 0;
  }
}

@media (min-width: 641px) {
  #s-place .s-place-content .box dl:nth-child(2) {
    border-bottom: 0;
  }
}

#s-place .s-place-content .box dt {
  font-weight: bold;
  width: 30%;
  text-align: center;
  padding: 20px 0;
}

@media (max-width: 640px) {
  #s-place .s-place-content .box dt {
    width: 25%;
  }
}

#s-place .s-place-content .box dd {
  width: 70%;
  padding: 20px;
  line-height: 1.5;
}

@media (max-width: 640px) {
  #s-place .s-place-content .box dd {
    width: 75%;
  }
}

#s-place .comment {
  padding: 60px 0 30px;
  font-size: 1.6rem;
  line-height: 1.6;
}

@media (max-width: 640px) {
  #s-place .comment {
    padding: 30px 0;
  }
}

.review-top-title {
  background-color: #fafafa;
}

@media (max-width: 767px) {
  .review-top-title {
    padding: 40px 0 0 !important;
  }
}

@media (max-width: 640px) {
  .review-top-title {
    padding: 40px 0 !important;
  }
}

.review-top-pic {
  width: 100%;
  margin: 60px auto 0;
  display: block;
}

@media (max-width: 640px) {
  .review-top-pic {
    display: none;
  }
}

.review-top-pic-sm {
  width: 100%;
  margin: 30px auto 0;
  display: block;
}

@media (min-width: 641px) {
  .review-top-pic-sm {
    display: none;
  }
}

.google-wrap {
  background-color: #fafafa;
  padding: 60px 0 80px;
}

@media (max-width: 640px) {
  .google-wrap {
    padding: 30px 0 40px;
  }
}

@media (max-width: 640px) {
  .google-wrap .slick-prev {
    left: -10px;
  }
}

@media (max-width: 640px) {
  .google-wrap .slick-next {
    right: -10px;
  }
}

.google-wrap .p-wrapper {
  padding: 0 120px;
}

@media (max-width: 1000px) {
  .google-wrap .p-wrapper {
    padding: 0 20px;
  }
}

.google-wrap h2 {
  font-size: 180%;
  text-align: center;
  letter-spacing: 0.05em;
}

@media (max-width: 640px) {
  .google-wrap h2 {
    font-size: 1.8rem;
  }
}

.google-wrap h2 span {
  font-size: 150%;
}

.google-wrap h2 .red {
  color: #ea4335;
}

.google-wrap h2 .blue {
  color: #4084f3;
}

.google-wrap h2 .green {
  color: #3ba160;
}

.google-wrap h2 .yellow {
  color: #f5bc03;
}

.google-wrap ul {
  display: flex;
  justify-content: space-between;
  padding: 60px 48px 0;
}

@media (max-width: 640px) {
  .google-wrap ul {
    padding: 32px 40px 0;
  }
}

.google-wrap li {
  width: 20%;
  background-color: #fff;
  padding: 24px 12px;
  margin: 0 20px;
}

@media (max-width: 1200px) {
  .google-wrap li {
    margin: 0 10px;
  }
}

@media (max-width: 640px) {
  .google-wrap li {
    width: 100%;
    margin: 0 5px;
  }
}

.google-wrap dl {
  display: flex;
  align-items: center;
}

.google-wrap dt {
  margin-right: 10px;
}

.google-wrap dt img {
  width: 40px;
}

@media (max-width: 640px) {
  .google-wrap dt img {
    width: 30px;
  }
}

.google-wrap dd {
  font-size: 1.5rem;
  font-weight: bold;
}

.google-wrap .valuation {
  padding: 10px 0;
}

.google-wrap .valuation img {
  width: 100px;
}

.google-content p {
  line-height: 1.5;
  padding-bottom: 10px;
}

.google-content p:last-child {
  padding-bottom: 0;
}

@media (min-width: 641px) {
  .review-tit h1 .br-sm {
    display: none;
  }
}

@media (max-width: 640px) {
  .review-tit h1 .br-sm {
    display: block;
  }
}

#s-review {
  background-color: #fafafa;
  position: relative;
  padding: 40px 0 80px;
}

@media (max-width: 767px) {
  #s-review {
    padding-top: 10px;
  }
}

#s-review:after {
  content: "";
  width: 100%;
  height: 220px;
  background-color: #fff;
  top: 0;
  position: absolute;
  z-index: 0;
}

#s-review .s-review-content {
  max-width: 900px;
  margin: 0 auto;
  z-index: 2;
  position: relative;
}

@media (max-width: 767px) {
  #s-review .s-review-content {
    max-width: 100%;
  }
}

#s-review .s-review-content .place {
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  padding: 0 1em;
  margin: 0.5em 0;
  display: inline-block;
}

#s-review .s-review-content h1 {
  font-size: 180%;
  padding: 6px 0 30px;
  line-height: 1.5;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  #s-review .s-review-content h1 {
    font-size: 1.8rem;
    padding-bottom: 20px;
  }
}

#s-review .review-s-top {
  display: flex;
  position: relative;
  margin-bottom: 105px;
}

@media (max-width: 767px) {
  #s-review .review-s-top {
    display: block;
    margin-bottom: 0;
  }
}

#s-review .left {
  width: 60%;
  margin-right: auto;
}

@media (max-width: 767px) {
  #s-review .left {
    width: 100%;
  }
}

#s-review .right {
  width: 50%;
  background-color: #fff;
  padding: 40px;
  position: absolute;
  bottom: -40px;
  right: 0;
}

@media (max-width: 767px) {
  #s-review .right {
    width: 90%;
    margin: 0 auto;
    position: relative;
    bottom: 22px;
    padding: 40px 15px;
  }
}

#s-review .right .message-pic {
  position: relative;
}

@media (max-width: 767px) {
  #s-review .right .message-pic {
    margin-bottom: 20px;
  }
}

#s-review .right .message-pic img {
  position: absolute;
  top: -68px;
  width: 200px;
  right: 0;
  left: 0;
  margin: auto;
}

@media (max-width: 767px) {
  #s-review .right .message-pic img {
    width: 100px;
    top: -20px;
  }
}

#s-review .right .message {
  font-size: 1.4rem;
  line-height: 1.8;
}

@media (max-width: 640px) {
  #s-review .right .message {
    font-size: 1.2rem;
  }
}

#s-review .thumbnail {
  height: 400px;
  background-size: cover;
  background-position: center;
}

@media (max-width: 640px) {
  #s-review .thumbnail {
    height: 300px;
  }
}

#s-review .box h2 {
  font-size: 180%;
  color: #db4151;
  padding: 35px 0 20px;
  line-height: 1.5;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  #s-review .box h2 {
    padding: 20px 0 15px;
  }
}

#s-review .box h3 {
  font-size: 180%;
  color: #db4151;
  line-height: 1.5;
  padding: 35px 0 20px;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  #s-review .box h3 {
    padding: 20px 0 10px;
  }
}

@media (max-width: 640px) {
  #s-review .box h2,
  #s-review .box h3 {
    font-size: 1.8rem;
  }
}

#s-review .box p {
  font-size: 1.4rem;
  line-height: 1.8;
}

#s-review .box .outline {
  display: none;
}

#p-planner .planner-top {
  background-color: #fcebed;
  display: flex;
  margin-top: 40px;
  margin-bottom: 200px;
}

@media (max-width: 640px) {
  #p-planner .planner-top {
    display: block;
    margin-bottom: 100px;
  }
}

#p-planner .planner-top .left {
  width: 35%;
  position: relative;
}

@media (max-width: 640px) {
  #p-planner .planner-top .left {
    width: 100%;
  }
}

#p-planner .planner-top .left .planner-pic {
  height: 330px;
  position: relative;
  left: 40px;
  top: -40px;
  background-image: url(../img/planner-pic01.jpg);
  background-size: cover;
  background-position: center;
}

@media (max-width: 767px) {
  #p-planner .planner-top .left .planner-pic {
    height: 280px;
  }
}

@media (max-width: 640px) {
  #p-planner .planner-top .left .planner-pic {
    width: 90%;
    left: 0;
    right: 0;
    margin: auto;
  }
}

#p-planner .planner-top .right {
  width: 65%;
  margin-left: auto;
  padding: 40px 140px 220px 180px;
  text-align: center;
  position: relative;
}

@media (max-width: 1150px) {
  #p-planner .planner-top .right {
    padding: 40px 40px 220px 80px;
  }
}

@media (max-width: 767px) {
  #p-planner .planner-top .right {
    padding: 40px 40px 180px 80px;
  }
}

@media (max-width: 640px) {
  #p-planner .planner-top .right {
    width: 100%;
    margin: 0 auto;
    padding: 0 80px 240px 80px;
  }
}

@media (max-width: 420px) {
  #p-planner .planner-top .right {
    padding: 0 0 145px 0;
  }
}

#p-planner .planner-top .right p {
  font-size: 150%;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
  line-height: 1.7em;
  position: relative;
  display: inline-block;
  margin-bottom: 12px;
}

@media (max-width: 420px) {
  #p-planner .planner-top .right p {
    font-size: 1.6rem;
  }
}

#p-planner .planner-top .right p:last-child {
  margin-bottom: 0;
}

#p-planner .planner-top .right p:after {
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background-image: url(../img/dot.png);
}

#p-planner .planner-top .right img {
  width: 60%;
  position: absolute;
  left: 0;
  right: -40px;
  margin: auto;
  bottom: -40px;
}

@media (max-width: 1200px) {
  #p-planner .planner-top .right img {
    width: 75%;
  }
}

@media (max-width: 640px) {
  #p-planner .planner-top .right img {
    width: 90%;
    right: 0;
  }
}

#s-planner .wrap {
  display: flex;
  margin: 80px 0 0;
}

@media (max-width: 767px) {
  #s-planner .wrap {
    display: block;
    margin: 40px 0 0;
  }
}

@media (max-width: 767px) {
  #s-planner .wrap .name-box-pc {
    display: none !important;
  }
}

@media (min-width: 768px) {
  #s-planner .wrap .name-box-sm {
    display: none !important;
  }
}

#s-planner .wrap .left {
  width: 35%;
}

@media (max-width: 767px) {
  #s-planner .wrap .left {
    width: 100%;
  }
}

#s-planner .wrap .left .thumbnail {
  height: 100%;
  background-size: cover;
  background-position: center;
}

@media (max-width: 767px) {
  #s-planner .wrap .left .thumbnail {
    height: 350px;
    background-position: center 20%;
  }
}

@media (max-width: 640px) {
  #s-planner .wrap .left .thumbnail {
    height: 320px;
    background-position: center 25%;
  }
}

#s-planner .wrap .right {
  width: 65%;
  position: relative;
}

@media (max-width: 767px) {
  #s-planner .wrap .right {
    width: 100%;
  }
}

#s-planner .wrap .right .box {
  width: 100%;
  padding-left: 40px;
  padding-top: 30px;
}

@media (max-width: 767px) {
  #s-planner .wrap .right .box {
    padding-left: 0;
    padding-top: 10px;
  }
}

#s-planner .wrap .right .box .name-box-pc {
  display: flex;
  align-items: flex-end;
  margin-bottom: 10px;
}

#s-planner .wrap .right .box h1 {
  font-size: 180%;
  margin-right: 10px;
}

#s-planner .wrap .right .box .en-name {
  color: #db4151;
  font-size: 120%;
}

#s-planner .wrap .left .name-box-sm {
  display: flex;
  align-items: flex-end;
  margin-bottom: 20px;
}

#s-planner .wrap .left .name-box-sm h1 {
  font-size: 150%;
  margin-right: 10px;
}

#s-planner .wrap .left .name-box-sm .en-name {
  color: #db4151;
  font-size: 100%;
}

#s-planner .wrap .right .box dl {
  padding: 20px 0;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #191919;
}

@media (min-width: 641px) {
  #s-planner .wrap .right .box dl:last-child {
    border-bottom: 0;
  }
}

#s-planner .wrap .right .box dt {
  width: 28%;
}

@media (max-width: 800px) {
  #s-planner .wrap .right .box dt {
    width: 40%;
    text-align: center;
  }
}

#s-planner .wrap .right .box dd {
  width: 72%;
  padding: 0 20px;
  line-height: 1.5;
}

@media (max-width: 800px) {
  #s-planner .wrap .right .box dd {
    width: 60%;
  }
}

.dress-top {
  position: relative;
  width: 100%;
  height: 600px;
  background-position: center;
  background-size: cover;
}

@media (max-width: 640px) {
  .dress-top {
    height: 380px;
  }
}

.dress-top .page-tit-box {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

@media (max-width: 640px) {
  .dress-top .page-tit-box {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}

@media (max-width: 640px) {
  .dress-top .page-tit-box .en-tit img {
    height: 24px;
  }
}

.dress-top .inner {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 70px;
  text-align: center;
}

@media (max-width: 640px) {
  .dress-top .inner {
    padding: 30px 20px;
    background-color: rgba(255, 255, 255, 0.75);
  }
}

.dress-top .inner h1 {
  padding-top: 20px;
}

.dress-message {
  text-align: center;
  padding: 80px 0;
}

@media (max-width: 640px) {
  .dress-message {
    padding: 40px 0;
  }
}

.dress-message h2 {
  font-size: 180%;
  line-height: 2;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  .dress-message h2 {
    font-size: 1.8rem;
  }
}

.dress-message h2 p {
  margin-bottom: 10px;
}

.dress-message h2 .dod {
  position: relative;
  display: inline-block;
}

.dress-message h2 .dod:after {
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background-image: url(../img/dot.png);
}

.dress-message h2 .pink {
  color: #db4151;
}

.dress-message .text {
  line-height: 2;
  padding-top: 30px;
}

@media (max-width: 640px) {
  .dress-message .text {
    padding-top: 20px;
  }
}

@media (max-width: 640px) {
  .dress-message .text .br-sm {
    display: block;
  }
}

@media (min-width: 641px) {
  .dress-message .text .br-sm {
    display: none;
  }
}

.dress-c-top .text {
  padding: 40px 0 50px;
  line-height: 2;
}

@media (max-width: 640px) {
  .dress-c-top .text {
    padding: 20px 0 30px;
  }
}

@media (max-width: 640px) {
  .dress-c-top .text .br-sm {
    display: block;
  }
}
@media (min-width: 641px) {
  .dress-c-top .text .br-sm {
    display: none;
  }
}

@media (max-width: 320px) {
  .dress-c-top .text .br-s-sm {
    display: block;
  }
}
@media (min-width: 321px) {
  .dress-c-top .text .br-s-sm {
    display: none;
  }
}

@media (max-width: 850px) {
  .dress-c-top .text .br-tb {
    display: block;
  }
}
@media (min-width: 851px) {
  .dress-c-top .text .br-tb {
    display: none;
  }
}

@media (max-width: 640px) {
  .dress-c-top .text .br-tb {
    display: none;
  }
}

.flow-top .text {
  padding: 40px 0 50px;
  line-height: 2;
}
@media (max-width: 640px) {
  .flow-top .text {
    padding: 20px 0 0;
  }
}

@media (max-width: 640px) {
  .flow-top .text .br-sm {
    display: block;
  }
}

@media (min-width: 641px) {
  .flow-top .text .br-sm {
    display: none;
  }
}

@media (max-width: 320px) {
  .flow-top .text .br-s-sm {
    display: block;
  }
}
@media (min-width: 321px) {
  .flow-top .text .br-s-sm {
    display: none;
  }
}

@media (max-width: 850px) {
  .flow-top .text .br-tb {
    display: block;
  }
}
@media (min-width: 851px) {
  .flow-top .text .br-tb {
    display: none;
  }
}

.guest-top {
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 50%,
    #fcebed 50%,
    #fcebed 100%
  );
}

.guest-message {
  max-width: 1000px;
  margin: 60px auto 0;
  background-color: #db4151;
  padding: 56px 30px;
  text-align: center;
  border-radius: 10px;
}

@media (max-width: 640px) {
  .guest-message {
    padding: 40px 20px;
    margin-top: 20px;
  }
}

.guest-message h2 {
  font-size: 180%;
  line-height: 2;
  color: #fff;
}

@media (max-width: 640px) {
  .guest-message h2 {
    font-size: 1.6rem;
  }
}

@media (max-width: 320px) {
  .guest-message h2 {
    font-size: 1.4rem;
  }
}

.guest-message h2 p {
  margin-bottom: 10px;
}

.guest-message h2 span {
  position: relative;
  display: inline-block;
}

.guest-message h2 span:after {
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background-image: url(../img/w-dot.png);
}

.guest-message .text {
  color: #fff;
  line-height: 2;
  margin: 50px 0 20px;
}

@media (max-width: 640px) {
  .guest-message .text {
    text-align: left;
    margin: 35px 0 20px;
  }
}

.guest-wrapper {
  background-color: #fcebed;
  padding: 80px 0 0;
  margin-bottom: 80px;
  position: relative;
  z-index: 2;
}

@media (max-width: 640px) {
  .guest-wrapper {
    padding-top: 50px;
    margin-bottom: 50px;
  }
}

@media (max-width: 640px) {
  .guest-wrapper .p-wrapper {
    padding: 0;
  }
}

@media (min-width: 641px) {
  .guest-wrapper .sm {
    display: none;
  }
}

@media (max-width: 640px) {
  .guest-wrapper .pc {
    display: none;
  }
}

.guest-wrapper li {
  margin-top: 160px;
}

@media (max-width: 640px) {
  .guest-wrapper li {
    margin-top: 45px;
  }
}

.guest-wrapper li:first-child {
  margin-top: 80px;
}

@media (max-width: 640px) {
  .guest-wrapper li:first-child {
    margin-top: 30px;
  }
}

.guest-wrapper li:last-child {
  margin-bottom: 0;
  padding-bottom: 160px;
}

@media (max-width: 640px) {
  .guest-wrapper li:last-child {
    padding-bottom: 45px;
  }
}

.guest-wrapper .guest-content {
  width: 95%;
  display: flex;
  margin: 0 auto;
  bottom: 15px;
  background-color: #fff;
  padding: 40px;
  position: relative;
}

@media (max-width: 640px) {
  .guest-wrapper .guest-content {
    padding: 25px 20px 25px;
    display: block;
  }
}

.guest-wrapper .guest-content dl {
  width: 65%;
  padding-right: 40px;
}

@media (max-width: 640px) {
  .guest-wrapper .guest-content dl {
    width: 100%;
    padding-right: 0;
    margin-bottom: 30px;
  }
}

.guest-wrapper .guest-content h3 {
  font-size: 150%;
  line-height: 1.8;
}

@media (max-width: 640px) {
  .guest-wrapper .guest-content h3 {
    font-size: 1.6rem;
  }
}

.guest-wrapper .guest-content .text {
  line-height: 2;
  margin-top: 20px;
}
@media (max-width: 640px) {
  .guest-wrapper .guest-content .text {
    margin-top: 10px;
  }
}

.guest-wrapper .guest-box .secret-btn {
  width: 35%;
  background-color: #db4151;
  color: #fff;
  padding: 25px 20px;
  border-radius: 5px;
}

@media (max-width: 640px) {
  .guest-wrapper .guest-box .secret-btn {
    width: 100%;
  }
}

.guest-wrapper .guest-box .secret-btn .secret-title {
  font-size: 120%;
  font-weight: bold;
  text-align: center;
}

.guest-wrapper .guest-box .secret-btn .secret-content {
  line-height: 1.5;
  padding-top: 15px;
}

.failure-top .heading-box {
  text-align: center;
}

.failure-top h1 {
  font-size: 130%;
}

.failure-top h1 span {
  font-size: 250%;
  margin-top: 20px;
  color: #db4151;
  display: block;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  .failure-top h1 span {
    font-size: 3rem;
    margin-top: 15px;
  }
}

.failure-top .text {
  line-height: 2;
  margin-top: 40px;
}

@media (max-width: 640px) {
  .failure-top .text {
    margin-top: 30px;
  }
}

@media (min-width: 641px) {
  .failure-top .br-sm {
    display: none;
  }
}

@media (max-width: 640px) {
  .failure-top .br-sm {
    display: block;
  }
}

@media (min-width: 801px) {
  .failure-top .br-tb {
    display: none;
  }
}

@media (max-width: 800px) {
  .failure-top .br-tb {
    display: block;
  }
}

#p-failure .link-btn ul {
  margin-top: 40px;
}

@media (max-width: 900px) {
  #p-failure .link-btn ul {
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  #p-failure .link-btn ul {
    width: 90%;
    display: block;
    margin: 20px auto 0;
  }
}

#p-failure .link-btn li {
  width: 22%;
  border-bottom: 1px solid #191919;
}

@media (max-width: 900px) {
  #p-failure .link-btn li {
    width: 48%;
  }
}

@media (max-width: 640px) {
  #p-failure .link-btn li {
    width: 100%;
  }
}

#p-failure .link-btn li a {
  color: #191919;
  position: relative;
  padding: 24px 39px 24px 24px;
}

@media (max-width: 640px) {
  #p-failure .link-btn li a {
    padding: 12px 10px;
  }
}

#p-failure .link-btn li a:after {
  content: "";
  background-image: url(../img/more-b.svg);
  width: 6px;
  height: 9px;
  top: 0;
  bottom: 0;
  right: 15px;
  background-size: cover;
  position: absolute;
  margin: auto;
  display: block;
}

#p-failure .link-btn li a:hover {
  color: #db4051;
  transition: ease 0.4s;
}

#p-failure .link-btn li a:hover:after {
  background-image: url(../img/more-p.svg);
  transition: ease 0.4s;
}

#p-failure li dd a{
  text-decoration: underline;
  display: block;
  margin-top: 15px;
  color: #DB4151;

}

#p-failure .failure-content{
  padding: 0;
}

#p-failure .other-list{
  padding-top: 120px;
}

@media (max-width: 640px) {
#p-failure .other-list{
  padding-top: 60px;
}
}

#p-failure .failure-message p{
  font-size: 120%;
}

@media (max-width: 640px) {
#p-failure .failure-message p{
    font-size: 95%;
  }
}

@media (max-width: 640px) {
#p-failure .failure-message .top-concept-inner{
    padding: 30px 10px 100px;
  }
}

@media (max-width: 640px) {
#p-failure .failure-message a{
    width: 90%;
  }
}

.failure-message{
  padding: 100px 20px 200px;
}

@media (max-width: 700px) {
.failure-message{
  padding: 10px 20px 100px;
}

}

#p-failure .failure-message .br-sm{
  display: block;
}

@media (max-width: 1200px) {
#p-failure .failure-message .top-consept-staff{
    right: -25px;
  }
}

@media (min-width: 641px) {
#p-failure .failure-message .br-sm{
    display: none;
  }
}

#p-failure .failure-message .br-tb{
  display: block;
}

@media (min-width: 1201px) {
#p-failure .failure-message .br-tb{
    display: none;
  }
}

.failure-bn-box{
  padding: 100px 20px;
  margin: 140px auto 30px;
  background-color: #FAFAFA;
}

@media (max-width: 640px) {
  .failure-bn-box{
    padding: 60px 20px 80px;
    margin: 90px auto 30px;
  }
}

.failure-bn-box p{
  font-size: 120%;
  text-align: center;
  line-height: 1.8em;
}

.failure-bn-box .banner{
  padding-top: 45px;
  text-align: center;
}

.failure-bn-box .banner a:hover {
    opacity: 0.6;
    transition: ease 0.4s;
}

#p-failure .failure-content li{
  background-color: transparent!important;
}

.failu-list li:nth-child(4){
  padding: 20px 10px 0 10px!important;
  margin-bottom: 30px!important;
}

.failu-list li:nth-child(5){
  padding: 0 10px 0 10px!important;
  margin-bottom: 30px!important;
}

.failu-list li:nth-child(6){
  padding: 0 10px 0px 10px!important;
  margin-bottom: 30px!important;
}

.failu-list li:nth-child(7){
  padding: 0 10px 0px 10px!important;
  margin-bottom: 30px!important;
}

@media (max-width: 640px) {
  .failu-list .failure-content li{
    padding: 0!important;
  }
}


#p-failure .failure-content li .box dl{
  background-color: #fcebed;
  padding: 0 20px 0 0!important;
}



#p-failure .failure-content li .case-style dt{
  background-color: #DB4151;
  padding: 20px 15px;
  color: #fff;
  font-size: 145%;
  font-weight: bold;
      font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  #p-failure .failure-content li .box dt{
    padding: 25px 10px;
    font-size: 120%;
    width: auto!important;
  }
}

#p-failure .failure-content li .box dd{
/*  display: flex;*/
  align-items: center;
  padding-left: 20px!important;
}

@media (max-width: 640px) {
  #p-failure .failure-content li .box dd{
    padding-left: 10px!important;
  }
}

#p-failure .failure-content li .box dd img{
  height: 25px;
  margin-right: 10px;
}


@media (max-width: 640px) {
  #p-failure .failure-content li .box dd img{
    height: 15px;
    margin-right: 5px;
  }
}

#p-failure .failure-content li .box .text{
  padding: 15px;
}

@media (max-width: 640px) {
  #p-failure .failure-content li .box .text{
    padding: 15px 0;
  }
}

#p-failure .failure-content li .point-box dl{
  width: 100%!important;
  padding: 0px!important;
    background-color: transparent!important;
}

#p-failure .failure-content li .point-box dl dt{
  padding-bottom: 15px;
  margin-bottom: 20px;
  font-size: 130%;
  color: #DB4151;
  border-bottom: 4px dotted #191919;
}

@media (max-width: 640px) {
  #p-failure .failure-content li .point-box dl dt{
    font-size: 110%;
     border-bottom: 2px dotted #191919;
  }
}

#p-failure .failure-content li .point-box dl dd{
  width: 87%!important;
  color: #191919!important;
}

@media (max-width: 640px) {
  #p-failure .failure-content li .point-box dl dd{
    width: 83%!important;
  }
}

#p-failure .failure-content li .point-box dl dd img{
  left: -12%!important;
  bottom: -50px!important;
}


@media (max-width: 640px) {
  #p-failure .failure-content li .point-box dl dd img{
  left: -22%!important;
  bottom: -25px!important;
}
}

#p-failure .failure-content li .case-style .open-case{
  display: block!important;
  padding-bottom: 80px!important;
}

@media (max-width: 640px) {
  #p-failure .failure-content li .case-style .open-case{
    padding-bottom: 40px!important;
}
}

#p-failure .failure-content li .case-style .open-case dt{
  background-color: transparent;
      font-family: auto;
}

#p-failure .failure-content li .case-style .open-case dd{
  font-weight: normal!important;
}





.production-top h2 {
  font-size: 180%;
  font-weight: bold;
  color: #db4151;
  line-height: 2;
  padding: 80px 0 40px;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  .production-top h2 {
    font-size: 130%;
    padding: 40px 0 20px;
  }
}

@media (max-width: 1000px) {
  .production-top .br-tb {
    display: block;
  }
}

@media (min-width: 1001px) {
  .production-top .br-tb {
    display: none;
  }
}

@media (max-width: 640px) {
  .production-top .br-sm {
    display: block;
  }
}

@media (min-width: 641px) {
  .production-top .br-sm {
    display: none;
  }
}

@media (max-width: 640px) {
  .production-top .br-sm-only {
    display: block;
  }
}

@media (min-width: 641px) {
  .production-top .br-sm-only {
    display: none;
  }
}

.production-top .text {
  line-height: 2;
}

#p-production .link-btn ul {
  margin: 40px auto 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (max-width: 640px) {
  #p-production .link-btn ul {
    width: 90%;
    margin: 24px auto 60px;
  }
}

#p-production .link-btn li {
  width: 30%;
  line-height: 1.5;
  text-align: left;
}

@media (max-width: 1200px) {
  #p-production .link-btn li {
    width: 48%;
  }
}

@media (max-width: 640px) {
  #p-production .link-btn li {
    width: 100%;
  }
}

#p-production .link-btn li a {
  color: #191919;
  display: block;
  padding: 24px 39px 24px 24px;
  background-color: #fff;
  border-bottom: 1px solid #000;
  position: relative;
}

#p-production .link-btn li a:after {
  content: "";
  background-image: url(../img/more-b.svg);
  width: 6px;
  height: 9px;
  top: 0;
  bottom: 0;
  right: 15px;
  background-size: cover;
  position: absolute;
  margin: auto;
  display: block;
}

#p-production .link-btn li a:hover {
  color: #db4051;
  transition: ease 0.4s;
}

#p-production .link-btn li a:hover:after {
  background-image: url(../img/more-p.svg);
  transition: ease 0.4s;
}

.system-top {
  position: relative;
  width: 100%;
  height: 600px;
  background-position: center;
  background-size: cover;
}

@media (max-width: 640px) {
  .system-top {
    height: 380px;
  }
}

.system-top .page-tit-box {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

@media (max-width: 640px) {
  .system-top .page-tit-box {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}

@media (max-width: 640px) {
  .system-top .page-tit-box .en-tit img {
    height: 24px;
  }
}

.system-top .inner {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 70px;
  text-align: center;
}

@media (max-width: 640px) {
  .system-top .inner {
    padding: 30px 20px;
    background-color: rgba(255, 255, 255, 0.75);
  }
}

.system-top .inner h1 {
  padding-top: 20px;
}

#p-system .system-t-message {
  padding: 80px 0 120px;
}

@media (max-width: 640px) {
  #p-system .system-t-message {
    padding: 40px 0;
  }
}

#p-system .system-t-message h2 {
  text-align: center;
  font-size: 200%;
  line-height: 1.5;
  letter-spacing: 0.4rem;
  margin-bottom: 40px;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (max-width: 640px) {
  #p-system .system-t-message h2 {
    font-size: 1.8rem;
    margin-bottom: 25px;
  }
}

#p-system .system-t-message span {
  font-size: 150%;
  color: #db4151;
}

#p-system .system-t-message p {
  text-align: center;
  margin-bottom: 30px;
  line-height: 2;
}

@media (max-width: 640px) {
  #p-system .system-t-message p {
    margin-bottom: 20px;
  }
}

#p-system .system-t-message p:last-child {
  margin-bottom: 0;
}

@media (max-width: 640px) {
  #p-system .system-t-message .br-sm {
    display: block;
  }
}

@media (min-width: 641px) {
  #p-system .system-t-message .br-sm {
    display: none;
  }
}

@media (max-width: 800px) {
  #p-system .system-t-message .br-tb {
    display: block;
  }
}

@media (min-width: 801px) {
  #p-system .system-t-message .br-tb {
    display: none;
  }
}

.slick-slide:focus {
  outline: none;
}

#r-Benefits{
  background-color: #F4F2F2;
  padding: 40px 100px 40px 40px;
}

@media (max-width: 1000px) {
  #r-Benefits{
    padding: 40px 20px;
  }
}

@media (max-width: 768px) {
  #r-Benefits{
    padding: 40px 10px;
  }
}

@media (max-width: 640px) {
  #r-Benefits{
    padding: 20px 10px 40px;
  }
}

#r-Benefits .benefits-box {
  max-width: 900px;
   background-color: #F4F2F2;
   display: flex;
   justify-content: center;
   margin: 0 auto;
}

@media (max-width: 1000px) {
  #r-Benefits .benefits-box {
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  #r-Benefits .benefits-box {
    max-width: 90%;
    display: block;
  }
}

 @media (max-width: 400px) {
   #r-Benefits .benefits-box {
      max-width: 100%;
    }
  }

 #r-Benefits .benefits-box .box {
   background-color: #fff;
   position: relative;
   padding: 40px;
   margin-top: 60px;
   margin: 20px;
   text-align: center;
}

@media (max-width: 768px) {
   #r-Benefits .benefits-box .box {
    margin: 40px auto 0;
    padding: 30px 15px;
  }
}

 #r-Benefits .benefits-box .box .heading {
  width: 90%;
   position: absolute;
   top: -18px;
   padding: 10px;
   background-color: #db4151;
   color: #fff;
    left: 0;
  right: 0;
  margin: auto;
}

 #r-Benefits .benefits-box .left-box{
  width: 40%;
 }

 @media (max-width: 768px) {
   #r-Benefits .benefits-box .left-box{
    width: 100%;
  }
}


  #r-Benefits .benefits-box .left-box span{
    display: inline-block;
    margin-bottom: 10px;
 }

  @media (max-width: 768px) {
     #r-Benefits .benefits-box .right-box .dot{
      display: inline-block;
      margin-bottom: 10px;
   }
 }

   #r-Benefits .benefits-box .box .dot:after{
  display: block;
    content: "";
    width: 100%;
    height: 3px;
    background-image: url(../img/dot.png);
  }

  #r-Benefits .benefits-box .right-box{
  width: 50%;
 }

   #r-Benefits .benefits-box .right-box .dot{
    position: relative;
    display: inline-block;
   }

    #r-Benefits .benefits-box .right-box .dot:after{
      position: absolute;

    }

 @media (max-width: 768px) {
  #r-Benefits .benefits-box .right-box{
    width: 100%;
    margin-top: 50px;
  }
}

  #r-Benefits .benefits-box .box .inner{
    font-size: 120%;
    line-height: 1.6;
  }

 #r-Benefits .benefits-box .box span{
  color: #db4151;
  font-size: 150%;
  font-weight: bold;
 }


 
  #r-Benefits .benefits-box .box .br{
    font-size: 120%;
  color: #000;
  display: block;
  font-weight: normal;
 }

 @media (max-width: 375px) {
    #r-Benefits .benefits-box .box .br{
      margin-top: 15px;
    }
  }

.failure-top-test .heading-box {
  text-align: center;
}

.failure-top-test h1 {
  font-size: 400%;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin: 20px auto 30px;
}

.failure-top-test h1 span{
  color: #db4151;
}

@media (max-width: 640px) {
.failure-top-test h1 {
    font-size: 280%;
    margin: 15px auto 18px;
  }
}

@media (max-width: 400px) {
.failure-top-test h1 {
    font-size: 230%;
    margin: 15px auto 18px;
  }
}


.failure-top-test .text {
  line-height: 1.6;
  margin-top: 40px;
}

@media (max-width: 640px) {
  .failure-top-test .text {
    margin-top: 20px;
  }
}

@media (min-width: 641px) {
  .failure-top-test .br-sm {
    display: none;
  }
}

@media (max-width: 640px) {
  .failure-top-test .br-sm {
    display: block;
  }
}

@media (min-width: 801px) {
  .failure-top-test .br-tb {
    display: none;
  }
}

@media (max-width: 800px) {
  .failure-top-test .br-tb {
    display: block;
  }
}

.failure-top-test .sub-text{
 font-size: 180%;
 font-weight: bold;
}

@media (max-width: 640px) {
.failure-top-test .sub-text{
    font-size: 150%;
  }
}


.failure-top-test .sub-title{
  font-size: 160%;
  background-color: #db4151;
  color: #fff;
  border-radius: 10px;
  padding: 12px 60px;
  display: inline-block;
}

@media (max-width: 640px) {
.failure-top-test .sub-title{
    font-size: 130%;
    padding: 10px 30px;
  }
}

.failure-top-test .sub-title span{
  color: yellow;
}



#p-failure .failure-content{
  padding: 0!important;
}

#p-failure .other-list{
  padding-top: 120px!important;
}

@media (max-width: 640px) {
#p-failure .other-list{
  padding-top: 60px!important;
}
}

#p-failure .failure-message p{
  font-size: 120%;
}

@media (max-width: 640px) {
#p-failure .failure-message p{
    font-size: 95%;
  }
}

@media (max-width: 640px) {
#p-failure .failure-message .top-concept-inner{
    padding: 30px 10px 100px;
  }
}

@media (max-width: 640px) {
#p-failure .failure-message a{
    width: 90%;
  }
}

.failure-message{
  padding: 100px 20px 200px;
}

@media (max-width: 700px) {
.failure-message{
  padding: 10px 20px 100px;
}

}



.failure-bn-box{
  padding: 100px 20px;
  margin: 140px auto 30px;
  background-color: #FAFAFA;
}

@media (max-width: 640px) {
  .failure-bn-box{
    padding: 60px 20px 80px;
    margin: 90px auto 30px;
  }
}

.failure-bn-box p{
  font-size: 120%;
  text-align: center;
  line-height: 1.8em;
}

.failure-bn-box .banner{
  padding-top: 45px;
  text-align: center;
}

.failure-bn-box .banner a:hover {
    opacity: 0.6;
    transition: ease 0.4s;
}


#p-contact .note{
  text-align: center;
  padding-bottom: 20px;
  line-height: 1.5;
  color: red;
  font-weight: bold;
}

@media (max-width: 640px) {
  #p-contact .note{
    text-align: left;
  }
}

/* CTA */
.lp-p-cv .cv-tel .inner {
  justify-content: center;
}

.lp-cv .wrap .cv-tel .inner {
  justify-content: center;
}

#salon-info ul {
  justify-content: center !important;
}
