@charset "UTF-8";
/* ++++++++++++++++++++++++++++++++++++++++++
	Theme Name: 住空間総合研究所 不動産サイト
	Description: fudousanplaza-nagasaki.com 用テーマ（2026リニューアル）
	Version: 01
++++++++++++++++++++++++++++++++++++++++++++++ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
}

span {
  font-weight: inherit;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  text-align: left;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/* --------------------------------------------------
	Form
-------------------------------------------------- */
input,
select {
  vertical-align: middle;
}

button {
  background: none;
  border: none;
  outline: none;
  appearance: none;
}

fieldset {
  border: none;
}

input {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: middle;
  outline: none;
  border: none;
}

textarea,
select,
label {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: middle;
  outline: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  resize: vertical;
}

legend {
  display: none;
}

img {
  max-width: 100%;
  height: auto;
}

img {
  vertical-align: bottom;
}

img.responsive {
  width: 100%;
}

img.svg {
  width: auto;
}

/* ============================================
   @font-face（サイトごとに設定）
   Webフォントをサーバ設置する場合はここに定義
============================================ */
/* ============================================
   サイト宣言変数
   SITE_CONFIG.md と必ず同期させること
============================================ */
/**************************
  カラーパレット
  住空間総合研究所メインサイトのトーンに合わせる
**************************/
/* ============================================
   関数（定義はこのファイルだけ。mixinファイル内での重複定義禁止）
============================================ */
/*-- mixinフォルダの中の_index.scss --*/
/* ============================================
   正本mixin（棚卸し確定版 2026-03）
   これ以外の旧mixinは _m-archive.scss にあり、新規使用禁止
============================================ */
/*------------------------------------
 メディアクエリ MIXIN
---------------------------------*/
/*---------------------
 ★ 文字関連一括指定【全テキスト必須】
-----------------------*/
/*---------------------
 ★ 数値プロパティのvwシームレス可変
-----------------------*/
/*---------------------
 ★ リンク文字色 固定
-----------------------*/
/*---------------------
 ★ コンテナ
-----------------------*/
/*-------------------------------------
   レイアウト汎用（pp- = page-parts）
---------------------------------------*/
/*-----------------------------------
 上下余白（レスポンシブ2値）
-----------------------------------*/
/*-----------------------------------
 左余白（レスポンシブ）※左柱レイアウト採用サイトのみ
-----------------------------------*/
/*-----------------------------------
 改行制御
-----------------------------------*/
/*--------------------------------------------
 行数丸め…省略（複数行対応）
----------------------------------------------*/
/*-----------------------------------
 連続要素の間隔（段落間隔）
-----------------------------------*/
/* ============================================
   フォント ff-系mixin
   Google Fonts（functions.phpでenqueue）
============================================ */
/* ++++++++++++++++++++++++++++++++++++++++++
   グローバル既定
++++++++++++++++++++++++++++++++++++++++++*/
/*---------------------
 ★ スムーズスクロール
-----------------------*/
html {
  scroll-behavior: smooth;
}

/*---------------------
 ★ 本文の基本
-----------------------*/
:root {
  --header-h: 84px;
}
@media screen and (max-width: 768px) {
  :root {
    --header-h: 62px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.04em;
  line-height: 1.8;
  background: #fdfcf8;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 768px) {
  body {
    font-style: normal;
    font-weight: 400;
    font-size: calc(14 / 16 * 1rem);
    color: #26292e;
    letter-spacing: 0.04em;
    line-height: 1.8;
  }
}

img {
  display: block;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
}

/*---------------------
 ★ 太字強調
-----------------------*/
.b,
strong {
  font-weight: bold;
}

/*---------------------
 ★ リンク既定: 下線消去+親の色を継承
 ※このサイトはリンクの多くがカード・ボタン型で、色をクラス側で指定している。
   linkColor()の :visited 等(詳細度0,1,1)がクラス指定(0,1,0)を上書きしてしまうため、
   既定は color: inherit のみとし、個別リンクで linkColor() を使う
-----------------------*/
a {
  color: inherit;
  text-decoration: none;
}

/*---------------------
 ★ リンク無効
-----------------------*/
a.link-none {
  pointer-events: none !important;
}

/*---------------------
 ★ アンカーリンクのスクロール位置調整（固定ヘッダー対策）
-----------------------*/
[id] {
  scroll-margin-top: calc(var(--header-h) + 10px);
}

/*-- componentフォルダの中の_index.scss --*/
/*-- utilityフォルダの中の_index.scss --*/
/*------------------------------------
ユーティリティ いろいろ
「クラス名を新規に作るのが面倒なとき」の受け皿。
u-クラスの多段連結でレイアウトを組み立てるのは禁止（それは名前空間内に書く）
---------------------------------*/
.u-display-none {
  display: none;
}

.u-txt-right {
  text-align: right;
}

.u-ta-left-sp {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .u-ta-left-sp {
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  .u-ta-center-sp {
    text-align: center;
  }
}

.u-fc-red {
  color: red;
}

.u-fc-accent {
  color: #b3924f;
}

.u-fs-08em {
  font-size: 0.8em;
}

.u-fw-b {
  font-weight: bold;
}

.u-inline-block {
  display: inline-block;
}

.u-marker-y {
  background: linear-gradient(transparent 75%, #ffff7f 75%);
}

.u-clip-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.u-clip-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

/* *********************************
  YouTube動画対応
*************************************/
.u-youtube-block {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
}
.u-youtube-block iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* *********************************
  GoogleMap対応
*************************************/
.u-access-map {
  position: relative;
  width: auto;
  padding-top: 37%;
}
.u-access-map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* *********************************
  汎用文字サイズ（font-cg + property-vw 定型セット）
  段階・可変レンジはサイトごとに調整してよい
*************************************/
.u-fs-36 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(36 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-36 {
    font-size: 36px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-36 {
    font-size: calc(0.8928571429vw + 23.1428571429px);
  }
}
@media (max-width: 319px) {
  .u-fs-36 {
    font-size: 26px;
  }
}

.u-fs-32 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(32 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-32 {
    font-size: 32px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-32 {
    font-size: calc(0.5357142857vw + 24.2857142857px);
  }
}
@media (max-width: 319px) {
  .u-fs-32 {
    font-size: 26px;
  }
}

.u-fs-28 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(28 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-28 {
    font-size: 28px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-28 {
    font-size: calc(0.8928571429vw + 15.1428571429px);
  }
}
@media (max-width: 319px) {
  .u-fs-28 {
    font-size: 18px;
  }
}

.u-fs-24 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(24 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-24 {
    font-size: 24px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-24 {
    font-size: calc(0.3571428571vw + 18.8571428571px);
  }
}
@media (max-width: 319px) {
  .u-fs-24 {
    font-size: 20px;
  }
}

.u-fs-17 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(17 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-17 {
    font-size: 17px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-17 {
    font-size: calc(0.2678571429vw + 13.1428571429px);
  }
}
@media (max-width: 319px) {
  .u-fs-17 {
    font-size: 14px;
  }
}

.u-fs-16 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-16 {
    font-size: 16px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-16 {
    font-size: calc(0.1785714286vw + 13.4285714286px);
  }
}
@media (max-width: 319px) {
  .u-fs-16 {
    font-size: 14px;
  }
}

.u-fs-14 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-14 {
    font-size: 14px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-14 {
    font-size: calc(0.1785714286vw + 11.4285714286px);
  }
}
@media (max-width: 319px) {
  .u-fs-14 {
    font-size: 12px;
  }
}

.u-fs-12 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-12 {
    font-size: 12px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-12 {
    font-size: calc(0.1785714286vw + 9.4285714286px);
  }
}
@media (max-width: 319px) {
  .u-fs-12 {
    font-size: 10px;
  }
}

.u-fs-10 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(10 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.u-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp {
    display: inline;
  }
}

@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

/*------------------------------------
上下マージンと上下パディングの定型セット
頻出するものだけ。段階はサイトごとに調整してよい
命名 = PC値 + SP値の連結（u-pp-mt12080 = PC120px/SP80px）
---------------------------------*/
.u-pp-mt12080 {
  margin-top: 120px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt12080 {
    margin-top: 80px;
  }
}

.u-pp-mb12080 {
  margin-bottom: 120px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb12080 {
    margin-bottom: 80px;
  }
}

.u-pp-mt8060 {
  margin-top: 80px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt8060 {
    margin-top: 60px;
  }
}

.u-pp-mb8060 {
  margin-bottom: 80px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb8060 {
    margin-bottom: 60px;
  }
}

.u-pp-mt6040 {
  margin-top: 60px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt6040 {
    margin-top: 40px;
  }
}

.u-pp-mb6040 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb6040 {
    margin-bottom: 40px;
  }
}

.u-pp-mt4030 {
  margin-top: 40px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt4030 {
    margin-top: 30px;
  }
}

.u-pp-mb4030 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb4030 {
    margin-bottom: 30px;
  }
}

.u-pp-mt3020 {
  margin-top: 30px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt3020 {
    margin-top: 20px;
  }
}

.u-pp-mb3020 {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb3020 {
    margin-bottom: 20px;
  }
}

.u-pp-mt2015 {
  margin-top: 20px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt2015 {
    margin-top: 15px;
  }
}

.u-pp-mb2015 {
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb2015 {
    margin-bottom: 15px;
  }
}

/*------------------------------------
左柱レイアウト採用サイトのみ: 左余白確保
数値はサイトごとに調整
---------------------------------*/
/*-- layoutフォルダの中の_index.scss --*/
/*------------------------------------
コンテナ クラス定義
サイトで使う定型幅をここでプリセット化する
---------------------------------*/
.l-container-1200 {
  max-width: 1200px;
  width: auto;
  margin: 0 auto;
  padding: 0 25px;
  position: relative;
}

.l-container-1000 {
  max-width: 1000px;
  width: auto;
  margin: 0 auto;
  padding: 0 25px;
  position: relative;
}

/*---------------------
  .l-header
-----------------------*/
.l-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(253, 252, 248, 0.96);
  backdrop-filter: blur(6px);
  box-shadow: 0 1px 0 rgba(27, 42, 68, 0.08);
}
.l-header__inner {
  max-width: 1320px;
  margin: 0 auto;
  height: var(--header-h);
  padding: 0 32px;
  display: flex;
  align-items: center;
  gap: 28px;
}
@media screen and (max-width: 768px) {
  .l-header__inner {
    padding: 0 16px;
    gap: 12px;
  }
}
.l-header__logo {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  flex-shrink: 0;
}
.l-header__logo-main {
  font-style: normal;
  font-weight: 700;
  font-size: calc(23 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .l-header__logo-main {
    font-style: normal;
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: inherit;
  }
}
.l-header__logo-sub {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11.5 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.2em;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .l-header__logo-sub {
    font-style: normal;
    font-weight: 700;
    font-size: calc(10 / 16 * 1rem);
    color: #b3924f;
    letter-spacing: 0.2em;
    line-height: inherit;
  }
}
.l-header__nav {
  margin-left: auto;
}
@media screen and (max-width: 1180px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav-list {
  display: flex;
  gap: 24px;
}
.l-header__nav-list a {
  font-style: normal;
  font-weight: 500;
  font-size: calc(13.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  white-space: nowrap;
  transition: color 0.2s;
}
.l-header__nav-list a:hover {
  color: #b3924f;
}
.l-header__contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.3;
}
@media screen and (max-width: 1180px) {
  .l-header__contact {
    margin-left: auto;
  }
}
.l-header__tel {
  font-style: normal;
  font-weight: 700;
  font-size: calc(21 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.04em;
  line-height: inherit;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
.l-header__tel svg {
  width: 16px;
  height: 16px;
  fill: #b3924f;
}
.l-header__time {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(10.5 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  white-space: nowrap;
}
.l-header__btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  background: #1b2a44;
  padding: 12px 20px;
  border-radius: 2px;
  white-space: nowrap;
  transition: background 0.2s;
}
.l-header__btn:hover {
  background: #b3924f;
}
.l-header__menu {
  display: none;
}
@media screen and (max-width: 1180px) {
  .l-header__menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 44px;
    height: 44px;
  }
  .l-header__menu span {
    display: block;
    width: 24px;
    height: 2px;
    background: #1b2a44;
    margin: 0 auto;
    transition: transform 0.2s, opacity 0.2s;
  }
}
@media screen and (max-width: 768px) {
  .l-header__menu {
    margin-left: auto;
  }
}
@media screen and (max-width: 768px) {
  .l-header__contact, .l-header__btn {
    display: none;
  }
}
.l-header {
  /*---------------------
    SP・タブレット用ドロワーメニュー（1180px以下）
  -----------------------*/
}
.l-header__menu.is-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.l-header__menu.is-open span:nth-child(2) {
  opacity: 0;
}
.l-header__menu.is-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
.l-header__drawer {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: calc(100vh - var(--header-h));
  overflow-y: auto;
  padding: 12px 24px 28px;
  background: #fdfcf8;
  box-shadow: 0 12px 24px rgba(27, 42, 68, 0.12);
}
.l-header__drawer[hidden] {
  display: none;
}
.l-header__drawer .l-header__nav-list {
  display: block;
}
.l-header__drawer .l-header__nav-list li {
  border-bottom: 1px solid #ddd6c8;
}
.l-header__drawer .l-header__nav-list a {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.04em;
  line-height: 1.6;
  display: block;
  padding: 16px 4px;
}
.l-header__drawer-tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
  padding: 14px;
  background: #f5f2ea;
  border-radius: 4px;
}
.l-header__drawer-tel-num {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 700;
  font-size: calc(26 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.l-header__drawer-tel-note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #63676e;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.l-header__drawer-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  display: block;
  margin-top: 12px;
  padding: 16px;
  text-align: center;
  background: #b3924f;
  border-radius: 2px;
}

/*---------------------
  .l-footer
-----------------------*/
.l-footer {
  background: #1b2a44;
  color: rgba(255, 255, 255, 0.85);
  padding: 64px 0 24px;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 48px 0 88px;
  }
}
.l-footer__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .l-footer__inner {
    flex-direction: column;
    padding: 0 16px;
    gap: 28px;
  }
}
.l-footer__logo {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
.l-footer__company {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 2px;
}
.l-footer__address {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .l-footer__address {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(12 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 2;
  }
}
.l-footer__nav {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 8px 48px;
  align-content: start;
}
.l-footer__nav a:hover {
  color: #cfb27a;
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    gap: 10px 24px;
  }
}
.l-footer__copy {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(11 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: inherit;
  line-height: inherit;
  max-width: 1160px;
  margin: 48px auto 0;
  padding: 20px 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media screen and (max-width: 768px) {
  .l-footer__copy {
    margin-top: 32px;
    padding: 16px 16px 0;
  }
}

/*---------------------
  .l-spbar
-----------------------*/
.l-spbar {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-spbar {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .l-spbar__item {
    font-style: normal;
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    text-align: center;
    padding: 16px 8px;
    background: #ffffff;
  }
}
@media screen and (max-width: 768px) {
  .l-spbar__item--main {
    background: #b3924f;
    color: #ffffff;
  }
}

/*-- projectフォルダの中の_index.scss --*/
/*---------------------
  .home-fv
-----------------------*/
.home-fv {
  position: relative;
  padding-bottom: 72px;
  background: linear-gradient(to bottom, transparent 70%, #f5f2ea 70%);
}
@media screen and (max-width: 768px) {
  .home-fv {
    padding-bottom: 40px;
  }
}
.home-fv__visual {
  position: relative;
  height: min(76vh, 720px);
  min-height: 520px;
  overflow: hidden;
}
.home-fv__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.home-fv__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(19, 31, 51, 0.66) 0%, rgba(19, 31, 51, 0.35) 50%, rgba(19, 31, 51, 0.05) 80%);
}
@media screen and (max-width: 768px) {
  .home-fv__visual img {
    object-position: 55% bottom;
  }
  .home-fv__visual::after {
    background: linear-gradient(180deg, rgba(19, 31, 51, 0.15) 0%, rgba(19, 31, 51, 0.55) 100%);
  }
}
.home-fv__inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: min(76vh, 720px);
  min-height: 520px;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #ffffff;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .home-fv__inner {
    padding: 0 20px 120px;
    justify-content: flex-end;
  }
}
.home-fv__en {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: 0.3em;
  line-height: inherit;
  margin-bottom: 20px;
}
.home-fv__catch {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.3);
}
.home-fv__catch-main {
  font-style: normal;
  font-weight: 600;
  font-size: calc(46 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.1em;
  line-height: 1.5;
  display: block;
}
@media screen and (max-width: 768px) {
  .home-fv__catch-main {
    font-style: normal;
    font-weight: 600;
    font-size: calc(27 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.home-fv__catch-sub {
  font-style: normal;
  font-weight: 600;
  font-size: calc(22 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.1em;
  line-height: 1.9;
  display: block;
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .home-fv__catch-sub {
    font-style: normal;
    font-weight: 600;
    font-size: calc(15 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.1em;
    line-height: 1.9;
    margin-top: 12px;
  }
}
.home-fv__quick {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin: -96px auto 0;
  background: #ffffff;
  border-radius: 4px;
  box-shadow: 0 12px 40px rgba(27, 42, 68, 0.12);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 28px 12px;
}
@media screen and (max-width: 768px) {
  .home-fv__quick {
    margin: -84px 16px 0;
    grid-template-columns: repeat(2, 1fr);
    padding: 8px;
  }
}
.home-fv__quick-item {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.55;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 12px;
  position: relative;
  transition: color 0.2s;
}
.home-fv__quick-item + .home-fv__quick-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  bottom: 10%;
  width: 1px;
  background: #ddd6c8;
}
.home-fv__quick-item svg {
  width: 48px;
  height: 48px;
  fill: none;
  stroke: #b3924f;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.home-fv__quick-item:hover {
  color: #b3924f;
}
@media screen and (max-width: 768px) {
  .home-fv__quick-item {
    font-style: normal;
    font-weight: 700;
    font-size: calc(13 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.55;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    padding: 16px 8px;
  }
  .home-fv__quick-item + .home-fv__quick-item::before {
    display: none;
  }
  .home-fv__quick-item:nth-child(even) {
    box-shadow: -1px 0 0 #ddd6c8;
  }
  .home-fv__quick-item:nth-child(n+3) {
    box-shadow: 0 -1px 0 #ddd6c8;
  }
  .home-fv__quick-item:nth-child(4) {
    box-shadow: -1px 0 0 #ddd6c8, 0 -1px 0 #ddd6c8;
  }
  .home-fv__quick-item svg {
    width: 38px;
    height: 38px;
  }
}
@media screen and (max-width: 768px) {
  .home-fv__visual, .home-fv__inner {
    height: 72vh;
    min-height: 460px;
  }
}

/*---------------------
  .home-pickup
-----------------------*/
.home-pickup {
  background: #f5f2ea;
  padding: 64px 0 104px;
}
@media screen and (max-width: 768px) {
  .home-pickup {
    padding: 48px 0 64px;
  }
}
.home-pickup__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .home-pickup__inner {
    padding: 0 16px;
  }
}
.home-pickup__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .home-pickup__head {
    margin-bottom: 28px;
  }
}
.home-pickup__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.home-pickup__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(34 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .home-pickup__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(23 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.home-pickup__note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .home-pickup__note {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(12 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.home-pickup__main {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(27, 42, 68, 0.08);
}
@media screen and (max-width: 960px) {
  .home-pickup__main {
    grid-template-columns: 1fr;
  }
}
.home-pickup__gallery {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  .home-pickup__gallery {
    padding: 12px;
    gap: 8px;
  }
}
.home-pickup__photo {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 2px;
}
.home-pickup__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s;
}
.home-pickup__badge {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.15em;
  line-height: inherit;
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 1;
  background: #c0592b;
  padding: 4px 14px;
  border-radius: 2px;
}
.home-pickup__thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.home-pickup__thumbs button {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 2px;
  opacity: 0.55;
  transition: opacity 0.2s;
  outline: 2px solid transparent;
  outline-offset: -2px;
}
.home-pickup__thumbs button.is-active {
  opacity: 1;
  outline-color: #b3924f;
}
.home-pickup__thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .home-pickup__thumbs {
    gap: 6px;
  }
}
.home-pickup__more {
  position: relative;
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 2px;
}
.home-pickup__more span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(19, 31, 51, 0.6);
}
.home-pickup__body {
  padding: 40px 44px 40px 20px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 960px) {
  .home-pickup__body {
    padding: 8px 24px 32px;
  }
}
@media screen and (max-width: 768px) {
  .home-pickup__body {
    padding: 8px 18px 24px;
  }
}
.home-pickup__cat {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-block;
  align-self: flex-start;
  background: #f5f2ea;
  padding: 3px 12px;
  border-radius: 2px;
}
.home-pickup__name {
  font-style: normal;
  font-weight: 700;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.4;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .home-pickup__name {
    font-style: normal;
    font-weight: 700;
    font-size: calc(23 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.4;
  }
}
.home-pickup__access {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 4px;
}
.home-pickup__price {
  margin-top: 14px;
  color: #c0592b;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.home-pickup__price-num {
  font-style: normal;
  font-weight: 700;
  font-size: calc(52 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.02em;
  line-height: 1.1;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .home-pickup__price-num {
    font-style: normal;
    font-weight: 700;
    font-size: calc(40 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.02em;
    line-height: 1.1;
  }
}
.home-pickup__price-unit {
  font-style: normal;
  font-weight: 700;
  font-size: calc(18 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
.home-pickup__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.home-pickup__tags li {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  border: 1px solid #ddd6c8;
  padding: 3px 12px;
  border-radius: 20px;
}
.home-pickup__spec {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 22px;
}
.home-pickup__spec div {
  display: grid;
  grid-template-columns: 9.5em 1fr;
  padding: 9px 0;
  border-top: 1px solid #ddd6c8;
}
.home-pickup__spec div:last-child {
  border-bottom: 1px solid #ddd6c8;
}
.home-pickup__spec dt {
  color: #63676e;
}
.home-pickup__point {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 1.9;
  margin-top: 18px;
}
.home-pickup__btns {
  display: flex;
  gap: 12px;
  margin-top: auto;
  padding-top: 24px;
}
@media screen and (max-width: 768px) {
  .home-pickup__btns {
    flex-direction: column;
    gap: 10px;
  }
}
.home-pickup__btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  flex: 1;
  text-align: center;
  padding: 16px 12px;
  border: 1px solid #1b2a44;
  border-radius: 2px;
  transition: background 0.2s, color 0.2s;
}
.home-pickup__btn:hover {
  background: #1b2a44;
  color: #ffffff;
}
.home-pickup__btn--primary {
  background: #1b2a44;
  color: #ffffff;
}
.home-pickup__btn--primary:hover {
  background: #b3924f;
  border-color: #b3924f;
}
.home-pickup__sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 960px) {
  .home-pickup__sub {
    grid-template-columns: 1fr;
  }
}
.home-pickup__card a {
  display: grid;
  grid-template-columns: 200px 1fr;
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(27, 42, 68, 0.06);
  transition: transform 0.2s;
}
.home-pickup__card a:hover {
  transform: translateY(-3px);
}
@media screen and (max-width: 768px) {
  .home-pickup__card a {
    grid-template-columns: 120px 1fr;
  }
}
.home-pickup__card-img {
  position: relative;
  aspect-ratio: 4/3;
}
.home-pickup__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-pickup__card-cat {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  position: absolute;
  top: 10px;
  left: 10px;
  background: #1b2a44;
  padding: 2px 10px;
  border-radius: 2px;
}
.home-pickup__card-body {
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .home-pickup__card-body {
    padding: 12px 14px;
  }
}
.home-pickup__card-name {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-pickup__card-name {
    font-style: normal;
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.5;
  }
}
.home-pickup__card-meta {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.6;
  margin-top: 6px;
}
.home-pickup__card-price {
  font-style: normal;
  font-weight: 700;
  font-size: calc(26 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.2;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 6px;
}
.home-pickup__card-price span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.2;
  font-family: "Noto Sans JP", sans-serif;
  margin-left: 2px;
}
@media screen and (max-width: 768px) {
  .home-pickup__card-price {
    font-style: normal;
    font-weight: 700;
    font-size: calc(21 / 16 * 1rem);
    color: #c0592b;
    letter-spacing: inherit;
    line-height: 1.2;
  }
}

/*---------------------
  .home-search
-----------------------*/
.home-search {
  padding: 104px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .home-search {
    padding: 64px 0;
  }
}
.home-search__inner {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .home-search__inner {
    padding: 0 16px;
  }
}
.home-search__head {
  text-align: center;
  margin-bottom: 36px;
}
.home-search__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.home-search__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .home-search__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(23 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.home-search__tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.home-search__tab {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  padding: 18px 12px;
  background: #f5f2ea;
  border-radius: 4px 4px 0 0;
  transition: background 0.2s, color 0.2s;
}
.home-search__tab span {
  font-style: normal;
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-block;
  margin-left: 10px;
  background: #ffffff;
  padding: 1px 10px;
  border-radius: 20px;
}
.home-search__tab.is-active {
  background: #1b2a44;
  color: #ffffff;
}
.home-search__tab.is-active span {
  background: #b3924f;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .home-search__tab {
    font-style: normal;
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 14px 4px;
  }
  .home-search__tab span {
    font-style: normal;
    font-weight: 500;
    font-size: calc(11 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
    display: block;
    margin: 4px auto 0;
    width: fit-content;
  }
}
.home-search__panel {
  display: none;
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-top: 0;
  padding: 28px;
  border-radius: 0 0 4px 4px;
}
.home-search__panel.is-active {
  display: block;
}
@media screen and (max-width: 768px) {
  .home-search__panel {
    padding: 14px;
  }
}
.home-search__item {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 28px;
}
.home-search__item + .home-search__item {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #ddd6c8;
}
@media screen and (max-width: 768px) {
  .home-search__item {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.home-search__item-img {
  position: relative;
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 2px;
  align-self: start;
}
.home-search__item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}
.home-search__item-img:hover img {
  transform: scale(1.04);
}
.home-search__item-new {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.12em;
  line-height: inherit;
  position: absolute;
  top: 10px;
  left: 10px;
  background: #c0592b;
  padding: 2px 10px;
  border-radius: 2px;
}
.home-search__item-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .home-search__item-top {
    flex-direction: column;
    gap: 2px;
    padding-bottom: 10px;
  }
}
.home-search__item-name {
  font-style: normal;
  font-weight: 700;
  font-size: calc(18 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.5;
}
.home-search__item-name a:hover {
  color: #b3924f;
}
@media screen and (max-width: 768px) {
  .home-search__item-name {
    font-style: normal;
    font-weight: 700;
    font-size: calc(15.5 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.5;
  }
}
.home-search__item-price {
  font-style: normal;
  font-weight: 700;
  font-size: calc(32 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.2;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  white-space: nowrap;
}
.home-search__item-price span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.2;
  font-family: "Noto Sans JP", sans-serif;
  margin-left: 2px;
}
@media screen and (max-width: 768px) {
  .home-search__item-price {
    font-style: normal;
    font-weight: 700;
    font-size: calc(26 / 16 * 1rem);
    color: #c0592b;
    letter-spacing: inherit;
    line-height: 1.2;
  }
}
.home-search__item-spec {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #ddd6c8;
}
.home-search__item-spec div {
  display: grid;
  grid-template-columns: 8.5em 1fr;
  padding: 8px 0;
  border-bottom: 1px solid #ddd6c8;
}
.home-search__item-spec div:nth-child(odd) {
  padding-right: 16px;
}
.home-search__item-spec dt {
  color: #63676e;
}
@media screen and (max-width: 768px) {
  .home-search__item-spec {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(12.5 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    grid-template-columns: 1fr;
  }
  .home-search__item-spec div {
    grid-template-columns: 7.5em 1fr;
    padding: 7px 0;
  }
  .home-search__item-spec div:nth-child(odd) {
    padding-right: 0;
  }
}
.home-search__item-foot {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .home-search__item-foot {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
}
.home-search__item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.home-search__item-tags li {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  background: #f5f2ea;
  padding: 2px 10px;
  border-radius: 20px;
}
.home-search__item-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  margin-left: auto;
  flex-shrink: 0;
  background: #1b2a44;
  padding: 11px 32px;
  border-radius: 2px;
  transition: background 0.2s;
}
.home-search__item-btn:hover {
  background: #b3924f;
}
@media screen and (max-width: 768px) {
  .home-search__item-btn {
    margin-left: 0;
    text-align: center;
    padding: 13px;
  }
}
.home-search__empty {
  text-align: center;
  padding: 24px 12px;
}
.home-search__empty-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
}
.home-search__empty-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.9;
  margin-top: 10px;
}
.home-search__empty-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-block;
  margin-top: 20px;
  background: #1b2a44;
  padding: 14px 40px;
  border-radius: 2px;
  transition: background 0.2s;
}
.home-search__empty-btn:hover {
  background: #b3924f;
}
.home-search__request {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-top: 40px;
  padding: 32px 40px;
  background: #f5f2ea;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .home-search__request {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 24px 20px;
  }
}
.home-search__request-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .home-search__request-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.home-search__request-desc {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.9;
  margin-top: 6px;
}
.home-search__request-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  margin-left: auto;
  flex-shrink: 0;
  border: 1px solid #1b2a44;
  padding: 14px 28px;
  border-radius: 2px;
  background: #ffffff;
  transition: background 0.2s, color 0.2s;
}
.home-search__request-btn:hover {
  background: #1b2a44;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .home-search__request-btn {
    margin-left: 0;
    text-align: center;
  }
}

/*---------------------
  .home-sell
-----------------------*/
.home-sell {
  background: #1b2a44;
  color: #ffffff;
  padding: 104px 0;
  position: relative;
  overflow: hidden;
}
.home-sell::before {
  content: "";
  position: absolute;
  right: -120px;
  top: -120px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  border: 1px solid rgba(207, 178, 122, 0.25);
}
@media screen and (max-width: 768px) {
  .home-sell {
    padding: 64px 0;
  }
}
.home-sell__inner {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .home-sell__inner {
    padding: 0 16px;
  }
}
.home-sell__head {
  text-align: center;
}
.home-sell__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.home-sell__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(38 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .home-sell__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(26 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.home-sell__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(15 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.88);
  letter-spacing: inherit;
  line-height: 2.1;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .home-sell__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13.5 / 16 * 1rem);
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: inherit;
    line-height: 2.1;
    text-align: left;
  }
}
.home-sell__points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 52px;
}
@media screen and (max-width: 768px) {
  .home-sell__points {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 32px;
  }
}
.home-sell__point {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 4px;
  padding: 32px 28px;
}
@media screen and (max-width: 768px) {
  .home-sell__point {
    padding: 22px 20px;
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 8px;
  }
}
.home-sell__point-num {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(32 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: inherit;
  line-height: 1;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .home-sell__point-num {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(24 / 16 * 1rem);
    color: #cfb27a;
    letter-spacing: inherit;
    line-height: 1;
    grid-row: span 2;
  }
}
.home-sell__point-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(19 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .home-sell__point-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin-top: 0;
  }
}
.home-sell__point-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: inherit;
  line-height: 1.9;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .home-sell__point-text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: inherit;
    line-height: 1.9;
    margin-top: 4px;
  }
}
.home-sell__cta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 52px;
}
@media screen and (max-width: 768px) {
  .home-sell__cta {
    flex-direction: column;
    gap: 20px;
    margin-top: 32px;
  }
}
.home-sell__cta-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  background: #b3924f;
  padding: 20px 64px;
  border-radius: 2px;
  transition: background 0.2s;
}
.home-sell__cta-btn:hover {
  background: #cfb27a;
}
@media screen and (max-width: 768px) {
  .home-sell__cta-btn {
    font-style: normal;
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    color: #ffffff;
    letter-spacing: inherit;
    line-height: inherit;
    width: 100%;
    text-align: center;
    padding: 18px;
  }
}
.home-sell__cta-sub {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  border: 1px solid rgba(255, 255, 255, 0.6);
  padding: 19px 36px;
  border-radius: 2px;
  transition: background 0.2s, color 0.2s;
}
.home-sell__cta-sub:hover {
  background: #ffffff;
  color: #1b2a44;
}
@media screen and (max-width: 768px) {
  .home-sell__cta-sub {
    width: 100%;
    text-align: center;
    padding: 16px;
  }
}
.home-sell__cta-tel {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: inherit;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
}
.home-sell__cta-tel span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(26 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: 1.4;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .home-sell__cta-tel {
    align-items: center;
  }
}

/*---------------------
  .home-consult
-----------------------*/
.home-consult {
  padding: 112px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .home-consult {
    padding: 64px 0;
  }
}
.home-consult__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: center;
}
@media screen and (max-width: 960px) {
  .home-consult__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
@media screen and (max-width: 768px) {
  .home-consult__inner {
    padding: 0 16px;
  }
}
.home-consult__img {
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: 4px;
}
.home-consult__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 960px) {
  .home-consult__img {
    aspect-ratio: 16/10;
  }
}
.home-consult__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.home-consult__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(27 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .home-consult__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(21 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: 1.6;
  }
}
.home-consult__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .home-consult__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13.5 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
  }
}
.home-consult__list {
  margin-top: 24px;
  background: #f5f2ea;
  border-radius: 4px;
  padding: 20px 24px;
  display: grid;
  gap: 8px;
}
.home-consult__list li {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  position: relative;
  padding-left: 26px;
}
.home-consult__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 14px;
  height: 14px;
  border-radius: 2px;
  background: #b3924f;
}
.home-consult__list li::after {
  content: "";
  position: absolute;
  left: 4px;
  top: calc(0.5em + 3px);
  width: 6px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .home-consult__list {
    padding: 16px;
  }
  .home-consult__list li {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.home-consult__flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 28px;
}
.home-consult__flow li {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  position: relative;
  text-align: center;
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  padding: 14px 8px;
}
.home-consult__flow li span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(10.5 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.15em;
  line-height: inherit;
  display: block;
}
.home-consult__flow li + li::before {
  content: "";
  position: absolute;
  left: -19px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 1.5px solid #b3924f;
  border-right: 1.5px solid #b3924f;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .home-consult__flow {
    gap: 18px;
  }
  .home-consult__flow li {
    font-style: normal;
    font-weight: 700;
    font-size: calc(12 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 12px 4px;
  }
  .home-consult__flow li + li::before {
    left: -13px;
    width: 7px;
    height: 7px;
  }
}
.home-consult__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .home-consult__btns {
    flex-direction: column;
  }
}
.home-consult__btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-block;
  text-align: center;
  background: #1b2a44;
  padding: 18px 56px;
  border-radius: 2px;
  transition: background 0.2s;
}
.home-consult__btn:hover {
  background: #b3924f;
}
@media screen and (max-width: 768px) {
  .home-consult__btn {
    display: block;
    text-align: center;
  }
}
.home-consult__btn--sub {
  background: #ffffff;
  color: #1b2a44;
  box-shadow: inset 0 0 0 1px #1b2a44;
  padding: 18px 40px;
}
.home-consult__btn--sub:hover {
  background: #1b2a44;
  color: #ffffff;
}

/*---------------------
  .home-purpose
-----------------------*/
.home-purpose {
  padding: 104px 0;
  background: #f5f2ea;
}
@media screen and (max-width: 768px) {
  .home-purpose {
    padding: 64px 0;
  }
}
.home-purpose__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .home-purpose__inner {
    padding: 0 16px;
  }
}
.home-purpose__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .home-purpose__head {
    margin-bottom: 28px;
  }
}
.home-purpose__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.home-purpose__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .home-purpose__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(21 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: inherit;
  }
}
.home-purpose__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .home-purpose__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
    text-align: left;
  }
}
.home-purpose__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 960px) {
  .home-purpose__grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .home-purpose__grid {
    gap: 12px;
  }
}
.home-purpose__card {
  background: #ffffff;
  border-radius: 4px;
  padding: 32px 28px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.home-purpose__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(27, 42, 68, 0.1);
}
@media screen and (max-width: 768px) {
  .home-purpose__card {
    padding: 22px 20px;
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 14px;
  }
}
.home-purpose__card--wide {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  padding: 0;
  overflow: hidden;
}
.home-purpose__card--wide .home-purpose__card-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(28 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .home-purpose__card--wide {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .home-purpose__card--wide {
    display: block;
    padding: 0;
  }
  .home-purpose__card--wide .home-purpose__card-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(21 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.5;
  }
}
.home-purpose__card-img {
  aspect-ratio: 16/9;
}
.home-purpose__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-purpose__card-body {
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-purpose__card-body .home-purpose__card-label {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .home-purpose__card-body {
    padding: 22px 20px;
  }
}
.home-purpose__card-icon svg {
  width: 48px;
  height: 48px;
  fill: none;
  stroke: #b3924f;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media screen and (max-width: 768px) {
  .home-purpose__card-icon {
    grid-row: span 3;
  }
  .home-purpose__card-icon svg {
    width: 40px;
    height: 40px;
  }
}
.home-purpose__card-label {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.1em;
  line-height: inherit;
  display: inline-block;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .home-purpose__card-label {
    margin-top: 0;
  }
}
.home-purpose__card-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .home-purpose__card-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.5;
  }
}
.home-purpose__card-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 1.9;
  margin-top: 10px;
}

/*---------------------
  .home-company
-----------------------*/
.home-company {
  padding: 104px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .home-company {
    padding: 64px 0;
  }
}
.home-company__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .home-company__inner {
    padding: 0 16px;
  }
}
.home-company__head {
  text-align: center;
  margin-bottom: 40px;
}
.home-company__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.home-company__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .home-company__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(23 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.home-company__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
@media screen and (max-width: 768px) {
  .home-company__wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.home-company__table {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
.home-company__table div {
  display: grid;
  grid-template-columns: 8em 1fr;
  padding: 16px 4px;
  border-bottom: 1px solid #ddd6c8;
}
.home-company__table div:first-child {
  border-top: 1px solid #ddd6c8;
}
.home-company__table dt {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .home-company__table dt {
    font-style: normal;
    font-weight: 700;
    font-size: calc(13 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
@media screen and (max-width: 768px) {
  .home-company__table {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
  }
  .home-company__table div {
    grid-template-columns: 6.5em 1fr;
    padding: 12px 2px;
  }
}
.home-company__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: 0;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .home-company__map iframe {
    min-height: 260px;
  }
}
.home-company__group {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
  padding: 26px 36px;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  background: #ffffff;
  transition: border-color 0.2s;
}
.home-company__group:hover {
  border-color: #b3924f;
}
@media screen and (max-width: 768px) {
  .home-company__group {
    flex-wrap: wrap;
    gap: 4px 12px;
    padding: 18px 20px;
  }
}
.home-company__group-label {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.2em;
  line-height: inherit;
}
.home-company__group-name {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .home-company__group-name {
    font-style: normal;
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.home-company__group-arrow {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(20 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: inherit;
  line-height: inherit;
  margin-left: auto;
}

/*---------------------
  .home-cta
-----------------------*/
.home-cta {
  background: #131f33;
  color: #ffffff;
  padding: 96px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-cta {
    padding: 64px 0;
  }
}
.home-cta__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .home-cta__inner {
    padding: 0 16px;
  }
}
.home-cta__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.home-cta__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .home-cta__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(20 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.08em;
    line-height: 1.6;
  }
}
.home-cta__boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 44px;
}
@media screen and (max-width: 768px) {
  .home-cta__boxes {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 28px;
  }
}
.home-cta__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: #ffffff;
  color: #1b2a44;
  border-radius: 4px;
  padding: 30px 20px;
  transition: transform 0.2s;
}
.home-cta__box:hover {
  transform: translateY(-3px);
}
@media screen and (max-width: 768px) {
  .home-cta__box {
    padding: 22px 16px;
  }
}
.home-cta__box-label {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
}
.home-cta__box-tel {
  font-style: normal;
  font-weight: 700;
  font-size: calc(36 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.3;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .home-cta__box-tel {
    font-style: normal;
    font-weight: 700;
    font-size: calc(30 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.3;
  }
}
.home-cta__box-main {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.6;
  padding: 4px 0;
}
@media screen and (max-width: 768px) {
  .home-cta__box-main {
    font-style: normal;
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.6;
  }
}
.home-cta__box-note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
}

/*---------------------
  .bukken
-----------------------*/
.bukken {
  background: #fdfcf8;
}

/*---------------------
  .bukken-bread
-----------------------*/
.bukken-bread {
  background: #f5f2ea;
}
.bukken-bread__list {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  max-width: 1160px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
}
.bukken-bread__list li + li::before {
  content: "›";
  margin: 0 10px;
  color: #b3924f;
}
.bukken-bread__list a {
  color: #1b2a44;
}
.bukken-bread__list a:hover {
  color: #b3924f;
}
@media screen and (max-width: 768px) {
  .bukken-bread__list {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(11 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 10px 16px;
  }
}

/*---------------------
  .bukken-head
-----------------------*/
.bukken-head {
  padding: 44px 0 28px;
}
@media screen and (max-width: 768px) {
  .bukken-head {
    padding: 28px 0 20px;
  }
}
.bukken-head__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .bukken-head__inner {
    padding: 0 16px;
  }
}
.bukken-head__labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bukken-head__new {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.12em;
  line-height: inherit;
  background: #c0592b;
  padding: 3px 12px;
  border-radius: 2px;
}
.bukken-head__cat {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  background: #f5f2ea;
  padding: 3px 12px;
  border-radius: 2px;
}
.bukken-head__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(34 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.06em;
  line-height: 1.45;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .bukken-head__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(23 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.06em;
    line-height: 1.45;
  }
}
.bukken-head__catch {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(15 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .bukken-head__catch {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.bukken-head__price {
  display: none;
}
@media screen and (max-width: 960px) {
  .bukken-head__price {
    font-style: normal;
    font-weight: 700;
    font-size: calc(15 / 16 * 1rem);
    color: #c0592b;
    letter-spacing: inherit;
    line-height: inherit;
    display: block;
    margin-top: 8px;
  }
  .bukken-head__price span {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(36 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    margin-right: 2px;
  }
}

/*---------------------
  .bukken-body
-----------------------*/
.bukken-body {
  padding-bottom: 96px;
}
@media screen and (max-width: 768px) {
  .bukken-body {
    padding-bottom: 64px;
  }
}
.bukken-body__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}
@media screen and (max-width: 960px) {
  .bukken-body__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  .bukken-body__inner {
    padding: 0 16px;
  }
}
.bukken-body__main {
  min-width: 0;
}

/*---------------------
  .bukken-gallery
-----------------------*/
.bukken-gallery__main {
  position: relative;
  aspect-ratio: 4/3;
  background: #131f33;
  border-radius: 4px;
  overflow: hidden;
}
.bukken-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.bukken-gallery__nav {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 44px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  transition: background 0.2s;
}
.bukken-gallery__nav:hover {
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .bukken-gallery__nav {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(24 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 34px;
    width: 38px;
    height: 38px;
  }
}
.bukken-gallery__nav--prev {
  left: 16px;
}
@media screen and (max-width: 768px) {
  .bukken-gallery__nav--prev {
    left: 8px;
  }
}
.bukken-gallery__nav--next {
  right: 16px;
}
@media screen and (max-width: 768px) {
  .bukken-gallery__nav--next {
    right: 8px;
  }
}
.bukken-gallery__count {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  position: absolute;
  right: 16px;
  bottom: 14px;
  background: rgba(19, 31, 51, 0.7);
  padding: 2px 12px;
  border-radius: 20px;
}
.bukken-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.bukken-gallery__thumbs button {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 2px;
  opacity: 0.5;
  transition: opacity 0.2s;
  outline: 2px solid transparent;
  outline-offset: -2px;
}
.bukken-gallery__thumbs button.is-active {
  opacity: 1;
  outline-color: #b3924f;
}
.bukken-gallery__thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .bukken-gallery__thumbs {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 22%;
    overflow-x: auto;
    gap: 6px;
  }
}

/*---------------------
  .bukken-point
-----------------------*/
.bukken-point {
  margin-top: 56px;
}
@media screen and (max-width: 768px) {
  .bukken-point {
    margin-top: 40px;
  }
}
.bukken-point__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(24 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .bukken-point__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: inherit;
  }
}
.bukken-point__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .bukken-point__list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.bukken-point__item {
  background: #f5f2ea;
  border-radius: 4px;
  padding: 22px 24px;
}
@media screen and (max-width: 768px) {
  .bukken-point__item {
    padding: 18px;
  }
}
.bukken-point__item-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  display: flex;
  align-items: center;
  gap: 10px;
}
.bukken-point__item-title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b3924f;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .bukken-point__item-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(15 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.bukken-point__item-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.85;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .bukken-point__item-text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.85;
  }
}

/*---------------------
  .bukken-spec
-----------------------*/
.bukken-spec {
  margin-top: 56px;
}
@media screen and (max-width: 768px) {
  .bukken-spec {
    margin-top: 40px;
  }
}
.bukken-spec__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(24 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .bukken-spec__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: inherit;
  }
}
.bukken-spec__table {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  background: #ffffff;
}
.bukken-spec__table th, .bukken-spec__table td {
  border: 1px solid #ddd6c8;
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
  line-height: 1.7;
}
.bukken-spec__table th {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  width: 9.5em;
  background: #f5f2ea;
}
@media screen and (max-width: 768px) {
  .bukken-spec__table, .bukken-spec__table tbody, .bukken-spec__table tr {
    display: block;
  }
  .bukken-spec__table tr {
    display: grid;
    grid-template-columns: 7.5em 1fr;
  }
  .bukken-spec__table th, .bukken-spec__table td {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(12.5 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.7;
    display: block;
    width: auto;
    padding: 10px 12px;
    border-top: 0;
  }
  .bukken-spec__table tr:first-child th, .bukken-spec__table tr:first-child td {
    border-top: 1px solid #ddd6c8;
  }
  .bukken-spec__table td {
    border-left: 0;
  }
}
.bukken-spec__price {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .bukken-spec__price {
    font-style: normal;
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    color: #c0592b;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.bukken-spec__pdf {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  padding: 12px 22px;
  border: 1px solid #ddd6c8;
  border-radius: 2px;
  background: #ffffff;
  transition: border-color 0.2s;
}
.bukken-spec__pdf:hover {
  border-color: #b3924f;
}
@media screen and (max-width: 768px) {
  .bukken-spec__pdf {
    display: flex;
    justify-content: center;
  }
}
.bukken-spec__pdf-icon {
  font-style: normal;
  font-weight: 700;
  font-size: calc(10 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: inherit;
  background: #c0592b;
  padding: 2px 6px;
  border-radius: 2px;
}

/*---------------------
  .bukken-map
-----------------------*/
.bukken-map {
  margin-top: 56px;
}
@media screen and (max-width: 768px) {
  .bukken-map {
    margin-top: 40px;
  }
}
.bukken-map__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(24 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .bukken-map__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: inherit;
  }
}
.bukken-map__frame {
  margin-top: 20px;
  aspect-ratio: 16/9;
  border-radius: 4px;
  overflow: hidden;
}
.bukken-map__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 768px) {
  .bukken-map__frame {
    aspect-ratio: 4/3;
  }
}

/*---------------------
  .bukken-reno
-----------------------*/
.bukken-reno {
  margin-top: 56px;
  background: #1b2a44;
  color: #ffffff;
  border-radius: 4px;
  padding: 36px 40px;
}
@media screen and (max-width: 768px) {
  .bukken-reno {
    margin-top: 40px;
    padding: 26px 20px;
  }
}
.bukken-reno__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.bukken-reno__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.6;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .bukken-reno__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.6;
  }
}
.bukken-reno__text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: inherit;
  line-height: 1.9;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .bukken-reno__text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: inherit;
    line-height: 1.9;
  }
}

/*---------------------
  .bukken-side
-----------------------*/
.bukken-side {
  position: sticky;
  top: calc(var(--header-h) + 20px);
}
@media screen and (max-width: 960px) {
  .bukken-side {
    position: static;
  }
}
.bukken-side__box {
  background: #ffffff;
  border-radius: 4px;
  box-shadow: 0 10px 36px rgba(27, 42, 68, 0.1);
  padding: 28px 26px;
}
.bukken-side__cat {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.06em;
  line-height: inherit;
}
.bukken-side__name {
  font-style: normal;
  font-weight: 700;
  font-size: calc(21 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 2px;
}
.bukken-side__price {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 4px;
}
.bukken-side__price span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(44 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.2;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-right: 2px;
}
.bukken-side__spec {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 12px;
  border-top: 1px solid #ddd6c8;
}
.bukken-side__spec div {
  display: grid;
  grid-template-columns: 5em 1fr;
  padding: 7px 0;
  border-bottom: 1px solid #ddd6c8;
}
.bukken-side__spec dt {
  color: #63676e;
}
.bukken-side__btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  display: block;
  text-align: center;
  padding: 14px;
  margin-top: 10px;
  border: 1px solid #1b2a44;
  border-radius: 2px;
  transition: background 0.2s, color 0.2s;
}
.bukken-side__btn:first-of-type {
  margin-top: 20px;
}
.bukken-side__btn:hover {
  background: #1b2a44;
  color: #ffffff;
}
.bukken-side__btn--main {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  background: #b3924f;
  border-color: #b3924f;
  padding: 16px;
}
.bukken-side__btn--main:hover {
  background: #1b2a44;
  border-color: #1b2a44;
}
.bukken-side__tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #ddd6c8;
  text-align: center;
  line-height: 1.5;
}
.bukken-side__tel-label {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
}
.bukken-side__tel-num {
  font-style: normal;
  font-weight: 700;
  font-size: calc(28 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
.bukken-side__tel-note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(11 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
}

/*---------------------
  .bukken-other
-----------------------*/
.bukken-other {
  background: #f5f2ea;
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  .bukken-other {
    padding: 56px 0;
  }
}
.bukken-other__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .bukken-other__inner {
    padding: 0 16px;
  }
}
.bukken-other__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(26 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .bukken-other__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: inherit;
  }
}
.bukken-other__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .bukken-other__list {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
}
.bukken-other__card {
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  padding-bottom: 18px;
  transition: transform 0.2s;
}
.bukken-other__card:hover {
  transform: translateY(-3px);
}
.bukken-other__card-img {
  position: relative;
  aspect-ratio: 4/3;
}
.bukken-other__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bukken-other__card-img span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  position: absolute;
  top: 10px;
  left: 10px;
  background: #1b2a44;
  padding: 2px 10px;
  border-radius: 2px;
}
.bukken-other__card-name {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  padding: 14px 18px 0;
}
.bukken-other__card-price {
  font-style: normal;
  font-weight: 700;
  font-size: calc(24 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  padding: 0 18px;
}
.bukken-other__card-price span {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Noto Sans JP", sans-serif;
  margin-left: 2px;
}
.bukken-other__wish {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #1b2a44;
  color: #ffffff;
  border-radius: 4px;
  padding: 32px 28px;
  transition: background 0.2s;
}
.bukken-other__wish:hover {
  background: #131f33;
}
.bukken-other__wish-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
.bukken-other__wish-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: inherit;
  line-height: 1.9;
  margin-top: 10px;
}
.bukken-other__wish-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 18px;
}
.bukken-other__wish--wide {
  grid-column: 1/-1;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 40px 48px;
}
.bukken-other__wish--wide .bukken-other__wish-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(24 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
.bukken-other__wish--wide .bukken-other__wish-text {
  margin-top: 8px;
}
.bukken-other__wish--wide .bukken-other__wish-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  flex-shrink: 0;
  margin-top: 0;
  background: #b3924f;
  padding: 18px 40px;
  border-radius: 2px;
  transition: background 0.2s;
}
.bukken-other__wish--wide:hover .bukken-other__wish-btn {
  background: #cfb27a;
}
@media screen and (max-width: 768px) {
  .bukken-other__wish--wide {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 28px 20px;
  }
  .bukken-other__wish--wide .bukken-other__wish-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
  }
  .bukken-other__wish--wide .bukken-other__wish-btn {
    text-align: center;
    padding: 16px;
  }
}

/*---------------------
  .bukken-other 追加：他物件1件時の相談ブロック（2列分）
-----------------------*/
.bukken-other__wish--span2 {
  grid-column: span 2;
}
@media screen and (max-width: 768px) {
  .bukken-other__wish--span2 {
    grid-column: auto;
  }
}

/*---------------------
  .bukken-free（物件データの自由枠 free_html）
-----------------------*/
.bukken-free {
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.04em;
  line-height: 1.9;
  margin-top: 56px;
}
.bukken-free p + p {
  margin-top: 1em;
}
.bukken-free h2 {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 700;
  font-size: calc(24 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-bottom: 20px;
}
.bukken-free h3 {
  font-style: normal;
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 1.6em 0 0.6em;
}
.bukken-free img {
  width: 100%;
  border-radius: 4px;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .bukken-free {
    font-style: normal;
    font-weight: 400;
    font-size: calc(13.5 / 16 * 1rem);
    color: #26292e;
    letter-spacing: 0.04em;
    line-height: 1.9;
    margin-top: 40px;
  }
  .bukken-free h2 {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: 1.5;
  }
}

/*---------------------
  .sell-bread
-----------------------*/
.sell-bread {
  background: #f5f2ea;
}
.sell-bread__list {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  max-width: 1160px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  flex-wrap: wrap;
}
.sell-bread__list li + li::before {
  content: "›";
  margin: 0 10px;
  color: #b3924f;
}
.sell-bread__list a {
  color: #1b2a44;
}
@media screen and (max-width: 768px) {
  .sell-bread__list {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(11 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 10px 16px;
  }
}

/*---------------------
  .sell-faq
-----------------------*/
.sell-faq {
  padding: 96px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .sell-faq {
    padding: 64px 0;
  }
}
.sell-faq__inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-faq__inner {
    padding: 0 16px;
  }
}
.sell-faq__head {
  text-align: center;
  margin-bottom: 36px;
}
.sell-faq__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-faq__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .sell-faq__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.sell-faq__list {
  display: grid;
  gap: 10px;
}
.sell-faq__item {
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
}
.sell-faq__item[open] .sell-faq__q::after {
  transform: translateY(-30%) rotate(-135deg);
}
.sell-faq__q {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 20px 56px 20px 60px;
}
.sell-faq__q::-webkit-details-marker {
  display: none;
}
.sell-faq__q::before {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: inherit;
  line-height: 1.2;
  content: "Q";
  position: absolute;
  left: 24px;
  top: 17px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
.sell-faq__q::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 1.5px solid #1b2a44;
  border-bottom: 1.5px solid #1b2a44;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s;
}
@media screen and (max-width: 768px) {
  .sell-faq__q {
    font-style: normal;
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 16px 44px 16px 46px;
  }
  .sell-faq__q::before {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: #b3924f;
    letter-spacing: inherit;
    line-height: 1.2;
    left: 16px;
    top: 13px;
  }
  .sell-faq__q::after {
    right: 18px;
  }
}
.sell-faq__a {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.9;
  position: relative;
  padding: 0 28px 22px 60px;
}
.sell-faq__a::before {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(22 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.2;
  content: "A";
  position: absolute;
  left: 25px;
  top: -4px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .sell-faq__a {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.9;
    padding: 0 18px 18px 46px;
  }
  .sell-faq__a::before {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(20 / 16 * 1rem);
    color: #c0592b;
    letter-spacing: inherit;
    line-height: 1.2;
    left: 17px;
  }
}

/*---------------------
  .sell-cta
-----------------------*/
.sell-cta {
  background: #131f33;
  color: #ffffff;
  padding: 96px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sell-cta {
    padding: 64px 0;
  }
}
.sell-cta__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-cta__inner {
    padding: 0 16px;
  }
}
.sell-cta__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-cta__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(32 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .sell-cta__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(21 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.08em;
    line-height: 1.6;
  }
}
.sell-cta__text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .sell-cta__text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.sell-cta__boxes {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .sell-cta__boxes {
    flex-direction: column;
    gap: 20px;
    margin-top: 28px;
  }
}
.sell-cta__btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  background: #b3924f;
  padding: 22px 72px;
  border-radius: 2px;
  transition: background 0.2s;
}
.sell-cta__btn:hover {
  background: #cfb27a;
}
@media screen and (max-width: 768px) {
  .sell-cta__btn {
    font-style: normal;
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    color: #ffffff;
    letter-spacing: inherit;
    line-height: inherit;
    width: 100%;
    padding: 18px;
  }
}
.sell-cta__tel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .sell-cta__tel {
    align-items: center;
    text-align: center;
  }
}
.sell-cta__tel-label {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: inherit;
  line-height: inherit;
}
.sell-cta__tel-num {
  font-style: normal;
  font-weight: 700;
  font-size: calc(32 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .sell-cta__tel-num {
    font-style: normal;
    font-weight: 700;
    font-size: calc(28 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.sell-cta__tel-note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(11 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: inherit;
  line-height: inherit;
}

/*---------------------
  .sell-hero
-----------------------*/
.sell-hero {
  position: relative;
  height: 380px;
  overflow: hidden;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sell-hero {
    height: 300px;
  }
}
.sell-hero__visual {
  position: absolute;
  inset: 0;
}
.sell-hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.sell-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(19, 31, 51, 0.78) 0%, rgba(19, 31, 51, 0.45) 60%, rgba(19, 31, 51, 0.2) 100%);
}
.sell-hero__inner {
  position: relative;
  max-width: 1160px;
  height: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .sell-hero__inner {
    padding: 0 16px;
  }
}
.sell-hero__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-hero__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(42 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .sell-hero__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(28 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.sell-hero__catch {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(20 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .sell-hero__catch {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(16 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.1em;
    line-height: 1.8;
  }
}

/*---------------------
  .sell-intro
-----------------------*/
.sell-intro {
  padding: 88px 0 72px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sell-intro {
    padding: 56px 0 48px;
  }
}
.sell-intro__inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-intro__inner {
    padding: 0 16px;
  }
}
.sell-intro__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(26 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.06em;
  line-height: 1.7;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .sell-intro__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(19 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.06em;
    line-height: 1.7;
    text-align: left;
  }
}
.sell-intro__text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(15 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 2.1;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .sell-intro__text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13.5 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 2.1;
    text-align: left;
  }
}

/*---------------------
  .sell-merit
-----------------------*/
.sell-merit {
  padding: 96px 0;
  background: #f5f2ea;
}
@media screen and (max-width: 768px) {
  .sell-merit {
    padding: 64px 0;
  }
}
.sell-merit__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-merit__inner {
    padding: 0 16px;
  }
}
.sell-merit__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .sell-merit__head {
    margin-bottom: 28px;
  }
}
.sell-merit__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-merit__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .sell-merit__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.sell-merit__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .sell-merit__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.sell-merit__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .sell-merit__list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.sell-merit__item {
  display: flex;
  gap: 24px;
  background: #ffffff;
  border-radius: 4px;
  padding: 36px 36px;
}
@media screen and (max-width: 768px) {
  .sell-merit__item {
    gap: 14px;
    padding: 24px 20px;
  }
}
.sell-merit__num {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(44 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: inherit;
  line-height: 1;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .sell-merit__num {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(32 / 16 * 1rem);
    color: #b3924f;
    letter-spacing: inherit;
    line-height: 1;
  }
}
.sell-merit__item-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(21 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .sell-merit__item-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.5;
  }
}
.sell-merit__item-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.95;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .sell-merit__item-text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.95;
  }
}

/*---------------------
  .sell-case
-----------------------*/
.sell-case {
  padding: 96px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .sell-case {
    padding: 64px 0;
  }
}
.sell-case__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-case__inner {
    padding: 0 16px;
  }
}
.sell-case__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .sell-case__head {
    margin-bottom: 28px;
  }
}
.sell-case__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-case__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .sell-case__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.sell-case__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .sell-case__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.sell-case__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media screen and (max-width: 960px) {
  .sell-case__list {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 768px) {
  .sell-case__list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.sell-case__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px 26px;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .sell-case__item {
    padding: 18px 18px;
  }
}
.sell-case__item-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  display: flex;
  align-items: center;
  gap: 10px;
}
.sell-case__item-title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b3924f;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .sell-case__item-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(15 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.sell-case__item-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.8;
}

/*---------------------
  .sell-method
-----------------------*/
.sell-method {
  padding: 96px 0;
  background: #f5f2ea;
}
@media screen and (max-width: 768px) {
  .sell-method {
    padding: 64px 0;
  }
}
.sell-method__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-method__inner {
    padding: 0 16px;
  }
}
.sell-method__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .sell-method__head {
    margin-bottom: 28px;
  }
}
.sell-method__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-method__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .sell-method__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.sell-method__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .sell-method__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.sell-method__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sell-method__list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.sell-method__card {
  background: #ffffff;
  border-radius: 4px;
  padding: 36px 36px;
}
@media screen and (max-width: 768px) {
  .sell-method__card {
    padding: 24px 20px;
  }
}
.sell-method__card--main {
  background: #1b2a44;
  color: #ffffff;
}
.sell-method__card--main .sell-method__card-label {
  color: #cfb27a;
}
.sell-method__card--main .sell-method__card-title {
  color: #ffffff;
}
.sell-method__card--main .sell-method__card-text {
  color: rgba(255, 255, 255, 0.85);
}
.sell-method__card-label {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: inherit;
  line-height: inherit;
}
.sell-method__card-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(28 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .sell-method__card-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.sell-method__card-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.95;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .sell-method__card-text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.95;
  }
}

/*---------------------
  .sell-flow
-----------------------*/
.sell-flow {
  padding: 96px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .sell-flow {
    padding: 64px 0;
  }
}
.sell-flow__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-flow__inner {
    padding: 0 16px;
  }
}
.sell-flow__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .sell-flow__head {
    margin-bottom: 28px;
  }
}
.sell-flow__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-flow__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .sell-flow__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.sell-flow__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .sell-flow__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.sell-flow__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}
@media screen and (max-width: 960px) {
  .sell-flow__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .sell-flow__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.sell-flow__item {
  position: relative;
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  padding: 22px 16px;
  text-align: center;
}
.sell-flow__item + .sell-flow__item::before {
  content: "";
  position: absolute;
  left: -11px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid #b3924f;
  border-right: 1.5px solid #b3924f;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 960px) {
  .sell-flow__item:nth-child(4)::before {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .sell-flow__item {
    display: grid;
    grid-template-columns: 72px 1fr;
    align-items: center;
    text-align: left;
    padding: 16px;
    column-gap: 12px;
  }
  .sell-flow__item + .sell-flow__item::before {
    display: block;
    left: 50%;
    top: -13px;
    transform: translateX(-50%) rotate(135deg);
  }
}
.sell-flow__step {
  font-style: normal;
  font-weight: 700;
  font-size: calc(10.5 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.15em;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .sell-flow__step {
    font-style: normal;
    font-weight: 700;
    font-size: calc(10 / 16 * 1rem);
    color: #b3924f;
    letter-spacing: 0.15em;
    line-height: inherit;
    grid-row: span 2;
  }
}
.sell-flow__item-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .sell-flow__item-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(15 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    margin-top: 0;
  }
}
.sell-flow__item-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 1.8;
  margin-top: 8px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .sell-flow__item-text {
    margin-top: 2px;
  }
}

/*---------------------
  .sell-area
-----------------------*/
.sell-area {
  padding: 72px 0 8px;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .sell-area {
    padding: 48px 0 0;
  }
}
.sell-area__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sell-area__inner {
    padding: 0 16px;
  }
}
.sell-area__card {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
  align-items: center;
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  padding: 40px 48px;
}
@media screen and (max-width: 960px) {
  .sell-area__card {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .sell-area__card {
    padding: 26px 18px;
  }
}
.sell-area__head {
  display: flex;
  align-items: center;
  gap: 16px;
}
.sell-area__icon {
  width: 44px;
  height: 44px;
  fill: none;
  stroke: #b3924f;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .sell-area__icon {
    width: 36px;
    height: 36px;
  }
}
.sell-area__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.sell-area__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(28 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .sell-area__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.4;
  }
}
.sell-area__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(15 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .sell-area__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13.5 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.9;
  }
}
.sell-area__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.sell-area__list li {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.6;
  border: 1px solid #1b2a44;
  border-radius: 30px;
  padding: 6px 20px;
}
@media screen and (max-width: 768px) {
  .sell-area__list {
    gap: 8px;
  }
  .sell-area__list li {
    font-style: normal;
    font-weight: 700;
    font-size: calc(13 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.6;
    padding: 5px 14px;
  }
}
.sell-area__note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 14px;
}

/*---------------------
  .consult-bread
-----------------------*/
.consult-bread {
  background: #f5f2ea;
}
.consult-bread__list {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  max-width: 1160px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  flex-wrap: wrap;
}
.consult-bread__list li + li::before {
  content: "›";
  margin: 0 10px;
  color: #b3924f;
}
.consult-bread__list a {
  color: #1b2a44;
}
@media screen and (max-width: 768px) {
  .consult-bread__list {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(11 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 10px 16px;
  }
}

/*---------------------
  .consult-faq
-----------------------*/
.consult-faq {
  padding: 96px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .consult-faq {
    padding: 64px 0;
  }
}
.consult-faq__inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .consult-faq__inner {
    padding: 0 16px;
  }
}
.consult-faq__head {
  text-align: center;
  margin-bottom: 36px;
}
.consult-faq__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.consult-faq__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .consult-faq__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.consult-faq__list {
  display: grid;
  gap: 10px;
}
.consult-faq__item {
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
}
.consult-faq__item[open] .consult-faq__q::after {
  transform: translateY(-30%) rotate(-135deg);
}
.consult-faq__q {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 20px 56px 20px 60px;
}
.consult-faq__q::-webkit-details-marker {
  display: none;
}
.consult-faq__q::before {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: inherit;
  line-height: 1.2;
  content: "Q";
  position: absolute;
  left: 24px;
  top: 17px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
.consult-faq__q::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 1.5px solid #1b2a44;
  border-bottom: 1.5px solid #1b2a44;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.2s;
}
@media screen and (max-width: 768px) {
  .consult-faq__q {
    font-style: normal;
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 16px 44px 16px 46px;
  }
  .consult-faq__q::before {
    font-style: normal;
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    color: #b3924f;
    letter-spacing: inherit;
    line-height: 1.2;
    left: 16px;
    top: 13px;
  }
  .consult-faq__q::after {
    right: 18px;
  }
}
.consult-faq__a {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.9;
  position: relative;
  padding: 0 28px 22px 60px;
}
.consult-faq__a::before {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(22 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.2;
  content: "A";
  position: absolute;
  left: 25px;
  top: -4px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .consult-faq__a {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.9;
    padding: 0 18px 18px 46px;
  }
  .consult-faq__a::before {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(20 / 16 * 1rem);
    color: #c0592b;
    letter-spacing: inherit;
    line-height: 1.2;
    left: 17px;
  }
}

/*---------------------
  .consult-cta
-----------------------*/
.consult-cta {
  background: #131f33;
  color: #ffffff;
  padding: 96px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .consult-cta {
    padding: 64px 0;
  }
}
.consult-cta__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .consult-cta__inner {
    padding: 0 16px;
  }
}
.consult-cta__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #cfb27a;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.consult-cta__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(32 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .consult-cta__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(21 / 16 * 1rem);
    color: inherit;
    letter-spacing: 0.08em;
    line-height: 1.6;
  }
}
.consult-cta__text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .consult-cta__text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.consult-cta__boxes {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .consult-cta__boxes {
    flex-direction: column;
    gap: 20px;
    margin-top: 28px;
  }
}
.consult-cta__btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  background: #b3924f;
  padding: 22px 72px;
  border-radius: 2px;
  transition: background 0.2s;
}
.consult-cta__btn:hover {
  background: #cfb27a;
}
@media screen and (max-width: 768px) {
  .consult-cta__btn {
    font-style: normal;
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    color: #ffffff;
    letter-spacing: inherit;
    line-height: inherit;
    width: 100%;
    padding: 18px;
  }
}
.consult-cta__tel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .consult-cta__tel {
    align-items: center;
    text-align: center;
  }
}
.consult-cta__tel-label {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: inherit;
  line-height: inherit;
}
.consult-cta__tel-num {
  font-style: normal;
  font-weight: 700;
  font-size: calc(32 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .consult-cta__tel-num {
    font-style: normal;
    font-weight: 700;
    font-size: calc(28 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.consult-cta__tel-note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(11 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: inherit;
  line-height: inherit;
}

/*---------------------
  .consult-hero
-----------------------*/
.consult-hero {
  padding: 72px 0 88px;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .consult-hero {
    padding: 32px 0 56px;
  }
}
.consult-hero__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 64px;
  align-items: center;
}
@media screen and (max-width: 960px) {
  .consult-hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
@media screen and (max-width: 768px) {
  .consult-hero__inner {
    padding: 0 16px;
    gap: 24px;
  }
}
.consult-hero__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.consult-hero__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(40 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .consult-hero__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(28 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.consult-hero__catch {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(22 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.06em;
  line-height: 1.8;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .consult-hero__catch {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.06em;
    line-height: 1.8;
  }
}
.consult-hero__text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 2.05;
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .consult-hero__text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13.5 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 2.05;
  }
}
.consult-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}
.consult-hero__tags li {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  background: #f5f2ea;
  padding: 5px 16px;
  border-radius: 20px;
}
.consult-hero__img {
  aspect-ratio: 4/4.4;
  border-radius: 4px;
  overflow: hidden;
}
.consult-hero__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 960px) {
  .consult-hero__img {
    aspect-ratio: 16/10;
    order: -1;
  }
}

/*---------------------
  .consult-worry
-----------------------*/
.consult-worry {
  background: #f5f2ea;
  padding: 88px 0;
}
@media screen and (max-width: 768px) {
  .consult-worry {
    padding: 56px 0;
  }
}
.consult-worry__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .consult-worry__inner {
    padding: 0 16px;
  }
}
.consult-worry__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(28 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.08em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .consult-worry__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(21 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.08em;
    line-height: inherit;
  }
}
.consult-worry__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 36px;
  text-align: left;
}
.consult-worry__list li {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.7;
  position: relative;
  background: #ffffff;
  border-radius: 4px;
  padding: 18px 20px 18px 50px;
}
.consult-worry__list li::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 21px;
  width: 16px;
  height: 16px;
  border-radius: 3px;
  background: #b3924f;
}
.consult-worry__list li::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 24px;
  width: 6px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .consult-worry__list {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 24px;
  }
  .consult-worry__list li {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.7;
    padding: 14px 14px 14px 44px;
  }
  .consult-worry__list li::before {
    left: 16px;
    top: 17px;
  }
  .consult-worry__list li::after {
    left: 21px;
    top: 20px;
  }
}
.consult-worry__answer {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-block;
  margin-top: 36px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  background: #ffffff;
  padding: 14px 40px;
  border-radius: 40px;
  box-shadow: 0 6px 20px rgba(27, 42, 68, 0.08);
}
@media screen and (max-width: 768px) {
  .consult-worry__answer {
    font-style: normal;
    font-weight: 700;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 14px 24px;
    border-radius: 12px;
  }
}

/*---------------------
  .consult-merit
-----------------------*/
.consult-merit {
  padding: 96px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .consult-merit {
    padding: 64px 0;
  }
}
.consult-merit__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .consult-merit__inner {
    padding: 0 16px;
  }
}
.consult-merit__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .consult-merit__head {
    margin-bottom: 28px;
  }
}
.consult-merit__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.consult-merit__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .consult-merit__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.consult-merit__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .consult-merit__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.consult-merit__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 960px) {
  .consult-merit__list {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 768px) {
  .consult-merit__list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.consult-merit__item {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  padding: 32px 28px 26px;
}
@media screen and (max-width: 768px) {
  .consult-merit__item {
    padding: 24px 20px 20px;
  }
}
.consult-merit__item-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media screen and (max-width: 768px) {
  .consult-merit__item-head {
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }
}
.consult-merit__num {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(36 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: inherit;
  line-height: 1;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .consult-merit__num {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(28 / 16 * 1rem);
    color: #b3924f;
    letter-spacing: inherit;
    line-height: 1;
  }
}
.consult-merit__item-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .consult-merit__item-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: 1.5;
  }
}
.consult-merit__item-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13.5 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.95;
  margin-top: 14px;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .consult-merit__item-text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 1.95;
    margin-top: 10px;
  }
}
.consult-merit__item-effect {
  font-style: normal;
  font-weight: 700;
  font-size: calc(13.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  margin-top: 20px;
  padding: 12px 14px;
  background: #f5f2ea;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.consult-merit__item-effect::before {
  content: "→";
  font-style: normal;
  font-weight: 700;
  font-size: calc(13.5 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: inherit;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .consult-merit__item-effect {
    font-style: normal;
    font-weight: 700;
    font-size: calc(13 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
    margin-top: 14px;
  }
}

/*---------------------
  .consult-topic
-----------------------*/
.consult-topic {
  padding: 96px 0;
  background: #f5f2ea;
}
@media screen and (max-width: 768px) {
  .consult-topic {
    padding: 64px 0;
  }
}
.consult-topic__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .consult-topic__inner {
    padding: 0 16px;
  }
}
.consult-topic__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .consult-topic__head {
    margin-bottom: 28px;
  }
}
.consult-topic__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.consult-topic__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .consult-topic__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.consult-topic__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .consult-topic__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.consult-topic__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
@media screen and (max-width: 768px) {
  .consult-topic__list {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
}
.consult-topic__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  background: #ffffff;
  border-radius: 4px;
  padding: 26px 14px;
}
@media screen and (max-width: 768px) {
  .consult-topic__item {
    padding: 18px 8px;
  }
}
.consult-topic__item-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .consult-topic__item-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.consult-topic__item-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .consult-topic__item-text {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(11 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
  }
}

/*---------------------
  .consult-flow
-----------------------*/
.consult-flow {
  padding: 96px 0;
  background: #fdfcf8;
}
@media screen and (max-width: 768px) {
  .consult-flow {
    padding: 64px 0;
  }
}
.consult-flow__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .consult-flow__inner {
    padding: 0 16px;
  }
}
.consult-flow__head {
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .consult-flow__head {
    margin-bottom: 28px;
  }
}
.consult-flow__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.consult-flow__title {
  font-style: normal;
  font-weight: 600;
  font-size: calc(30 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .consult-flow__title {
    font-style: normal;
    font-weight: 600;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.consult-flow__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .consult-flow__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.consult-flow__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 960px) {
  .consult-flow__list {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 768px) {
  .consult-flow__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.consult-flow__item {
  position: relative;
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  padding: 28px 22px;
}
.consult-flow__item + .consult-flow__item::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 1.5px solid #b3924f;
  border-right: 1.5px solid #b3924f;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 960px) {
  .consult-flow__item:nth-child(3)::before {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .consult-flow__item {
    padding: 20px 18px;
  }
  .consult-flow__item + .consult-flow__item::before, .consult-flow__item:nth-child(3)::before {
    display: block;
    left: 50%;
    top: -13px;
    transform: translateX(-50%) rotate(135deg);
  }
}
.consult-flow__step {
  font-style: normal;
  font-weight: 700;
  font-size: calc(11 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.15em;
  line-height: inherit;
}
.consult-flow__item-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .consult-flow__item-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.consult-flow__item-text {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 1.85;
  margin-top: 10px;
}

/*---------------------
  .contact
-----------------------*/
.contact {
  background: #fdfcf8;
}

/*---------------------
  .contact-bread
-----------------------*/
.contact-bread {
  background: #f5f2ea;
}
.contact-bread__list {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  max-width: 1160px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  flex-wrap: wrap;
}
.contact-bread__list li + li::before {
  content: "›";
  margin: 0 10px;
  color: #b3924f;
}
.contact-bread__list a {
  color: #1b2a44;
}
@media screen and (max-width: 768px) {
  .contact-bread__list {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(11 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 10px 16px;
  }
}

/*---------------------
  .contact-head
-----------------------*/
.contact-head {
  padding: 64px 0 48px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact-head {
    padding: 40px 0 32px;
  }
}
.contact-head__inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .contact-head__inner {
    padding: 0 16px;
  }
}
.contact-head__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: inherit;
}
.contact-head__title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(34 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .contact-head__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: inherit;
  }
}
.contact-head__lead {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14.5 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: 2;
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .contact-head__lead {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(13 / 16 * 1rem);
    color: inherit;
    letter-spacing: inherit;
    line-height: 2;
    text-align: left;
  }
}
.contact-head__tel {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin-top: 28px;
  padding: 18px 48px;
  background: #f5f2ea;
  border-radius: 4px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .contact-head__tel {
    display: flex;
    padding: 16px;
  }
}
.contact-head__tel-label {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
}
.contact-head__tel-num {
  font-style: normal;
  font-weight: 700;
  font-size: calc(32 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .contact-head__tel-num {
    font-style: normal;
    font-weight: 700;
    font-size: calc(28 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.contact-head__tel-note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(11.5 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
}

/*---------------------
  .contact-form
-----------------------*/
.contact-form {
  padding-bottom: 104px;
}
@media screen and (max-width: 768px) {
  .contact-form {
    padding-bottom: 64px;
  }
}
.contact-form__inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .contact-form__inner {
    padding: 0 16px;
  }
}
.contact-form__body {
  background: #ffffff;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  padding: 48px 56px;
}
@media screen and (max-width: 768px) {
  .contact-form__body {
    padding: 28px 18px;
  }
}
.contact-form__block {
  border: 0;
  margin: 40px 0 0;
  padding: 36px 0 0;
  min-width: 0;
  border-top: 1px solid #ddd6c8;
}
.contact-form__block.contact-form__dates {
  background: #f5f2ea;
  border-radius: 4px;
  padding: 28px 28px 24px;
  border-top: 0;
}
@media screen and (max-width: 768px) {
  .contact-form__block {
    margin-top: 28px;
    padding-top: 24px;
  }
  .contact-form__block.contact-form__dates {
    padding: 20px 16px;
  }
}
.contact-form__block--first {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
@media screen and (max-width: 768px) {
  .contact-form__block--first {
    margin-top: 0;
    padding-top: 0;
  }
}
.contact-form {
  /*---------------------
    目的の選択（CF7 radio を カード型に）
    [radio type class:contact-form__types use_label_element ...]
  -----------------------*/
}
.contact-form__types {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.contact-form__types .wpcf7-list-item {
  display: block;
  margin: 0;
}
.contact-form__types label {
  display: block;
  height: 100%;
  cursor: pointer;
}
.contact-form__types input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.contact-form__types .wpcf7-list-item-label {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14.5 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px 18px 16px 46px;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  position: relative;
  transition: border-color 0.2s, background 0.2s;
}
.contact-form__types .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 19px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #ddd6c8;
  background: #ffffff;
}
.contact-form__types input:checked + .wpcf7-list-item-label {
  border-color: #1b2a44;
  background: #f5f2ea;
  box-shadow: inset 0 0 0 1px #1b2a44;
}
.contact-form__types input:checked + .wpcf7-list-item-label::before {
  border: 5px solid #1b2a44;
}
.contact-form__types input:focus-visible + .wpcf7-list-item-label {
  outline: 2px solid #b3924f;
  outline-offset: 2px;
}
@media screen and (max-width: 768px) {
  .contact-form__types {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .contact-form__types .wpcf7-list-item-label {
    padding: 12px 14px 12px 42px;
  }
  .contact-form__types .wpcf7-list-item-label::before {
    top: 15px;
    left: 14px;
  }
}
.contact-form__type-desc {
  font-style: normal;
  font-weight: 400;
  font-size: calc(11.5 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.6;
  margin-top: 2px;
}
.contact-form__block-title {
  font-style: normal;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  float: left;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  margin-bottom: 18px;
  padding: 0;
}
.contact-form__block-title .contact-form__req {
  margin-right: 0;
}
.contact-form__block-title + * {
  clear: both;
}
@media screen and (max-width: 768px) {
  .contact-form__block-title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(17 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.contact-form__req, .contact-form__opt {
  font-style: normal;
  font-weight: 700;
  font-size: calc(10.5 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  padding: 1px 7px;
  border-radius: 2px;
  margin-right: 8px;
  vertical-align: 1px;
}
.contact-form__req {
  background: #c0592b;
  color: #ffffff;
}
.contact-form__opt {
  background: #ebe5d6;
  color: #63676e;
}
.contact-form__row + .contact-form__row {
  margin-top: 20px;
}
.contact-form__row--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .contact-form__row--half {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.contact-form__label {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
  display: block;
  margin-bottom: 8px;
}
.contact-form__input {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(15 / 16 * 1rem);
  color: #26292e;
  letter-spacing: inherit;
  line-height: inherit;
  display: block;
  width: 100%;
  font-family: inherit;
  background: #fdfcf8;
  border: 1px solid #ddd6c8;
  border-radius: 2px;
  padding: 12px 14px;
  transition: border-color 0.2s, background 0.2s;
}
.contact-form__input:focus {
  outline: none;
  border-color: #1b2a44;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .contact-form__input {
    font-style: normal;
    font-weight: inherit;
    font-size: calc(16 / 16 * 1rem);
    color: #26292e;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
.contact-form__input--zip {
  max-width: 220px;
}
.contact-form__input--date {
  cursor: pointer;
}
.contact-form__hint {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12.5 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.6;
  margin-top: 6px;
}
.contact-form__textarea {
  min-height: 160px;
  resize: vertical;
}
.contact-form__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
}
.contact-form__checks .wpcf7-list-item {
  margin: 0;
}
.contact-form__checks label {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.contact-form__checks input {
  width: 18px;
  height: 18px;
  accent-color: #1b2a44;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .contact-form__checks {
    flex-direction: column;
    gap: 10px;
  }
}
.contact-form__note {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(13 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 16px;
}
.contact-form__date {
  display: grid;
  grid-template-columns: 6em 1fr 1fr;
  gap: 12px;
  align-items: center;
}
.contact-form__date + .contact-form__date {
  margin-top: 12px;
}
.contact-form__date .contact-form__input {
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .contact-form__date {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
}
.contact-form__date-label {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .contact-form__date-label {
    grid-column: 1/-1;
  }
}
.contact-form__submit {
  margin-top: 44px;
  text-align: center;
}
.contact-form__agree {
  font-style: normal;
  font-weight: inherit;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.contact-form__agree label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.contact-form__agree .wpcf7-list-item {
  margin: 0;
}
.contact-form__agree input {
  width: 18px;
  height: 18px;
  accent-color: #1b2a44;
  margin: 0;
}
.contact-form__privacy {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12.5 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.7;
  margin-top: 10px;
}
.contact-form__privacy a {
  color: #1b2a44;
  text-decoration: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.contact-form__privacy a:visited, .contact-form__privacy a:hover, .contact-form__privacy a:active, .contact-form__privacy a:focus {
  color: #1b2a44;
  text-decoration: none;
}
.contact-form__privacy a:visited, .contact-form__privacy a:hover, .contact-form__privacy a:active, .contact-form__privacy a:focus {
  text-decoration: underline;
}
.contact-form__privacy a:hover {
  color: #b3924f;
}
.contact-form__btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: inherit;
  line-height: inherit;
  display: block;
  margin: 20px auto 0;
  background: #1b2a44;
  padding: 20px 80px;
  border: 0;
  border-radius: 2px;
  font-family: inherit;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.2s;
}
.contact-form__btn:hover {
  background: #b3924f;
}
@media screen and (max-width: 768px) {
  .contact-form__btn {
    width: 100%;
    padding: 18px;
  }
}

/*---------------------
  Contact Form 7 の送信結果・エラー表示
-----------------------*/
.contact-form .wpcf7-form-control-wrap {
  display: block;
}
.contact-form .wpcf7-not-valid-tip {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12.5 / 16 * 1rem);
  color: #c0592b;
  letter-spacing: inherit;
  line-height: 1.6;
  margin-top: 6px;
}
.contact-form .wpcf7-not-valid {
  border-color: #c0592b;
}
.contact-form .wpcf7-response-output {
  font-style: normal;
  font-weight: 700;
  font-size: calc(14 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: inherit;
  line-height: 1.7;
  margin: 28px 0 0;
  padding: 16px 20px;
  border: 1px solid #ddd6c8;
  border-radius: 4px;
  text-align: center;
}
.contact-form .wpcf7-spinner {
  display: block;
  margin: 12px auto 0;
}

/*--------------------------------
  汎用固定ページ（プライバシーポリシー等）・404
---------------------------------*/
.page-common {
  background: #fdfcf8;
  /*---------------------
    パンくず
  -----------------------*/
}
.page-common__bread {
  background: #f5f2ea;
}
.page-common__bread-list {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #63676e;
  letter-spacing: inherit;
  line-height: 1.8;
  max-width: 1160px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  flex-wrap: wrap;
}
.page-common__bread-list li + li::before {
  content: "›";
  margin: 0 10px;
  color: #b3924f;
}
.page-common__bread-list a {
  color: #1b2a44;
  text-decoration: none;
}
.page-common__bread-list a:visited, .page-common__bread-list a:hover, .page-common__bread-list a:active, .page-common__bread-list a:focus {
  color: #1b2a44;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .page-common__bread-list {
    font-style: normal;
    font-weight: 400;
    font-size: calc(11 / 16 * 1rem);
    color: #63676e;
    letter-spacing: inherit;
    line-height: 1.8;
    padding: 10px 16px;
  }
}
.page-common {
  /*---------------------
    見出し
  -----------------------*/
}
.page-common__head {
  padding-top: 64px;
}
@media only screen and (max-width: 768px) {
  .page-common__head {
    padding-top: 40px;
  }
}
.page-common__head {
  padding-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  .page-common__head {
    padding-bottom: 28px;
  }
}
.page-common__head {
  text-align: center;
}
.page-common__en {
  font-style: normal;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  color: #b3924f;
  letter-spacing: 0.3em;
  line-height: 1.6;
}
.page-common__title {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 700;
  font-size: calc(32 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page-common__title {
    font-style: normal;
    font-weight: 700;
    font-size: calc(22 / 16 * 1rem);
    color: #1b2a44;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}
.page-common {
  /*---------------------
    本文（WPエディタ）
  -----------------------*/
}
.page-common__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.04em;
  line-height: 2;
  padding-bottom: 104px;
}
@media only screen and (max-width: 768px) {
  .page-common__body {
    padding-bottom: 64px;
  }
}
.page-common__body {
  max-width: 880px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.page-common__body p + p {
  margin-top: 1.2em;
}
.page-common__body h2 {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 2.2em 0 0.8em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #ddd6c8;
}
.page-common__body h3 {
  font-style: normal;
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  color: #1b2a44;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 1.8em 0 0.6em;
}
.page-common__body ul {
  margin: 1em 0;
  padding-left: 1.4em;
  list-style: disc;
}
.page-common__body a {
  color: #1b2a44;
  text-decoration: none;
}
.page-common__body a:visited, .page-common__body a:hover, .page-common__body a:active, .page-common__body a:focus {
  color: #1b2a44;
  text-decoration: none;
}
.page-common__body a {
  text-decoration: underline;
}
.page-common__body a:visited, .page-common__body a:hover, .page-common__body a:active, .page-common__body a:focus {
  text-decoration: underline;
}
.page-common__body a:hover {
  color: #b3924f;
}
@media screen and (max-width: 768px) {
  .page-common__body {
    font-style: normal;
    font-weight: 400;
    font-size: calc(14 / 16 * 1rem);
    color: #26292e;
    letter-spacing: 0.04em;
    line-height: 1.9;
  }
}
.page-common {
  /*---------------------
    404
  -----------------------*/
}
.page-common__notfound {
  padding-bottom: 104px;
}
@media only screen and (max-width: 768px) {
  .page-common__notfound {
    padding-bottom: 64px;
  }
}
.page-common__notfound {
  text-align: center;
}
.page-common__notfound-text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #26292e;
  letter-spacing: 0.04em;
  line-height: 2;
}
.page-common__notfound-btn {
  font-style: normal;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  display: inline-block;
  margin-top: 32px;
  padding: 16px 48px;
  background: #1b2a44;
  border-radius: 2px;
  transition: background 0.2s;
}
.page-common__notfound-btn:hover {
  background: #b3924f;
}
