@charset "utf-8";

/* -----------------------------------------------------------
共通パーツ
------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  /* font-size: 45.625%; */
  /* font-size: 36.5%; */
  font-size: 5.84px;
  /* デザインどおりフォントサイズ指定して実際には0.73倍で表示されるようにするため→コンテンツ幅変更になったのでさらに縮小→safariできかなかったのでpx指定 */
}
body {
  color: #2c1b0b;
  font-family: "Noto Sans JP", sans-serif;
  scroll-behavior: smooth;
  line-height: 1.7;
  font-size: 3.2rem;
}
p {
  letter-spacing: 0;
  font-weight: 400;
}
img {
  /* width: 100%; */
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  text-decoration: none;
  transition: 0.3s;
  color: #2c1b0b;
}
a:hover {
  opacity: 0.7;
}
span {
  font-size: inherit;
}

@media (max-width: 550px) {
  html {
    /* font-size:31.25%; */
    font-size: 5px;
    /* デザインどおりフォントサイズ指定して実際には0.5倍で表示されるようにするため  */
  }
  .sp_none {
    display: none !important;
  }
}
@media (max-width: 960px) {
  .mb_none {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .pc_none {
    display: none !important;
  }
}

.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  *zoom: 1;
}

.w20 {
  width: 22%;
}
.w30 {
  width: 29%;
}
.w40 {
  width: 38%;
}
.w50 {
  width: 47%;
}
.w60 {
  width: 58%;
}
.w70 {
  width: 68%;
}
.w80 {
  width: 76%;
}
.w90 {
  width: 86%;
}
.w100 {
  width: 100%;
}
@media (max-width: 550px) {
  /* .w20,.w30,.w40,.w50,
	.w60,.w70,.w80,.sp_w100{
		width:100%;
	} */
  .sp_w50 {
    width: 48%;
  }
}

.block {
  display: block;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}

/*_____テキスト_____*/
.m_center {
  margin-left: auto;
  margin-right: auto;
}
.txtC {
  text-align: center;
}
.txtR {
  text-align: right;
}
.txtL {
  text-align: left;
}
.bold {
  font-weight: bold;
}
.medium {
  font-weight: 500;
}
.semibold {
  font-weight: 600;
}
/* .txt10{ font-size: 10px;}
.txt12{ font-size: 12px;}
.txt14{ font-size: 14px;}
.txt15{ font-size: 15px;}
.txt16{ font-size: 16px;}
.txt17{ font-size: 17px;}
.txt18{ font-size: 18px;}
.txt19{ font-size: 19px;}
.txt20{ font-size: 20px;}
.txt21{ font-size: 21px;}
.txt22{ font-size: 22px;}
.txt24{ font-size: 24px;}
.txt26{ font-size: 26px;}
.txt30{ font-size: 30px;}
.txt32{ font-size: 32px;}
.txt35{ font-size: 35px;}
.txt36{ font-size: 36px;}
.txt40{ font-size: 40px;}
.txt48{ font-size: 48px;} */
.txt12 {
  font-size: 12px;
}
.txt18 {
  font-size: 18px;
}
/* PCメニュー用に残す↑ */
.txt30 {
  font-size: 3rem;
}
.txt34 {
  font-size: 3.4rem;
}
.txt35 {
  font-size: 3.5rem;
}
.txt36 {
  font-size: 3.6rem;
}
.txt38 {
  font-size: 3.8rem;
}
.txt40 {
  font-size: 4rem;
}
.txt42 {
  font-size: 4.2rem;
}
.txt44 {
  font-size: 4.4rem;
}
.txt46 {
  font-size: 4.6rem;
}
.txt47 {
  font-size: 4.7rem;
}
.txt48 {
  font-size: 4.8rem;
}
.txt50 {
  font-size: 5rem;
}
.txt58 {
  font-size: 5.8rem;
}
.txt64 {
  font-size: 6.4rem;
}
@media (max-width: 550px) {
  .sp_txtC {
    text-align: center;
  }
  .sp_txtL {
    text-align: left;
  }
  /* .txt14{ font-size: 12px;}
	.txt15{ font-size: 14px;}
	.txt18{ font-size: 16px;}
	.txt20{ font-size: 18px;}
	.txt22{ font-size: 20px;}
	.txt24{ font-size: 22px;}
	.txt30{ font-size: 24px;}
	.txt32{ font-size: 26px;}
	.txt36{ font-size: 28px;}
	.txt40{ font-size: 30px;}
	.txt48{ font-size: 32px;} */
}
.indent {
  padding-left: 1rem;
  text-indent: -1rem;
}
/*_____フレックス_____*/
.flex {
  display: -ms-flexbox;
  display: flex;
}
.justC {
  justify-content: center;
}
.justB {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.justA {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
.flexW {
  flex-wrap: wrap;
}
.alignS {
  align-items: start;
}
.alignC {
  align-items: center;
}
.alignB {
  align-items: baseline;
}
.alignE {
  align-items: end;
}
@media (max-width: 550px) {
  .sp_flclear {
    display: block;
  }
  .sp_flex {
    display: flex;
  }
  .flexrevrse {
    flex-direction: column-reverse;
  }
}

/*_____余白_____*/
.m0auto {
  margin: 0 auto;
}

.mb0 {
  margin-bottom: 0;
}
.mb10 {
  margin-bottom: 1rem;
}
.mb15 {
  margin-bottom: 1.5rem;
}
.mb20 {
  margin-bottom: 2rem;
}
.mb30 {
  margin-bottom: 3rem;
}
.mb40 {
  margin-bottom: 4rem;
}
.mb50 {
  margin-bottom: 5rem;
}
.mb60 {
  margin-bottom: 6rem;
}

.mt0 {
  margin-top: 0;
}
.mt10 {
  margin-top: 1rem;
}
.mt15 {
  margin-top: 1.5rem;
}
.mt20 {
  margin-top: 2rem;
}
.mt30 {
  margin-top: 3rem;
}
.mt40 {
  margin-top: 4rem;
}
.mt50 {
  margin-top: 5rem;
}
.mt60 {
  margin-top: 6rem;
}

.mr0 {
  margin-right: 0;
}
.mr10 {
  margin-right: 1rem;
}
.mr15 {
  margin-right: 1.5rem;
}
.mr20 {
  margin-right: 2rem;
}
.mr30 {
  margin-right: 3rem;
}

.ml0 {
  margin-left: 0;
}
.ml10 {
  margin-left: 1rem;
}
.ml15 {
  margin-left: 1.5rem;
}
.ml20 {
  margin-left: 2rem;
}
.ml30 {
  margin-left: 3rem;
}

.mar10 {
  margin: 1rem;
}
.mar15 {
  margin: 1.5rem;
}
.mar20 {
  margin: 2rem;
}
.mar30 {
  margin: 3rem;
}

.pt10 {
  padding-top: 1rem;
}
.pt20 {
  padding-top: 2rem;
}
.pt30 {
  padding-top: 3rem;
}

.pb10 {
  padding-bottom: 1rem;
}
.pb20 {
  padding-bottom: 2rem;
}
.pb30 {
  padding-bottom: 3rem;
}

@media (max-width: 550px) {
  .sp_mb0 {
    margin-bottom: 0;
  }
  .sp_mb10 {
    margin-bottom: 1rem;
  }
  .sp_mb15 {
    margin-bottom: 1.5rem;
  }
  .sp_mb20 {
    margin-bottom: 2rem;
  }
  .sp_mb30 {
    margin-bottom: 3rem;
  }
  .sp_mt0 {
    margin-top: 0;
  }
  .sp_mt10 {
    margin-top: 1rem;
  }
  .sp_mt15 {
    margin-top: 1.5rem;
  }
  .sp_mt20 {
    margin-top: 2rem;
  }
  .sp_mt30 {
    margin-top: 3rem;
  }
}

/* -----------------------------------------------------------
PC時
------------------------------------------------------------- */
.pc_bg_wrap {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-image: url("../imgs/dot_bg.webp");
  /* background-repeat: repeat;
	background-position: 50% 50%; */
  background-attachment: fixed;
  background-size: contain;
  background-color: #ebe7e2;
}
.pc_menu {
  /* width:360px; */
  width: 320px;
  position: absolute;
  z-index: 2;
  /* left: 18%; */
  left: 22%;
  top: 50%;
  transform: translateY(-50%);
  padding: 40px 20px 10px;
  border: 1px solid #2c1b0b;
  border-radius: 30px 30px 0 0;
  background-color: rgba(255, 255, 255, 0.5);
}
.pc_menu_link {
  border-top: 1px solid #2c1b0b;
  padding: 30px 20px 10px;
  margin-top: 4px;
  font-size: 16px;
}
.pc_menu_link a {
  display: block;
  margin-bottom: 20px;
}
.pc_menu_link a:last-child {
  margin-bottom: 24px;
}
@media (max-width: 1200px) {
  .pc_menu {
    left: 6%;
  }
}
@media (max-width: 1000px) {
  .pc_menu {
    display: none;
  }
}

/* -----------------------------------------------------------
全体
------------------------------------------------------------- */
.content {
  position: relative;
  z-index: 2;
  /* width:550px; */
  width: 440px;
  margin: 0 0 0 50%;
  border: 1px solid #2c1b0b;
}
@media (max-width: 1200px) {
  .content {
    margin: 0 0 0 44%;
  }
}
@media (max-width: 1000px) {
  .content {
    margin: 0 auto;
  }
}
@media (max-width: 550px) {
  .content {
    width: 100%;
    border: none;
    max-width: none;
  }
}

section {
  padding: 0 4rem;
}
.mincho {
  font-family: "Noto Serif JP", serif;
}
.eiji {
  font-family: "Source Serif 4", serif;
}
.eiji_title {
  letter-spacing: 0.1em;
  padding-top: 8rem;
}
.green {
  color: #414d23;
}
.white {
  color: #fff;
}
.underline {
  text-decoration: underline;
  text-underline-offset: 0.8rem;
}
.jp_title {
  line-height: 1.1;
}
.btn a {
  background: #414d23;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 59rem;
  padding: 2.8rem 8.5rem;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  font-weight: 400;
  font-size: 3.5rem;
  display: block;
}
.btn a span {
  background: top left / 1em 0.5em repeat-x
    radial-gradient(circle, #fff 0.09em, rgba(0, 0, 0, 0) 0.06em);
  padding-top: 0.2em;
}
.btn a:before {
  content: "";
  position: absolute;
  top: calc(54% - 2px);
  right: 0.8em;
  transform: translateY(calc(-50% - 2px)) rotate(30deg);
  width: 12px;
  height: 1px;
  background-color: #fff;
  transition: 0.3s;
}
.btn a:after {
  content: "";
  position: absolute;
  top: 54%;
  right: 0.8em;
  transform: translateY(-50%);
  width: 4.5rem;
  height: 1px;
  background-color: #fff;
  transition: 0.3s;
}
.btn a:hover:before,
.btn a:hover:after {
  right: 0.2em;
}
.btn a:hover {
  opacity: 1;
}

/* -----------------------------------------------------------
ファーストビュー
------------------------------------------------------------- */
.fv_wrap {
  background-image: url(../imgs/fv_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 8.5rem;
}
.fv_logo {
  position: absolute;
  top: 2.5rem;
  left: 4rem;
  width: 10rem;
}
.fv_txt {
  white-space: nowrap;
  margin-top: 0.7rem;
  line-height: 1.9;
}
.fv_txtbox {
  border: 1px solid #2c1b0b;
  padding: 0.7rem 1.4rem 0.7rem 1.2rem;
  font-style: italic;
}
.fv_txtborder {
  border-bottom: 2px solid #2c1b0b;
  padding-bottom: 0.4rem;
  letter-spacing: 0.09em;
}
.fv_aki {
  position: relative;
  display: inline-block;
  padding: 0 3.4rem;
}
.fv_aki:before,
.fv_aki:after {
  content: "";
  position: absolute;
  top: 56%;
  display: inline-block;
  width: 2.7rem;
  height: 1.4px;
  background-color: #3e4d1c;
}
.fv_aki:before {
  left: 0;
  -webkit-transform: rotate(70deg);
  transform: rotate(70deg);
}
.fv_aki:after {
  right: 0;
  -webkit-transform: rotate(-70deg);
  transform: rotate(-70deg);
}

/* -----------------------------------------------------------
お悩み
------------------------------------------------------------- */
.worry_wrap {
  background: linear-gradient(
      180deg,
      rgba(40, 47, 25, 0.75) 65%,
      rgba(255, 255, 255, 0.8) 35%
    ),
    url("../imgs/dot_bg.webp");
  /* background: #282F19; */
  background-size: contain;
  padding-bottom: 3rem;
}
.worry_border {
  position: absolute;
  top: -4rem;
  right: 50%;
  background: #2f1a08;
  width: 0.2rem;
  height: 8rem;
}
.worry_whitebox {
  background: #fff;
  padding: 6.1rem 3.2rem 4.1rem;
}
.worry_whitebox:before {
  content: "";
  position: absolute;
  height: 3.5rem;
  width: 12rem;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-color: #282f19;
  background-image: url("../imgs/dot_bg.webp");
  background-size: contain;
  left: 50%;
  transform: translateX(-50%);
  top: -0.1rem;
}
.worry_whitebox:after {
  content: "";
  position: absolute;
  height: 9rem;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-color: #fff;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8.95rem;
}
.worry_whitebox p {
  letter-spacing: -0.05em;
}
.worry_daiya {
  background: linear-gradient(90deg, #e1ddbe, #9e876c);
  background: -webkit-linear-gradient(90deg, #e1ddbe, #9e876c);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-right: 1.3rem;
  font-size: 0.6em;
  vertical-align: 4px;
}
.worry_dot {
  background: top left / 1em 0.5em repeat-x
    radial-gradient(circle, #fff 0.09em, rgba(0, 0, 0, 0) 0.06em);
  padding-top: 0.2em;
}
.worry_ask {
  background: #ebe7e2;
  box-shadow: 0px 2px 10px #222;
  padding: 5rem 4rem;
}
.worry_ask p {
  letter-spacing: -0.03em;
  line-height: 2em;
}
.worry_ask img {
  width: 16.1rem;
  position: absolute;
  bottom: -6.8rem;
  right: 3.2rem;
}
.worry_ask ::before,
.worry_ask ::after {
  content: "";
  width: 4.5rem;
  height: 4.5rem;
  position: absolute;
}
.worry_ask ::before {
  border-left: solid 0.3rem;
  border-top: solid 0.3rem;
  border-image: linear-gradient(to right, #e1ddbe, #9e876c) 1;
  top: -2rem;
  left: -2rem;
}
.worry_ask ::after {
  border-right: solid 0.3rem;
  border-bottom: solid 0.3rem;
  border-image: linear-gradient(to bottom, #e1ddbe, #9e876c) 1;
  bottom: -2rem;
  right: -2rem;
}
.worry_greentxt {
  background-color: #414d23;
  padding: 1.5rem 0.7rem 1.2rem;
}
.worry_setumei {
  position: relative;
  display: inline-block;
  padding: 0 2rem;
  line-height: 1.5em;
}
.worry_setumei:before,
.worry_setumei:after {
  content: "";
  position: absolute;
  bottom: 5rem;
  width: 8rem;
  height: 1.4px;
  background-color: #2c1b0b;
}
.worry_setumei:before {
  left: -3rem;
  -webkit-transform: rotate(68deg);
  transform: rotate(68deg);
}
.worry_setumei:after {
  right: -3rem;
  -webkit-transform: rotate(-68deg);
  transform: rotate(-68deg);
}

/* -----------------------------------------------------------
筋膜とは？
------------------------------------------------------------- */
.about_wrap {
  background-image: url("../imgs/about_bg.webp");
  background-size: contain;
  padding-top: 21rem;
  padding-bottom: 3rem;
}
.about_wrap:before {
  content: "";
  position: absolute;
  height: 9.5rem;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-color: #fff;
  background-image: url("../imgs/dot_bg.webp");
  background-size: contain;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
.about_box {
  border: 2px solid #414d23;
  padding: 10rem 4rem 5rem;
}
.about_box_title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  background-image: url("../imgs/about_bg.webp");
  background-size: contain;
  width: 95%;
  line-height: 2.2em;
}
.about_fukidasi {
  background: #fff;
  box-shadow: 0px 0px 15px rgba(34, 34, 34, 0.25);
  padding: 7.5rem 4rem 4rem;
}
.about_fukidasi_title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  border-radius: 3.75rem;
  width: 51rem;
  height: 7.5rem;
  line-height: 7rem;
}
.about_fukidasi_title:after {
  content: "";
  position: absolute;
  height: 2.2rem;
  width: 4.4rem;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  left: 50%;
  transform: translateX(-50%);
  top: 7.4rem;
}
.about_fukidasi_kenkou,
.about_fukidasi_kenkou:after {
  background-color: #ccab64;
}
.about_fukidasi_fukenkou,
.about_fukidasi_fukenkou:after {
  background-color: #545544;
}
.about_wrap:after {
  content: "";
  position: absolute;
  height: 18rem;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-image: url("../imgs/about_bg.webp");
  background-size: contain;
  left: 50%;
  transform: translateX(-50%);
  bottom: -18rem;
  z-index: 1;
}
.genin_wrap {
  background: rgba(40, 47, 25, 0.75);
  background-image: url("../imgs/dot_bg.webp");
  background-size: contain;
  padding-bottom: 8rem;
}
.genin_title {
  z-index: 2;
  position: inherit;
  line-height: 1.4em;
}
.genin_cause {
  z-index: 2;
  position: inherit;
  background: #fff;
  padding: 0.2rem 0 1rem 4rem;
  margin: 2.4rem auto 0;
  max-width: 59rem;
}
.genin_cause img {
  margin-right: 2.2rem;
  width: 12.9rem;
}
.genin_henka {
  background: linear-gradient(
    180deg,
    #e2cc9c 0%,
    #c59939 28%,
    #ffffff 53%,
    #c59939 100%
  );
  padding: 2rem 1.5rem 9rem;
}
.genin_henka_nexus {
  background: #fff;
  padding: 5rem 4rem 22rem;
}
.genin_henka_img {
  position: absolute;
  bottom: -8.4rem;
  width: 100%;
  left: 0;
  z-index: 1;
}
.genin_henka_nexus:after {
  content: "";
  position: absolute;
  height: 8.4rem;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background: #fff;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8.4rem;
}
.genin_henka_list img {
  width: 12rem;
  margin-right: 1rem;
}
.genin_henka_list p {
  line-height: 1.4em;
}
@media (max-width: 550px) {
  .genin_henka_nexus {
    padding: 5rem 4rem 30rem;
  }
  .genin_henka_img {
    bottom: -10rem;
  }
}
@media (max-width: 400px) {
  .genin_henka_nexus {
    padding: 5rem 4rem 22rem;
  }
  .genin_henka_img {
    bottom: -9rem;
  }
}

/* -----------------------------------------------------------
施術の流れ
------------------------------------------------------------- */
.flow_wrap {
  background-image: url(../imgs/dot_bg.webp);
  background-color: #fff;
  background-size: contain;
  padding-bottom: 9.2rem;
}
.flow_box {
  box-shadow: 0px 0px 15px rgba(34, 34, 34, 0.15);
}
.flow_title {
  background: #2c1b0b;
  padding: 1.4rem;
}
.flow_title p span {
  color: #2c1b0b;
  font-size: 5.4rem;
  background: #fff;
  width: 8rem;
  height: 8rem;
  display: inline-block;
  text-align: center;
  line-height: 8rem;
  margin-right: 1.4rem;
  vertical-align: sub;
}
.flow_txt {
  background: #fff;
  padding: 3.4rem 4rem;
}
.flow_txt span {
  font-weight: bold;
  color: #c59939;
}
.flow_arrow {
  color: #2c1b0b;
  width: 6rem;
  height: 6rem;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: translateY(-25%) rotate(135deg);
  margin: 2rem auto;
}
.note_wrap {
  background: #ebe7e2;
  padding-top: 5.4rem;
  padding-bottom: 7.5rem;
}
.note_title:before,
.note_title:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #2c1b0b;
}
.note_title:before {
  margin-right: 2rem;
}
.note_title:after {
  margin-left: 2rem;
}
.note_box {
  background: linear-gradient(135deg, transparent 15px, #fff 0) top left,
    linear-gradient(-135deg, transparent 15px, #fff 0) top right,
    linear-gradient(-45deg, transparent 15px, #fff 0) bottom right,
    linear-gradient(45deg, transparent 15px, #fff 0) bottom left;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  padding: 3rem 0 3rem 10rem;
  line-height: 2;
}
.note_daiya {
  background: linear-gradient(90deg, #cca653, #f2eada);
  background: -webkit-linear-gradient(90deg, #cca653, #f2eada);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-right: 1.3rem;
  font-size: 0.4em;
  vertical-align: 6px;
}

.soudan_wrap {
  background: linear-gradient(
    180deg,
    #e2cc9c 0%,
    #fff 24%,
    #c59939 63%,
    #694902 100%
  );
  padding-top: 7rem;
  padding-bottom: 4.8rem;
}
.soudan_border {
  position: absolute;
  top: -4rem;
  right: 50%;
  background: #2f1a08;
  width: 0.2rem;
  height: 8rem;
}
.soudan_txt {
  background: #fff;
  padding: 3rem 4rem;
}
.soudan_man {
  position: absolute;
  bottom: 0;
  right: 3.2rem;
  width: 31rem;
}
@media (max-width: 550px) {
  .soudan_wrap {
    padding-bottom: 8rem;
  }
}

/* -----------------------------------------------------------
お店のこだわり
------------------------------------------------------------- */
.point_wrap {
  background-image: url(../imgs/fv_bg.webp), url(../imgs/washi_bg.webp);
  background-repeat: no-repeat, repeat-y;
  background-size: contain;
  padding-top: 17rem;
  padding-bottom: 8rem;
}
.point_title_wrap {
  position: absolute;
  top: -18rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.point_txt {
  background: #fff;
  padding: 7rem 4rem;
}
.point_txt span {
  font-weight: bold;
  color: #c59939;
}
.point_omise_title {
  margin-top: 8rem;
  background-image: url(../imgs/point_omise_dot.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.point_card {
  max-width: 59rem;
  margin: 0 auto 2rem;
}
.slick-track {
  padding-bottom: 10px;
}
.slick-arrow {
  z-index: 1;
}
.slick-arrow:before {
  content: "";
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 50%;
  /* z-index: 1; */
  transform: translateY(-50%);
  opacity: 1;
}
.slick-next {
  right: 0;
}
.slick-prev {
  left: 0;
}
.slick-next:before {
  background: url(../imgs/arrow_r.webp) !important;
  background-size: contain !important;
  right: 0;
}
.slick-prev:before {
  background: url(../imgs/arrow_l.webp) !important;
  background-size: contain !important;
  left: 3rem;
}
.slick-dots li {
  margin: 0 2rem;
}
.slick-dots li button::before {
  font-size: 2.4rem;
}
.slick-dots li button::before {
  color: #fff;
  opacity: 1;
}
.slick-dots li.slick-active button::before {
  color: #414d23;
}
.point_access {
  margin-top: 10rem;
  background: #fff;
  padding: 3rem 4rem 5rem;
  border-radius: 1.5rem;
}
.point_access_title:after {
  content: "";
  width: 5.6rem;
  height: 0.5rem;
  display: inline-block;
  background-color: #414d23;
  position: absolute;
  bottom: -10px;
  left: calc(50% - 2.8rem);
}
.point_fukidasi {
  background: #ebe7e2;
  padding: 7.5rem 4rem 4.4rem;
  border-radius: 1rem;
}
.point_fukidasi_title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  border-radius: 3.65rem;
  width: 33rem;
  height: 7.3rem;
  line-height: 6.8rem;
  background: #2c1b0b;
}
.point_fukidasi_title:after {
  content: "";
  position: absolute;
  height: 2.5rem;
  width: 3.6rem;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  left: 50%;
  transform: translateX(-50%);
  top: 6.8rem;
  background: #2c1b0b;
}

/* -----------------------------------------------------------
推薦者の声
------------------------------------------------------------- */
.recommend_wrap {
  background-image: url(../imgs/dot_bg.webp);
  background-color: #fff;
  background-size: contain;
  padding-bottom: 8rem;
}
.recommend_pic::before,
.recommend_pic::after {
  content: "";
  width: 4.5rem;
  height: 4.5rem;
  position: absolute;
}
.recommend_pic::before {
  border-left: solid 0.3rem;
  border-top: solid 0.3rem;
  border-image: linear-gradient(to right, #e1ddbe, #9e876c) 1;
  top: -1rem;
  left: -1rem;
}
.recommend_pic::after {
  border-right: solid 0.3rem;
  border-bottom: solid 0.3rem;
  border-image: linear-gradient(to bottom, #e1ddbe, #9e876c) 1;
  bottom: -1rem;
  right: -1rem;
}
.voice_wrap {
  background-image: url(../imgs/voice_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 5rem;
}
.voice_wrap:after {
  content: "";
  position: absolute;
  height: 8.1rem;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-color: #2b1606;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8rem;
  z-index: 1;
}
.voice_title {
  background-image: url(../imgs/voice_title.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.voice_card {
  background: #fff;
  border-radius: 2rem;
  padding: 2.7rem 3rem;
}
.voice_card img {
  width: 18rem;
  margin: 1rem;
}
.voice_card p span {
  color: #c59939;
  font-weight: bold;
}
.voice_bottom_wrap {
  background-image: url(../imgs/washi_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 12.8rem;
  padding-bottom: 6.4rem;
}

/* -----------------------------------------------------------
よくある質問
------------------------------------------------------------- */
.faq_wrap {
  background-color: #fff;
}
.faq_box {
  padding: 4.2rem 0;
  border-top: 0.2rem solid rgba(44, 27, 11, 0.5);
}
.faq_q {
  background: #414d23;
  border-radius: 50%;
  width: 6.4rem;
  height: 6.4rem;
  line-height: initial;
  margin-right: 1.8rem;
}
.faq_a {
  width: 6.4rem;
  height: 6.4rem;
  line-height: initial;
  margin-right: 1.8rem;
}
.faq_txt {
  max-width: 59rem;
}
@media (max-width: 550px) {
  .faq_txt {
    max-width: 88%;
  }
}

/* -----------------------------------------------------------
スタッフ紹介
------------------------------------------------------------- */
.staff_wrap {
  background-image: url(../imgs/washi_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 5rem;
}
.staff_name {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -6rem;
  background: #fff;
  padding: 0.4rem 3.4rem;
  white-space: nowrap;
}
.staff_txt {
  margin-top: 7.1rem;
}
.sentaku_wrap {
  background: linear-gradient(180deg, #414d23 0%, #262d15 100%);
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.sentaku_fukidasi {
  background: linear-gradient(
    -70deg,
    #c59939 0%,
    #f1e9d8 34%,
    #ffffff 50%,
    #f1e9d8 67%,
    #c59939 100%
  );
  padding: 4rem 0;
  border-radius: 20rem;
  letter-spacing: -0.04em;
  line-height: 1.4;
}
.sentaku_fukidasi:after {
  content: "";
  position: absolute;
  height: 3rem;
  width: 5rem;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  left: 50%;
  transform: translateX(-50%);
  bottom: -3rem;
  background: #fff;
  background: linear-gradient(-70deg, #f1e9d8 0%, #ffffff 50%, #f1e9d8 100%);
}
.sentaku_txt {
  padding: 3.2rem 4rem;
  border: 1px solid;
  border-image: linear-gradient(
      -70deg,
      #c59939 0%,
      #f1e9d8 34%,
      #ffffff 50%,
      #f1e9d8 67%,
      #c59939 100%
    )
    1;
}

/* -----------------------------------------------------------
価格
------------------------------------------------------------- */
.price_wrap {
  background-image: url(../imgs/dot_bg.webp);
  background-color: #fff;
  background-size: cover;
  padding-top: 8.5rem;
  padding-bottom: 6.1rem;
}
.price_title {
  background: #2c1b0b;
  width: 100%;
  padding: 1.8rem 0;
  background-image: url(../imgs/price_title.png);
  background-repeat: no-repeat;
  background-size: 92%;
  background-position: center;
}
.price_imadake_wrap {
  background: linear-gradient(
    -70deg,
    #c59939 0%,
    #f1e9d8 34%,
    #ffffff 50%,
    #f1e9d8 67%,
    #c59939 100%
  );
  padding: 7.4rem 4rem 4.4rem;
  margin-top: 7rem;
}
.price_imadake_fukidasi {
  background: #414d23;
  border-radius: 5rem;
  padding: 0 6.3rem;
  position: absolute;
  top: -4rem;
  left: 50%;
  transform: translateX(-50%);
}
.price_imadake_fukidasi:after {
  content: "";
  position: absolute;
  height: 3rem;
  width: 6rem;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  left: 50%;
  transform: translateX(-50%);
  bottom: -2rem;
  background: #414d23;
}
.price_imadake_tokubetu {
  background-image: url(../imgs/price_imadake_tokubetu.png);
  background-repeat: no-repeat;
  background-size: 74%;
  background-position: center;
  line-height: 1.4;
}
.price_imadake_tokubetu span {
  background: top left / 1em 0.5em repeat-x
    radial-gradient(circle, #2c1b0b 0.09em, rgba(0, 0, 0, 0) 0.06em);
  padding-top: 0.2em;
}
.price_imadake_white {
  background: #fff;
  padding: 3.2rem 11rem;
}
.price_imadake_white p {
  line-height: 1.3;
  margin: 2rem 0;
}
.price_imadake_daiya {
  background: linear-gradient(90deg, #f2eada, #cca653);
  background: -webkit-linear-gradient(90deg, #f2eada, #cca653);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-right: 1.3rem;
  font-size: 0.6em;
  vertical-align: 4px;
}
.price_imadake_brown {
  background: #2c1b0b;
  padding: 0.9rem 0 1.2rem;
  line-height: 1.4;
}
.price_kanyuu_fukidasi {
  background-image: url(../imgs/price_kanyu.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 14rem;
  padding: 0.3rem 0 0 3rem;
}
.price_green_wrap {
  background: #414d23;
  padding-top: 6.2rem;
  padding-bottom: 7.3rem;
}
.price_brown_wrap {
  background: #2c1b0b;
  padding-top: 4.2rem;
  padding-bottom: 1rem;
}
.price_brown_tyuusyaku {
  color: #d9d9d9;
  font-size: 2.8rem;
}
.price_brown_title:before,
.price_brown_title:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #fff;
}
.price_brown_title:before {
  margin-right: 2rem;
}
.price_brown_title:after {
  margin-left: 2rem;
}

.kikkake_wrap {
  background-image: url(../imgs/dot_bg.webp);
  background-color: #fff;
  background-size: cover;
  padding-top: 6.7rem;
  padding-bottom: 10rem;
}
.kikkake_box {
  padding: 3.4rem 0;
  border: 1px solid #2c1b0b;
  max-width: 59rem;
}
.kikkake_dot {
  background: top left / 1em 0.5em repeat-x
    radial-gradient(circle, #2c1b0b 0.09em, rgba(0, 0, 0, 0) 0.06em);
  padding-top: 0.2em;
}

/* -----------------------------------------------------------
フッター
------------------------------------------------------------- */
footer {
  background: linear-gradient(180deg, #e2cc9c, #c59939);
  padding: 5rem 0;
}

/* ===============================
   下部固定 2ボタン（nx-名前空間：最終整理版）
   =============================== */

/* ラッパー：SP幅をPCでも適用する */
.nx-fixbar {
  /* SPキャンバス幅（.content 440pxに合わせています。必要なら 375/390/414 に変更） */
  --nx-spw: 440px;

  /* バナー本体 */
  --nx-bg: #414d23; /* バー背景：緑 */
  --nx-border-soft: rgba(255, 255, 255, 0.35);
  --nx-space: 120px; /* 本文の下余白用スペーサー高さ見込み */

  /* ボタン配色トークン */
  --nx-txt-dark: #2b3a1d;
  --nx-tel-grad-top: #f2f5ee;
  --nx-tel-grad-bottom: #e8efe2;
  --nx-tel-border: #cbd5bf;
  --nx-res-grad-top: #f3ead9;
  --nx-res-grad-bottom: #efe2c7;
  --nx-res-border: #d8cbb0;

  position: fixed;
  bottom: 0;
  z-index: 9999;
  padding: max(10px, env(safe-area-inset-bottom)) 0 10px;
  pointer-events: none;

  /* モバイル初期値：全幅固定 */
  left: 0;
  width: 100vw;

  /* 表示/非表示トランジション & デフォルト非表示（下に退避） */
  transition: transform 0.24s ease, opacity 0.24s ease;
  will-change: transform, opacity;
  opacity: 0;
  transform: translateY(100%);
}

/* 表示状態（当初の .fixed 相当） */
.nx-fixbar.nx-show {
  opacity: 1;
  transform: none;
}

/* 最下部で退避（フッター見えたとき） */
.nx-fixbar.nx-hide {
  transform: translateY(
    calc(100% + max(10px, env(safe-area-inset-bottom)) + 12px)
  );
  opacity: 0;
  pointer-events: none;
}

/* PC配置：スマホ幅のまま“中心→右側”に配置 */
@media (min-width: 551px) {
  .nx-fixbar {
    left: 50vw;
    width: var(--nx-spw);
    transform: none;
  }
}
/* 1000px以下は中央合わせ（サイトの .content と同じ挙動） */
@media (max-width: 1000px) and (min-width: 551px) {
  .nx-fixbar {
    left: 50%;
    transform: translateX(-50%);
  }
}
/* 1200px以下は“少し左寄せ”。既存レイアウトの 44% ルールに追従 */
@media (max-width: 1200px) and (min-width: 1001px) {
  .nx-fixbar {
    left: 44vw;
    transform: none;
  }
}

/* 内箱（バー本体：緑／角0） */
.nx-fixbar-inner {
  pointer-events: auto; /* クリック有効 */
  width: 100%;
  margin: 0 auto;
  background: var(--nx-bg);
  border-radius: 0; /* バーは角0 */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  padding: 12px 20px; /* 余白ひろめ */
  display: flex;
  gap: 12px; /* ボタン間隔 */
  align-items: center;
  justify-content: center;
}
/* @media (max-width: 550px) {
  .nx-fixbar-inner {
    padding: 12px 20px;
    gap: 10px;
  }
} */

/* ボタン共通（角丸10px、フォントpx指定で9px化対策） */
.nx-fixbtn {
  flex: 1 1 0%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 14px 18px;
  min-height: 52px;
  border-radius: 5px; /* 角丸 */
  background: transparent; /* 個別で色を付ける */
  border: 1px solid var(--nx-border-soft);
  text-decoration: none;
  color: #fff; /* デフォルト。個別で上書き */
  white-space: nowrap;
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

.nx-fixbtn .nx-label {
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}
.nx-fixbtn .nx-label small {
  font-size: 14px;
  font-weight: 600;
}

/* グローバル a:hover {opacity:.7} を無効化 */
.nx-fixbtn:hover {
  opacity: 1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.nx-fixbtn:active {
  transform: translateY(1px);
}

/* 配色：左=薄グリーン / 右=薄ベージュ */
.nx-fixbtn--tel {
  background: linear-gradient(
    var(--nx-tel-grad-top),
    var(--nx-tel-grad-bottom)
  );
  color: var(--nx-txt-dark);
  border-color: var(--nx-tel-border);
}


.nx-fixbtn--reserve {
  background: linear-gradient(
    var(--nx-res-grad-top),
    var(--nx-res-grad-bottom)
  );
  color: var(--nx-txt-dark);
  border-color: var(--nx-res-border);
}


/* 幅バランス：電話 60% / 予約 40%（極狭端末は50/50へ） */
.nx-fixbtn--tel {
  flex: 0 0 60%;
}
.nx-fixbtn--reserve {
  flex: 0 0 40%;
}
@media (max-width: 360px) {
  .nx-fixbtn--tel,
  .nx-fixbtn--reserve {
    flex: 1 1 0;
  }
}

/* 本文の隠れ防止：専用スペーサー */
.nx-fixbar-spacer {
  height: var(--nx-space);
}

/* ※縦積みが必要になったら下を有効化
@media (max-width: 550px){
  .nx-fixbar-inner{ flex-direction: column; }
  .nx-fixbtn{ width: 100%; justify-content: center; }
  .nx-fixbar{ --nx-space: 130px; }
}
*/
/* 画像SVG用のアイコンサイズ指定（色はSVG側の色を使用） */
.nx-fixbtn .nx-icon{
  display: block;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}

/* ラベルの余白を微調整（アイコンと文字の間） */
.nx-fixbtn .nx-label{ margin-left: .2rem; }

/* グローバルの img による下揃えズレ対策 */
.nx-fixbtn .nx-icon{ vertical-align: middle; }
