/* 静的アーカイブ共通（外部依存なし・ティール系は子テーマに合わせる） */

.notice-root,
.notice-document {
	background: repeating-linear-gradient(
		0deg,
		#f0f0f0,
		#f0f0f0 4px,
		#ebebeb 4px,
		#ebebeb 8px
	);
	min-height: 100vh;
	text-align: left;
}
.notice-root #header .header-wrap,
.notice-document #header .header-wrap {
	background: #00c0b6;
}
.notice-root #header .header-logo,
.notice-document #header .header-logo {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0.75rem 1rem;
}
.notice-root #header #logo img,
.notice-document #header #logo img {
	height: 55px;
	width: auto;
}
.notice-root #header .drawer-nav-btn-wrap,
.notice-root #header nav,
.notice-document #header .drawer-nav-btn-wrap,
.notice-document #header nav {
	display: none !important;
}

.notice-wrap {
	max-width: 920px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 4rem;
	box-sizing: border-box;
}
.notice-hero {
	padding: 2.25rem 1.5rem 1.75rem;
	margin-bottom: 0;
	border-bottom: 3px solid #00c0b6;
	text-align: center;
	background: transparent;
}
.notice-hero h1 {
	font-size: clamp(1.15rem, 3.5vw, 1.65rem);
	line-height: 1.55;
	font-weight: 700;
	margin: 0;
	color: #2c3e50;
}
.notice-hero h1 .accent {
	color: #00c0b6;
}
.notice-card {
	background: #fff;
	border: 1px solid #ddd;
	border-left: 6px solid #00c0b6;
	padding: 1.75rem 1.75rem 1.5rem;
	margin: 2rem 0 0;
	box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.notice-card p {
	margin: 0 0 1.15em;
	line-height: 1.85;
	color: #333;
	font-size: 0.95rem;
	text-align: left;
}
.notice-card p:last-child {
	margin-bottom: 0;
}
.notice-section {
	margin: 2.25rem 0 0;
	border: 1px solid #00c0b6;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.notice-section h2 {
	background: #00c0b6;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0;
	padding: 0.85rem 1.25rem;
	text-align: left;
	letter-spacing: 0.02em;
}
.notice-section .inner {
	padding: 1.5rem 1.5rem 1.25rem;
	border-top: none;
}
.notice-section .inner p {
	margin: 0 0 1.15em;
	line-height: 1.85;
	color: #333;
	font-size: 0.95rem;
	text-align: left;
}
.notice-caution {
	background: #fff9e6;
	border: 1px solid #e8d48b;
	border-left: 5px solid #e6a800;
	padding: 1.1rem 1.2rem;
	margin: 1.25rem 0 0;
	font-size: 0.92rem;
	line-height: 1.85;
	color: #333;
	text-align: left;
}
.notice-app {
	background: #e8f6fc;
	border: 1px solid #7ec8e3;
	padding: 0.9rem 1.1rem;
	margin: 1rem 0 0 !important;
	font-size: 0.92rem;
	color: #00838f;
	text-align: left;
}
.notice-app a {
	color: #00838f;
	text-decoration: underline;
}
.notice-closing {
	background: #e8f5f4;
	border: 1px solid #7fcdca;
	padding: 2rem 1.5rem;
	margin: 2.25rem 0 0;
	text-align: center;
}
.notice-closing p {
	margin: 0 0 1em;
	line-height: 1.85;
	color: #333;
	font-size: 0.95rem;
}
.notice-closing .company {
	margin: 1.5rem 0 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #00a896;
}
.notice-footer {
	max-width: 920px;
	margin: 0 auto;
	padding: 2rem 1.25rem 3rem;
	text-align: center;
	font-size: 0.88rem;
}
.notice-footer a {
	color: #335;
	margin: 0 0.75rem;
	text-decoration: underline;
}
.notice-footer a:hover {
	color: #6495ED;
}

/* 利用規約・プライバシー本文エリア */
.notice-doc-body {
	background: #fff;
	border: 1px solid #ddd;
	border-left: 6px solid #00c0b6;
	padding: 2rem 1.5rem 2.5rem;
	margin: 0 auto;
	max-width: 920px;
	box-shadow: 0 1px 2px rgba(0,0,0,.04);
	box-sizing: border-box;
}
.notice-document .notice-wrap {
	padding-bottom: 2rem;
}
.notice-document .content {
	color: #000;
	font-size: 16px;
	line-height: 1.8;
	text-align: left;
}
.notice-document .content p {
	padding: 0 0 1.2em;
	margin: 0;
}
.notice-document .content ul,
.notice-document .content ol,
.notice-document .content table,
.notice-document .content dl {
	margin-bottom: 1.2em;
}
.notice-document .content a {
	color: #6f97bc;
	text-decoration: underline;
}
.notice-document .content a:hover {
	color: #6495ED;
}
/* 元サイトの .content 見出しデザインをティールに寄せて再現 */
.notice-document .content h2 {
	padding: 10px 40px;
	background: #00a896;
	color: #fff !important;
	margin: 1.2em -20px 1em;
	box-shadow: 0 1px 3px rgba(0,0,0,.15);
	border-radius: 0;
	position: relative;
}
.notice-document .content h3 {
	border-bottom: 2px solid #00c0b6;
	background: #fff;
	border-radius: 0;
	color: #333;
	margin: 1em 0 0.6em;
}
.notice-document .content h4 {
	padding-left: 30px;
	border-bottom: 2px solid #00c0b6;
	border-radius: 0;
	color: #666;
	position: relative;
	margin: 1em 0 0.5em;
}
.notice-document .content h4::after {
	position: absolute;
	top: 0.8em;
	left: 0.4em;
	z-index: 2;
	content: '';
	width: 10px;
	height: 10px;
	background-color: #00c0b6;
	transform: rotate(45deg);
}
.notice-document .law .contract dl,
.notice-document .privacy .inner dl {
	margin: 0;
}
.notice-document .law dt,
.notice-document .privacy dt {
	margin-top: 1.5em;
	font-weight: 700;
	color: #2c3e50;
}
.notice-document .law dt:first-child,
.notice-document .privacy dt:first-of-type {
	margin-top: 0;
}
.notice-document .law dd,
.notice-document .privacy dd {
	margin: 0.6em 0 0;
	padding: 0;
	text-align: justify;
}
@media screen and (max-width: 768px) {
	.notice-document .content {
		font-size: 15px;
	}
	.notice-document .content h2 {
		margin-left: -12px;
		margin-right: -12px;
		padding-left: 16px;
		padding-right: 16px;
	}
}
@media screen and (max-width: 600px) {
	.notice-card, .notice-section .inner { padding: 1.25rem 1rem; }
	.notice-hero { padding: 1.5rem 1rem 1.25rem; }
	.notice-doc-body { padding: 1.25rem 1rem 1.75rem; }
}
