*,
*::before,
*::after {
  box-sizing: border-box;
}
/* =========================
   Typography Base Settings
   ========================= */
:root{
  --font-en: "Cormorant Garamond", "Times New Roman", serif;
  --font-jp-head: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "MS Mincho", serif;
  --font-body: "Yu Gothic Pr6N", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;

  --text: #222;
  --muted: #555;

  --lh-body: 1.85;
  --lh-head: 1.25;

  --ls-body: .04em;
  --ls-head: .08em;
  --ls-en: .16em;
}

html{
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body{
  margin: 0;
  color: var(--text);
  font-family: var(--font-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  font-feature-settings: "palt";
  text-rendering: optimizeLegibility;
}

/* ---- Headings (JP) ---- */
h1,h2,h3,h4,h5,h6{
  margin: 0 0 .7em;
  font-family: var(--font-jp-head);
  line-height: var(--lh-head);
  letter-spacing: var(--ls-head);
  font-weight: 500;
}

h1{ font-size: clamp(28px, 3vw, 44px); }
h2{ font-size: clamp(22px, 2.2vw, 34px); }
h3{ font-size: clamp(18px, 1.8vw, 26px); }
h4{ font-size: 18px; }
h5{ font-size: 16px; }
h6{ font-size: 14px; }

/* ---- Body text ---- */
p{
  margin: 0 0 1.1em;
}
small{ color: var(--muted); }

/* ---- English style helper ----
   使い方: <span class="u-en">CONSULTATION</span>
   もしくは <span lang="en">...</span>
*/
.u-en,
[lang="en"]{
  font-family: var(--font-en);
  letter-spacing: var(--ls-en);
  font-weight: 500;
}

/* 英字見出しとして使いたい場合 */
.u-en-head{
  font-family: var(--font-en);
  letter-spacing: var(--ls-en);
  line-height: 1.0;
  font-weight: 600;
}

/* 例：見出しの上下余白を揃えたい場合（任意） */
.u-head-tight{ margin-bottom: .5em; }

/* -------------------レスポンシブ------------------- */
.sp_only {
  display: none;
}
.pc_only {
  display: block;
}
@media (max-width: 768px) {
  .sp_only {
  display: block;
}
.pc_only {
  display: none;
}
}

/* -------------------画像------------------- */
.maauto {
	margin: auto;
}
/* -------------------セクション------------------- */
.mw1200{
    width: 94%;
    padding: 0 3%;
    max-width: 1200px;
    margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  section {
	  padding: 0;
}
}

/* -------------------マージン------------------- */
.m40 {
  margin: 40px 0;
}

/* -------------------width------------------- */
.wi85 {
  width: 85%;
}

/* -------------------位置------------------- */
.txcenter {
  text-align: center;
}
.left {
  text-align: left;
}


/* -------------------フォントサイズ------------------- */



/* -------------------カラム------------------- */



/* -------------------カラー------------------- */


/* -------------------メニュー出し分け------------------- */
/* #header-sp { display: none; } */

/* @media (max-width: 768px) { 
  #header-pc { display: none; }
  #header-sp { display: block; }
}*/

/* -------------------パンくず------------------- */
.breadcrumb {
  font-size: 0.9rem;
    margin: 45px auto;
    padding: 0 15px;
    color: #666;
    width: 90%;
}

.breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  padding: 0;
  margin: 0;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li + li::before {
  content: ">";
  color: #999;
  margin: 0 8px;
}

.breadcrumb a {
	text-decoration: none;
	color: #c8a88b;
	transition: color 0.2s;
}

.breadcrumb a:hover {
	text-decoration: underline;
	color: #cf61a1;
}
@media only screen and (max-width: 768px) {
  .breadcrumb ol {
    font-size: 12px;
  }
}
