@charset "utf-8";
html{ font-size: 62.5%; }
body{
	margin: 0;
	background: #fbfafa;
	font-family: -apple-system, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "メイリオ", meiryo, sans-serif;
	font-size: 17px;
	font-size: 1.7em;
	line-height: 1.7em;
	color: #292929;
	-webkit-text-size-adjust: none;
}
a,a:link,a:visited{ color: #0061c4; webkit-transition: 0.6s; transition: 0.6s; }
a:hover,a:active{ color: #00c48f; }

.bold{ font-weight: bold; }
.m0b{ margin-bottom: 0!important; }
.m3b{ margin-bottom: 3em!important; }
.small1{ font-size: 90%; }
.red{ color: #e71f19; }
.imp-yellow{ background-color: #ff8; padding: 0 2px; font-weight: bold; }

#container{
	width: 100%;
	margin: 0;
}

#header{
	position: relative;
	min-height: 200px;
	margin: 0 auto 10px;
	padding-top: 1px;
	background: url(https://ht-produce.com/guide-wordpress/wp-content/themes/htp_theme/images/top.jpg) center center repeat-x scroll;
	z-index: 100;
}
#header .h_bg{
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	z-index: 0;
}

#header #logo{
	position: relative;
	display: flex;
	margin: 3px 0 5px 15px;
	z-index: 10;
}
#header #logo #top{
	display: block;
	margin-left: 7px;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.3em;
	color: #fff;
}
#header #logo a{
	display: block;
}
#header #catch{
	position: relative;
	font-size: 40px;
	font-size: 4rem;
	line-height: 1.7em;
	text-align: center;
	letter-spacing: -2px;
	color: #fff;
	z-index: 10;
}
#header #catch .line_o{
	position: relative;
	display: block;
	top: -30px;
	opacity: 0;
}
#header #catch .shadow.on{
	text-shadow: 0 0 20px #fff;
	transition: text-shadow 4s ease;
}
#header #catch .small{
	display: block;
	width: 90%;
	margin: 0 auto;
	border-top: 1px solid #b58152;
	font-family: "Century", serif;
	font-size: 28px;
	font-size: 2.8rem;
	letter-spacing: 1px;
	line-height: 2em;
}

/* ===== ベース ===== */
:root{
	--h-fg: #0f172a;
	--h-fg-sub: #475569;
	--h-muted: #64748b;
	--h-line: #e5e7eb;
	--h-line2: #999;
	--h-soft: #f8fafc;
	--h-accent: #1f2937;
	--h-card-shadow: 0 6px 20px rgba(0,0,0,.06);
	--h-radius: 14px;
}
#h-main{
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 2rem;
	color: var(--h-fg);
}
#h-main p{
	margin-bottom: 1.5em;
	color: var(--h-fg-sub);
	line-height: 1.8;
}
#h-main h1{
	font-size: 1.2rem;
	line-height: 1.4;
	margin: 0 0 1rem;
	color: var(--h-fg);
}
#main h1{
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 1.5em;
	padding-bottom: 0.3em;
	border-bottom: 3px solid #2c3e50;
	color: #222;
}
#h-main h2,
#main h2{
	position: relative;
	padding-left: 1.2rem;
	font-weight: 700;
	letter-spacing: .02em;
	color: #06435f;
	font-size: 2.0rem;
	line-height: 1.5;
	margin: 0 0 1.2rem;
}
#h-main h2::before{
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	bottom: .2em;
	width: .35rem;
	background: linear-gradient(180deg, #2563eb, #16a34a);
	border-radius: 2px;
}
@media screen and (max-width: 768px){
	#main h1{
		font-size: 2rem;
	}
	#main h2{
		font-size: 1.8rem;
	}
}

/* ===== トップページ ===== */
.h-section{
	margin-bottom: 3em;
}
.h-container{
	max-width: 980px;
	margin: 0 auto;
}
.h-section-title{
	font-size: clamp(2.0rem, 2.6vw, 2.4rem);
	line-height: 1.5;
	margin: 0 0 1.2rem;
	color: var(--h-fg);
}

/* ヒーロー */
.h-hero.h-section{ padding-top: 1rem; }
.h-hero-title{ margin-bottom: 2em; }
.h-lead{
	max-width: 800px;
	margin: 0 auto 2em;
	padding: 1.6rem 1.8rem .1rem;
	background: var(--h-soft);
	border: 1px dashed var(--h-line2);
	letter-spacing: .01em;
}

/* ボタン */
.h-btn{
	display: inline-block;
	padding: .9rem 1.4rem;
	border-radius: 999px;
	font-size: 1.4rem;
	text-decoration: none;
	border: 1px solid #cbd5e1;
	color: var(--h-fg);
	background: #fff;
	transition: transform .15s ease, box-shadow .15s ease;
}
.h-btn:hover{
	transform: translateY(-1px);
	box-shadow: var(--h-card-shadow);
}
.h-btn-primary{
	background: var(--h-accent);
	color: #fff;
	border-color: var(--h-accent);
}

/* レベル自己診断 */
.h-level{
	max-width: 980px;
	margin: 0 auto 3em;
	padding: clamp(2.4rem, 3vw, 3.2rem);
	background: #fbfbfd;
	border: 1px solid var(--h-line);
	border-radius: 4px;
}
.h-level .h-muted{
	color: var(--h-muted);
	font-size: 1.4rem;
}
.h-level-list{
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}
.h-level-item{
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 1.4rem;
	padding: 1.6rem 1.8rem 1.6rem 1.6rem;
	background: #fff;
	border: 1px solid var(--h-line);
	border-radius: 10px;
	transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}
.h-level-item::before{
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 6px;
	border-radius: 14px 0 0 14px;
	background: #d1d5db;
}
.h-level-item:nth-child(even){ background: #fcfdff; }
.h-level-badge{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	width: 84px;
	height: 84px;
	border-radius: 12px;
	background: #f3f6fa;
	overflow: hidden;
}
.h-level-t{
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
	color: #0f172a;
}
.h-level-icon{
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
}
.h-level-body{
	line-height: 1.5;
}
.h-level-title{
	margin: .1rem 0 .3rem;
	font-size: 1.7rem;
	color: var(--h-fg);
	font-weight: bold;
	letter-spacing: .01em;
}
#h-main .h-level-body p{
	margin: 0;
	font-size: 1.5rem;
}
.h-example{
	display: block;
	margin-top: .35rem;
	color: var(--h-muted);
	font-size: 1.3rem;
}
.h-level-item:nth-child(1)::before{ background: #22c55e; }
.h-level-item:nth-child(2)::before{ background: #84cc16; }
.h-level-item:nth-child(3)::before{ background: #f59e0b; }
.h-level-item:nth-child(4)::before{ background: #f97316; }
.h-level-item:nth-child(5)::before{ background: #06b6d4; }
.h-level-item:nth-child(6)::before{ background: #3b82f6; }
.h-level-item:nth-child(7)::before{ background: #6366f1; }

.h-level-item:nth-child(1) .h-level-badge{ background: rgba(34,197,94,.10); }
.h-level-item:nth-child(2) .h-level-badge{ background: rgba(132,204,22,.10); }
.h-level-item:nth-child(3) .h-level-badge{ background: rgba(245,158,11,.10); }
.h-level-item:nth-child(4) .h-level-badge{ background: rgba(249,115,22,.10); }
.h-level-item:nth-child(5) .h-level-badge{ background: rgba(6,182,212,.10); }
.h-level-item:nth-child(6) .h-level-badge{ background: rgba(59,130,246,.10); }
.h-level-item:nth-child(7) .h-level-badge{ background: rgba(99,102,241,.10); }

@media (max-width: 640px){
.h-level-item{
	padding: 1rem 1.8rem 1rem 1.6rem;
	grid-template-columns: 1fr;
	text-align: center;
	gap: .8rem;
}
.h-level-badge{
	flex-direction: row;
	width: 100%;
	height: auto;
	padding: .4rem 1rem;
	margin: 0 auto;
	border-radius: 100px;
	gap: .4rem;
}
.h-level-t{
	font-size: 1.3rem;
}
.h-level-icon{
	width: 24px;
	height: 24px;
}
.h-level-body{ text-align: left; }
.h-level-title{ text-align: center; }
}

/* このガイドでわかること */
.h-what .h-container{
	background: #f3f4f6;
	border-radius: 4px;
	padding: clamp(2.4rem, 3vw, 3.2rem);
	color: #f3f4f6;
}
.h-what h2{
	color: #111827!important;
}
.h-feature-list{
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}
.h-feature-item{
	display: grid;
	grid-template-columns: 36px minmax(240px, 300px) 1fr;
	gap: .4rem 1.2rem;
	align-items: start;
	padding: 1.4rem 1.6rem;
	border-top: 1px solid #e5e7eb;
}
.h-feature-item:first-child{ border-top: 0; }
.h-feature-item::before{
	content: "\2713";
	grid-column: 1;
	align-self: start;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #25a9eb;
	color: #fff;
	font-weight: 800;
	font-size: 1.4rem;
}
.h-feature-item h3{
	grid-column: 2;
	margin: 0;
	font-weight: 700;
	font-size: 1.7rem;
	color: #111827;
	line-height: 1.6;
}
.h-feature-item p{
	grid-column: 3;
	margin: 0!important;
	color: #374151!important;
	line-height: 1.8;
	font-size: 1.5rem;
}

@media (max-width: 640px){
	.h-feature-item{
		grid-template-columns: 36px 1fr;
		gap: .6rem 1rem;
	}
	.h-feature-item::before{ grid-column: 1; }
	.h-feature-title{ grid-column: 2; }
	.h-feature-item p{ grid-column: 2; }
}

/* 目的別カテゴリ */
.h-card-grid{
	display: grid;
	gap: 1.2rem;
}
@media (min-width: 768px){
	.h-card-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}
.h-card a{
	display: block;
	padding: 1.6rem 1.8rem;
	border-radius: 10px;
	text-decoration: none;
	background: #f0f6fa;
	border: 1px solid #e5e7eb;
	color: #111827;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
	transition: background .2s ease, transform .1s ease, box-shadow .2s ease, border-color .2s ease;
}
.h-card-title{
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0 0 .4rem;
	color: #111827;
}
.h-card-desc{
	margin: 0;
	font-size: 1.35rem;
	color: #4b5563!important;
}
.h-card a:hover,
.h-card a:focus{
	background: #f9f9fb;
	border-color: #d1d5db;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0,0,0,.15);
}
.h-card a:focus-visible{
	outline: 3px solid #94a3b8;
	outline-offset: 2px;
}

/* ===== パンくず ===== */
.breadcrumb{
	margin-bottom: 1.5em;
	font-size: 13px;
	line-height: 1.3;
	color: #666;
}
.bc-list{
	display: flex;
	flex-wrap: wrap;
	gap: .4em;
	list-style: none;
	margin: 0;
	padding: 0;
}
.bc-item a{
	text-decoration: none;
	color: #666;
}
.bc-item a:hover{
	text-decoration: underline;
}
.bc-current{
	color: #666;
}
.bc-list .bc-item:not(:last-child)::after{
	content: ">";
	margin-left: .4em;
	color: #888;
}

/* ===== コンテンツ ===== */
#main,
.contents{
	max-width: 1100px;
	margin: 0 auto;
}
#main{
	padding: 0 2rem 80px;
}
@media (max-width: 768px){
#main{
	padding: 0 1rem 80px;
}
}
#main p,
.contents p{
	margin-bottom: 1.5em;
}
.block{
	margin-bottom: 3em;
}
#contarea{
	display: flex;
	gap: 24px;
	margin: .8em auto 0;
}
#post{
	flex: 1;
	min-width: 0;
}
#side{
	width: 300px;
	flex-shrink: 0;
	padding: 20px 15px 24px;
	background: #f7f8fb;
}

/* ===== 記事 共通 ===== */
#post h1{
	margin: 0 0 .5em;
	padding: .9em 1.2em;
	font-size: 2.2rem;
	font-family: "axia", sans-serif;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: .005em;
	color: #2c3e50;
	border-top: 3px solid #2c3e50;
	border-bottom: 1px solid #ddd;
	background: linear-gradient(#f7f7f7,#f3f3f3);
}
#post h2{
	font-weight: 800;
}
.text-red{ color: #c0392b; }
.text-orange{ color: #d35400; }
.text-green{ color: #1e8449; }
.wpg-section h2,
.wpg-outsourcing h2{
	display: inline;
	background: linear-gradient(transparent 60%, #d9e9ff 60%);
	font-size: 1.9rem;
	font-weight: 800;
}
.wpg-outsourcing h2 + p{
	margin-top: 1.5em;
}
#post .post-meta{
	display: flex;
	gap: .8em;
	margin-bottom: 1em!important;
	justify-content: flex-end;
	align-items: center;
	font-size: 1.4rem;
	color: #7a7a7a;
}
#post .post-meta time::before{
	content:"\23F1";
	margin-right: .35em;
	opacity: .85;
}

.wpg-intro{
	margin: 1em 0;
	padding: .7em 1.2em;
	border-left: 5px solid #1f7ae0;
	background: #f8faff;
}
.wpg-intro .intro-title{
	font-size: 2rem;
	font-weight: bold;
	color: #111;
}
.wpg-bullets{
	margin: 1em 0 1.5em;
	list-style: none;
}
.wpg-bullets li{
	position: relative;
	padding-left: 1.6em;
	margin: .45em 0;
	border-bottom: 1px dotted #ddd;
}
.wpg-bullets li::before{
	content: "\2714";
	position: absolute;
	left: 0;
	top: .05em;
	font-weight: 700;
	opacity: .9;
	color: #1f7ae0;
}

/* レベルバー */
.wpg-level{
	margin: 1.8em 0 1.6em;
	padding-top: .2em;
}
#main .wpg-level h2{
	margin: 0 0 .8em;
	padding: 3px 0 0 30px;
	font-size: 2.0rem;
	letter-spacing: .02em;
}
.wpg-level h2::before{
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 8px;
	height: 1.3em;
	border-radius: 3px;
	background: linear-gradient(#ff8a8a,#e35050);
	box-shadow:
		0 0 0 4px rgba(255,138,138,0.12),
		5px 0 0 0px #f5a623,
		10px 0 0 0px #2ecc71
}
.wpg-levelbar{
	display: grid;
	grid-template-columns: repeat(7,1fr);
	height: 36px;
	margin-top: .9em;
	border-radius: 10px;
	overflow: hidden;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
}
.wpg-levelbar__seg{
	display: flex;
	align-items: center;
	justify-content: center;
	text-shadow: 0 1px 0 rgba(0,0,0,.25);
}
.wpg-levelbar .seg--red{ background: linear-gradient(#ff8a8a,#e35050); }
.wpg-levelbar .seg--orange{ background: linear-gradient(#ffd07a,#f5a623); }
.wpg-levelbar .seg--green{ background: linear-gradient(#7ee2a3,#2ecc71); }
.wpg-levelbar__seg + .wpg-levelbar__seg{
	box-shadow: inset 1px 0 0 rgba(255,255,255,.45);
}
.wpg-level-mini{
	margin: 1em 0 0 .6em;
	font-size: 1.4rem;
	line-height: 1.5em;
	color: #999;
}
.wpg-level-legend{
	margin: .6em 0 0;
	padding: .35em .6em;
	font-size: 1.4rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 8px;
}
.wpg-level-legend span{
	display: inline-flex;
	align-items: center;
	margin-right: 2em;
}
.wpg-swatch{
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	margin-right: .4em;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);
}
.swatch--red{ background: linear-gradient(#ff8a8a,#e35050); }
.swatch--orange{ background: linear-gradient(#ffd07a,#f5a623); }
.swatch--green{ background: linear-gradient(#7ee2a3,#2ecc71); }

.wpg-section{
	margin-top: 1.2em;
	padding: clamp(12px, 2.5vw, 18px);
	border-radius: 14px;
	border: 1px solid rgba(0,0,0,.06);
}
@media (max-width:640px){
	.wpg-level h2{ font-size: 1.6rem; }
	.wpg-level{ margin: 1.6em 0 1.4em; }
	.wpg-level h2{ margin-bottom: .8em; }
}

/* 対応方針 */
.wpg-level-summary{
	margin: 1.6em 0;
	padding: 1.2em 1.4em;
	border-radius: 3px;
	background: #fafcff;
	border: 1px solid #eef2f7;
	box-shadow: 0 2px 6px rgba(0,0,0,.04);
}
#main .wpg-level-summary h2{
	margin: 0 0 .6em;
	font-size: 1.7rem;
	font-weight: 800;
	color: #111;
	letter-spacing: .01em;
}
#main .wpg-level-summary h2::before{
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	bottom: .2em;
	width: .35rem;
	background: linear-gradient(180deg, #2563eb, #16a34a);
	border-radius: 2px;
}
#main .wpg-level-summary p{
	margin: 0;
	line-height: 1.7;
	font-size: 1.5rem;
	color: #333;
}

/* 対応 */
.wpg-section{
	margin: 2em 0;
}
.wpg-section--red,
.wpg-section--orange,
.wpg-section--green{
	position: relative;
	margin: 1.6em 0;
	padding: 1.4em 1.2em .6em 3.0em;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 3px 10px rgba(0,0,0,.05);
}
.wpg-section--green{ margin-bottom: .6em; }
.wpg-section--red::before,
.wpg-section--orange::before,
.wpg-section--green::before{
	content: "";
	position: absolute;
	left: 1.2em;
	top: 1.2em;
	bottom: 1.2em;
	width: 6px;
	border-radius: 3px;
}
.wpg-section--red::before{ background: #e74c3c; }
.wpg-section--orange::before{ background: #f39c12; }
.wpg-section--green::before{ background: #27ae60; }

.wpg-section--red h3,
.wpg-section--orange h3,
.wpg-section--green h3{
	margin: 0 0 .6em;
	display: flex;
	align-items: center;
	gap: .5em;
	font-weight: bold;
}
.wpg-section--red h3::before{ content: "\26A0"; color: #e74c3c; font-size: 3rem; }
.wpg-section--orange h3::before{ content: "\1F6E0"; color: #f39c12; font-size: 2.8rem; }
.wpg-section--green h3::before{ content: "\2705"; color: #27ae60; font-size: 2.6rem; }
@media (max-width: 640px){
	.wpg-section--red h3,
	.wpg-section--orange h3,
	.wpg-section--green h3{
		flex-wrap: wrap;
		line-height: 1.4;
	}
	.h3-text{
		flex-basis: 100%;
		min-width: 0;
	}
	.lv-badge{
		white-space: nowrap;
		flex: none;
	}
	.wpg-section--red h3::before{ font-size: 2.4rem; }
	.wpg-section--orange h3::before{ font-size: 2.2rem; }
	.wpg-section--green h3::before{ font-size: 2.0rem; }
	.wpg-section--red h3,
	.wpg-section--orange h3,
	.wpg-section--green h3{
		row-gap: .2em;
	}
}

.lv-badge{
	display: inline-block;
	min-width: 3.6em;
	padding: 3px .5em;
	margin-right: .2em;
	border-radius: 6px;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.7em;
	text-align: center;
	color: #fff;
}
.lv-red{ background: #e74c3c; }
.lv-orange{ background: #f39c12; }
.lv-green{ background: #27ae60; }

@media (max-width:640px){
	.wpg-section--red,
	.wpg-section--orange,
	.wpg-section--green{
		padding: 1.2em 1em 1em 2.4em;
	}
	.wpg-section h2{
		font-size: 1.7rem;
	}
	.wpg-section--red h3,
	.wpg-section--orange h3,
	.wpg-section--green h3{
		font-size: 1.4rem;
	}
}

/* 外注のポイント */
.wpg-outsourcing{
	margin: 2.0em 0;
}
.wpg-table{
	width: 100%;
	border-collapse: collapse;
	margin-top: .8em;
	font-size: 1.5rem;
	background: #fff;
	border: 1px solid #e9eef5;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 3px 12px rgba(0,0,0,.04);
}
.wpg-table thead th{
	text-align: left;
	background: #f6f8fb;
	border-bottom: 1px solid #e5e7eb;
	padding: 12px 14px;
	font-weight: 800;
}
.wpg-table td{
	vertical-align: top;
	padding: 14px;
	border-bottom: 1px solid #eef0f3;
}
.wpg-table tbody tr:nth-child(odd) td{
	background: #fcfdff;
}
.wpg-table td:first-child{
	min-width: 195px;
}
.wpg-table td:first-child .bold{
	display: inline-flex;
	align-items: center;
	gap: .45em;
}
.wpg-table td:first-child .bold::before{
	content: "\1F4CB";
}
.wpg-table tr:nth-child(1) td:first-child .bold::before{ content: "\1F4B0"; }
.wpg-table tr:nth-child(2) td:first-child .bold::before{ content: "\23F3"; }
.wpg-table tr:nth-child(3) td:first-child .bold::before{ content: "\1F4E6"; }
.wpg-muted{ opacity: .8; }
.wpg-note{
	margin: .8em 0 0;
	padding: .6em .8em;
	border: 1px solid #a7e5d4;
	background: #f2fffb;
	border-radius: 10px;
	font-size: 1.4rem;
}
@media (max-width:640px){
	.wpg-table{ border-radius: 10px; }
	.wpg-table thead{ display: none; }
	.wpg-table tbody tr{
		display: block;
		border-bottom: 1px solid #e9eef5;
	}
	.wpg-table tbody tr:last-child{ border-bottom: 0; }
	.wpg-table td{
		display: block;
		border: 0;
		padding: 10px 12px;
	}
	.wpg-table td:first-child{
		font-weight: 800;
		color: #111;
		background: #f7f9fc;
		border-bottom: 1px solid #e9eef5;
		border-top: 1px solid #e9eef5;
	}
}

/* まとめ + ボタン */
.wpg-summary{
	margin: 2.4em 0 0;
	padding: 1.6em 1.4em 2em;
	border-radius: 6px;
	background: #f9fbff;
	border: 1px solid #e2ecf8;
	box-shadow: 0 3px 12px rgba(0,0,0,.05);
}
.wpg-summary .wpg-summary-title{
	margin: 0 0 .8em;
	font-size: 1.9rem;
	font-weight: 800;
	color: #111;
	text-align: center;
}
.wpg-summary p{
	margin: .6em 0;
	font-size: 1.5rem;
	line-height: 1.7;
}

.wpg-cta{
	margin-top: 1.4em;
	text-align: center;
}
.wpg-cta a{
	display: inline-block;
	padding: 14px 28px;
	border-radius: 999px;
	text-decoration: none;
	background: linear-gradient(135deg,#2ecc71,#27ae60);
	color: #fff !important;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .02em;
	transition: transform .05s ease, box-shadow .25s ease;
	box-shadow: 0 6px 16px rgba(46,204,113,.25);
}
.wpg-cta a:hover{
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(46,204,113,.35);
}
.wpg-cta a:active{
	transform: translateY(0);
}
.wpg-cta a:focus-visible{
	outline: 3px solid #fff;
	outline-offset: 2px;
	box-shadow: 0 0 0 4px rgba(46,204,113,.55);
}

/* ===== カテゴリ ===== */
.h-category-description{
	margin-bottom: 2em;
	color: #555;
	font-size: 1.4rem;
}
.h-post-list{
	list-style: none;
	margin: 0;
	padding: 0;
}
.h-post-item{
	display: flex;
	align-items: flex-start;
	margin-bottom: 1em;
	padding-bottom: 0.3em;
	border-bottom: 1px solid #eee;
}
a.h-post-link{
	text-decoration: none;
	display: flex;
	width: 100%;
	transition: background 0.3s, box-shadow 0.3s;
}
a.h-post-link:hover{
	background: #f7f7f7;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.h-post-thumb{
	flex-shrink: 0;
	width: 150px;
	height: 150px;
	overflow: hidden;
	margin-right: 1.5em;
	border-radius: 4px;
}
.h-post-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s;
}
.h-post-link:hover .h-post-thumb img{
	transform: scale(1.05);
}
.h-post-content{
	flex: 1;
}
.h-post-title{
	margin: 0.5em 0;
	padding-left: .5em;
	border-left: 3px solid #007acc;
	font-size: 1.8rem;
	font-weight: 700;
	color: #333;
}
.h-post-excerpt{
	margin-bottom: 0;
	font-size: 1.4rem;
	line-height: 1.6;
	color: #666;
}
.h-pagination{
	margin-top: 3em;
	text-align: center;
}
/* --- スマホ対応 --- */
@media screen and (max-width: 768px){
	.h-post-item{
		flex-direction: column;
	}
	.h-post-link{
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
	.h-post-thumb{
		width: 60%;
		max-width: 200px;
		height: auto;
		margin: 0 auto 1em;
	}
	.h-post-thumb img{
		width: 100%;
		height: auto;
	}
	.h-post-content{
		width: 100%;
	}
}

/* ===== サイドバー ===== */
#side h3{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 12px;
	padding-bottom: 6px;
	border-bottom: 2px solid #2c3e50;
	color: #2c3e50;
}

#side .widget,
#side .wpg-level-box{
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 24px;
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
#side .widget h2,
#side .wpg-level-box h3{
	margin: 0 0 8px;
	font-size: 1.6rem;
	font-weight: 800;
	font-family: "axia", sans-serif;
	font-weight: 700;
	color: #0f172a;
}
#side .wpg-level-box h3{ font-size: 1.5rem; }
.wpg-level-list{
	margin: 0;
	padding: 0;
	list-style: none;
}
.wpg-level-list li{
	padding: 5px 0;
	border-top: 1px solid #f0f0f0;
}
.wpg-level-head{
	display: grid;
	grid-template-columns: auto 32px 1fr;
	align-items: center;
	column-gap: 7px;
}
.wpg-level-label{
	display: inline-block;
	min-width: 44px;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 800;
	color: #1f7ae0;
	background: #eaf2ff;
	border: 1px solid #d6e6ff;
	border-radius: 8px;
	padding: 3px 6px 4px;
	line-height: 1;
}
.wpg-level-head img{
	width: 24px;
	height: 24px;
	image-rendering: -webkit-optimize-contrast;
}
.wpg-level-head .wpg-level-name{
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: .01em;
	color: #111827;
}
.wpg-level-desc{
	grid-column: 1 / -1;
	margin: 0 0 0 5px!important;
	font-size: 1.3rem;
	color: #6b7280;
	line-height: 1.6;
}

/* カテゴリーリスト */
.wpg-category-list{
	list-style: none;
	margin: 0;
	padding: 0;
}
.wpg-category-list li{
	margin-bottom: 3px;
	font-size: 1.5rem;
}
.wpg-category-list li a{
	display: block;
	padding: 6px 8px;
	text-decoration: none;
	color: #333;
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
}
.wpg-category-list li a:hover{
	background: #2c3e50;
	color: #fff;
}

/* 画面下レベル非表示 */
.wpg-level-drawer{ display: none; }

/* ===== サポート案内 ===== */
.h-support-box{
	margin-top: 4rem;
	padding: clamp(3rem, 5vw, 4rem) 1.6rem;
	background: linear-gradient(135deg, #0f172a, #1e293b);
	color: #f9fafb;
	text-align: center;
	border-radius: 16px;
	box-shadow: 0 6px 16px rgba(0,0,0,.15);
}
.h-support-box h2{
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: #f9fafb;
	letter-spacing: .02em;
}
.h-support-box p{
	margin: 0 0 1.2rem;
	font-size: 1.5rem;
	line-height: 1.7;
	color: #e2e8f0;
}
.h-support-box .h-btn{
	display: inline-block;
	padding: 1rem 2.2rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 1.5rem;
	text-decoration: none;
	transition: background .2s ease, transform .1s ease, box-shadow .2s ease;
}
.h-support-box .h-btn-primary{
	background: #22c55e;
	color: #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.h-support-box .h-btn-primary:hover,
.h-support-box .h-btn-primary:focus{
	background: #16a34a;
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(0,0,0,.35);
}
.h-support-box .h-btn-primary:active{
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
@media (prefers-reduced-motion: reduce){
	.h-support-box .h-btn,
	.h-card a{
		transition: none;
	}
}
@media (max-width:640px){
	.h-support-box h2 span{ display: inline-block; }
}

/* ===== フッター ===== */
#footer{
	padding: 30px 0 20px;
	background: #eee;
	border-top: 3px double #e5e5e5;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5em;
}
#footer .f_menu{
	display: flex;
	margin-bottom: 20px;
}
#footer .f_menu .f_company{
	width: 46%;
	margin-right: 4%;
}
#footer .f_company .f_logo{
	margin-bottom: 7px;
}
#footer .f_company .f_company_name{
	margin-bottom: 15px;
}
#footer .f_company .f_company_info{
	padding: 10px;
	border: 3px double #ddd;
	background-color: #f2f2f2;
	color: #888;
}

#footer .f_menu .f_link{
	width: 50%;
	margin: 25px 0;
}
#footer .f_menu .f_link li{
	position: relative;
	margin-bottom: 5px;
	padding-left: 15px;
}
#footer .f_menu .f_link li:before{
	content: "";
	position: absolute;
	top: .45em;
	left: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 5px;
	height: 5px;
	border-top: 2px solid #76684d;
	border-right: 2px solid #76684d;
}
#footer .f_menu .f_link li span{
	display: inline-block;
	margin-left: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	color: #76684d;
}
#footer .f_menu .f_link a{
	font-size: 16px;
	font-size: 1.6rem;
}
#footer .f_menu .f_link a,#footer .f_menu .f_link a:link,#footer .f_menu .f_link a:visited{ color: #333; }
#footer .f_menu .f_link a:hover,#footer .f_menu .f_link a:active{ color: #999; }

#footer .copyright{
	padding: 15px 0 0;
	width: 100%;
	border-top: 1px solid #ccc;
	text-align: center;
	color: #aaa;
}


@media only screen and (max-width: 1024px){
#header{ min-height: 100px; }
#header #catch{
	font-size: 30px;
	font-size: 3rem;
	padding-bottom: 15px;
}
#header #catch .small{
	font-size: 24px;
	font-size: 2.4rem;
}
.contents{
	margin: 0 3%;
}
}

@media only screen and (max-width: 768px){
#header #logo img{ width: 32px; }
#header #catch{ font-size: 2rem; line-height: 1.5em; }
#header #catch .small{ font-size: 1.6rem; }
#header #catch .shadow,
#header #catch .spbl{ display: block; }

.breadcrumb{ margin-left: 2%; }
#contarea{
	display: block;
	margin: .8em 2% 0;
}
#post,
#side{
	width: 100%;
}

.wpg-level-box{ display: none; }

#footer .f_menu{
	display: block;
}
#footer .f_menu .f_company,
#footer .f_menu .f_link{
	width: 100%;
}
}

/* ===== SP下部ドロワー（レベル説明） ===== */
@media (max-width: 768px){
.wpg-level-drawer{
	position: fixed; left: 0; right: 0; bottom: 0;
	z-index: 20;
	display: block;
	margin: 0; padding: 0; border: 0;
}
body{ padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }

.wpg-level-drawer__toggle{
	list-style: none;
	display: flex; align-items: center; justify-content: center; gap: 8px;
	width: 100%;
	min-height: 56px;
	background: #1f7ae0;
	color: #fff; font-weight: 700;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
	cursor: pointer; user-select: none;
	box-shadow: 0 -4px 18px rgba(31,122,224,.28);
}
.wpg-level-drawer__icon{ transition: transform .2s ease; }

.wpg-level-drawer[open] .wpg-level-drawer__toggle{
	border-bottom: 1px solid rgba(255,255,255,.25);
}
.wpg-level-drawer[open] .wpg-level-drawer__icon{ transform: rotate(180deg); }

.wpg-level-drawer__panel{
	background: #fff;
	max-height: min(60vh, 480px);
	overflow: auto;
	border-top: 1px solid #e9eef5;
	box-shadow: 0 -10px 24px rgba(0,0,0,.08);
	padding: 12px 16px 18px;
}
.wpg-level-mini ul{ margin: 6px 0 8px; }
.wpg-level-mini li{
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: .4em 0;
	line-height: 1.5;
}
.wpg-level-mini li img{
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
.lv-label{
	white-space: nowrap;
	font-weight: 700;
}
.lv-label::after{
	content: "｜";
	margin: 0 4px;
	opacity: .6;
}
.wpg-level-mini__link{ margin-top: 8px; text-align: right; }
.wpg-level-mini__link a{ color: #1f7ae0; font-weight: 700; text-decoration: none; }
.wpg-level-mini__link a:hover{ text-decoration: underline; }

.sidebar .wpg-level-box{ display: none; }
}
.wpg-level-drawer__toggle:focus{ outline: 3px solid rgba(255,255,255,.7); outline-offset: -3px; }
