/* =====================================================
  共通設定
===================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}



html, body {
  width: 100%;
  overflow-x: hidden; /* 応急処置としても強い */
}

:root {
  --font-base: "Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --text-color: #222;
  --container-width: 1000px;

  --padding-pc: 48px;
  --padding-sp: 22px;
}

/* =====================================================
  基本
===================================================== */
body {
  margin: 0;
  font-family: var(--font-base);
  color: var(--text-color);
  line-height: 1.8;
  font-size: 30px;
}

img {
  display: block;
  max-width: 100%;
}

/* =====================================================
  レイアウト
===================================================== */
.container {
  width: min(100%, var(--container-width));
  margin: 0 auto;
  padding: 0 var(--padding-pc);
}

.sec {
  padding: 56px 0;
  background-size: cover;
  background-position: center top;
	margin:auto;
}

.sec--white {
  background: #fff;
}

.sec__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.sec-inner2{
	width: 90%;
	margin:auto;
}

/* =====================================================
  テキストスタイル
===================================================== */
.sec-title {
  font-size: 28px;
  text-align: center;
}

.lead-text {
  font-size: 1.2rem;
  text-align: center;
}

.text {
  max-width: 760px;
  text-align: center;
  font-size: 1.2rem;
}

.note {
  font-size: 1.1rem;
  text-align: center;
  opacity: 0.85;
}

.underline{
  border-bottom: 4px solid #f6b2ce;
  padding-bottom: 0.1em;
}

.underline2{
  border-bottom: 4px dotted #bd9943;
  padding-bottom: 0.1em;
}

.highlight{
  color:#fff;
  text-decoration: none;
  background: #e34284;
  padding: 0 0.15em;                     /* 左右ちょい余白 */
}

.text-left{
	text-align: left;
}

.text-small{
	font-size: 1.1rem !important;
}

/* =====================================================
  背景（PC）
  ※1920px背景を指定
===================================================== */
#sec-FV { background-image: url("../images/bg_pc_FV.png"); }
#sec-02 { background-image: url("../images/bg_pc_02.png"); }
#sec-04 { background-image: url("../images/bg_pc_04.png"); }
#sec-05 { background-image: url("../images/bg_pc_05.png"); }
#sec-06 { background-image: url("../images/bg_pc_06.png"); }
#sec-07 { background-image: url("../images/bg_pc_07.png"); }
#sec-08 { background-image: url("../images/bg_pc_08.png"); }
#sec-15 { background-image: url("../images/bg_pc_15.png"); }
#sec-18 { background-image: url("../images/bg_pc_18.png"); }
#sec-20 { background-image: url("../images/bg_pc_20.png"); }

/* 背景画像が無いセクションは背景色 */
#sec-01, #sec-03,　#sec-09, #sec-10, #sec-11, #sec-12, #sec-13, #sec-14, #sec-15, #sec-16, #sec-17, #sec-19, #sec-21 { background-color: #fff; }

/* =====================================================
  リストのリーダースタイル
===================================================== */
.check-list,
.star-list {
  max-width: 720px;
  padding-left: 1.2em;
	padding-top:50px;
	padding-bottom:50px;
}

.check-list li,
.star-list li {
  margin-bottom: 12px;
  font-size: 1.8rem;
}

.list3 li {
  margin-bottom: 12px;
  font-size: 1.2rem;
}

/* デフォルトの・を消す */
.icon-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

/* li を相対配置（アイコン配置用） */
.icon-list li {
  position: relative;
  padding-left: 50px; /* アイコン分の余白 */
  margin-bottom: 24px;
  line-height: 1.7;
}

/* 疑似要素で画像マーカーを表示 */
.list1 li::before {
	content: "";
	position: absolute;
	top: 0.4em;
	left: 0;
	
	width: 35px;
	height: 35px;
	
	/* ★ここがマーカー画像 */
	background-image: url("../images/icon_check1.png");
	background-size: contain;
	background-repeat: no-repeat;
}

.list2 li::before {
	content: "";
	position: absolute;
	top: 0.4em;
	left: 0;
	
	width: 20px;
	height: 20px;
	
	/* ★ここがマーカー画像 */
	background-image: url("../images/icon_check2.png");
	background-size: contain;
	background-repeat: no-repeat;
}

.list3 li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	
	width: 10px;
	height: 10px;
	
	/* ★ここがマーカー画像 */
	background-image: url("../images/icon_check5.png");
	background-size: contain;
	background-repeat: no-repeat;
}

/* =====================================================
  画像サイズ
===================================================== */
.lp-img {
  max-width: 1000px;
}

.lp-img--narrow {
  max-width: 820px;
}

.lp-img--cta {
  max-width: 760px;
}


/* =====================================================
  セクションタイトル画像
===================================================== */

.sec-title-img {
  margin: 70px 0;
  text-align: center;
}

/* 画面には出さないが意味は残す */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* h2内の画像サイズ制御 */

/* セクションごとに “元画像幅” を設定 */
.sec-01 { --h2-max: 951px; }
.sec-02 { --h2-max: 629px; }
.sec-03 { --h2-max: 633px; }
.sec-04 { --h2-max: 951px; }
.sec-05 { --h2-max: 951px; }
.sec-06 { --h2-max: 820px; }



.h2-img img {
  width: 100%;
  max-width: var(--h2-max, 1000px); /* 見出し画像の最大幅 */
  margin: 0 auto;
  display: block;
}

h3{
	font-size: 2rem;
	text-align: center;
}

h4{
	font-size: 1.3rem;
	text-align: center;
}

h5{
	font-size: 1.2rem;
	border-bottom: solid 1px #1d1d1d;
	font-weight: 400;
	margin: 8px 0;
}

h6{
	font-size: 0.9rem;
	text-align: left;
	font-weight: 300;
	margin: 0 0 32px 0;
}

.boxY{
	background-color: #FEF2C7;
	padding: 8px 12px;
}
/* =====================================================
  その他画像
===================================================== */


/* クリック領域を安定させる */
.btn-anim{
  display: inline-block;
  text-decoration: none;
  border: 0;
  background: transparent;
  cursor: pointer;

  /* 常時：控えめに呼吸するような動き */
  animation: btn-float 2.8s ease-in-out infinite;
  will-change: transform;
}

/* 画像のクリック判定をリンク側に寄せる（誤クリック防止） */
.btn-anim img{
  display: block;
  pointer-events: none;
}

/* ホバー：少し持ち上げる + ほんのり拡大 */
@media (hover: hover){
  .btn-anim:hover{
    transform: translateY(-6px) scale(1.02);
  }
}

/* クリック：沈む */
.btn-anim:active{
  transform: translateY(-1px) scale(0.99);
  animation: none; /* 押してる間は常時アニメ止める */
}

/* キーボード操作でも分かるように */
.btn-anim:focus-visible{
  outline: 2px solid #000000;
  outline-offset: 6px;
}

/* 常時アニメ（上下にふわふわ） */
@keyframes btn-float{
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

/* =====================================================
  その他画像
===================================================== */
#sec-FV{
  aspect-ratio: 1920 / 1096; /* ←背景画像の比率に合わせて変える */
  width: 100%;
  background: url("../images/bg_pc_FV.png") center top / contain no-repeat;
	position: relative;
}
#sec-FV .btn-anim{
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  margin: 0 auto;     /* 中央寄せ */
  display: block;
  width: min(760px, 90%);
  text-align: center;
}

.bt1{
	
	
}

.sec3img{
	margin-left: -100px;
}


/* 横並びコンテナ */
.img-row{
  display: flex;
  gap: 24px;              /* 画像間の余白 */
  align-items: flex-start;
  justify-content: center;
}

/* 子要素（picture）を均等に */
.img-row .lp-img{
  flex: 1 1 0;
  max-width: 480px;       /* 2枚並べた時の上限（調整OK） */
}

.pic-small{
	width: 80%;
	margin: auto;
}

/* =====================================================
  sec6用
===================================================== */
.sec__inner--row{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 48px;
}

/* 左テキスト：幅を優先 */
.sec-06__text{
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1.5rem;
}

/* 名前部分（キャプチャ寄せ：大きめ） */
.sec-06__name{
  margin: 0 0 18px;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
}

.sec-06__name-en{
  display: inline-block;
  margin-top: 10px;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.12em;
}

/* 右写真：固定幅で右に置く */
.sec-06__photo{
  flex: 0 0 360px;
  max-width: 360px;
}

.sec-06__photo img{
  width: 100%;
  height: auto;
  display: block;
  padding: 14px;
}

.sec-title-img--leader{
  display: flex;                 /* ← 横並びの要 */
  align-items: center;           /* 縦位置を揃える */
  justify-content: flex-start;   /* 左揃え */
  gap: 14px;

  width: 100%;
  margin: 0 ;
  text-align: left;              /* 念のため */
}

.sec-title-img--leader img{
  display: block;      /* OK：flex内なら横並び維持 */
  flex: 0 0 auto;
}

.sec-title-text{
  display: block;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
	margin: 30px 0;
}

	.sec09img{
		margin: 0px 0;
	}

/* =====================================================
  20260119追加セクション用
===================================================== */
/* ===== wrapper ===== */
/* =========================
  0119 セクション（PCベース）
========================= */
.item-section_0119{
  width: 100%;
  margin: 0 auto;
  padding: 56px 24px 72px;
		  background: linear-gradient(to bottom, #fff,#FFF4F9,#FFF4F9,#fff);
}

/* ===== タイトル周り ===== */
.item-head_0119{
  text-align: center;
}

.item-kicker_0119{
  margin: 0 0 12px;
  color: #b37a2a;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: .02em;
}

.item-title_0119{
  margin: 12px 0 10px;
  color: #b37a2a;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .02em;
}

.item-sub_0119{
  margin: 0 0 18px;
  color: #666;
  font-size: 18px;
  line-height: 1.8;
}

.item-lead_0119{
  margin: 0 0 14px;
  color: #2b2b2b;
  font-size: 18px;
  line-height: 2;
}

.item-lead_0119 span{
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: #e6c999;
}

.item-note_0119{
  margin: 0;
  color: #666;
  font-size: 18px;
  line-height: 1.8;
}

/* ===== カード（画像） ===== */
.item-note_0119{
  margin: 0;
  color: #666;
  font-size: 18px;
  line-height: 1.8;
}

.cards_0119{
  width: 90% !important;
  max-width: 980px;
  margin: 32px auto 0 !important;

  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;

  /* 右寄せ系の指定が入ってても無効化 */
  float: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: translateX(0) !important;
}

.card_0119{
  width: 90%;
  height: auto;
  display: block;
  box-shadow: 0 0 0 1px #e7e2da;
  background: #faf8f5;
}

/* ===== 見出し ===== */
.role-title_0119{
  margin: 56px 0 24px;
  text-align: center;
  color: #b37a2a;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .02em;
}

/* ===== 下段（役割比較：画像） ===== */
.roles_0119{
  display: flex;
  justify-content: center;
}

.roles-img_0119{
  width: 100%;
  height: auto;
  display: block;

}

/* ===== PC / SP 切替 ===== */
.pc_0119{ display: block; }
.sp_0119{ display: none; }

/* =========================
  SP（768px以下）
========================= */
@media (max-width: 768px){
  .item-section_0119{
    width: 100%;
    padding: 40px 24px 56px;
  }

  .item-title_0119{
    font-size: 24px;
  }

  .item-sub_0119{
    font-size: 18px;
  }

  .item-lead_0119{
    font-size: 18px;
    line-height: 1.95;
  }

  .cards_0119{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
  }

  .card_0119{
    width: 100% !important;
  }

  .role-title_0119{
    font-size: 24px;
    margin: 40px 0 18px;
  }

  .pc_0119{ display: none; }
  .sp_0119{ display: block; }
}



/* =====================================================
  sec15用
===================================================== */
.sec15-pic{
	margin-top: 200px;
}
/* =====================================================
  テーブル1
===================================================== */
.price-table-wrap{
  width: 70%;
  margin: 0 auto;
}

.price-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 22px; /* 行間（キャプチャの余白感） */
}

/* 左列 */
.price-table__th{
  text-align: left;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 0;
  vertical-align: middle;
  white-space: nowrap;
}

/* 右列 */
.price-table__td{
  text-align: right;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 0;
  vertical-align: middle;
  white-space: nowrap;
}

/* 左の縦棒（画像じゃなく色で表現） */
.price-table__bar{
  display: inline-block;
  width: 4px;
  height: 34px;
  background: #b39452;
  margin-right: 18px;
  vertical-align: middle;
}

/* 下段（強調行） */
.price-table-total{
  margin-top: 46px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.price-table-total__label{
  background: #b39452;
  color: #000000;
  font-weight: 700;
  font-size: 1.8rem;
  padding: 22px 18px;
  width: 340px;          /* 左の帯の横幅 */
  text-align: center;
}

.price-table-total__value{
  flex: 1;
  font-size: 2.6rem;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.price-option{
  max-width: 900px;
  margin: 0 auto;
}

/* タイトル */
.price-option__title{
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 32px;
}

.price-option__num{
  font-style: italic;
  color: #b89b5e; /* ゴールド系 */
  font-size: 3rem;
}

/* =========================
  テーブル2
========================= */
.price-table{
  width: 100%;
  border-collapse: collapse;
}

.price-table th,
.price-table td{
  padding: 20px 24px;
  vertical-align: top;
}

/* 左列 */
.price-table th{
  width: 220px;
  text-align: left;
  font-weight: 600;
  position: relative;
  padding-left: 32px;
}

/* 左の縦ライン */
.price-table th::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 4px;
  height: calc(100% - 40px);
  background: #b89b5e;
}

/* 右列 */
.price-table td{
  font-size: 1.4rem;
}

/* 通常価格 */
.price-normal{
  font-style: italic;
  font-size: 2rem !important;
}

/* 早期価格 */
.price-early__value{
  font-size: 2.6rem !important;
  font-weight: 600;
  font-style: italic;
}

/* 注釈 */
.price-note{
  font-size: 0.9em;
  opacity: 0.8;
}

th .price-note{
  display: block;
  line-height: 1.2;
  margin-top: 4px;
}

/* =====================================================
  テーブル3
===================================================== */

.info-table{
  width: 100%;
  max-width: 900px;
  margin: 0 auto 80px;
  border-collapse: collapse;
  border: 1px solid #666;
}

/* タイトル */
.info-table__title{
  background: #b6a36a;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: 28px 20px;
  font-weight: 600;
  border-bottom: 1px solid #666;
}

/* 左ラベル列 */
.info-table__label{
  width: 200px;
  background: linear-gradient(#d6caa0, #cbbd8f);
  color: #fff;
  text-align: center;
  vertical-align: middle;
  font-size: 1.2rem;
  font-weight: 600;
  padding: 24px 16px;
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
}

/* 右コンテンツ */
.info-table__content{
  padding: 24px 28px;
  font-size: 1.1rem;
  line-height: 1.9;
  border-bottom: 1px solid #666;
}

/* 補足文字 */
.text-small{
  font-size: 0.95rem;
  opacity: 0.8;
}


/* =========================
  sec19用
========================= */
.qa-table{
  width: 80%;
  max-width: 900px;
  margin: 0 auto 48px;
  border-collapse: collapse;
}

/* Qアイコン列 */
.qa-q{
  width: 80px;
  vertical-align: top;
  padding-top: 6px;
}

.qa-q img{
  width: 48px;
  height: auto;
}

/* 質問 */
.qa-question{
  font-size: 1.6rem;
  font-weight: 600;
  padding-bottom: 14px;
  border-bottom: 4px dotted #b79b5b; /* ゴールド系点線 */
}

/* 回答 */
.qa-answer{
  padding-top: 18px;
  font-size: 1.2rem;
  line-height: 1.8;
}


.sec20{
	margin-top: -50px;
}

.price-table-wrap2{
	width:96%;
	margin: auto;
}

/* =====================================================
  フッター
===================================================== */
.site-footer{
  background: #b19552;        /* 背景色（変更OK） */
  padding: 24px 16px;
  text-align: center;
}

.site-footer__copy{
  margin: 0;
  font-size: 0.9rem;
  color: #ffffff;
  letter-spacing: 0.04em;
}






/* =====================================================
  SP
===================================================== */
@media (max-width: 768px) {
  .container {
    padding: 0 var(--padding-sp);
  }

  .sec-title {
    font-size: 22px;
	}
	
	
	.sec {
	  padding: 26px 0;
	  background-size: cover;
	  background-position: center top;
		margin:auto;
	}
	.sec__inner {
	  display: flex;
	  flex-direction: column;
	  align-items: center;
	  gap: 12px;
	}
	
	/* =====================================================
	  テキストスタイル
	===================================================== */
	.sec-title {
	  font-size: 28px;
	  text-align: center;
	}

	.lead-text {
	  font-size: 1rem;
	  text-align: center;
	}

	.text {
	  max-width: 760px;
	  text-align: center;
	  font-size: 0.9rem;
	}

	.note {
	  font-size: 0.9rem;
	  text-align: center;
	  opacity: 0.85;
	}

	.text-left{
		text-align: left;
	}

	.text-small{
		font-size: 0.9rem !important;
	}
	
	/* =====================================================
	背景（SP）
	※1000px背景を指定
	===================================================== */
	#sec-FV { background-image: url("../images/bg_sp_FV.png"); }
	#sec-02 { background-image: url("../images/bg_sp_02.png"); }
	#sec-04 { background-image: url("../images/bg_sp_04.png"); }
	#sec-05 { background-image: url("../images/bg_sp_05.png"); }
	#sec-06 { background-image: url("../images/bg_sp_06.png"); }
	#sec-07 { background-image: url("../images/bg_sp_07.png"); }
	#sec-08 { background-image: url("../images/bg_sp_08.png"); }
	#sec-15 { background-image: url("../images/bg_sp_15.png"); }
	#sec-18 { background-image: url("../images/bg_sp_18.png"); }
	#sec-20 { background-image: url("../images/bg_sp_20.png"); }

	/* 背景画像が無いセクションは背景色 */
	#sec-01, #sec-03,　#sec-09, #sec-10, #sec-11, #sec-12, #sec-13, #sec-14, #sec-15, #sec-16, #sec-17, #sec-19, #sec-21 { background-color: #fff; }
	/* =====================================================
		  セクションタイトル画像
		===================================================== */

		.sec-title-img {
		  margin: 50px 0 30px 0;
		  text-align: center;
		}

		/* 画面には出さないが意味は残す */
		.visually-hidden {
		  position: absolute;
		  width: 1px;
		  height: 1px;
		  padding: 0;
		  margin: -1px;
		  overflow: hidden;
		  clip: rect(0, 0, 0, 0);
		  white-space: nowrap;
		  border: 0;
		}

		/* h2内の画像サイズ制御 */

		/* セクションごとに “元画像幅” を設定 */
		.sec-01 { --h2-max: 951px; }
		.sec-02 { --h2-max: 629px; }
		.sec-03 { --h2-max: 633px; }
		.sec-04 { --h2-max: 951px; }
		.sec-05 { --h2-max: 951px; }
		.sec-06 { --h2-max: 820px; }



		.h2-img img {
		  width: 100%;
		  max-width: var(--h2-max, 1000px); /* 見出し画像の最大幅 */
		  margin: 0 auto;
		  display: block;
		}

		h3{
			font-size: 1.1rem;
			text-align: center;
		}

		h4{
			font-size: 1rem;
			text-align: center;
		}
	h5{
	font-size: 1rem;
	border-bottom: solid 1px #1d1d1d;
	font-weight: 400;
	margin: 8px 0;
}

h6{
	font-size: 0.9rem;
	text-align: left;
	font-weight: 300;
	margin: 0 0 32px 0;
}
	/* =====================================================
  リストのリーダースタイル
	===================================================== */
	.check-list,
	.star-list {
	  max-width: 720px;
	  padding-left: 1.2em;
		padding-top:20px;
		padding-bottom:20px;
	}

	.check-list li,
	.star-list li {
	  margin-bottom: 12px;
	  font-size: 1rem;
	}

	.list3 li {
	  margin-bottom: 12px;
	  font-size: 1rem;
	}

	/* デフォルトの・を消す */
	.icon-list {
	  list-style: none;
	  padding-left: 0;
	  margin: 0;
	}

	/* li を相対配置（アイコン配置用） */
	.icon-list li {
	  position: relative;
	  padding-left: 30px; /* アイコン分の余白 */
	  margin-bottom: 24px;
	  line-height: 1.7;
	}

	/* 疑似要素で画像マーカーを表示 */
	.list1 li::before {
		content: "";
		position: absolute;
		top: 0.2em;
		left: 0;

		width: 25px;
		height: 25px;

		/* ★ここがマーカー画像 */
		background-image: url("../images/icon_check1.png");
		background-size: contain;
		background-repeat: no-repeat;
	}

	.list2 li::before {
		content: "";
		position: absolute;
		top: 0.4em;
		left: 0;

		width: 20px;
		height: 20px;

		/* ★ここがマーカー画像 */
		background-image: url("../images/icon_check2.png");
		background-size: contain;
		background-repeat: no-repeat;
	}

	.list3 li::before {
		content: "";
		position: absolute;
		top: 0.6em;
		left: 0;

		width: 10px;
		height: 10px;

		/* ★ここがマーカー画像 */
		background-image: url("../images/icon_check5.png");
		background-size: contain;
		background-repeat: no-repeat;
	}

	/* =====================================================
	その他画像（SP）
	===================================================== */
	
	  .img-row{
		flex-direction: column;
		gap: 16px;
	  }

	  .img-row .lp-img{
		max-width: 100%;
	  }
	
		.pic-small{
		width: 100%;
		margin: auto;
		}
	
	/* =====================================================
	sec6用
	===================================================== */
	
	 .sec__inner--row{
		flex-direction: column;
		gap: 10px;
		align-items: center;
	  }

	  .sec-06__name{
		font-size: 2rem;
		text-align: center;
	  }

	  .sec-06__text .lead-text,
	  .sec-06__text .text{
		text-align: center;
		  font-size: 1rem;
	  }

	  .sec-06__photo{
		flex: none;
		width: min(360px, 100%);
		max-width: 100%;
	  }
	.sec-06__photo img{
		  width: 100%;
		  height: auto;
		  display: block;
		  padding: 0px;
		}
	.sec06img{
		margin: 20px 0;
	}
	
	.sec08img{
		margin: 25px 0;
	}
	
	.sec-title-text{
	  display: block;
	  font-weight: 600;
	  line-height: 1.3;
	  text-align: left;
		margin: 10px 0;
		font-size: 1.2rem;
	}
	
	.sec09img{
		margin-bottom: 50px;
	}

	
	
	/* =====================================================
	  sec15用
	===================================================== */
	.sec15-pic{
		margin-top: 100px;
	}
	
	/* =====================================================
	  テーブル1
	===================================================== */
	.price-table-wrap{
	  width: 90%;
	  margin: 0 auto;
	}

	.price-table{
	  width: 100%;
	  border-collapse: separate;
	  border-spacing: 0 12px; /* 行間（キャプチャの余白感） */
	}

	/* 左列 */
	.price-table__th{
	  text-align: left;
	  font-size: 1.2rem !important;
	  font-weight: 600;
	  padding: 0;
	  vertical-align: middle;
	  white-space: nowrap;
	}

	/* 右列 */
	.price-table__td{
  text-align: right;
  font-size: 1.5rem !important;
  font-weight: 600;
  padding: 0;
  vertical-align: middle;

  white-space: normal;     /* ← nowrap を解除 */
  overflow-wrap: anywhere; /* ← 長い文字/URLも強制的に折り返す */
  word-break: break-word;  /* ← 保険 */
	}

	/* 左の縦棒（画像じゃなく色で表現） */
	.price-table__bar{
	  display: inline-block;
	  width: 4px;
	  height: 34px;
	  background: #b39452;
	  margin-right: 18px;
	  vertical-align: middle;
	}

	/* 下段（強調行） */
	.price-table-total{
	  margin-top: 16px;
	  display: flex;
	  align-items: center;
		flex-direction: column;
		align-items: stretch;
	  gap: 18px;
	}

	.price-table-total__label{
	  background: #b39452;
	  color: #000000;
	  font-weight: 700;
	  font-size: 1.5rem;
	  padding: 10px 10px;
	  width: 80%;          /* 左の帯の横幅 */
	  text-align: center;
	}

	.price-table-total__value{
	  flex: 1;
	  font-size: 2rem;
	  font-weight: 800;
	  text-align: right;
	  white-space: nowrap;
	}

	.price-option{
	  max-width: 900px;
	  margin: 0 auto;
	}

	/* タイトル */
	.price-option__title{
	  display: flex;
	  align-items: center;
	  gap: 16px;
	  font-size: 1.5rem;
	  font-weight: 600;
	  margin-bottom: 32px;
		text-align: left;
	}

	.price-option__num{
	  font-style: italic;
	  color: #b89b5e; /* ゴールド系 */
	  font-size: 3rem;
	}
	
	  .price-table th,
  .price-table td{
    display: block;
    width: 100%;
  }

  .price-table tr{
    margin-bottom: 24px;
    display: block;
  }

  .price-table th::before{
    top: 12px;
    height: calc(100% - 24px);
  }

	/* =========================
	  テーブル2
	========================= */
	.price-table{
	  width: 100%;
	  border-collapse: collapse;
	}

	.price-table th,
	.price-table td{
	  padding: 4px 24px;
	  vertical-align: top;
	}

	/* 左列 */
	.price-table th{
	  width: 220px;
	  text-align: left;
	  font-weight: 600;
	  position: relative;
	  padding-left: 32px;
		font-size: 1.5rem;
	}

	/* 左の縦ライン */
	.price-table th::before{
	  content: "";
	  position: absolute;
	  left: 0;
	  top: 0px;
	  width: 4px;
	  height: calc(100%);
	  background: #b89b5e;
	}

	/* 右列 */
	.price-table td{
	  font-size: 1rem;
	}

	/* 通常価格 */
	.price-normal{
	  font-style: italic;
	  font-size: 1.5rem !important;
		text-align: right;
	}

	/* 早期価格 */
	.price-early__value{
	  font-size: 2rem !important;
	  font-weight: 600;
	  font-style: italic;
		text-align: right;
	}

	/* 注釈 */
	.price-note{
	  font-size: 0.9em;
	  opacity: 0.8;
	}

	th .price-note{
	  display: block;
	  line-height: 1.2;
	  margin-top: 4px;
	}

	/* =====================================================
	  テーブル3
	===================================================== */

	.info-table{
	  width: 100%;
	  max-width: 900px;
	  margin: 0 auto 80px;
	  border-collapse: collapse;
	  border: 1px solid #666;
	}

	/* タイトル */
	.info-table__title{
	  background: #b6a36a;
	  color: #fff;
	  text-align: center;
	  font-size: 1.2rem;
	  padding: 28px 20px;
	  font-weight: 600;
	  border-bottom: 1px solid #666;
	}

	/* 左ラベル列 */
	.info-table__label{
	  width: 200px;
	  background: linear-gradient(#d6caa0, #cbbd8f);
	  color: #fff;
	  text-align: center;
	  vertical-align: middle;
	  font-size: 1rem;
	  font-weight: 600;
	  padding: 24px 16px;
	  border-right: 1px solid #666;
	  border-bottom: 1px solid #666;
	}

	/* 右コンテンツ */
	.info-table__content{
	  padding: 24px 28px;
	  font-size: 1rem;
	  line-height: 1.9;
	  border-bottom: 1px solid #666;
	}

	/* 補足文字 */
	.text-small{
	  font-size: 0.9rem;
	  opacity: 0.8;
	}
	
	/* =========================
		  sec19用
		========================= */
		.qa-table{
		  width: 90%;
		  max-width: 900px;
		  margin: 0 auto 24px;
		  border-collapse: collapse;
		}

		/* Qアイコン列 */
		.qa-q{
		  width: 30px;
		  vertical-align: top;
		  padding-top: 6px;
		}

		.qa-q img{
		  width: 20px;
		  height: auto;
		}

		/* 質問 */
		.qa-question{
		  font-size: 1.2rem;
		  font-weight: 600;
		  padding-bottom: 14px;
		  border-bottom: 4px dotted #b79b5b; /* ゴールド系点線 */
		}
		.qa-answer{
		  padding-top: 10px;
		  font-size: 1rem;
		  line-height: 1.8;
		}
	
		/* =========================
		  FV用
		========================= */
		#sec-FV{
		aspect-ratio: 1000 / 1683; /* 例：SP画像の比率 */
		background-image: url("../images/bg_sp_FV.png");
  }
	
	.sec3img{
	margin-left: -20px;
}
	.sec20{
	margin-top: 0px;
	font-size: 1rem;
}

	
}


/* カードをリンク化してボタンを下に付ける */
.card-link_0119{
  display: block;
  text-decoration: none;
  color: inherit;
}

/* 画像（既存 card_0119 の見た目を維持しつつ幅調整） */
.card-link_0119 .card_0119{
  width: 100%;
  height: auto;
  display: block;
}

/* ボタン */
.btn_0119{
  display: inline-block;
  margin-top: 14px;
  padding: 14px 18px;
  border-radius: 999px;
  background: #6a3fd1;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  width: 100%;
  transition: transform 0.25s ease, filter 0.25s ease;
}

/* hoverできる端末だけ反応 */
@media (hover: hover){
  .card-link_0119:hover .btn_0119{
    filter: brightness(1.08);
  }

}

/* ちょい押し込み */
.card-link_0119:active{
  transform: translateY(0);
}

@media (hover: hover){
  .btn_0119:hover{
    transform: translateY(-4px);
    filter: brightness(1.08);
  }
}

.btn_0119:active{
  transform: translateY(-1px);
}
