@charset "UTF-8";

:root {
	/* 黒系 */
	--sumi: #050403;
	--sumi-2: #0b0a08;

	/* 和紙・テキスト */
	--washi: #f5ead1;
	--text-dark: #17110b;

	/* グレー系 */
	--muted: #afa58f;
	--muted-2: #827764;

	/* 金 */
	--gold: #c9a861;
	--gold-2: #f4d58a;

	/* 赤 */
	--red: #b84332;
	--red-2: #ee6a55;

	/* 青 */
	--blue: #142a58;
	--blue-2: #7aa7ff;

	/* 緑 */
	--aomidori: #1e4b44;
	--koke: #6c7650;

	/* ボーダー */
	--border: rgba(201,168,97,0.34);
	--border-soft: rgba(245,234,209,0.10);

	/* 影 */
	--shadow: rgba(0,0,0,0.38);

	/* カード系（透過は別枠で持つ） */
	--card: rgba(18, 14, 10, 0.78);
	--card-2: rgba(30, 24, 17, 0.72);
}

.page-title {
	padding: 55px 0 20px;
	padding: 111px 0 76px;
	border-bottom: 0.5px solid rgba(201, 168, 97, 0.32);
	overflow: hidden;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "MS Mincho", serif;
	background: rgba(5, 4, 3, 0.86);
}

.page-title h1 {
	margin: 16px 0 12px;
	font-size: clamp(26px, 3.8vw, 40px);
	line-height: 1.45;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--washi);
	text-align: center;

}

.page-title ul {
	display: flex;
	justify-content: center;
	overflow: visible;
	flex-wrap: wrap;
	gap: 12px;
	width: calc(100% - 32px);
	max-width: 760px;
	padding: 0;
	margin: 0 auto;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.page-title ul::-webkit-scrollbar {
	display: none;
}

/* リンク */
.page-title a {
	display: block;
	padding: 5px 12px;
	white-space: nowrap;
	font-size: 12px;
	color: #333;
	text-decoration: none;
	border: 1px solid #ddd;
	border-radius: 999px;
	background: #fff;
	transition: all 0.3s ease;
}

/* hover（PC） */
.page-title a:hover {
	background: #333;
	color: #fff;
	border-color: #333;
}

/* クリック感 */
.page-title a:active {
	transform: scale(0.96);
}

.page-title p {
	width: calc(100% - 32px);
	max-width: 760px;
	margin: 15px auto;
}


/* PC時は中央寄せ */
@media (max-width: 768px) {
	.page-title ul {
		justify-content: start;
	}
}


#tokushoho,
#terms,
#privacy,
#refund,
#ai {
	background: linear-gradient(180deg, rgba(5,4,3,0.92) 0%, rgba(11,10,8,0.86) 100%);
}

.legal-inner {
	position: relative;
	padding: 76px 0;
	width: calc(100% - 32px);
	max-width: 760px;
	margin: 0 auto;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "MS Mincho", serif;
}

.legal-section-title {
  text-align: center;
  margin-bottom: 42px;
}
.legal-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 12px;
}
.legal-divider-line {
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.legal-divider-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}
.legal-kicker-v {
  display: inline-block;
  position: relative;
  padding-left: 22px;
  color: var(--gold-2);
  font-size: 12px;
  letter-spacing: 0.28em;
  font-weight: 700;
  text-transform: uppercase;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
}
.legal-kicker-v::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 15px;
  height: 1px;
  background: var(--gold);
}
.legal-section-title h2 {
  margin: 16px 0 12px;
  font-size: clamp(26px, 3.8vw, 40px);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--washi);
}

.legal-box {
	position: relative;
	max-height: 500px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid #c0c0c0;
	font-size: 14px;
	color: #000;
	padding: 25px;
}

.legal-table table {
	width: 100%;
	border-collapse: collapse;
}

.legal-table tr {
	border-bottom: 1px dashed #555;	
}

.legal-table tr:last-child {
	border-bottom: none;	
}

.legal-table th,
.legal-table td {
	padding: 8px 5px;
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	font-size: 14px;
}

.legal-table th {
	min-width: 200px;
}

.legal-p {
	padding: 0px;
	margin:20px 0px 15px;
	font-size: 12px;
}

.legal-p strong {
	display: block;
	font-size: 14px;
}

.legal-p a {
	color: #e7e7e7;
}

@media (max-width: 768px) {
	.legal-table th {
		display: block;
		padding: 8px 5px 2px;
		font-weight: 600;
		min-width: auto;
	}
	.legal-table td {
		display: block;
		padding: 2px 5px 8px;
	}
}


.legal-box p {
	padding: 0px;
	margin:0px 0px 15px;
	font-size: 14px;
}

.legal-box p:last-child {
	margin: 0;
}

.legal-box p strong {
	display: block;
}