@charset "UTF-8";

/**
 * layer.css
 *
 * # 下層共通パーツ
 * # 運営者情報
 * # コラム一覧
 * # 404
 * # 家づくりオンライン相談
 * # ご予約フォーム
 * # チャットフォーム
 * # 感想アンケートフォーム
 *
*/


/* ==========================================================================
   # 下層共通パーツ
   ========================================================================== */
/* 赤字 */
.point-txt01 { color: #f52929; }

/* 赤太字 */
.point-txt02 {
  font-family: NotoSansJP-bold;
  color: #f52929;
}

/* 太字＋黄色マーカー */
.point-txt03 {
  font-family: NotoSansJP-bold;
  background: linear-gradient(transparent 70%, #fff400 0%);
}


/* ==========================================================================
   # 運営者情報
   ========================================================================== */
.l-layer-ttl {
  padding: 5.797vw 0 2.415vw;
  background-color: #fffdf8;
  border-top: 1px solid #eaeed9;
  border-bottom: 1px solid #eaeed9;
}

.layer-ttl {
  padding: 0 4.831vw;
  margin-bottom: 0.966vw;
  font-family: NotoSansJP-bold;
  font-size: 6.039vw;
  line-height: 1.6;
  font-weight: normal;
  color: #537b4a;
}

.layer-date {
  padding: 0 3.623vw;
  text-align: right;
  font-size: 3.14vw;
  line-height: 1;
  color: #d2cbc2;
}

.layer-contents {
  padding: 0 4.831vw 12.077vw;
}

.layer-contents p {
  margin: 0 0 6.763vw;
  font-size: 3.382vw;
  line-height: 2;
}

.layer-contents > p:first-child {
  margin-top: 5.556vw;
}

.layer-headline01 {
  margin: 10.667vw -4.831vw 6.667vw;
  padding: 6.039vw 4.831vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.348vw;
  line-height: 1.4;
  color: #fff;
  background-color: #537b4a;
}

.layer-contents > .layer-headline01:first-child {
  margin-top: 0;
}

.layer-headline02 {
  margin: 10.667vw 0 3.623vw;
  padding-bottom: 2.667vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.348vw;
  line-height: 1.4;
  color: #537b4a;
  border-bottom: 1.5px dotted #cbd98e;
}

.layer-headline01 + .layer-headline02 {
  margin-top: 0;
}

.layer-headline03 {
  margin: 10.667vw 0 3.623vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1.3;
}

.layer-mainimg {
  margin: 0 -4.831vw 7.246vw;
}

.layer-headline01 +.layer-mainimg {
  margin-top: -6.667vw;
}

.layer-img {
  margin: 0 0 7.246vw;
}

.layer-img img {
  border-radius: 1.208vw;
}

.layer-img-cap {
  margin-top: 1.932vw;
  font-family: "NotoSansJP-medium";
  text-align: center;
  font-size: 3.14vw;
  line-height: 1.4;
  color: #b1a690;
}


/* 吹き出し
----------------------- */
.layer-balloon {
  position: relative;
  width: 70.048vw;
  margin: 0 0 7.246vw;
  border: 1.5px solid #e5e5e5;
  background-color: #fff;
  border-radius: 1.208vw;
}

.layer-balloon:before {
  content: "";
  position: absolute;
  top: 4.831vw;
  right: -2.657vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.57vw 0 1.57vw 2.657vw;
  border-color: transparent transparent transparent #e5e5e5;
}

.layer-balloon:after {
  content: "";
  position: absolute;
  top: 4.831vw;
  right: -1.932vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.57vw 0 1.57vw 2.657vw;
  border-color: transparent transparent transparent #fff;
}

/* 吹き出しのテキスト */
.layer-balloon p {
  margin: 3.623vw 0;
  padding: 0 4.348vw;
  font-size: 3.382vw;
  line-height: 1.8;
}

.layer-balloon-people {
  position: absolute;
  top: 1.208vw;
  right: -21.256vw;
  width: 19.324vw;
  text-align: center;
}

.layer-balloon-pic {
  width: 12.077vw;
  margin-bottom: 1.208vw;
}

.layer-balloon-name {
  font-size: 2.899vw;
  line-height: 1.3;
  letter-spacing: normal;
  color: #537b4a;
}


/* ulリスト（囲いあり）
----------------------- */
.layer-list-ul {
  margin-bottom: 7.246vw;
  padding: 6.039vw 4.831vw 7.246vw;
  font-size: 3.382vw;
  line-height: 1.6;
  background-color: #fcf9ee;
  border-radius: 1.208vw;
}

.layer-list-ul li {
  position: relative;
  padding-left: 4.348vw;
}

.layer-list-ul li:before {
  content: "";
  position: absolute;
  top: 2.174vw;
  left: 1.449vw;
  width: 0.966vw;
  height: 0.966vw;
  background-color: #a2bf1f;
  border-radius: 50%;
}

.layer-list-ul li + li {
  margin-top: 1.691vw;
}


/* olリスト（囲いあり）
----------------------- */
.layer-list-ol {
  list-style: none;
  counter-reset: number;
  margin-bottom: 7.246vw;
  padding: 6.039vw 4.831vw 7.246vw;
  font-size: 3.382vw;
  line-height: 1.6;
  background-color: #fcf9ee;
  border-radius: 1.208vw;
}

.layer-list-ol li {
  position: relative;
  padding-left: 5.314vw;
}

.layer-list-ol li:before {
  counter-increment: number;
  content: counter(number) ".";
  position: absolute;
  top: 0.725vw;
  left: 0;
  font-family: "Roboto-bold";
  font-size: 4.106vw;
  line-height: 1;
  color: #a2bf1f;
}

.layer-list-ol li + li {
  margin-top: 3.623vw;
}

/* 10個目以降の場合 */
.layer-list-ol li:nth-child(n + 10) {
  padding-left: 7.971vw;
}

/* リストの中にさらにテキストがある時（/about/で使用） */
.layer-list-ol li:last-child p {
  margin: 0;
}

.layer-list-ol li p {
  margin: 1.932vw 0 6.763vw -4.831vw;
}


/* 専門家のプロフィール
----------------------- */
.detail-expert {
  margin: 7.246vw 0 12.077vw;
  padding: 3.382vw 4.106vw 7.246vw;
  background-color: #fffdf8;
  border-radius: 1.208vw;
  border: 1.5px solid #a8c909;
}

.detail-expert-ttl {
  margin-bottom: 4.831vw;
  padding: 1.932vw 0;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.106vw;
  line-height: 1.4;
  border-bottom: 1px dotted #a3bf1c;
}

.detail-expert-head {
  display: flex;
  align-items: center;
  margin-bottom: 4.831vw;
}

.detail-expert-pic {
  width: 20.531vw;
  border-radius: 1.208vw;
}

.detail-expert-head-inner {
  padding-left: 4.348vw;
}

.detail-expert-belong {
  margin-bottom: 2.415vw;
  font-size: 3.14vw;
  line-height: 1;
}

.detail-expert-name {
  margin-bottom: 3.865vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.106vw;
  line-height: 1;
}

.detail-expert-link {
  font-size: 3.14vw;
  line-height: 1;
}

.detail-expert-link li {
  position: relative;
  padding-left: 2.415vw;
  margin-top: 2.415vw;
}

.detail-expert-link li:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.845vw 0 0.845vw 0.966vw;
  border-color: transparent transparent transparent #a2bf1f;
}

.detail-expert-link li+li {
  margin-top: 2.415vw;
}

.detail-expert-link a {
  color: #a2bf1f;
  text-decoration: none;
}

p.detail-expert-txt {
  margin-bottom: 6.28vw;
  font-size: 3.382vw;
  line-height: 1.85;
}

.detail-expert-headline {
  margin-bottom: 3.623vw;
  padding: 1.932vw 0;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1.4;
  border-bottom: 1px dotted #a3bf1c;
}

.detail-expert-media {
  margin-bottom: 2.415vw;
  padding: 0 1.691vw;
}

.detail-expert-movie-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 4.831vw;
}

.detail-expert-movie-list li {
  width: calc(calc(100% - 3.14vw)/2);
  margin-bottom: 3.14vw;
  font-size: 3.14vw;
  line-height: 1.3;
}

.detail-expert-movie-list a {
  display: block;
  color: #b1a690;
  text-decoration: none;
}

.detail-expert-movie-list li img {
  margin-bottom: 1.932vw;
}

.detail-expert-movie-list p {
  margin: 0;
  font-size: 3.14vw;
  line-height: 1.3;
}


/* 運営企業情報
----------------------- */
.about-table {
  width: 100%;
  margin-bottom: 7.246vw;
  border-collapse: collapse;
}

.about-table th,
.about-table td {
  padding: 4.348vw;
  font-weight: normal;
  font-size: 3.382vw;
  line-height: 1.8;
  border: 1px solid #e9e3d0;
}

.about-table th {
  background-color: #fcf9ee;
}

.about-table a {
  color: #412807;
}



/* ==========================================================================
   # コラム一覧
   ========================================================================== */
.l-columnlist {
  padding: 0 4.831vw;
  background-color: #fff;
}

/* タイトル
----------------------- */
.l-columnlist-ttl {
  margin: 0 -4.831vw 7.246vw;
  padding: 9.662vw 6.522vw;
  background: #74b8e7 url('../../images/article/bg_ttl_column_list.jpg') top center no-repeat;
  background-size: cover;
}

.columnlist-ttl-inner {
  padding: 6.763vw 0 5.797vw;
  text-align: center;
  background-color: rgba(255, 255, 255, .9);
  border-radius: 1.208vw;
  box-shadow: 0px 0px 28px 6px rgba(34, 34, 34, 0.18);
}

.columnlist-ttl {
  width: 72.705vw;
  margin: 0 auto 2.657vw;
}

.columnlist-subttl {
  font-size: 3.382vw;
  line-height: 1.57;
  letter-spacing: .04em;
}

/* 家づくりの流れ7ステップ
----------------------- */
.columnlist-step-headline {
  width: 65.217vw;
  margin: 0 auto 4.831vw;
}

.columnlist-step-list {
  list-style: none;
  margin: 0 0 13.768vw;
  padding: 0;
}

.columnlist-step-list li {
  position: relative;
  counter-increment: step-number;
  background-color: #f5f1e8;
  border-radius: 1.208vw;
}

.columnlist-step-list li + li {
  margin-top: 4.831vw;
}

.columnlist-step-list li:after {
  content: "";
  position: absolute;
  bottom: -3.382vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.691vw 1.691vw 0 1.691vw;
  border-color: #cbcbcb transparent transparent transparent;
}

.columnlist-step-list li:last-child:after {
  content: none;
}

.columnlist-step-list li a {
  position: relative;
  display: block;
  padding: 3.382vw 3.382vw 3.382vw 13.768vw;
  font-family: NotoSansJP-medium;
  font-weight: normal;
  font-size: 4.106vw;
  line-height: 1;
  color: #537b4a;
  text-decoration: underline 1px #537b4a;
  text-underline-offset: 0.725vw;
}

.columnlist-step-list li a:before {
  content: counter(step-number);
  position: absolute;
  top: 0;
  left: 0;
  width: 9.662vw;
  height: 100%;
  padding-top: 3.623vw;
  font-family: "Roboto-bold";
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1;
  text-align: center;
  color: #fff;
  background-color: #a2bf1f;
  border-radius: 1.208vw 0 0 1.208vw;
}

/* ステップの枠
----------------------- */
.step-section {
  margin-bottom: 14.493vw;
}

/* 各見出し
----------------------- */
.columnlist-headline01 {
  position: relative;
  margin: 0 -4.831vw 4.348vw;
  padding: 5.797vw 4.831vw 5.797vw 14.493vw;
  font-family: NotoSansJP-medium;
  font-weight: normal;
  font-size: 5.314vw;
  line-height: 1.3;
  letter-spacing: normal;
  color: #fff;
  background-color: #537b4a;
}

/* 検索結果のサイトリンクにナンバリングの数字が表示されてしまったので、消すためにcssで表示しています */
.columnlist-headline01::before {
  position: absolute;
  top: 0;
  left: 4.831vw;
  bottom: 0;
  margin: auto 0;
  width: 6.763vw;
  height: 6.763vw;
  padding-top: 0.483vw;
  font-family: "Roboto-bold";
  font-weight: normal;
  font-size: 4.831vw;
  text-align: center;
  color: #fff;
  background-color: #a2bf1f;
  border-radius: 0.604vw;
}

.columnlist-headline01.number01::before { content: "1"; }
.columnlist-headline01.number02::before { content: "2"; }
.columnlist-headline01.number03::before { content: "3"; }
.columnlist-headline01.number04::before { content: "4"; }
.columnlist-headline01.number05::before { content: "5"; }
.columnlist-headline01.number06::before { content: "6"; }
.columnlist-headline01.number07::before { content: "7"; }


.columnlist-headline02 {
  position: relative;
  margin-bottom: 5.314vw;
  padding: 1.932vw 0;
  font-family: NotoSansJP-medium;
  font-weight: normal;
  font-size: 4.106vw;
  line-height: 1.4;
  letter-spacing: normal;
  text-align: center;
  color: #537b4a;
  background-color: #f5f1e8;
  border-radius: 4.831vw;
}

.columnlist-headline02:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1.449vw;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.691vw 1.812vw 0 1.812vw;
  border-color: #f5f1e8 transparent transparent transparent;
}

/* 見出し下の説明文 */
.columnlist-txt {
  margin-bottom: 4.831vw;
  padding: 0 1.208vw;
  font-family: "NotoSansJP-medium";
  font-weight: normal;
  font-size: 3.623vw;
  line-height: 1.56;
  letter-spacing: 0.05em;
}

/* ピックアップ記事
----------------------- */
.columnlist-main {
  padding: 0 1.208vw;
  margin-bottom: 3.623vw;
}

.columnlist-main-link {
  display: block;
  text-decoration: none;
  color: #412807;
}

.columnlist-main-thumb {
  position: relative;
  width: 100%;
  height: 60.386vw;
  margin-bottom: 2.415vw;
  border-radius: 1.208vw;
  overflow: hidden;
}

.columnlist-main-thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.columnlist-main-ttl {
  margin-bottom: 2.415vw;
  font-family: NotoSansJP-bold;
  font-size: 4.348vw;
  line-height: 2;
  color: #537b4a;
  text-decoration: underline;
}

.columnlist-main-txt {
  font-size: 3.382vw;
  line-height: 1.8;
}

/* 記事リスト
----------------------- */
.columnlist-list {
  padding: 0 1.208vw;
}

.columnlist-list li {
  border-top: 1.5px dotted #bebebe;
}

.columnlist-item-link {
  display: flex;
  align-items: center;
  padding: 5.314vw 0;
}

.columnlist-item-thumb {
  position: relative;
  width: 22.947vw;
  height: 22.947vw;
  margin: 0 3.623vw 0 0.725vw;
  border-radius: 1.208vw;
  overflow: hidden;
  flex-shrink: 0;
}

.columnlist-item-thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.columnlist-item-ttl {
  font-family: NotoSansJP-bold;
  font-size: 3.623vw;
  line-height: 1.9;
  color: #537b4a;
  text-decoration: underline;
}

/* リストのもっと見るボタン
----------------------- */
.columnlist-more-btn {
  position: relative;
  display: block;
  width: 86.957vw;
  margin: 1.932vw auto 0;
  padding: 6.763vw 0;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 5.314vw;
  line-height: 1;
  color: #523106;
  text-align: center;
  background-color: #fff;
  border: 0.725vw solid #523106;
  border-radius: 10.145vw;
  box-shadow: 0 0.604vw #523106;
}

.columnlist-more-btn:before {
  content: "";
  position: absolute;
  top: 0;
  right: 3.865vw;
  bottom: 0;
  margin: auto 0;
  width: 8.454vw;
  height: 8.454vw;
  background: url('../../images/parts/ico_arrow_brown.png') center top no-repeat;
  background-size: 8.454vw;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  transform: rotate(90deg);
}

.columnlist-more-btn.close:before {
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

/* ==========================================================================
   # コラム一覧改修（2024.05.13）
   ========================================================================== */
.columnlist-renew {
  padding: 0;
}
/* たてまる紹介 */
.columnlist-ttl-v2 {
  font-size: 5.7971vw;
  line-height: 1;
  text-align: center;
  font-family: NotoSansJP-bold;
  color: #fff;
  background-color: #509408;
  padding: 7.24638vw 0;
}
.l-introduce {
  display: flex;
  align-items: center;
  padding: 6.03865vw 2.41546vw 6.03865vw 4.83092vw;
  background-color: #eae7de;
}
.introduce-balloon {
  width: 64.97585vw;
  background-color: #fff;
  letter-spacing: 0;
  padding: 6.03865vw 3.62319vw;
  border-radius: 3.62319vw;
}
.introduce-balloon p {
  font-size: 3.1401vw;
  line-height: 1.8;
}
.introduce-balloon p+p {
  margin-top: 2.41546vw;
}
.introduce-balloon p strong {
  font-family: NotoSansJP-bold;
}
.introduce-img {
  width: 27.77778vw;
}

/* 初心者用記事 */
.l-beginner {
  letter-spacing: 0;
  padding: 12.07729vw 4.83092vw;
}
.beginner-ttl {
  margin: 0 2.41546vw 7.24638vw;
}
.beginner-img-balloon {
  position: relative;
  font-size: 3.86473vw;
  line-height: 1;
  font-family: NotoSansJP-bold;
  text-align: center;
  color: #fff;
  background-color: #509408;
  padding: 2.41546vw 0;
  border-radius: 4.22705vw;
  margin-bottom: 2.41546vw;
}
.beginner-img-balloon::before {
  content: "";
  position: absolute;
  bottom: -1.20773vw;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #509408 transparent transparent transparent;
  border-width: 1.20773vw 1.20773vw 0 1.20773vw;
}
.beginner-link {
  display: block;
  color: none;
  text-decoration: none;
}
.beginner-img {
  display: block;
  margin-bottom: 4.83092vw;
}
.beginner-headline {
  font-size: 4.34783vw;
  line-height: 1.75;
  color: #509408;
  font-family: NotoSansJP-bold;
  text-decoration: underline;
  text-decoration-color: #509408;
  margin: 0 2.41546vw 3.62319vw;
}
.beginner-txt {
  font-size: 3.1401vw;
  line-height: 1.8;
  color: #333;
  margin: 0 2.41546vw;
}
.beginner-txt strong {
  font-family: NotoSansJP-bold;
}

/* コラム一覧CTA */
.l-columnlist-cta {
  position: relative;
  letter-spacing: 0;
  padding: 3.62319vw 4.83092vw 4.83092vw;
  background-color: #eae7de;
}
.l-columnlist-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  border-width: 2.41546vw 2.41546vw 0 2.41546vw;
}
.columnlist-cta-ttl {
  margin-left: 2.41546vw;
}
.columnlist-cta-wrap {
  padding: 6.03865vw 3.62319vw;
  background-color: #fff;
  border-radius: 3.62319vw;
}
.columnlist-cta-wrap + .columnlist-cta-wrap {
  margin-top: 3.22061vw;
}
.columnlist-cta-headline {
  font-size: 4.58937vw;
  line-height: 1;
  text-align: center;
  font-family: NotoSansJP-bold;
  margin-bottom: 2.41546vw;
  padding-bottom: 2.41546vw;
  border-bottom: 1px solid #ddd;
}
.columnlist-cta-headline .consul { color: #ff9718;}
.columnlist-cta-headline .shindan { color: #de2735;}
.columnlist-cta-txt {
  font-size: 3.1401vw;
  line-height: 1.8;
  color: #333;
  margin: 0 2.41546vw 4.83092vw;
}
.columnlist-cta-txt strong {
  font-family: NotoSansJP-bold;
}

/* カテゴリ分けブロック */
.columnlist-wrap {
  letter-spacing: 0;
  padding: 16.10306vw 6.44122vw 12.07729vw;
}
.columnlist-wrap + .columnlist-wrap {
  border-top: 1px solid #ccc;
}
.columnlist-wrap-ttl {
  position: relative;
  font-size: 5.7971vw;
  line-height: 1.25;
  font-family: NotoSansJP-bold;
  text-align: center;
  padding-bottom: 7.24638vw;
  margin-bottom: 4.83092vw;
}
.columnlist-wrap-ttl::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 3.1401vw;
  background: url('../../images/article/balloon_line_green.png') center top no-repeat;
  background-size: contain;
}
.columnlist-wrap-ttl .point {
  color: #509408;
}
.columnlist-wrap-balloon {
  position: relative;
  font-size: 3.98551vw;
  line-height: 1.5;
  font-family: NotoSansJP-bold;
  padding: 3.62319vw;
  margin: 0 20.77295vw 3.62319vw 0;
  background-color: #eae7de;
  border-radius: 3.62319vw;
}
.columnlist-wrap-balloon::before {
  content: "";
  position: absolute;
  top: 0;
  right: -20.77295vw;
  width: 20.77295vw;
  height: 19.2029vw;
  background: url('../../images/article/ico_balloon_tatemaru.png') center top no-repeat;
  background-size: contain;
}
.columnlist-wrap-txt {
  font-size: 3.38164vw;
  line-height: 1.8;
  color: #333;
  margin: 0 1.20773vw 6.03865vw;
}
.columnlist-wrap-txt strong {
  font-family: NotoSansJP-bold;
}
.columnlist-wrap .columnlist-list-v2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.columnlist-wrap .columnlist-list-v2 li {
  width: 41.54589vw;
  margin-bottom: 4.83092vw;
}
.columnlist-wrap .columnlist-list-v2 li a {
  color: #509408;
}
.columnlist-item-thumb-v2 {
  position: relative;
  width: 41.54589vw;
  height: 26.57005vw;
  margin: 0 0 1.81159vw 0;
  border-radius: 1.208vw;
  overflow: hidden;
}
.columnlist-item-thumb-v2 img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.columnlist-item-ttl-v2 {
  font-size: 3.86473vw;
  line-height: 1.5;
  font-family: NotoSansJP-bold;
}

/* コラム7ステップ */
.l-columnlist-step {
  letter-spacing: 0;
  padding: 12.07729vw 4.83092vw;
  background-color: #eae7de;
}
.columnlist-step-ttl-img {
  margin-left: -3.62319vw;
}
.columnlist-step-ttl-v2 {
  position: relative;
  font-size: 5.55556vw;
  line-height: 1.25;
  color: #509408;
  font-family: NotoSansJP-bold;
  text-align: center;
  padding-bottom: 7.24638vw;
  margin: -2.41546vw 0 4.83092vw;
}
.columnlist-step-ttl-v2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 3.1401vw;
  background: url('../../images/article/balloon_line_green.png') center top no-repeat;
  background-size: contain;
}
.columnlist-step-ttl-v2 .subttl {
  display: block;
  font-size: 4.10628vw;
  color: #333;
  margin-bottom: 2.41546vw;
}
.columnlist-step-txt-v2 {
  font-size: 3.38164vw;
  line-height: 1.8;
  margin: 0 2.41546vw 7.24638vw;
}

.columnlist-step-list-v2 {
  letter-spacing: 0;
  margin: 0 2.41546vw;
  padding: 0;
  list-style: none;
}
.columnlist-step-list-v2 .columnlist-step-list-item-v2 {
  position: relative;
  counter-increment: step-number;
}
.columnlist-step-list-v2 .columnlist-step-list-item-v2 + .columnlist-step-list-item-v2 {
  margin-top: 6.03865vw;
}
.columnlist-step-list-v2 .columnlist-step-list-item-v2 + .columnlist-step-list-item-v2::before {
  content: "";
  position: absolute;
  top: -3.62319vw;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #509408 transparent transparent transparent;
  border-width: 1.81159vw 1.81159vw 0 1.81159vw;
}

.columnlist-headline01-v2 {
  position: relative;
  padding: 4.83092vw 9.66184vw 4.83092vw 13.28502vw;
  font-family: NotoSansJP-medium;
  font-weight: normal;
  font-size: 3.38164vw;
  line-height: 1;
  text-decoration: underline;
  letter-spacing: normal;
  color: #509408;
  background-color: #fff;
  border-radius: 1.20773vw;
}
.columnlist-headline01-v2::before {
  content: counter(step-number);
  position: absolute;
  top: 0;
  left: 0;
  width: 9.66184vw;
  height: 13.28502vw;
  padding-top: 4.83092vw;
  font-family: "Roboto-bold";
  font-weight: normal;
  font-size: 4.831vw;
  text-align: center;
  color: #fff;
  background-color: #509408;
  border-radius: 1.20773vw 0 0 1.20773vw;
}
.columnlist-headline01-v2::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 4.83092vw;
  margin: auto;
  display: inline-block;
  vertical-align: middle;
  color: #aaa;
  line-height: 1;
  width: 2.41546vw;
  height: 2.41546vw;
  border: 0.48309vw solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  transition: .5s;
}
.columnlist-headline01-v2.active::after {
  transform: translateY(25%) rotate(-45deg);
}

.columnlist-step-wrap {
  padding: 7.24638vw 0;
}
.columnlist-step-wrap .columnlist-more-btn::before {
  transform: rotate(0deg);
}
.columnlist-step-wrap .columnlist-headline02 {
  background-color: #f7f5ef;
}
.columnlist-step-wrap .columnlist-headline02::before {
  border-color: #f7f5ef transparent transparent transparent;
}

.js-toggle-content {
  display: none;
}

/* カテゴリ別コラム一覧 */
.columnlist-list li + .columnlist-wrap-ttl {
  margin: 7.24638vw 0 0;
}
.columnlist-wrap-ttl + li {
border: none;
}


/* ==========================================================================
   # 404
   ========================================================================== */
.l-notfound-ttl {
  padding: 5.797vw 0;
  background-color: #fffdf8;
  border-top: 1px solid #eaeed9;
  border-bottom: 1px solid #eaeed9;
}

.notfound-ttl {
  padding: 0 4.831vw;
  font-family: NotoSansJP-bold;
  font-size: 5.556vw;
  line-height: 1.6;
  font-weight: normal;
  color: #537b4a;
}


/* ==========================================================================
   # 家づくりオンライン相談
   ========================================================================== */
/* # 家づくりオンライン相談LP
   ----------------------------------------------------------------- */
/* メインイメージ
----------------------- */
.l-consul-mainimg {
  padding: 11.111vw 0 4.831vw;
  background: #f8f6f2 url('../../images/consultation/bg_mainimg.png') 0 -12.077vw no-repeat;
  background-size: contain;
}

.consul-mainimg {
  margin-bottom: 8.454vw;
  text-align: center;
}

.consul-mainimg img {
  width: 85.749vw;
}

.consul-mainimg-staff {
  position: relative;
  padding-left: 4.831vw;
  margin-bottom: 5.314vw;
}

.consul-mainimg-staff-txt {
  position: absolute;
  top: 9.179vw;
  right: 1.208vw;
  font-size: 3.382vw;
  line-height: 1.57;
  letter-spacing: 0.04em;
}

.consul-mainimg-staff-name {
  position: absolute;
  bottom: 4.348vw;
  right: 9.662vw;
  font-size: 2.899vw;
  line-height: 1.5;
  font-family: NotoSansJP-bold;
  text-align: center;
  background-color: rgba(255, 255, 255, .8);
  width: 41.787vw;
  padding: 1.932vw 0;
  border-radius: 0.483vw;
}

.consul-mainimg-staff-name .main {
  font-size: 3.623vw;
}

.consul-mainimg-point {
  display: block;
  width: 91.304vw;
  margin: 0 auto 5.556vw;
}

/* CTA
----------------------- */
.l-consul-cta {
  padding: 0 0 11.594vw;
  background: url('../../images/consultation/bg_house.png') left bottom 3.382vw no-repeat;
  background-size: 100%;
}

.consul-cta-txt {
  display: block;
  width: 74.155vw;
  margin: 0 auto 2.415vw;
}

.consul-cta-btn {
  display: block;
  width: 86.715vw;
  margin: 0 auto;
}

.consul-cta-btn02 {
  display: block;
  width: 89.855vw;
  margin-left: 1.691vw;
}

/* 利用者の声
----------------------- */
.consul-voice {
  position: relative;
  margin-top: 4.831vw;
  padding-top: 30.193vw;
}

.consul-voice-ttl {
  position: absolute;
  top: 0;
  left: 0;
}

.consul-voice-list {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
  overflow-x: auto;
  margin: 0;
  padding: 7.246vw 0 7.246vw 4.831vw;
}

.consul-voice-list li {
  position: relative;
  width: 82.126vw;
  flex-shrink: 0;
  padding: 7.246vw 4.831vw;
  background: #fff url('../../images/consultation/bg_sand.png');
  background-size: 67.874vw 46.86vw;
  border-radius: 1.208vw;
  box-shadow: 0px 0px 22.72px 9.28px rgba(0, 0, 0, 0.08);
}

.consul-voice-list li+li {
  margin-left: 4.831vw;
}

.consul-voice-list li:last-child::after {
  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  height: 1px;
  width: 4.831vw;
  background-color: transparent;
}

.consul-voice-heading {
  display: block;
  width: auto;
  height: 10.145vw;
  margin: 0 auto 3.623vw;
}
.consul-voice-area {
  padding: 0 1.449vw;
  font-size: 3.382vw;
  margin-bottom: 1.208vw;
  color: #a2a2a2;
}
.consul-voice-txt {
  font-size: 3.382vw;
  padding: 0 1.449vw;
  background-color: #f8f8f8; /* 背景色 */
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #f8f8f8 50%, #f8f8f8 100%), /* 点線1の色 */
                    linear-gradient(180deg, #d4c8b5 0.242vw, transparent 0.242vw); /* 点線2の色と太さ */
  background-size: 0.725vw 100%, /* 点線1のサイズ */
                   100% 6.763vw; /* 点線2のサイズ */
  line-height: 6.763vw; /* 文字の高さ */
  padding-bottom: 0.242vw; /* 最終行の下にも罫線を引く */
}

/* 専門家に相談せずに家を建てようとしていませんか
----------------------- */
.l-consul-without {
  background: #f8f6f2 url('../../images/parts/bg_sand.png');
  background-size: 77.295vw 67.633vw;
}

.consul-without-ttl {
  padding-bottom: 5.797vw;
  background-color: #537b4a;
  border-radius: 6.039vw 6.039vw 0 0;
}

.consul-without-ttl img {
  width: 91.546vw;
  margin: -2.657vw 0 0 5.314vw;
}

.consul-without-inner {
  padding-top: 5.556vw;
  background-color: #fffee5;
  border: 1.449vw solid #537b4a;
  background-color: #f8f6f2;
  border-top: none;
}

.consul-staff {
  display: flex;
  align-items: flex-start;
  margin-bottom: 4.831vw;
  padding: 0 3.382vw 0 3.865vw;
}

.consul-staff-pic {
  width: 24.155vw;
  margin: 0.483vw 2.899vw 0 0;
  box-shadow: 0px 0px 11.7px 1.3px rgba(0, 0, 0, 0.08);
  border-radius: 1.208vw;
}

.consul-staff-body {
  position: relative;
  width: 100%;
  padding: 3.623vw 4.831vw;
  background-color: #fff;
  border: 0.483vw solid #dceb99;
  border-radius: 1.691vw;
}

.consul-staff-txt {
  font-size: 3.382vw;
  line-height: 1.7;
  letter-spacing: normal;
}

.consul-youtube-ttl {
  position: relative;
  width: 92.754vw;
  margin: 0 auto 1.932vw;
}

.consul-youtube-txt {
  margin: 0 3.623vw 2.899vw;
  font-size: 3.382vw;
  line-height: 1.7;
  letter-spacing: normal;
}

.consul-youtube-txt-youtube {
  position: absolute;
  top: 4.948vw;
  right: 3.906vw;
}

.consul-youtube-txt-ace {
  letter-spacing: normal;
  color: #101010;
  font-size: 1.432vw;
  line-height: 1.2;
}

.consul-youtube-txt-channnel {
  letter-spacing: normal;
  color: #626262;
  font-size: 1.432vw;
  line-height: 1.2;
}

.consul-staff-body:before {
  content: "";
  position: absolute;
  top: 12.077vw;
  left: -2.657vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.691vw 2.657vw 1.691vw 0;
  border-color: transparent #dceb99 transparent transparent;
}

.consul-staff-body:after {
  content: "";
  position: absolute;
  top: 12.077vw;
  left: -1.932vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.691vw 2.657vw 1.691vw 0;
  border-color: transparent #fff transparent transparent;
}

.consul-youtube-voice {
  height: 77.295vw;
  overflow-y: scroll;
  margin-bottom: 3.623vw;
  margin: 0 3.382vw 3.623vw;
  border: 2px solid #dceb99;
}

.consul-youtube-voice-list li {
  box-shadow: 0px 0px 11.7px 1.3px rgba(0, 0, 0, 0.08);
}

.consul-youtube-voice-list li+li {
  margin-top: 3.623vw;
}

.consul-without-comment {
  width: 93.478vw;
  margin-bottom: 3.865vw;
}

.consul-without-message {
  display: block;
  width: 92.754vw;
  margin: 0 auto 6.039vw;
}

.consul-txt {
  margin: 0 4.831vw 5.314vw;
  font-size: 3.382vw;
  line-height: 1.8;
}


/* たとえばこんなお悩みを解決できます
----------------------- */
.l-consul-worry {
  background-color: #f8f6f2;
}

.consul-worry-ttl {
  margin-bottom: 8.454vw;
}

.consul-worry-headline {
  position: relative;
  margin-bottom: 5.797vw;
  padding: 4.348vw 9.179vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  letter-spacing: 0.02em;
  font-size: 4.589vw;
  line-height: 1.421;
  color: #fff;
  background-color: #537b4a;
}

.consul-worry-item:first-of-type .consul-worry-headline:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1.208vw;
  width: 24.879vw;
  height: 31.643vw;
  background: url('../../images/consultation/img_people04.png') no-repeat;
  background-size: contain;
}
.consul-worry-item:nth-of-type(2) .consul-worry-headline:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -0.242vw;
  width: 27.295vw;
  height: 29.71vw;
  background: url('../../images/consultation/img_people05.png') no-repeat;
  background-size: contain;
}
.consul-worry-item:nth-of-type(3) .consul-worry-headline:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 27.778vw;
  height: 29.71vw;
  background: url('../../images/consultation/img_people06.png') no-repeat;
  background-size: contain;
}

.consul-worry-headline .number {
  position: absolute;
  top: 4.831vw;
  left: 0;
  width: 6.763vw;
  padding: 1.449vw 0;
  text-align: center;
  font-family: "Roboto-bold";
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1;
  color: #537b4a;
  background-color: #f8f6f2;
  border-radius: 0 1.208vw 1.208vw 0;
}

.consul-worry-catch {
  margin: 0 4.831vw 4.831vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1.7;
}

.consul-worry-catch02 {
  margin: 0 4.831vw 4.831vw;
  padding: 4.106vw 0;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  text-align: center;
  font-size: 4.106vw;
  line-height: 1.4;
  background-color: #dcf178;
  border-radius: 1.208vw;
}

.consul-box {
  margin: 0 4.831vw 7.246vw;
  background-color: #fff;
  border: 0.483vw solid #a3bf1c;
  border-radius: 1.208vw;
}

.consul-box-ttl {
  padding: 2.174vw 2.415vw 3.14vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  letter-spacing: normal;
  text-align: center;
  font-size: 3.865vw;
  line-height: 1.4;
  color: #fff;
  background-color: #a3bf1c;
}

.consul-support-item {
  display: block;
  width: 94.203vw;
  margin: 0 auto 3.623vw;
}

.consul-comparison-img {
  width: 82.609vw;
  margin: 2.899vw 0 6.039vw 2.899vw;
}

.consul-comparison-txt {
  position: relative;
  padding: 4.831vw 0 3.865vw 15.7vw;
  font-size: 3.14vw;
  line-height: 1.3;
  letter-spacing: 0.04em;
  background-color: #edf4cb;
  border-radius: 0 0 1.208vw 1.208vw;
}

.consul-comparison-txt:before {
  content: "";
  position: absolute;
  top: -1.449vw;
  left: -10.628vw;
  width: 23.913vw;
  height: 16.908vw;
  background: url('../../images/parts/img_chara02.png') no-repeat;
  background-size: contain;
  transform: rotate(5deg);
}

.consul-comparison-txt .main {
  font-family: NotoSansJP-bold;
  font-size: 3.623vw;
}

.consul-comparison-txt .point {
  font-size: 3.865vw;
  color: #537b4a;
  background: linear-gradient(transparent 70%, #fff400 0%);
}

.consul-comparison-txt .price {
  font-family: "Roboto-bold";
  font-size: 5.797vw;
}

.consul-comparison-balloon {
  position: absolute;
  top: -9.662vw;
  right: -5.314vw;
  width: 29.952vw;
}

.consul-summary {
  width: 95.169vw;
  margin: 0 0 4.348vw 4.831vw;
}

.consul-commnet-wrap {
  display: flex;
  padding: 0 4.831vw;
  margin-bottom: 4.831vw;
}

.consul-commnet-pic {
  width: 24.879vw;
}

.consul-commnet-txt {
  margin-left: 4.106vw;
  font-size: 3.382vw;
  line-height: 1.7;
}

.consul-support-list {
  margin: 4.831vw;
  font-size: 3.382vw;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.consul-support-list li {
  position: relative;
  padding-left: 4.348vw;
}

.consul-support-list li+li {
  margin-top: 2.415vw;
}

.consul-support-list li:before {
  content: "";
  position: absolute;
  top: 0.966vw;
  left: 0;
  width: 3.623vw;
  height: 2.899vw;
  background: url('../../images/consultation/ico_checkbox.png') no-repeat;
  background-size: contain;
}

/* おうちキャンバスから3つのお約束
----------------------- */
.l-consul-promise {
  margin: 2.415vw 4.831vw 15.7vw;
}

.consul-promise-ttl {
  width: 95.169vw;
  margin: 0 0 -1.449vw -4.831vw;
}

.consul-promise-list {
  list-style: none;
  margin: 0;
  padding: 3.623vw;
  font-size: 3.623vw;
  line-height: 1.5;
  text-align: center;
  background-color: #dceb99;
  border-radius: 0 0 1.208vw 1.208vw;
  box-shadow: 0px 0px 23px 0.48px rgba(74, 53, 11, 0.47);
}

.consul-promise-list li {
  min-height: 16.908vw;
  padding: 2.899vw;
  background-color: #fff;
  border-radius: 1.208vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}


.consul-promise-list li .point {
  font-family: NotoSansJP-bold;
  color: #f52929;
}

.consul-promise-list li+li {
  margin-top: 1.691vw;
}


/* Q&A
----------------------- */
.l-consul-qa {

}

.consul-qa-ttl {
  margin-bottom: 4.831vw;
  padding: 0 5.314vw;
}

.consul-qa-list {
  margin: 0 4.831vw 9.662vw;
}

.consul-qa-list li+li {
  margin-top: 2.899vw;
}

.consul-q-txt {
  position: relative;
  padding: 2.899vw 12.077vw 2.899vw 11.353vw;
  font-family: NotoSansJP-medium;
  font-weight: normal;
  font-size: 3.623vw;
  line-height: 1.5;
  background-color: #ede6d8;
  border-radius: 1.208vw;
}

.consul-q-txt:before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 2.899vw;
  bottom: 0;
  margin: auto;
  width: 6.039vw;
  height: 6.039vw;
  padding-top: 1.208vw;
  font-family: "Roboto-bold";
  font-weight: normal;
  text-align: center;
  font-size: 3.865vw;
  line-height: 1;
  color: #537b4a;
  border-radius: 50%;
  background-color: #fff;
}

.consul-a-txt {
  display: none;
  position: relative;
  padding: 2.899vw 2.415vw 2.899vw 11.353vw;
  font-size: 3.382vw;
  line-height: 2.1;
}

.consul-a-txt:before {
  content: "A";
  position: absolute;
  top: 3.382vw;
  left: 2.899vw;
  width: 6.039vw;
  height: 6.039vw;
  padding-top: 1.208vw;
  font-family: "Roboto-bold";
  font-weight: normal;
  text-align: center;
  font-size: 3.865vw;
  line-height: 1;
  color: #537b4a;
  border-radius: 50%;
  background-color: #f8f6f2;
}

/* アコーディオンのアイコン */
.consul-qa-toggle {
  position: absolute;
  right: 3.623vw;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 4.348vw;
  height: 4.348vw;
}

.consul-qa-toggle:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 0.483vw;
  background-color: #d8cfbc;
  border-radius: 1.208vw;
  transition: transform .4s;
}

.consul-qa-toggle:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.932vw;
  margin: auto;
  width: 0.483vw;
  height: 100%;
  background-color: #d8cfbc;
  border-radius: 1.208vw;
  transition: transform .4s;
}

.consul-qa-toggle.js-pa-close:before,
.consul-qa-toggle.js-pa-close:after {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  transform: rotate(135deg);
}


/* # 家づくりオンライン相談フォーム
   ----------------------------------------------------------------- */
/* 入力ページ
----------------------- */
.l-consul-form {
  padding: 7.246vw 6.039vw 16.908vw;
  background-color: #f8f6f2;
}

.consul-form-ttl {
  width: 46.98vw;
  margin: 0 auto 7.246vw;
  line-height: 1;
}
.consul-form-ttl-v2 {
  width: 66.90821vw;
  margin: 0 auto 7.246vw;
  line-height: 1;
}

.consul-form-ico {
  float: right;
  width: 18.11594vw;
  margin: 0 0 2.41546vw 2.41546vw;
}

.consul-form-txt {
  margin-bottom: 6.28vw;
  font-size: 3.382vw;
  line-height: 1.6;
}

.consul-form {
  width: 100%;
  margin-bottom: 10.87vw;
  border-collapse: collapse;
}

.consul-form tr + tr {
  display: block;
  margin-top: 9.662vw;
}

.consul-form th,
.consul-form td {
  display: block;
  text-align: left;
  font-weight: normal;
}

.consul-form th {
  display: flex;
  margin-bottom: 2.899vw;
  padding: 0 0.725vw;
}

.consul-form-headline {
  font-family: NotoSansJP-bold;
  font-weight: normal;
  letter-spacing: normal;
  font-size: 3.865vw;
  line-height: 1;
}

.form-hissu-ico {
  position: relative;
  display: inline-block;
  margin-left: 2.415vw;
  padding: 0.483vw 1.691vw;
  font-size: 3.382vw;
  line-height: 1;
  background-color: #ee7261;
  color: #fff;
  border-radius: 1.208vw;
}

.form-hissu-ico:before { content: "必須"; }

.form-ninni-ico {
  position: relative;
  display: inline-block;
  margin-left: 2.415vw;
  padding: 0.483vw 1.691vw;
  font-size: 3.382vw;
  line-height: 1;
  background-color: #fff;
  color: #c4c4c4;
  border: 1px solid #c4c4c4;
  border-radius: 1.208vw;
}

.form-ninni-ico:before { content: "任意"; }


/* 入力完了 */
.consul-form-input-wrap.complete .form-hissu-ico {
  background-color: #a6c51c;
}

.consul-form-input-wrap.complete .form-ninni-ico {
  background-color: #a6c51c;
  color: #fff;
  border: none;
}

.consul-form-input-wrap.complete .form-hissu-ico:before,
.consul-form-input-wrap.complete .form-ninni-ico:before { content: "OK"; }

.consul-form-input-wrap.complete .consul-form-input,
.consul-form-input-wrap.complete .consul-form-select,
.consul-form-input-wrap.complete .consul-form-txtarea {
  border: 2px solid #a6c51c;
  background-color: #ececec;
}


/* 入力　未完了 */
.consul-form-input.incomplete,
.consul-form-select.incomplete,
.l-consul-form-select.incomplete .consul-form-select {
  border: 2px solid #ee7261;
  background: #ffe5e1 url('../../images/parts/ico_cross_pink.png') right 4.831vw center no-repeat;
  background-size: 5.556vw 5.556vw;
}

.l-consul-form-select.incomplete:before,
.l-consul-form-select.incomplete:after {
  content: none;
}


/* Chrome 例文 */
::-webkit-input-placeholder {
  /* padding-top: 1.208vw; */
  color: #b1a690;
}

/* Firefox 例文 */
::-moz-placeholder {
  /* padding-top: 1.208vw; */
  color: #b1a690;
}

.consul-form-input {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  padding: 3.865vw 6.039vw;
  font-size: 3.865vw;
  line-height: 1;
  background-color: #fff;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 1.691vw;
  border: 2px solid #fff;
}

.consul-form-txtarea {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  height: 38.647vw;
  min-height: 38.647vw;
  padding: 4.348vw 6.039vw;
  font-size: 3.865vw;
  line-height: 1.7;
  background-color: #fff;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 1.691vw;
  resize: vertical;
  border: 2px solid #fff;
}


/* セレクト */
.l-consul-form-select {
  position: relative;
  margin-bottom: 3.623vw;
}

.l-consul-form-select:before {
  content: "";
  position: absolute;
  top: 6.522vw;
  right: 4.831vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.174vw 1.329vw 0 1.329vw;
  border-color: #b1a690 transparent transparent transparent;
}

.l-consul-form-select:after {
  content: "";
  position: absolute;
  top: 1.449vw;
  right: 12.077vw;
  width: 0.242vw;
  height: 11.594vw;
  background-color: #dac9b5;
}

.consul-form-select {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  height: 14.493vw;
  padding: 0 6.039vw;
  font-size: 3.865vw;
  line-height: 2; /* 英字の下が切れて表示されるため広めに設定 */
  color: #412807;
  background-color: #fff;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 1.691vw;
  border: 2px solid #fff;
}

/* 画面幅が小さい時用のスタイル */
@media screen and (max-width: 413px) {
  .consul-form-input,
  .consul-form-txtarea,
  .consul-form-select {
    font-size: 16px
  }
}

/* エラーメッセージ */
.errMsg {
  padding: 0 7px;
  font-size: 14px;
  color: #ee7261;
}

.consul-form-tel-txt {
  margin-top: 2.899vw;
  text-align: center;
  font-size: 3.865vw;
  line-height: 1.3;
  letter-spacing: normal;
  color: #b1a690;
}


/* 申し込むボタン */
.consul-form-submit-btn {
  display: block;
  width: 100%;
  padding: 4.831vw 4.348vw 4.348vw 0;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 3.382vw;
  line-height: 1.4;
  color: #523106;
  text-align: center;
  background: #fff url('../../images/parts/ico_arrow_brown.png') center right 4.831vw no-repeat;
  background-size: 8.454vw;
  border: 0.725vw solid #523106;
  border-radius: 22.947vw;
  box-shadow: 0 0.604vw #523106;
}

.consul-form-submit-btn .main {
  font-size: 5.314vw;
}

.consul-form-notes {
  margin-top: 6.039vw;
  padding: 0 6.039vw;
  font-size: 3.382vw;
  line-height: 1.7;
}

.consul-form-balloon {
  display: block;
  margin-top: 6.039vw;
}


/* エラー、完了ページ
----------------------- */
.consul-form-layer-ttl {
  margin-bottom: 6.039vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  text-align: center;
  font-size: 6.039vw;
  color: #537b4a;
}

.consul-form-layer-headline {
  margin-bottom: 6.039vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  letter-spacing: normal;
  text-align: center;
  font-size: 4.106vw;
  line-height: 1.5;
}

.consul-form-layer-txt {
  text-align: center;
  margin-bottom: 6.039vw;
  font-size: 3.623vw;
  line-height: 1.7;
}



/* # オンライン相談 アンケートフォーム（事前・感想）
   ----------------------------------------------------------------- */
/* 入力ページ
----------------------- */
.questionnaire-before-form-ttl {
  width: 73.30918vw;
  margin: 0 auto 7.246vw;
  line-height: 1;
}
.questionnaire-after-form-ttl {
  width: 62.43961vw;
  margin: 0 auto 7.246vw;
  line-height: 1;
}

.questionnaire-form {
  width: 100%;
  margin-bottom: 10.87vw;
  border-collapse: collapse;
}
.questionnaire-form tr + tr {
  display: block;
  margin-top: 9.662vw;
}
.questionnaire-form th {
  margin-bottom: 2.899vw;
  padding: 0 0 0 0.725vw;
}
.questionnaire-form th, .questionnaire-form td {
  display: block;
  text-align: left;
  font-weight: normal;
}
.questionnaire-form-headline {
  position: relative;
  display: inline-block;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  letter-spacing: normal;
  font-size: 3.86473vw;
  line-height: 1.625;
  padding-left: 5.67633vw;
}
.questionnaire-form-headline span {
  position: absolute;
  top: 1.20773vw;
  left: 0;
  width: 4.34783vw;
  height: 4.34783vw;
  font-size: 2.89855vw;
  line-height: 1;
  text-align: center;
  color: #fff;
  margin-right: 1.57005vw;
  padding: 0.60386vw 0;
  background-color: #537b4a;
  border-radius: 0.36232vw;
}

/* チェックボックス・ラジオボタン */
.questionnaire-form-checkbox ,
.questionnaire-form-radio {
  margin-top: 2.41546vw;
}
.questionnaire-form-checkbox + .questionnaire-form-checkbox ,
.questionnaire-form-radio + .questionnaire-form-radio {
  margin-top: 4.83092vw;
}
.questionnaire-form-checkbox-input ,
.questionnaire-form-radio-input {
  display: none;
}
.questionnaire-form-checkbox-txt ,
.questionnaire-form-radio-txt {
  position: relative;
  padding-left: 7.729vw;
  font-size: 4.10628vw;
  line-height: 1.25;
  display: inline-block;
}

/* チェックボックス */
.questionnaire-form-checkbox-input:checked + .questionnaire-form-checkbox-txt:before {
  background-color: #a6c51c;
  border: 2px solid #a6c51c;
}
.questionnaire-form-checkbox-txt:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5.556vw;
  height: 5.556vw;
  background-color: #fff;
  border: 2px solid #dac9b5;
  transition: background-color .3s ease, border .3s ease;
  border-radius: 0.604vw;
  z-index: 2;
}
.questionnaire-form-checkbox-input:checked + .questionnaire-form-checkbox-txt:after {
  transform: rotate(-45deg) scale(1);
  opacity: 1;
}
.questionnaire-form-checkbox-txt:after {
  content: "";
  position: absolute;
  top: 1.449vw;
  left: 1.449vw;
  width: 2.899vw;
  height: 1.691vw;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) scale(1.2);
  opacity: 0;
  transition: opacity .3s ease, transform .3s ease;
  z-index: 3;
}

/* ラジオボタン */
.questionnaire-form-radio-input:checked + .questionnaire-form-radio-txt:before {
  background-color: #fff;
  border: 2px solid #a6c51c;
}
.questionnaire-form-radio-txt:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5.556vw;
  height: 5.556vw;
  background-color: #fff;
  border: 2px solid #dac9b5;
  transition: .3s ease, border .3s ease;
  border-radius: 50%;
  z-index: 2;
}
.questionnaire-form-radio-input:checked + .questionnaire-form-radio-txt:after {
  opacity: 1;
}
.questionnaire-form-radio-txt:after {
  content: "";
  position: absolute;
  top: 1.449vw;
  left: 1.449vw;
  width: 2.657vw;
  height: 2.657vw;
  opacity: 0;
  background-color: #a6c51c;
  transition: opacity .3s ease, transform .3s ease;
  border-radius: 50%;
  z-index: 3;
}

.questionnaire-form-cap {
  margin-top: 2.899vw;
  font-size: 3.865vw;
  line-height: 1.3;
  letter-spacing: normal;
  color: #b1a690;
}

.chkcheckbox.err,
.chkradio.err { border: none; }



/* ==========================================================================
   # ご予約フォーム
   ========================================================================== */
/* # ご予約フォーム共通パーツ
   ----------------------------------------------------------------- */
.reserve,
.consultation-expert {
  letter-spacing: normal;
  background-color: #f8f6f2;
}

/* ヘッダー
----------------------- */
.l-header-reserve {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 14.493vw;
  padding: 1.932vw 2.899vw 1.449vw 3.865vw;
  border-top: 0.966vw solid #7ba900;
  background-color: #fff;
}

.header-reserve-ttl {
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.589vw;
  line-height: 1;
}

.header-reserve-logo { width: 28.986vw; }

.header-reserve-yuaie {
  width: 28.261vw;
}

/* フッター
----------------------- */
.l-footer-reserve {
  padding: 3.623vw 0;
  text-align: center;
  line-height: 1;
}

.footer-reserve-copyright {
  font-size: 2.657vw;
  color: #412807;
}

/* # 入力ページ
   ----------------------------------------------------------------- */
/* ご予約後の流れ
----------------------- */
.l-reserve-flow {
  padding: 6.039vw;
  background-color: #e7f6da;
}
.reserve-flow-headline {
  position: relative;
  margin-bottom: 3.623vw;
  padding-left: 7.729vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.831vw;
  line-height: 1;
  color: #537b4a;
}
.reserve-flow-headline::before {
  content: "";
  position: absolute;
  top: -0.725vw;
  left: 0;
  width: 6.039vw;
  height: 5.556vw;
  background: url('../../images/reserve/ico_house.png') no-repeat;
  background-size: contain;
}
.reserve-flow-list {
  list-style: none;
  margin: 0;
  padding: 0 3.382vw;
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  border: 0.483vw solid #537b4a;
  border-radius: 1.208vw;
}
.reserve-flow-list li {
  position: relative;
  padding: 5.556vw 0 4.348vw;
  text-align: center;
}
.reserve-flow-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: -4.831vw;
  width: 3.623vw;
  height: 100%;
  background: url('../../images/reserve/img_arrow.svg') no-repeat;
  background-size: cover;
}
.reserve-flow-list li:first-child::before {
  content: none;
}
.reserve-flow-ttl {
  margin-bottom: 2.415vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1;
  color: #46753b;
}
.reserve-flow-txt {
  font-size: 2.899vw;
  line-height: 1.5;
}

/* フォーム部分
----------------------- */
.l-reserve-form {
/*   padding: 9.662vw 6.039vw 6.039vw; */
  padding: 6.039vw 6.039vw 6.039vw;
}

.l-reserve-form-txt {
  margin-bottom: 7.246vw;
  padding-bottom: 2.415vw;
  border-bottom: 1px dotted #537b4a;
}
.reserve-form-txt {
  margin-bottom: 1.449vw;
  font-size: 3.623vw;
  line-height: 1.7;
}
.reserve-form-txt .point {
  color: #dc6d00;
}
.reserve-form-txt-notes {
  padding-left: 2.657vw;
  text-indent: -1em;
  font-size: 2.657vw;
  line-height: 1.5;
  color: #888;
}

.reserve-form-ttl {
  margin-bottom: 7.246vw;
  padding-bottom: 2.415vw;
  font-family: YakuHanJPs, NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.589vw;
  line-height: 1;
  color: #537b4a;
  border-bottom: 1px dotted #537b4a;
}

.reserve-guide {
  margin-bottom: 1.691vw;
  padding: 0 1.208vw;
  font-size: 3.382vw;
  font-family: "NotoSansJP-medium";
}

.reserve-guide-txt {
  margin-bottom: 4.831vw;
  padding: 2.174vw 5.314vw;
  font-size: 3.382vw;
  line-height: 1.75;
  letter-spacing: normal;
  color: #537b4a;
  background-color: #e7f6da;
  border: 1px solid #d4e2c7;
  border-radius: 1.691vw;
}

.reserve-attention {
  margin: -4.348vw 0 4.348vw;
  font-size: 3.32147vw;
  font-family: "NotoSansJP-regular";
}

.reserve-hissu-ico {
  position: relative;
  display: inline-block;
  margin-right: 2.415vw;
  padding: 0.483vw 1.208vw;
  font-size: 3.14vw;
  line-height: 1;
  background-color: #dc6d00;
  color: #fff;
  border-radius: 1.208vw;
}

.reserve-ninni-ico {
  position: relative;
  display: inline-block;
  margin-right: 2.415vw;
  padding: 0.483vw 1.208vw;
  font-size: 3.14vw;
  line-height: 1;
  background-color: #fff;
  border: 1px solid #888;
  color: #888;
  border-radius: 1.208vw;
}

/* セレクト */
.l-reserve-select {
  position: relative;
  display: flex;
  align-items: center;
}
.l-reserve-select + .l-reserve-select {
  margin-top: 1.77936vw;
}
.l-reserve-select + .reserve-guide {
  margin-top: 4.831vw;
}

.l-reserve-select:before {
  content: "";
  position: absolute;
  top: 6.522vw;
  right: 4.831vw;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.174vw 1.329vw 0 1.329vw;
  border-color: #b1a690 transparent transparent transparent;
}

.l-reserve-select:after {
  content: "";
  position: absolute;
  top: 1.449vw;
  right: 12.077vw;
  width: 0.242vw;
  height: 11.594vw;
  background-color: #dac9b5;
}

.reserve-select-txt {
  width: 17.79359vw;
  font-size: 3.32147vw;
  line-height: 1;
  margin: 0 1.18624vw;
}
.reserve-select {
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  padding: 4.831vw 11.8624vw 4.831vw 4.831vw;
  font-size: 3.865vw;
  line-height: 1;
  color: #412807;
  background-color: #fff;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 1.691vw;
  /* border: 2px solid #fff; */
  border: 1px solid #604E35;
}

/* 自由入力欄 */
.l-reserve-textarea {
  position: relative;
  margin-bottom: 8.454vw;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 1.691vw;
}
.reserve-input-arbitrary {
  position: absolute;
  top: 5.072vw;
  left: 4.831vw;
  display: block;
  width: 10.628vw;
  padding: 0.483vw 0 0.725vw;
  text-align: center;
  font-size: 3.382vw;
  line-height: 1;
  color: #fff;
  background-color: #c4c4c4;
  border-radius: 1.208vw;
  z-index: 101;
}
.reserve-input-arbitrary:before {
  content: "任意";
}
.reserve-input-txt {
  width: 100%;
  padding: 3.623vw 0 3.623vw 18.357vw;
  font-size: 3.865vw;
  background-color: #fff;
  border-radius: 1.691vw 1.691vw 0 0;
}
.reserve-textarea {
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  height: 36.232vw;
  min-height: 36.232vw;
  /* padding: 0 4.831vw 6.039vw; */
  padding: 4.831vw 4.831vw 6.039vw;
  font-size: 3.865vw;
  line-height: 1.7;
  border: none;
  /* border-radius: 0 0 1.691vw 1.691vw; */
  border-radius: 1.691vw;
  color: #412807;
  background-color: #fff;
  resize: vertical;
  border: 1px solid #604E35;
}

.reserve-form-next-block {
  margin-bottom: 7.246vw;
}

/* 入力欄 */
.l-reserve-input {
  position: relative;
  margin-bottom: 4.348vw;
}

.reserve-input {
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  height: 14.493vw;
  padding: 4.348vw 10.87vw 4.348vw 4.831vw;
  font-size: 3.865vw;
  line-height: 1;
  color: #412807;
  background-color: #fff;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 1.691vw;
  /* border: 2px solid #fff; */
  border: 1px solid #604E35;
}

/* Chrome 例文 */
.reserve-input::-webkit-input-placeholder,
.reserve-textarea::-webkit-input-placeholder {
  font-size: 3.382vw;
  color: #b1a690;
}

/* Firefox 例文 */
.reserve-input::-moz-placeholder,
.reserve-textarea::-moz-placeholder {
  font-size: 3.382vw;
  color: #b1a690;
}

/* 画面幅が小さい時用のスタイル */
@media screen and (max-width: 413px) {
  .reserve-select,
  .reserve-textarea,
  .reserve-input { font-size: 16px }
}

.reserve-input:focus,
.reserve-select:focus {
  border: 2px solid #ec5945;
}

/* focus時、padding変更 */
.reserve-input:focus,
.reserve-input:not(:placeholder-shown) {
  padding: 2.899vw 10.87vw 2.899vw 4.831vw;
}

.reserve-input:not(:placeholder-shown) {
  background: #fff url('../../images/reserve/ico_check.svg') top 5.314vw right 3.623vw no-repeat;
  background-size: 5.797vw 4.348vw;
}

/* focus時、placeholderを非表示に */
.reserve-input:focus::placeholder {
  color: transparent;
}

/* 名前入力 */
.reserve-input-name-wrap {
  display: flex;
  justify-content: space-between;
  line-height: 1;
}

.reserve-input-name {
  position: relative;
  width: 42.271vw;
}

/* 入力欄の上に出るラベル */
.reserve-input-label-txt {
  display: none;
  position: absolute;
  top: 1.932vw;
  left: 2.415vw;
  font-size: 2.899vw;
  line-height: 1;
  color: #b1a690;
}

/* 入力欄focus時、ラベルを上に表示 */
.reserve-input:focus ~ .reserve-input-label-txt,
.reserve-input:not(:placeholder-shown) ~ .reserve-input-label-txt {
  display: block;
}

/* 入力欄エラー表示 */
.err {
  background-color: #f4d7d3;
  border: 1px solid #ee7261;
}
/* 入力欄エラーのときはチェックマーク非表示 */
.reserve-input.err:not(:placeholder-shown) {
  background: #f4d7d3;
}


/* 送信ボタン */
.reserve-submit-btn {
  width: 100%;
  margin-bottom: 9.662vw;
  padding: 3.382vw 0;
  text-align: center;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 5.797vw;
  line-height: 1.4;
  color: #fff;
  background-color: #65aa28;
  border-radius: 1.208vw;
  box-shadow: 0 1.208vw 0 #548f21;
}
.reserve-submit-btn .sub-txt {
  display: block;
  font-family: NotoSansJP-regular;
  font-size: 3.382vw;
}

/* 未入力ボタン */
.reserve-submit-btn:disabled,
.reserve-no-submit-btn {
  background-color: #c4c4c4;
  box-shadow: 0 1.208vw 0 #a6a6a6;
}

/* 次へ進むボタン */
.reserve-next-btn {
  padding: 5.556vw 0;
}

/* プライバシーポリシー */
.reserve-privacy-notes {
  position: relative;
  font-size: 3.14vw;
  line-height: 1.75;
}


/* # フォーム（新）_20230338
   ----------------------------------------------------------------- */
.l-header-reserve-v2 {
  padding: 3.14vw 0;
  text-align: center;
  background-color: #fff;
}

.header-reserve-v2-logo {
  width: 35.024vw;
}

.l-reserve-v2-head {
  padding: 4.831vw 4.831vw 0;
  position: relative;
}

.reserve-v2-img {
  width: 90.338vw;
}

/* ★評価
----------------------- */
.l-evaluation {
  position: absolute;
  top: 24.638vw;
  left: 38.647vw;
  text-align: center;
  letter-spacing: normal;
}

.main-evaluation {
  margin-bottom: 1.208vw;
  font-size: 3.382vw;
  line-height: 1;
}

.main-evaluation span {
  font-size: 2.899vw;
}

.main-star-wrap {
  position: relative;
  display: inline-block;
  font-size: 4.831vw;
  line-height: 1;
  text-align: center;
}

.main-star-front {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  overflow: hidden;
  color: #f3ad3d;
  z-index: 2;
}

.main-star-back {
  position: relative;
  display: block;
  color: #aaa;
  z-index: 1;
}

.evaluation-notice {
  margin-top: 0.483vw;
  font-size: 2.415vw;
  line-height: 1;
  color: #666;
}


.reserve-v2-cap {
  padding: 3.865vw 0 4.831vw;
  font-family: "NotoSansJP-medium";
  text-align: center;
  font-size: 3.865vw;
  line-height: 1.75;
  border-top: 1px solid #888;
  border-bottom: 1px solid #888;
}

.reserve-v2-notice {
  margin-bottom: 9.662vw;
}

.reserve-v2-txt {
  margin-bottom: 2.415vw;
  font-size: 3.382vw;
  line-height: 1.75;
}

.reserve-v2-txt .point {
  color: #dc6d00;
}

.reserve-v2-info {
  position: relative;
  padding: 0 4.83092vw;
  background-color: #fff;
  border: 0.48309vw solid #dc6d00;
  border-radius: 2.41546vw;
}
.reserve-v2-info-img {
  float: right;
  width: 13.88889vw;
  margin: 3.62319vw -3.62319vw 0 1.20773vw;
}
.reserve-v2-info-ttl {
  font-size: 4.10628vw;
  line-height: 1;
  font-family: "NotoSansJP-medium";
  padding: 7.24638vw 1.20773vw 3.62319vw;
  margin-bottom: 3.62319vw;
  border-bottom: 1px solid #ccc;

}
.reserve-v2-info-txt {
  font-size: 3.1401vw;
  line-height: 1.8;
  margin: 0 1.20773vw;
}
.reserve-v2-info-txt + .reserve-v2-info-txt {
  margin-top: 3.62319vw;
}
.reserve-v2-info-link {
  display: block;
  font-size: 3.62319vw;
  line-height: 1;
  text-align: center;
  font-family: "NotoSansJP-medium";
  padding: 6.03865vw 0;
}

/* 希望する相談日時を選択
----------------------- */
.reserve-v2-calendar {
  display: flex;
  max-width: 543.478vw;
  margin: 0 -6.039vw 6.039vw 0;
  padding-right: 6.039vw;
  overflow-x: scroll;
}

.reserve-v2-calendar .day-block {
  width: 36.232vw;
  background-color: #e7e4df;
  border-radius: 1.208vw;
  overflow: hidden;
  flex-shrink: 0;
}

.reserve-v2-calendar .day-block + .day-block {
  margin-left: 1.208vw;
}

.reserve-v2-calendar .day {
  padding: 3.382vw 0;
  font-family: "NotoSansJP-medium";
  font-size: 5.072vw;
  line-height: 1;
  text-align: center;
  color: #f8f6f2;
  background-color: #413019;
}

.reserve-v2-calendar .day .min {
  font-size: 3.865vw;
  padding-left: 0.966vw;
}

.reserve-v2-calendar .time-list02 {
  padding: 2.415vw 2.415vw 3.623vw;
}

.reserve-v2-calendar .time-list02 li + li {
  margin-top: 1.691vw;
}

.reserve-v2-calendar .time-btn02 {
  position: relative;
  display: block;
  width: 100%;
  padding: 3.14vw 3.382vw;
  font-family: "NotoSansJP-medium";
  font-size: 3.865vw;
  line-height: 1;
  text-align: left;
  color: #333;
  background-color: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 0.966vw;
  box-shadow: 0 0.483vw 0 0 #ccc;
}

.reserve-v2-calendar .time-btn02::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.415vw;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.208vw 0 1.208vw 1.208vw;
  border-color: transparent transparent transparent #65aa28;
}

/* 選択不可 */
.reserve-v2-calendar .time-btn02.disabled {
  color: #aaa;
  background-color: #ddd;
  pointer-events: none;
  box-shadow: none;
}

.reserve-v2-calendar .time-btn02.disabled::before {
  border-color: transparent transparent transparent #aaa;
}

/* 選択中 */
.reserve-v2-calendar .time-btn02.selected {
  background-color: #fff2bd;
  border: 0.483vw solid #65aa28;
}

/* 予約完了ページ
----------------------- */
.l-reserve-v2-decided-ttl {
  position: relative;
  margin-bottom: 7.246vw;
  padding: 5.556vw 3.382vw 5.314vw;
  border: 0.483vw solid #509407;
  background-color: #fff;
}
.reserve-v2-decided-ttl {
  position: relative;
  padding-left: 20.773vw;
  font-family: "NotoSansJP-bold";
  font-weight: normal;
  font-size: 4.831vw;
  line-height: 1.5;
  color: #33b143;
}
.reserve-v2-decided-ttl::before {
  content: "";
  position: absolute;
  top: 3.14vw;
  left: 3.623vw;
  width: 10.87vw;
  height: 6.039vw;
  border-left: 0.966vw solid #33b143;
  border-bottom: 0.966vw solid #33b143;
  transform: rotate(-45deg);
}
.reserve-v2-decided-txt {
  margin-top: 3.382vw;
  padding: 4.831vw 2.415vw 1.208vw;
  font-size: 3.623vw;
  line-height: 1.6;
  border-top: 1px solid #ccc;
}
.reserve-v2-decided-date {
  font-family: "NotoSansJP-bold";
  font-weight: normal;
}
.reserve-v2-date-info {
  padding: 0 3.623vw;
  font-size: 3.382vw;
  line-height: 1.5;
  color: #666;
}
.reserve-v2-top-link {
  margin-top: 9.179vw;
  text-align: center;
  font-size: 3.382vw;
  line-height: 2;
}

.reserve-v3-ttl {
  font-size: 5.581vw;
  font-weight: bold;
}

.reserve-v3-txt {
  padding: 4.831vw 2.415vw 1.208vw;
  font-size: 3.721vw;
  line-height: 1.56;
  width: 87.44vw;
}
.finish-maker {
  background: linear-gradient(transparent 50%, #eaff00de 70%);
}

/* # エラーページ
   ----------------------------------------------------------------- */
.l-reserve-error {
  padding: 7.246vw 6.039vw 16.908vw;
  background-color: #f8f6f2;
}

.reserve-layer-ttl {
  margin-bottom: 6.039vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  text-align: center;
  font-size: 6.039vw;
  color: #537b4a;
}

.reserve-layer-txt {
  text-align: center;
  margin-bottom: 6.039vw;
  font-size: 3.623vw;
  line-height: 1.7;
}


/* # 完了ページ　自前カレンダー
   ----------------------------------------------------------------- */
/* STEP1　日にち選択
----------------------- */
.l-reserve-finish {
  padding: 7.246vw 6.039vw;
}
/* 申し込みは確定されました */
.l-reserve-decided-ttl {
  position: relative;
  margin-bottom: 7.246vw;
  padding: 5.556vw 3.382vw 5.314vw;
  border: 0.483vw solid #509407;
  background-color: #fff;
}
.l-reserve-decided-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.657vw;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.415vw 2.536vw 0 2.536vw;
  border-color: #509407 transparent transparent transparent;
}
.reserve-decided-ttl {
  position: relative;
  padding-left: 20.048vw;
  font-family: "NotoSansJP-bold";
  font-weight: normal;
  font-size: 4.589vw;
  line-height: 1.7;
  color: #33b143;
}
.reserve-decided-ttl::before {
  content: "";
  position: absolute;
  top: 3.14vw;
  left: 3.623vw;
  width: 10.87vw;
  height: 6.039vw;
  border-left: 0.966vw solid #33b143;
  border-bottom: 0.966vw solid #33b143;
  transform: rotate(-45deg);
}
/* ご希望日時をお選びください */
.reserve-date-ttl {
  margin-bottom: 6.039vw;
  font-family: "NotoSansJP-bold";
  text-align: center;
  font-weight: normal;
  font-size: 4.589vw;
  line-height: 1;
}
.reserve-date-ttl .point {
  display: inline-block;
  margin-right: 1.449vw;
  padding: 0.966vw 3.382vw;
  font-size: 3.865vw;
  color: #fff;
  background-color: #412807;
  border-radius: 2.899vw;
}
/* 後からも日程変更できますので、お気軽にどうぞ！ */
.reserve-date-headline {
  padding-bottom: 4.348vw;
  margin-bottom: 5.556vw;
  font-family: "NotoSansJP-medium";
  font-weight: normal;
  text-align: center;
  font-size: 3.382vw;
  line-height: 1;
  color: #537b4a;
  border-bottom: 1px solid #537b4a;
}
.reserve-date-info {
  padding: 0 3.623vw;
  font-size: 3.382vw;
  line-height: 1.5;
  color: #666;
}

/* 中身が切り替わる枠 */
.calendar-wrap {
  margin-bottom: 7.246vw;
  border-radius: 2.415vw;
  overflow: hidden;
  border: 1px solid #537b4a;
}

.l-calendar {
  padding: 7.246vw 0 3.382vw;
  font-family: "NotoSansJP-medium";
  color: #fff;
  background-color: #537b4a;
}

.calendar-header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.966vw;
}
.calendar-month {
  padding: 0 2.415vw;
  font-size: 5.556vw;
  line-height: 1;
}
.calendar-prev,
.calendar-next {
  position: relative;
  width: 9.662vw;
  height: 9.662vw;
}

.calendar-prev::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.415vw;
  height: 2.415vw;
  border-left: 1px solid #e8ecd5;
  border-top: 1px solid #e8ecd5;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.calendar-next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.415vw;
  height: 2.415vw;
  border-right: 1px solid #e8ecd5;
  border-top: 1px solid #e8ecd5;
  transform: translate(-50%, -50%) rotate(45deg);
}

.calendar {
  margin: 0 auto;
  border-spacing: 1.691vw 4.348vw;
  text-align: center;
  font-size: 4.348vw;
}
.Week {
  line-height: 1;
}
.calendar th {
  font-weight: normal;
}
.day-btn {
  position: relative;
  display: block;
  width: 9.662vw;
  height: 9.662vw;
  z-index: 1;
}
.day-btn.enabled {
  color: #fff;
}
.day-btn.enabled::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.1;
  border-radius: 50%;
  z-index: -1;
}
.day-btn.disabled {
  color: #8aac81;
  cursor: default;
  pointer-events: none;
}

/* STEP2　時間選択
----------------------- */
.l-time {
  padding: 9.662vw 0 7.246vw;
  background-color: #fff;
}

.time-list {
  padding: 0 3.623vw;
  height: 74.879vw;
  overflow-y: scroll;
  margin-bottom: 4.831vw;
}
.time-list li+li {
  margin-top: 2.415vw;
}
.time-btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 3.623vw 0;
  font-size: 4.348vw;
  line-height: 1;
  color: #537b4a;
  background-color: #f8f6f2;
  border: 1px solid #e1e1e1;
  border-radius: 1.208vw;
}
.time-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.865vw;
  width: 2.415vw;
  height: 2.415vw;
  border-right: 1px solid #537b4a;
  border-top: 1px solid #537b4a;
  transform: translateY(-50%) rotate(45deg);
}

.calendar-footer {
  display: flex;
  justify-content: space-between;
  padding: 0 4.831vw;
}
.calendar-back-btn {
  display: block;
  width: 27.778vw;
  padding: 3.14vw 0;
  font-family: "NotoSansJP-bold";
  font-size: 3.865vw;
  line-height: 1;
  color: #666;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 1.208vw;
}
.time-info-txt {
  margin-top: 2.899vw;
  font-size: 3.382vw;
  line-height: 1;
}

/* STEP3　日時確認
----------------------- */
.l-calendar-confirm {
  padding: 9.662vw 0 8.696vw;
  background-color: #fff;
}
.calendar-confirm-ttl {
  margin-bottom: 6.039vw;
  font-family: "NotoSansJP-medium";
  font-size: 3.865vw;
  line-height: 1;
  text-align: center;
  color: #537b4a;
}
.calendar-confirm-body {
  margin: 0 3.623vw 7.246vw;
  padding: 4.831vw 5.314vw 5.797vw;
  font-family: "NotoSansJP-medium";
  text-align: center;
  line-height: 1;
  background-color: #e7ebd3;
  border-radius: 0.604vw;
}
.calendar-confirm-headline {
  margin-bottom: 4.348vw;
  padding-bottom: 3.14vw;
  font-size: 3.623vw;
  color: #537b4a;
  border-bottom: 1px solid #46753b;
}
.calendar-confirm-datetime {
  font-size: 5.797vw;
  color: #333;
}
.calendar-submit-btn {
  display: block;
  width: 46.86vw;
  padding: 3.14vw 0;
  font-family: "NotoSansJP-bold";
  font-size: 3.865vw;
  line-height: 1;
  color: #fff;
  background-color: #65aa28;
  border-radius: 1.208vw;
}

/* STEP4　日時確定ページ
----------------------- */
.l-reserve-decided-ttl.calendar-finish::before {
  content: none;
}

.reserve-decided-txt {
  margin-top: 3.382vw;
  padding: 4.831vw 3.623vw 1.208vw;
  font-size: 3.382vw;
  line-height: 1.5;
  border-top: 1px solid #ccc;
}

.reserve-top-link {
  margin-top: 9.179vw;
  text-align: center;
  font-size: 3.382vw;
  line-height: 2;
}


/* ==========================================================================
   # ご予約変更フォーム
   ========================================================================== */
/* # 選択画面
   ----------------------------------------------------------------- */
.reserve-change {
  letter-spacing: normal;
  background-color: #f8f6f2;
}

.l-reserve-change {
  padding: 7.246vw 6.039vw;
}

.reserve-change-ttl {
  margin-bottom: 7.246vw;
  font-family: "NotoSansJP-bold";
  text-align: center;
  font-weight: normal;
  font-size: 4.589vw;
  line-height: 1;
}

/* 予約変更前 */
.calendar-confirm-body-before {
  position: relative;
  margin: 0 3.623vw 7.246vw;
  padding: 4.831vw 5.314vw 5.797vw;
  font-family: "NotoSansJP-medium";
  text-align: center;
  line-height: 1;
  background-color: #f8f6f2;
  border-radius: 0.604vw;
}
.calendar-confirm-body-before::before {
  content: "";
  position: absolute;
  bottom: -4.348vw;
  left: 50%;
  width: 3.623vw;
  height: 3.623vw;
  border-right: 0.483vw solid #65aa28;
  border-bottom: 0.483vw solid #65aa28;
  transform: translateX(-50%) rotate(45deg);
}
.calendar-confirm-headline-before {
  margin-bottom: 4.348vw;
  padding-bottom: 3.14vw;
  font-size: 3.623vw;
  color: #666;
  border-bottom: 1px solid #a4a4a4;
}
.calendar-confirm-datetime-before {
  font-size: 5.797vw;
  color: #333;
}
* ==========================================================================
   # ご予約キャンセルフォーム
   ========================================================================== */
/* # 入力画面
   ----------------------------------------------------------------- */
.reserve-cancel {
  letter-spacing: normal;
  background-color: #f8f6f2;
}

.l-reserve-cancel {
  padding: 7.246vw 6.039vw;
}

.reserve-cancel-ttl {
  margin-bottom: 6.039vw;
  font-family: "NotoSansJP-bold";
  text-align: center;
  font-weight: normal;
  font-size: 4.589vw;
  line-height: 1;
}

.reserve-cancel .calendar-confirm-body {
  margin: 0 0 7.246vw;
}

/* キャンセルを確定するボタン */
.reserve-cancel-btn {
  display: block;
  width: 100%;
  padding: 4.831vw 0;
  font-family: "NotoSansJP-bold";
  font-size: 3.865vw;
  line-height: 1;
  font-weight: normal;
  color: #fff;
  background-color: #65aa28;
  border-radius: 1.208vw;
}

/* もしくは */
.reserve-cancel-or {
  position: relative;
  margin: 9.662vw 0;
  text-align: center;
  color: #666;
  font-size: 3.382vw;
  line-height: 1;
}

.reserve-cancel-or .inner {
  padding: 0 3.623vw;
  background-color: #f8f6f2;
}

.reserve-cancel-or::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 0.242vw;
  background-color: #666;
  z-index: -1;
}

/* 予約日を変更するボタン */
.reserve-change-btn {
  display: block;
  width: 100%;
  padding: 4.831vw 0;
  font-family: "NotoSansJP-bold";
  font-size: 3.865vw;
  line-height: 1;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  color: #666;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 1.208vw;
}

/* # 完了画面
   ----------------------------------------------------------------- */
.reserve-cancel .reserve-decided-ttl {
  padding: 4.831vw 0 3.865vw 20.048vw;
}


/* ==========================================================================
   # チャットフォーム
   ========================================================================== */
.chat {
  position: relative;
  padding: 6.039vw 6.039vw 14.493vw;
  letter-spacing: 0.02em;
  background-color: #fcf6eb;
  min-height: 600px;
}

/* 進捗バー
----------------------- */
.chat-progress {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 2.415vw 3.623vw 2.415vw 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  background-color: #e8dcc6;
  z-index: 100;
}

.chat-progress-percent {
  margin-right: 1.208vw;
  font-family: "Roboto-bold";
  font-size: 3.865vw;
  line-height: 1;
  letter-spacing: normal;
}

.chat-progress-percent .number {
  font-size: 4.106vw;
}

.chat-progress-bar {
  position: relative;
  width: 83.092vw;
  height: 3.623vw;
  background-color: #fff;
  box-shadow: 0 0 0 1px #549500 inset;
  border-radius: 1.932vw;
  overflow: hidden;
}

.chat-progress-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #549500;
  transition: .3s;
}

/* チャットコンテンツ
----------------------- */
.chat-ttl {
  width: 90.338vw;
  margin: 0 0 6.039vw -1.208vw;
  line-height: 1;
}

.chat-intro-txt {
  padding: 3.623vw 4.106vw;
  font-family: "NotoSansJP-medium";
  font-size: 3.865vw;
  line-height: 1.5;
  background-color: #fff;
  border-radius: 4.831vw;
  border: 0.362vw solid #64441a;
}

.chat-intro-img {
  width: 89.372vw;
  margin: -0.966vw 0 9.179vw 1.208vw;
}

.chat-item {
  margin-bottom: 15.7vw;
}

.chat-point {
  color: #549500;
}

.chat-guide {
  position: relative;
  width: 72.464vw;
  margin: 0 0 6.039vw 16.184vw;
  padding: 3.623vw 6.039vw;
  font-family: "NotoSansJP-medium";
  font-size: 3.865vw;
  line-height: 1.5;
  background-color: #fff;
  border-radius: 4.831vw;
  border: 0.362vw solid #64441a;
}

.chat-guide::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -17.874vw;
  transform: translateY(-50%);
  width: 19.082vw;
  height: 14.493vw;
  background: url('../../images/chat/img_staff.png') no-repeat 0 0 / contain;
}

.chat-guide a { color:inherit }

/* 吹き出しのLoading　アニメーション
----------------------- */
.chat-pulse {
  display: none;
  margin-bottom: 6.039vw;
  padding: 3.623vw 4.831vw;
  font-family: "NotoSansJP-medium";
  font-size: 2.415vw;
  line-height: 1;
  background-color: #fff;
  border-radius: 3.623vw;
  border: 0.362vw solid #64441a;
}

.chat-pulse > div {
  display: inline-block;
  width: 1.932vw;
  height: 1.932vw;
  margin: 0 0.725vw;
  background-color: #b2a799;
  border-radius: 100%;
  animation-fill-mode: both;
}

.chat-pulse > div:nth-child(1) {
  animation: chat-pulse 1s -0.14s infinite ease-in-out;
}

.chat-pulse > div:nth-child(2) {
  animation: chat-pulse 1s -0.07s infinite ease-in-out;
}

.chat-pulse > div:nth-child(3) {
  animation: chat-pulse 1s 0s infinite ease-in-out;
}

@keyframes chat-pulse {
  33% {transform: translateY(1.208vw); }
  66% {transform: translateY(-1.208vw); }
  100% {transform: translateY(0); }
}

/* ラジオボタン
----------------------- */
.chat-radio-4divide-01,
.chat-radio-4divide-02,
.chat-radio-3divide-01,
.chat-radio-3divide-02,
.chat-radio-2divide {
  display: flex;
  flex-wrap: wrap;
}

/* 4分割の余白 */
.chat-radio-4divide-01,
.chat-radio-4divide-02 {
  gap: 2.415vw;
}

/* 3分割、2分割の余白 */
.chat-radio-3divide-01,
.chat-radio-3divide-02,
.chat-radio-2divide {
  gap: 3.382vw;
}

.chat-radio-4divide-01 .chat-radio-txt {
  height: 15.7vw;
}

.chat-radio-4divide-02 .chat-radio-txt{
  height: 12.077vw;
}

.chat-radio-3divide-01 .chat-radio-txt {
  height: 18.116vw;
}

.chat-radio-3divide-02 .chat-radio-txt,
.chat-radio-2divide .chat-radio-txt {
  height: 14.493vw;
}

.chat-radio {
  display: block;
  width: calc(calc(100% - 7.246vw) / 4);
}

.chat-radio-3divide-01 .chat-radio,
.chat-radio-3divide-02 .chat-radio {
  width: calc(calc(100% - 6.763vw) / 3);
}

.chat-radio-2divide .chat-radio {
  width: calc(calc(100% - 3.382vw) / 2);
}

.chat-radio.size-undecided {
  width: 100%;
}

.chat-radio-input {
  display: none;
}

.chat-radio-txt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-family: "NotoSansJP-medium";
  text-align: center;
  font-size: 3.623vw;
  line-height: 1.26;
  color: #64441a;
  border: 1px solid #64441a;
  background-color: #fff;
  border-radius: 2.415vw;
}

.chat-radio-input:checked + .chat-radio-txt {
  background-color: #549500;
  border: 1px solid #549500;
  color: #fff;
}

/* セレクト
----------------------- */
.chat-select-wrap {
  position: relative;
  margin-bottom: 4.831vw;
}

.chat-select-wrap:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 4.831vw;
  transform: translateY(-50%);
  width: 1.691vw;
  height: 3.382vw;
  background: url('../../images/chat/ico_select.png') no-repeat 0 0 / contain;
}

.chat-select {
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  padding: 4.106vw 4.831vw;
  font-family: "NotoSansJP-medium";
  font-size: 3.865vw;
  line-height: 1;
  color: #64441a;
  background-color: #fff;
  border-radius: 2.415vw;
  border: 1px solid #64441a;
}

/* 画面幅が小さい時用のスタイル */
@media screen and (max-width: 413px) {
  .chat-select { font-size: 16px }
}

/* 月々の支払いのセレクト */
.l-chat-cost {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 2.899vw;
  background-color: #549500;
  border-radius: 2.415vw;
}

.l-chat-cost:last-child {
  margin-bottom: 16.908vw;
}

.chat-cost-txt {
  font-family: "NotoSansJP-medium";
  font-size: 3.865vw;
  line-height: 1;
  letter-spacing: normal;
}

.chat-cost {
  position: relative;
  width: 28.986vw;
  margin: 0 2.415vw;
}

.chat-cost:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.415vw;
  transform: translateY(-50%);
  width: 1.449vw;
  height: 2.899vw;
  background: url('../../images/chat/ico_select.png') no-repeat 0 0 / contain;
}

.chat-cost+.chat-cost-ttl {
  margin-left: 7.246vw;
}

.chat-cost-menu {
  width: 100%;
  height: 9.662vw;
  padding: 0 2.415vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1;
  color: #64441a;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  border: none;
  border-radius: 1.691vw;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border: 0.483vw solid #fff;
}

/* 画面幅が小さい時用のスタイル */
@media screen and (max-width: 413px) {
  .chat-cost {
    width: 31.467vw;
  }
  .chat-cost-txt {
    font-size: 13px
  }
  .chat-cost-menu {
    font-size: 16px
  }
}

/* チェックボックス
----------------------- */
.chat-checkbox-wrap01,
.chat-checkbox-wrap02 {
  display: flex;
  flex-wrap: wrap;
  gap: 4.831vw;
}

.chat-checkbox-wrap02 .chat-checkbox-txt {
  height: 9.179vw;
}

.chat-checkbox {
  display: block;
  width: calc(calc(100% - 4.831vw) / 2);
}

.chat-checkbox-input {
  display: none;
}

.chat-checkbox-txt {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 3.14vw;
  padding-left: 6.522vw;
  font-family: "NotoSansJP-medium";
  font-size: 3.623vw;
  line-height: 1.26;
  color: #64441a;
}

.chat-checkbox-txt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4.106vw;
  height: 4.106vw;
  background-color: #fff;
  border: 1px solid #64441a;
  border-radius: 0.604vw;
}

/* 選択されたとき */
.chat-checkbox-input:checked + .chat-checkbox-txt:before {
  background-color: #549500;
  border-color: #549500;
}

.chat-checkbox-txt:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.725vw;
  transform: translateY(-50%) rotate(-45deg);
  width: 2.657vw;
  height: 1.449vw;
  margin-top: -0.483vw;
  border-left: 0.483vw solid #fff;
  border-bottom: 0.483vw solid #fff;
  opacity: 0;
  z-index: 1;
}

/* 選択されたとき */
.chat-checkbox-input:checked + .chat-checkbox-txt:after {
  opacity: 1;
}

.chat-checkbox-pic {
  position: relative;
  display: block;
  height: 33.816vw;
  border-radius: 2.415vw;
  overflow: hidden;
}

.chat-checkbox-pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

/* 選択されたとき */
.chat-checkbox-input:checked ~ .chat-checkbox-pic::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0.966vw solid #549500;
  border-radius: 2.415vw;
  z-index: 1;
}

/* 画像微調整 */
.chat-checkbox-pic.wamodern img {
  height: 110%;
}

.chat-checkbox-pic.laundry img {
  height: 150%;
  left: auto;
  top: -15.7vw;
  right: 0;
  transform: none;
}

.chat-checkbox-pic.pantry img {
  height: 160%;
  left: auto;
  top: -6.763vw;
  right: 0;
  transform: none;
}

/* お客様情報入力欄
----------------------- */
.chat-input-headline {
  margin-bottom: 3.623vw;
  font-family: "NotoSansJP-medium";
  font-size: 4.348vw;
  line-height: 1;
}

.chat-hissu-ico {
  position: relative;
  display: inline-block;
  margin-right: 2.415vw;
  padding: 0.725vw 1.208vw;
  font-family: "NotoSansJP-regular";
  font-size: 3.14vw;
  line-height: 1;
  background-color: #dc6d00;
  color: #fff;
  border-radius: 1.449vw;
}

/* 入力欄 */
.l-chat-input {
  position: relative;
  margin-bottom: 9.662vw;
}

.chat-input {
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  height: 15.7vw;
  padding: 4.348vw 10.87vw 4.348vw 4.831vw;
  font-size: 4.106vw;
  line-height: 1;
  color: #412807;
  background-color: #fff;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 2.415vw;
  border: 1px solid #64441a;
}

/* 自由入力欄 */
.chat-textarea {
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  height: 28.986vw;
  min-height: 28.986vw;
  padding: 4.831vw 4.831vw 6.039vw;
  font-size: 4.106vw;
  line-height: 1.7;
  border: none;
  border-radius: 1.691vw;
  resize: vertical;
  color: #412807;
  background-color: #fff;
  box-shadow: 0 0 12px 4px rgba(95, 88, 43, 0.04);
  border-radius: 2.415vw;
  border: 1px solid #64441a;
}

/* Chrome 例文 */
.chat-input::-webkit-input-placeholder,
.chat-textarea::-webkit-input-placeholder {
  font-size: 3.865vw;
  color: #b1a690;
}

/* Firefox 例文 */
.chat-input::-moz-placeholder,
.chat-textarea::-moz-placeholder {
  font-size: 3.865vw;
  color: #b1a690;
}

/* 画面幅が小さい時用のスタイル */
@media screen and (max-width: 413px) {
  .chat-textarea,
  .chat-input { font-size: 16px }
}

.chat-input:focus {
  border: 2px solid #ec5945;
}

/* focus時、padding変更 */
.chat-input:focus,
.chat-input:not(:placeholder-shown) {
  padding: 2.899vw 10.87vw 2.899vw 4.831vw;
}

.chat-input:not(:placeholder-shown) {
  background: #fff url('../../images/reserve/ico_check.svg') top 5.314vw right 3.623vw no-repeat;
  background-size: 5.797vw 4.348vw;
}

/* focus時、placeholderを非表示に */
.chat-input:focus::placeholder {
  color: transparent;
}

/* 名前入力 */
.chat-input-name-wrap {
  display: flex;
  justify-content: space-between;
  line-height: 1;
}

.chat-input-name {
  position: relative;
  width: 42.271vw;
}

/* 入力欄エラーのときはチェックマーク非表示 */
.chat-input.err:not(:placeholder-shown) {
  background: #f4d7d3;
}

/* エラー文 */
.chat-error-txt {
  display: none;
  margin-top: 1.691vw;
  padding: 0 1.691vw;
  font-size: 3.382vw;
  line-height: 1.2;
  color: #ee7261;
}

/* カレンダー
----------------------- */
.chat-date-ttl {
  margin: 9.662vw 0 6.039vw;
  padding: 4.106vw;
  font-family: "NotoSansJP-medium";
  font-size: 4.106vw;
  line-height: 1;
  text-align: center;
  background-color: #e8dcc6;
  border-radius: 2.415vw;
}

/* 日付 */
.chat .l-calendar {
  padding: 3.623vw 0;
  color: #412807;
  background-color: #fff;
  border: 1px solid #549500;
  border-radius: 2.899vw;
}

.chat .calendar {
  border-spacing: 2.899vw;
  font-size: 4.106vw;
}

.chat .calendar-header {
  margin-bottom: 1.208vw;
}

.chat .Week {
  line-height: inherit;
}

.chat .day-btn {
  width: 8.454vw;
  height: 8.454vw;
}

.chat .day-btn.enabled {
  color: #412807;
}

.chat .day-btn.disabled {
  color: #d6cec3;
}

.chat .day-btn.selected {
  color: #fff;
}

.chat .day-btn.selected::before {
  background-color: #549500;
  opacity: 1;
}

.chat .calendar-next::before,
.chat .calendar-prev::before {
  border-color: #412807;
}

.chat .l-time {
  padding: 0;
  background-color: transparent;
}

/* 時間 */
.chat .calendar-footer {
  display: none;
}

.chat .time-list {
  padding: 0 4.831vw 0 0;
}

.chat .time-btn {
  padding: 3.865vw 0;
  font-family: "NotoSansJP-medium";
  font-size: 6.039vw;
  color: #412807;
  background-color: #fff;
  border: 1px solid #549500;
  border-radius: 2.899vw;
}

.chat .time-btn::before {
  content: none;
}

.chat .time-btn.selected {
  color: #fff;
  background-color: #549500;
}

/* 送信ボタン
----------------------- */
.chat-submit-btn {
  display: block;
  width: 78.261vw;
  margin: 0 auto 6.763vw;
  padding: 4.106vw 0;
  text-align: center;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 6.522vw;
  line-height: 1.4;
  color: #fff;
  background-color: #549500;
  border-radius: 2.899vw;
  box-shadow: 0 1.208vw 0 #477e00;
}
.chat-submit-btn .sub-txt {
  display: block;
  font-family: "NotoSansJP-medium";
  font-size: 3.14vw;
}

.chat-no-submit-btn {
  display: block;
  width: 78.261vw;
  margin: 0 auto 6.763vw;
  padding: 7.488vw 0;
  text-align: center;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 4.831vw;
  line-height: 1.4;
  color: #fff;
  border-radius: 2.899vw;
  background-color: #c4c4c4;
  box-shadow: 0 1.208vw 0 #a6a6a6;
}

.chat-now-submit-btn {
  display: block;
  width: 78.261vw;
  margin: 0 auto 6.763vw;
  padding: 7.005vw 0;
  text-align: center;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 5.556vw;
  line-height: 1.4;
  color: #fff;
  background-color: #549500;
  border-radius: 2.899vw;
  box-shadow: 0 1.208vw 0 #477e00;
}

/* プライバシーポリシー */
.chat-privacy-notes {
  padding-left: 6.039vw;
  font-size: 3.14vw;
  line-height: 1.77;
}

.chat-privacy-notes a {
  color: #dc6d00;
}

/* # チャットフォーム　サンクスページ
   ----------------------------------------------------------------- */
.chat-finish {
  position: relative;
  height: 100vh;
  padding: 9.662vw 6.039vw;
  letter-spacing: 0.02em;
  background-color: #fcf6eb;
}

.chat-finish .chat-guide::before {
  top: 2.174vw;
  transform: none;
}

.chat-finish .chat-guide {
  padding: 3.623vw 6.039vw 6.039vw;
}

.chat-close-btn {
  display: block;
  margin: 9.179vw auto 0;
  font-size: 3.382vw;
  line-height: 2;
  text-decoration: underline;
}

/* お問い合わせフォーム
----------------------- */
.l-contact-form {
/*   padding: 9.662vw 6.039vw 6.039vw; */
  padding: 6.039vw 6.039vw 6.039vw;
}

.contact-ttl {
  font-size: 4.34783vw;
  line-height: 1;
  color: #fff;
  font-family: NotoSansJP-bold;
  padding: 4.83092vw;
  background-color: #537b4a;
}
.contact-txt {
  font-size: 3.38164vw;
  line-height: 1.75;
  margin: 7.24638vw;
  margin: 6.038654vw 7.24638vw 0;
}


/* ==========================================================================
   # オンライン相談 感想アンケートフォーム
   ========================================================================== */
/* qa用フッター */
.l-footer-qa {
  padding: 3.623vw 0;
  text-align: center;
  line-height: 1;
  background-color: #fff;
}
.footer-qa-copyright {
  font-size: 3.14vw;
  color: #666;
}


/* # 入力ページ
   ----------------------------------------------------------------- */
.qa-body {
  background-color: #f8f6f2;
  border-top: 2.415vw solid #46753b;
}

.l-qa {
  padding: 8.454vw 2.415vw 26.57vw;
  letter-spacing: normal;
}

.qa-ttl {
  margin: 0 3.623vw 4.831vw;
  padding-bottom: 4.348vw;
  font-family: NotoSansJP-bold;
  font-weight: normal;
  font-size: 7.005vw;
  line-height: 1;
  color: #46753b;
  border-bottom: 1px solid #ede6d9;
}

.qa-intro-txt {
  margin-bottom: 4.831vw;
  padding: 0 3.623vw;
  font-size: 3.382vw;
  line-height: 1.5;
}

.qa-form {
  margin-bottom: 7.729vw;
  counter-reset: number 0;
}

.qa-form-input-wrap {
  padding: 4.831vw 4.831vw 7.246vw;
  border-radius: 2.415vw;
  background-color: #fff;
}

.qa-form-input-wrap + .qa-form-input-wrap {
  margin-top: 2.899vw;
}

.qa-form-headline {
  position: relative;
  margin-bottom: 3.623vw;
  font-family: "NotoSansJP-medium";
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1.625;
}

.qa-form-headline::before {
  counter-increment: number 1;
  content: counter(number) ".";
  font-size: 3.865vw;
  text-align: center;
  color: #50b64f;
  padding-right: 1.208vw;
}
.js-qa-form-headline-number {
  position: relative;
  margin-bottom: 3.623vw;
  font-family: "NotoSansJP-medium";
  font-weight: normal;
  font-size: 3.865vw;
  line-height: 1.625;
}

.js-qa-form-headline-number .number {
  font-size: 3.865vw;
  text-align: center;
  color: #50b64f;
  padding-right: 1.208vw;
}

.qa-form-headline02 {
  margin: 6.039vw 0 3.623vw;
  padding-top: 4.831vw;
  font-family: "NotoSansJP-medium";
  font-weight: normal;
  font-size: 3.623vw;
  line-height: 1.625;
  border-top: 1px solid #cacaca;
}

.qa-form-headline02:first-of-type {
  margin-top: 0;
}

.qa-form-hissu-ico {
  display: inline-block;
  margin-left: 2.415vw;
  font-size: 3.623vw;
  color: #ff0000;
}

.qa-form-hissu-ico:before { content: "※必須"; }

/* 高さが可変するテキストエリア
----------------------- */
.l-flex-textarea {
  position: relative;
  font-size: 3.865vw;
  line-height: 1.6;
  border-bottom: 1px solid #cacaca;
}

.flex-textarea-dummy {
  overflow: hidden;
  visibility: hidden;
  padding: 1.208vw 0;
  min-height: 8.696vw;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.flex-textarea-input {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: hidden;
  padding: 1.208vw 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: none;
  color: inherit;
  font: inherit;
  resize: none;
  border-radius: 0;
}

.flex-textarea-input:focus {
  outline: 0;
}

/* ラジオボタン スコア
----------------------- */
.l-qa-radio-score {
  display: flex;
  justify-content: center;
}

.qa-radio-score + .qa-radio-score {
  margin-left: 1.691vw;
}

.qa-radio-score-input {
  display: none;
}

.qa-radio-score-txt {
  display: block;
  width: 6.763vw;
  height: 6.763vw;
  font-size: 3.865vw;
  line-height: 6.28vw;
  text-align: center;
  background-color: #f4f4f4;
  border: 1px solid #ccc;
  border-radius: 0.966vw;
  cursor: pointer;
}

.qa-radio-score-input:checked + .qa-radio-score-txt {
  background-color: #a5c120;
  border: 1px solid #a5c120;
  color: #fff;
}

/* ラジオボタンのキャプション */
.l-qa-radio-cap {
  display: flex;
  justify-content: space-between;
  margin-top: 2.415vw;
  padding: 0 1.208vw;
}

.qa-radio-cap-txt {
  line-height: 1.28;
  font-size: 3.14vw;
}

.qa-radio-score + .qa-radio-cap-txt,
.qa-radio-cap-txt + .qa-radio-score {
  margin-left: 3.623vw;
}

/* 通常のラジオボタン
----------------------- */
.qa-radio {
  font-size: 3.623vw;
  line-height: 1.6;
}
.qa-radio:first-of-type {
  margin-top: 4.831vw;
}
.qa-radio + .qa-radio {
  margin-top: 3.623vw;
}
.qa-radio-input {
  display: none;
}
.qa-radio-txt {
  position: relative;
  display: inline-block;
  padding-left: 7.729vw;
}

.qa-radio-input:checked + .qa-radio-txt:before {
  background-color: #fff;
  border: 0.483vw solid #a5c120;
}
.qa-radio-txt:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5.314vw;
  height: 5.314vw;
  background-color: #fff;
  border: 0.483vw solid #ccc;
  border-radius: 50%;
  z-index: 2;
}
.qa-radio-input:checked + .qa-radio-txt:after {
  opacity: 1;
}
.qa-radio-txt:after {
  content: "";
  position: absolute;
  top: 1.449vw;
  left: 1.449vw;
  width: 2.415vw;
  height: 2.415vw;
  opacity: 0;
  background-color: #a5c120;
  border-radius: 50%;
  z-index: 3;
}


/* 金額入力欄
----------------------- */
.l-qa-input-pirce {
  position: relative;
  display: flex;
  align-items: center;
}

.qa-input-pirce {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 36.232vw;
  padding: 1.208vw 0;
  font-size: 3.865vw;
  line-height: 1.6;
  border-bottom: 1px solid #cacaca;
  border-radius: 0;
}

.qa-input-pirce:focus {
  outline: 0;
}

.qa-input-pirce-yen {
  font-size: 3.623vw;
  margin-left: 2.415vw;
}

/* 一行入力欄
----------------------- */
.qa-input {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  display: block;
  width: 100%;
  padding: 1.208vw 0;
  font-size: 3.623vw;
  line-height: 1.6;
  border-bottom: 1px solid #cacaca;
  border-radius: 0;
}

.qa-input:focus {
  outline: 0;
}

/* お名前入力欄
----------------------- */
.l-qa-input-name {
  display: flex;
  gap: 0 4.831vw;
}

.qa-input-name {
  position: relative;
  width: 50%;
}

/* 送信ボタン */
.qa-form-submit-btn {
  display: block;
  min-width: 75.845vw;
  margin: 0 auto;
  padding: 5.797vw 7.246vw;
  font-family: "NotoSansJP-medium";
  font-weight: normal;
  text-align: center;
  font-size: 4.348vw;
  line-height: 1.3;
  color: #fff;
  background-color: #a5c120;
  border-radius: 8.454vw;
}

/* 画面幅が小さい時用のスタイル */
@media screen and (max-width: 413px) {
  .l-flex-textarea,
  .qa-input-pirce,
  .qa-input {
    font-size: 16px;
  }
  .flex-textarea-dummy {
    min-height: 36px;
  }
}

/* 感想アンケート用エラーメッセージ */
.qa-form .err {
  background-color: #f4d7d3;
}
.qa-form .errMsg {
  padding: 0;
  font-size: 3.382vw;
  color: #ee7261;
}
.qa-form .formError.userformError {
  position: absolute!important;
  bottom: -6.039vw!important;
  left: 0!important;
  margin-top: 0!important;
}
