/* =========================================================================
   案D — common styles (header, footer, breadcrumb, drawer, mobile footer
   menu, share, search, TOC, pagination, member login, body text).
   Page styles are in the sections further down.
   Colours: blue #17489c, label blue #1d58bf, red #c30d23, orange #e95513.
   ========================================================================= */

:root {
	--d-blue: #17489c;
	--d-blue-l: #1d58bf;
	--d-red: #c30d23;
	--d-orange: #e95513;
	--d-pale: #eef2f9;
	--d-pale-2: #a9bde0;
	--d-pale-3: #dce4f2;
	--d-text: #333;
	--d-gray: #6b7278;
	--d-line: #dfdfdf;
	--d-line-2: #c9cfd4;
	--d-line-3: #dee4ef;
	--d-zen: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
}

/* ---------- base ---------- */
.d-design *,
.d-design *::before,
.d-design *::after {
	box-sizing: border-box;
}
html:has(.d-design) {
	scroll-behavior: smooth;
}
body.d-design {
	margin: 0;
	background: #fff;
	color: var(--d-text);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	line-height: 1.85;
	-webkit-text-size-adjust: 100%;
	overflow-wrap: anywhere;
}
.d-design a {
	color: var(--d-blue-l);
	text-decoration: none;
}
.d-design img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
.d-design h1,
.d-design h2,
.d-design h3,
.d-design h4,
.d-design h5,
.d-design h6 {
	line-height: 1.5;
}
.d-design button,
.d-design input,
.d-design select,
.d-design textarea {
	font: inherit;
	color: inherit;
}
.d-design .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.d-design .u-display-hidden {
	display: none !important;
}
.d-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}
.d-lab {
	display: block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.24em;
	color: var(--d-blue-l);
}
.d-zen {
	font-family: var(--d-zen);
	font-weight: 900;
}

/* ---------- header ---------- */
/* The header stays at the top while scrolling, so anchors and the sticky
   columns stop below it. --d-hd-h is its height with the bottom line. */
html {
	--d-hd-h: 85px;
	scroll-padding-top: calc(var(--d-hd-h) + 16px);
}
.d-hd {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	color: var(--d-text);
	border-bottom: 1px solid var(--d-line-3);
}
.d-hd__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 84px;
}
.d-hd__logo {
	margin: 0;
	line-height: 0;
}
.d-hd__logo img {
	display: block;
	height: 52px;
	width: auto;
}
.d-hd__brand {
	display: flex;
	align-items: center;
	gap: 20px;
}
.d-hd__tag {
	margin: 0;
	color: var(--d-blue);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.05em;
	white-space: nowrap;
}
/* Below this width the phrase would push the menu labels onto two lines. */
@media (max-width: 1179px) {
	.d-hd__tag {
		display: none;
	}
}
.d-nav {
	display: flex;
	align-self: stretch;
	align-items: stretch;
	gap: 28px;
	font-size: 14px;
}
.d-nav__list {
	display: flex;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-nav__item {
	position: relative;
	display: flex;
}
.d-nav__item > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	color: var(--d-text);
	font-weight: 500;
	border-bottom: 3px solid transparent;
	border-top: 3px solid transparent;
	white-space: nowrap;
}
.d-nav__item > a:hover,
.d-nav__item.is-current > a {
	color: var(--d-blue);
	border-bottom-color: var(--d-blue);
}
.d-nav__en {
	color: var(--d-gray);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
}
.d-nav__item > a:hover .d-nav__en,
.d-nav__item.is-current > a .d-nav__en {
	color: var(--d-blue);
}
.d-nav__sub {
	position: absolute;
	top: 100%;
	left: -16px;
	min-width: 220px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: #fff;
	border-top: 3px solid var(--d-blue);
	box-shadow: 0 8px 24px rgb(0 0 0 / 0.12);
	visibility: hidden;
	opacity: 0;
	transform: translateY(6px);
	transition: 0.2s;
}
.d-nav__item:hover .d-nav__sub,
.d-nav__item:focus-within .d-nav__sub {
	visibility: visible;
	opacity: 1;
	transform: none;
}
.d-nav__sub a {
	display: block;
	padding: 8px 20px;
	color: var(--d-text);
	font-size: 13px;
	white-space: nowrap;
}
.d-nav__sub a:hover {
	background: var(--d-pale);
	color: var(--d-blue);
}
.d-nav__search {
	display: flex;
	align-items: center;
}
.d-nav__search a {
	display: flex;
	align-items: center;
	color: var(--d-text);
	padding: 8px 0;
}
.d-nav__search.is-active a {
	color: var(--d-blue);
}
.d-kmn,
.d-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 0 22px;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	/* Reach over the header's bottom line so no pale strip shows under them. */
	margin-bottom: -1px;
}
.d-kmn {
	background: var(--d-blue);
}
.d-cta {
	background: var(--d-red);
}
.d-kmn + .d-cta {
	margin-left: -28px;
}
.d-kmn:hover,
.d-cta:hover {
	filter: brightness(1.12);
}
.d-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	width: 56px;
	margin-right: -16px;
	padding: 0 16px;
	border: 0;
	background: none;
	cursor: pointer;
}
.d-burger span {
	display: block;
	height: 2px;
	background: var(--d-text);
}
.d-hd__search {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	padding: 24px 0;
	background: var(--d-pale);
	border-bottom: 1px solid var(--d-line-3);
	visibility: hidden;
	opacity: 0;
	transition: 0.2s;
}
.d-hd__search.is-active {
	visibility: visible;
	opacity: 1;
}
/* While a client is logged in: the strip under the header (HeaderD). The
   header gets taller by the strip, 32px and its top line. */
html:has(.d-member) {
	--d-hd-h: 118px;
}
.d-member {
	background: var(--d-pale);
	color: var(--d-blue);
	border-top: 1px solid var(--d-line-3);
}
.d-member__in {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	height: 32px;
	font-size: 13px;
	font-weight: 700;
}
.d-member__state {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}
.d-member__out {
	margin: 0;
}
.d-member__out button {
	padding: 2px 12px;
	background: #fff;
	border: 1px solid var(--d-blue);
	border-radius: 0;
	color: var(--d-blue);
	font: inherit;
	font-size: 12px;
	line-height: 1.5;
	cursor: pointer;
}
.d-member__out button:hover,
.d-member__out button:focus-visible {
	background: var(--d-blue);
	color: #fff;
}
/* On narrow PCs the menu is packed tighter so its labels stay on one line. */
@media (min-width: 960px) and (max-width: 1079px) {
	.d-nav,
	.d-nav__list {
		gap: 18px;
	}
	.d-kmn,
	.d-cta {
		padding: 0 14px;
	}
	.d-kmn + .d-cta {
		margin-left: -18px;
	}
}

/* ---------- search form ---------- */
.d-design .custom-search form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}
.d-design .custom-search__field {
	flex: 1 1 260px;
}
.d-design .custom-search__input {
	flex: 0 1 220px;
}
.d-design .custom-search .search-field,
.d-design .custom-search .postform {
	width: 100%;
	height: 46px;
	padding: 0 12px;
	border: 1px solid var(--d-line-2);
	border-radius: 4px;
	background: #fff;
	font-size: 15px;
}
.d-design .custom-search .search-submit {
	height: 46px;
	padding: 0 28px;
	border: 0;
	border-radius: 4px;
	background: var(--d-blue);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

/* ---------- breadcrumb ---------- */
.d-bc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	font-size: 13px;
	line-height: 1.6;
}
.d-bc a,
.d-bc span {
	display: inline-flex;
	align-items: center;
}
.d-bc--onblue {
	color: var(--d-pale-2);
	margin-bottom: 40px;
}
.d-bc--onblue a {
	color: var(--d-pale-3);
}
.d-bc--plain {
	color: var(--d-gray);
	padding: 20px 0;
}
.d-bc--plain a {
	color: var(--d-blue-l);
}
.d-bc a:hover {
	text-decoration: underline;
}

/* ---------- title bands ---------- */
.d-band {
	background: var(--d-blue);
	color: #fff;
	padding: 120px 0;
}
.d-band__lab {
	display: block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.24em;
	color: var(--d-pale-2);
}
.d-band h1 {
	margin: 12px 0 0;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 96px;
	line-height: 1.1;
	letter-spacing: 0.02em;
}
.d-band__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: end;
}
.d-band--page h1 {
	font-size: 120px;
	line-height: 1.05;
}
.d-band__desc {
	margin: 0;
	color: var(--d-pale-3);
	font-size: 16px;
	line-height: 2;
}
/* Long page titles do not fit at 120px. */
.d-band--page h1.is-long {
	font-size: 64px;
	line-height: 1.25;
}
/* A title broken into lines (業務／案内) has the description close
   beside it. */
.d-band__row--split {
	grid-template-columns: max-content minmax(0, 560px);
	gap: 88px;
}

/* ---------- footer ---------- */
.d-ft {
	background: #484848;
	color: #fff;
	padding: 64px 0 28px;
}
.d-ft__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}
.d-ft h4 {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgb(255 255 255 / 0.3);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 15px;
	letter-spacing: 0.06em;
}
.d-ft ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	line-height: 2.1;
}
.d-ft li a {
	color: #cfcfcf;
}
.d-ft li a::before {
	content: "›";
	margin-right: 8px;
	color: #9a9a9a;
}
.d-ft li a:hover {
	color: #fff;
	text-decoration: underline;
}
.d-ft__cp {
	margin: 40px 0 0;
	font-size: 12px;
	color: #ddd;
}
.d-ft__cp a {
	color: #ddd;
}

/* ---------- drawer (SiteScriptsD toggles .is-active) ---------- */
.d-design .drawer-menu {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 1000;
	width: min(340px, 86vw);
	overflow-y: auto;
	background: #fff;
	transform: translateX(-100%);
	transition: transform 0.3s;
}
.d-design .drawer-menu.is-active {
	transform: none;
}
.d-design .drawer-menu__inner {
	padding: 64px 24px 40px;
}
.d-design .drawer-menu .u-display-tablet {
	display: none;
}
.d-design .hamburger-close-menu {
	position: absolute;
	top: 12px;
	right: 12px;
}
.d-design .hamburger-close-line {
	position: relative;
	width: 40px;
	height: 40px;
	border: 0;
	background: none;
	cursor: pointer;
}
.d-design .hamburger-close-line span {
	position: absolute;
	left: 8px;
	right: 8px;
	top: 19px;
	height: 2px;
	background: var(--d-text);
}
.d-design .hamburger-close-line span:nth-child(1) {
	transform: rotate(45deg);
}
.d-design .hamburger-close-line span:nth-child(2) {
	transform: rotate(-45deg);
}
.d-design .hamburger-close-line span:nth-child(3) {
	display: none;
}
.d-design .drawer-menu__nav,
.d-design .drawer-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-design .drawer-menu__nav > li {
	position: relative;
	border-bottom: 1px solid var(--d-line);
}
.d-design .drawer-menu__nav > li > a {
	display: block;
	padding: 14px 44px 14px 0;
	color: var(--d-text);
	font-weight: 700;
}
.d-design .drawer-menu .menu-description {
	display: block;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	color: var(--d-blue-l);
}
.d-design .drawer-menu .current-menu-item > a {
	color: var(--d-blue);
}
.d-design .drawer-menu__toggle {
	position: absolute;
	top: 14px;
	right: 0;
	width: 36px;
	height: 36px;
	border: 0;
	background: none;
	cursor: pointer;
}
.d-design .drawer-menu__toggle::before,
.d-design .drawer-menu__toggle::after {
	content: "";
	position: absolute;
	left: 11px;
	right: 11px;
	top: 17px;
	height: 2px;
	background: var(--d-blue);
	transition: 0.2s;
}
.d-design .drawer-menu__toggle::after {
	transform: rotate(90deg);
}
.d-design .drawer-menu__toggle.is-show::after {
	transform: none;
}
.d-design .drawer-menu .sub-menu {
	display: none;
	padding: 0 0 12px 12px;
}
.d-design .drawer-menu .sub-menu.is-show {
	display: block;
}
.d-design .drawer-menu .sub-menu a {
	display: block;
	padding: 6px 0;
	color: var(--d-text);
	font-size: 14px;
}
.d-design .drawer-menu .sub-menu a::before {
	content: "›";
	margin-right: 8px;
	color: var(--d-orange);
}
.d-design .drawer-overlay {
	position: fixed;
	inset: 0;
	z-index: 999;
	background: rgb(0 0 0 / 0.45);
	visibility: hidden;
	opacity: 0;
	transition: 0.3s;
}
.d-design .drawer-overlay.is-active {
	visibility: visible;
	opacity: 1;
}
body.d-design.is-drawer-open {
	overflow: hidden;
}

/* ---------- page top button ---------- */
.d-design .page-top-floating {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 90;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	background: var(--d-blue);
	color: #fff;
	font-size: 20px;
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
	transition: 0.3s;
}
.d-design .page-top-floating.is-show {
	visibility: visible;
	opacity: 1;
}

/* ---------- mobile fixed footer menu (shown below 960px) ---------- */
.d-design .fixed-footer-menu,
.d-design .js-fixed-item {
	display: none;
}

/* ---------- share buttons ---------- */
.d-design .sns-share-sticky {
	display: none;
}
.d-design .sns-share {
	margin: 48px 0 0;
}
.d-design .sns-share__list,
.d-design .sp-share-sns__inner,
.d-design .sp-follow-sns__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-design .share-button {
	position: relative;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	color: #fff;
	font-size: 18px;
	cursor: pointer;
}
.d-design .twitter-bg .share-button,
.d-design .twitter-bg > a {
	background: #000;
}
.d-design .facebook-bg .share-button {
	background: #1877f2;
}
.d-design .hatena-bg .share-button {
	background: #00a4de;
}
.d-design .pinterest-bg .share-button {
	background: #e60023;
}
.d-design .line-bg .share-button {
	background: #06c755;
}
.d-design .clipboard-bg .share-button {
	background: var(--d-gray);
}
.d-design .share-button .c-tooltip {
	display: none;
}
.d-design .share-button__clipboard--success,
.d-design .share-button__clipboard--error {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--d-blue);
	font-size: 12px;
	font-weight: 700;
}

/* ---------- table of contents (articles and pages) ---------- */
.d-design .toc-box {
	margin: 40px 0 48px;
	padding: 28px 0;
	border-top: 4px solid var(--d-blue);
	border-bottom: 1px solid var(--d-line);
}
.d-design .toc-box__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 12px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.4;
}
.d-design .toc-btn__switch {
	position: relative;
	display: inline-block;
	width: 44px;
	height: 24px;
	flex-shrink: 0;
	cursor: pointer;
}
.d-design .toc-btn__switch input {
	display: none;
}
.d-design .toc-btn__switch label {
	display: block;
	height: 24px;
	border-radius: 12px;
	background: var(--d-line-2);
	cursor: pointer;
	transition: 0.3s;
}
.d-design .toc-btn__switch.selected label {
	background: var(--d-blue);
}
.d-design .toc-btn__switch .slider {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	pointer-events: none;
	transition: 0.3s;
}
.d-design .toc-btn__switch.selected .slider {
	transform: translateX(20px);
}
.d-design .toc-box ol,
.d-design #side-toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-design .toc-box .indent_2 {
	counter-reset: t;
}
.d-design .toc-box .indent_2 > li {
	counter-increment: t;
	display: grid;
	grid-template-columns: 44px 1fr;
	padding: 6px 0;
	font-size: 16px;
	line-height: 1.7;
}
.d-design .toc-box .indent_2 > li::before {
	content: counter(t, decimal-leading-zero);
	font-family: var(--d-zen);
	font-weight: 900;
	color: var(--d-orange);
}
.d-design .toc-box a {
	color: var(--d-text);
}
.d-design .toc-box a:hover {
	color: var(--d-blue);
	text-decoration: underline;
}
.d-design .toc-box .indent_3 {
	grid-column: 2;
	margin-top: 4px;
	font-size: 14px;
}
.d-design .toc-box .indent_3 > li {
	padding: 3px 0 3px 16px;
	position: relative;
}
.d-design .toc-box .indent_3 > li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.85em;
	width: 6px;
	height: 1px;
	background: var(--d-gray);
}
/* The third level (h4), when the entry lists it: one step further in. */
.d-design .toc-box .indent_4 {
	margin-top: 2px;
	font-size: 13px;
}
.d-design .toc-box .indent_4 > li {
	padding: 2px 0 2px 16px;
}

/* ---------- pagination ---------- */
.d-design .pagination {
	margin: 56px 0 0;
}
.d-design .pagination .screen-reader-text {
	position: absolute !important;
}
.d-design .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.d-design .page-numbers {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #e5e7e8;
	border-radius: 20px;
	color: var(--d-text);
	font-size: 14px;
}
.d-design .page-numbers.current {
	background: var(--d-blue);
	border-color: var(--d-blue);
	color: #fff;
}
.d-design .page-numbers.dots {
	border: 0;
}
.d-design a.page-numbers:hover {
	border-color: var(--d-blue);
	color: var(--d-blue);
}

/* ---------- no image ---------- */
.d-design .no-img {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 80px;
	background: var(--d-pale);
	color: var(--d-pale-2);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

/* ---------- member login (WP-Members), as in the design's lock panel ---------- */
.d-lock {
	margin: 40px 0;
	padding: 32px;
	border-radius: 6px;
	background: var(--d-pale);
	color: var(--d-text);
	text-align: center;
}
.d-lock svg {
	color: var(--d-blue-l);
}
.d-body .d-lock h2 {
	margin: 8px 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--d-text);
	font-size: 18px;
	line-height: 1.6;
}
.d-body .d-lock h2::before,
.d-body .d-lock h2::after {
	content: none;
}
.d-body .d-lock p {
	margin: 0 0 6px;
	font-size: 14px;
	line-height: 1.9;
}
.d-lock .d-lock__tm {
	display: inline-block;
	margin-top: 10px;
	padding: 8px 20px;
	border: 1px solid var(--d-blue-l);
	border-radius: 4px;
	background: #fff;
	color: var(--d-blue-l);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.d-lock .d-lock__tm::after {
	content: "›";
	margin-left: 10px;
}
.d-body .d-lock .d-lock__err {
	margin: 16px auto 0;
	max-width: 380px;
	padding: 10px 16px;
	border-left: 4px solid var(--d-red);
	background: #fdf1f2;
	text-align: left;
}
.d-lock form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	max-width: 380px;
	margin: 20px auto 0;
	text-align: left;
}
.d-lock label {
	display: grid;
	gap: 4px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.6;
}
.d-lock input[type="text"],
.d-lock input[type="password"] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--d-line-2);
	border-radius: 4px;
	background: #fff;
	font: inherit;
}
.d-lock .d-lock__chk {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
}
.d-lock button {
	padding: 12px 32px;
	border: 1px solid var(--d-blue-l);
	border-radius: 4px;
	background: var(--d-blue-l);
	color: #fff;
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}

/* ---------- body text (articles and pages; provisional) ---------- */
.d-body {
	min-width: 0;
	font-size: 17px;
	line-height: 2.05;
}
.d-body p {
	margin: 0 0 1.5em;
}
.d-body h2 {
	margin: 2.6em 0 1em;
	padding: 0 0 12px;
	border-bottom: 2px solid var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 28px;
	line-height: 1.5;
	scroll-margin-top: 24px;
}
.d-body h3 {
	margin: 2.2em 0 0.8em;
	padding-left: 14px;
	border-left: 4px solid var(--d-orange);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.5;
	scroll-margin-top: 24px;
}
.d-body h4 {
	margin: 2em 0 0.6em;
	font-size: 18px;
	font-weight: 700;
	color: var(--d-blue);
}
.d-body a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.d-body ul,
.d-body ol {
	margin: 0 0 1.5em;
	padding-left: 1.5em;
}
.d-body li {
	margin: 0.2em 0;
}
.d-body blockquote {
	margin: 0 0 1.5em;
	padding: 16px 24px;
	border-left: 4px solid var(--d-pale-2);
	background: #f8f8f8;
	color: #555;
}
.d-body blockquote p:last-child {
	margin-bottom: 0;
}
.d-body figure {
	margin: 0 0 1.5em;
}
/* The live site's underline markers were imported as the underline mark;
   draw it as the red marker, as in the manuscripts. */
.d-body u {
	text-decoration: none;
	background: linear-gradient(transparent 60%, #ffd0d1 0);
}
/* Galleries: EmDash crops each picture to a square; show them whole in
   EmDash's own column grid. Its scoped rules win without !important. */
.d-body .emdash-gallery {
	align-items: start !important;
	gap: 16px !important;
	margin: 0 0 1.5em !important;
}
.d-body .emdash-gallery-item img {
	display: block;
	width: 100%;
	height: auto !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
}
.d-body figcaption {
	margin-top: 8px;
	font-size: 13px;
	color: var(--d-gray);
	text-align: center;
}
.d-body table {
	width: 100%;
	margin: 0 0 1.5em;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.8;
}
.d-body th,
.d-body td {
	padding: 10px 14px;
	border: 1px solid var(--d-line-2);
	vertical-align: top;
}
.d-body th {
	background: var(--d-pale);
	font-weight: 700;
	text-align: left;
}
.d-body .wp-block-table {
	overflow-x: auto;
}
.d-body hr {
	margin: 2.5em 0;
	border: 0;
	border-top: 1px solid var(--d-line);
}
.d-body .has-text-align-center {
	text-align: center;
}
.d-body .has-text-align-right {
	text-align: right;
}
.d-body .has-background {
	padding: 20px 24px;
}
.d-body .has-light-blue-background-color {
	background: var(--d-pale);
}
.d-body .epb-box {
	margin: 0 0 1.5em;
	border: 2px solid var(--d-blue);
	border-radius: 6px;
	overflow: hidden;
}
.d-body .epb-box__headline {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 20px;
	/* Beat the content's inline colours (a red, grey or blue band with white
	   text, 113 headings): 案D draws every headline as a deep blue band. */
	background: var(--d-blue) !important;
	color: #fff !important;
	font-weight: 700;
}
.d-body .epb-box__headline[class*="icon-"] {
	/* The headline itself carries the icon class (checkmark, alert-triangle,
	   ...); undo the 1em icon box so the text keeps the full width. */
	width: auto;
	height: auto;
	-webkit-mask: none;
	mask: none;
}
.d-body .epb-box__body {
	padding: 16px 20px;
	/* Older boxes draw their own grey or red line round the body (126 bodies);
	   案D frames the whole box once, so drop the inner line. */
	border: 0 !important;
}
.d-body .epb-box__body > :last-child {
	margin-bottom: 0;
}
/* Q&A (epb-faq): rows between hairlines, a deep blue Q and a pale A circle
   beside the text. The content's own label colours (navy outline, red fill)
   and the dashed frame give way to these. */
.d-body .epb-faq {
	margin: 0 0 1.5em;
}
.d-body .epb-faq__item {
	margin: 0;
	padding: 24px 0;
	border: 0 !important;
	border-top: 1px solid var(--d-line-2) !important;
}
.d-body .epb-faq__item:last-child {
	border-bottom: 1px solid var(--d-line-2) !important;
}
.d-body .epb-faq__question,
.d-body .epb-faq__answer {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 0;
	padding: 0;
}
.d-body .epb-faq__answer {
	margin-top: 14px;
}
.d-body .epb-faq__question__label,
.d-body .epb-faq__answer__label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 36px;
	height: 36px;
	border: 0 !important;
	border-radius: 50%;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 17px;
	line-height: 1;
}
.d-body .epb-faq__question__label {
	background: var(--d-blue) !important;
	color: #fff !important;
}
.d-body .epb-faq__answer__label {
	background: var(--d-pale-3) !important;
	color: var(--d-blue) !important;
}
.d-body .epb-faq__question__body {
	align-self: center;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.7;
}
.d-body .epb-faq__answer__body {
	flex: 1;
	min-width: 0;
	padding-top: 3px;
}
.d-body .epb-faq__answer__body > :last-child {
	margin-bottom: 0;
}
.d-body .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 1.5em;
}
.d-body .wp-block-button__link {
	display: inline-block;
	padding: 12px 32px;
	background: var(--d-blue);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

/* ---------- side widgets (articles and archives) ---------- */
.d-side {
	position: sticky;
	top: calc(var(--d-hd-h) + 32px);
	align-self: start;
}
.d-side__h {
	margin: 4px 0 0;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 17px;
	line-height: 1.5;
}
.d-side__sec {
	margin-bottom: 32px;
}
.d-side ol,
.d-side ul {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	line-height: 1.7;
}
.d-side .d-num {
	counter-reset: t;
}
.d-side .d-num > li {
	counter-increment: t;
	display: grid;
	grid-template-columns: 28px 1fr;
	padding: 9px 0;
	border-top: 1px solid var(--d-line);
}
.d-side .d-num > li::before {
	content: counter(t, decimal-leading-zero);
	font-family: var(--d-zen);
	font-weight: 900;
	color: var(--d-orange);
}
.d-side a {
	color: var(--d-text);
}
.d-side a:hover {
	color: var(--d-blue);
}
/* Sidebar TOC: the side list of TocBox, numbered. */
.d-design .d-side #side-toc > ol {
	counter-reset: t;
}
.d-design .d-side #side-toc > ol > li {
	counter-increment: t;
	display: grid;
	grid-template-columns: 28px 1fr;
	padding: 9px 0;
	border-top: 1px solid var(--d-line);
}
.d-design .d-side #side-toc > ol > li::before {
	content: counter(t, decimal-leading-zero);
	font-family: var(--d-zen);
	font-weight: 900;
	color: var(--d-orange);
}
.d-design .d-side #side-toc .indent_3 {
	display: none;
}
.d-design .d-side #side-toc a.is-current,
.d-design .d-side #side-toc .is-current > a {
	color: var(--d-blue);
	font-weight: 700;
}
.d-side .d-pop > li {
	grid-template-columns: 28px 88px 1fr;
	gap: 0 10px;
}
.d-side .d-pop__img {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--d-pale);
}
.d-side .d-pop__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.d-side .d-cats li {
	padding: 9px 0;
	border-top: 1px solid var(--d-line);
}
.d-side .d-cats li a::before {
	content: "›";
	margin-right: 8px;
	color: var(--d-orange);
}
.d-side .d-cats .is-current a {
	color: var(--d-blue);
	font-weight: 700;
}
.d-box {
	margin-bottom: 32px;
	padding: 24px;
	background: var(--d-pale);
}
.d-box > b {
	display: block;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 20px;
	line-height: 1.4;
	color: var(--d-blue);
	text-align: center;
}
.d-box > p {
	margin: 8px 0 16px;
	font-size: 13px;
	color: #555;
	line-height: 1.8;
}
.d-box > a {
	display: block;
	padding: 12px;
	background: var(--d-blue);
	color: #fff !important;
	font-weight: 700;
	text-align: center;
}
.d-box > a:hover {
	filter: brightness(1.12);
}
/* HubSpot newsletter form inside the 傍楽通信 box. */
.d-box .hs-form,
.d-box form {
	font-size: 13px;
}

/* ---------- CTA band (pages and the top page) ---------- */
.d-ctaband {
	background: var(--d-blue);
	color: #fff;
	padding: 88px 0;
	text-align: center;
}
.d-ctaband .d-band__lab {
	color: var(--d-pale-2);
}
.d-ctaband h2 {
	margin: 12px 0 32px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 40px;
	line-height: 1.4;
}
.d-ctaband__btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
}
.d-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 240px;
	padding: 18px 32px;
	font-weight: 700;
	font-size: 15px;
}
.d-btn--red {
	background: var(--d-red);
	color: #fff !important;
}
.d-btn--white {
	background: #fff;
	color: var(--d-blue) !important;
}
.d-btn--blue {
	background: var(--d-blue);
	color: #fff !important;
}
.d-btn--line {
	border: 1px solid var(--d-blue);
	color: var(--d-blue) !important;
	background: #fff;
}
.d-btn:hover {
	filter: brightness(1.1);
}

/* ---------- article (D-article) ---------- */
.d-top {
	background: var(--d-blue);
	color: #fff;
	padding: 40px 0 72px;
}
.d-top .d-bc {
	margin-bottom: 40px;
}
.d-top__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.d-cat {
	display: inline-block;
	padding: 3px 12px;
	background: var(--d-pale-2);
	color: var(--d-blue) !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}
.d-top h1 {
	max-width: 980px;
	margin: 20px 0 28px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 44px;
	line-height: 1.45;
}
.d-top__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 24px;
	font-size: 14px;
	color: var(--d-pale-3);
}
.d-top__meta i {
	margin-right: 4px;
}
.d-top__au {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	color: var(--d-pale-3) !important;
}
.d-top__au img,
.d-top__au svg {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
}
.d-eye {
	background: linear-gradient(var(--d-blue) 0 50%, #fff 50% 100%);
}
.d-eye img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.d-lay {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 80px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 72px 40px 0;
}
.d-post .d-body {
	font-size: 17px;
	line-height: 2.05;
}
.d-post .d-body > p:first-child {
	font-size: 19px;
	font-weight: 500;
}
.d-consult {
	margin-top: 56px;
}
.d-post .sns-share {
	margin-top: 40px;
}
.d-news {
	margin-top: 48px;
	padding: 32px;
	background: var(--d-pale);
	border-radius: 6px;
}
.d-news h2 {
	margin: 4px 0 8px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 24px;
	color: var(--d-blue);
}
.d-news > p {
	margin: 0 0 16px;
	font-size: 14px;
}
.d-news__pp {
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
}
.d-tags {
	margin-top: 48px;
}
.d-tags h2 {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
}
.d-tags ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-tags a {
	display: inline-block;
	padding: 2px 14px;
	border: 1px solid var(--d-line-2);
	border-radius: 999px;
	color: var(--d-text);
	font-size: 13px;
}
.d-tags a::before {
	content: "#";
	margin-right: 2px;
	color: var(--d-gray);
}
.d-tags a:hover {
	border-color: var(--d-blue);
	color: var(--d-blue);
}
.d-author {
	margin-top: 48px;
	padding: 24px;
	background: var(--d-pale);
	border-radius: 6px;
}
.d-author--top {
	margin: 0 0 32px;
}
.d-author h2 {
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 700;
}
.d-author__row {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 24px;
}
.d-author__ph img,
.d-author__ph svg {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #fff;
	object-fit: cover;
}
.d-author h3 {
	margin: 0;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
}
.d-author h3 small {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 12px;
	color: var(--d-gray);
}
.d-author p {
	margin: 8px 0 12px;
	font-size: 14px;
	line-height: 1.9;
}
.d-author__sns {
	display: flex;
	gap: 16px;
	font-size: 18px;
}
.d-author__sns a {
	color: var(--d-blue);
}
.d-pn {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 32px;
}
.d-pn > a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--d-line);
	border-radius: 6px;
	color: var(--d-text);
}
.d-pn > a:hover {
	border-color: var(--d-blue);
}
.d-pn > a.d-pn__next {
	grid-column: 2;
	flex-direction: row-reverse;
	text-align: right;
}
.d-pn__th {
	flex: none;
	width: 60px;
	height: 60px;
	overflow: hidden;
	border-radius: 4px;
	background: var(--d-pale);
}
.d-pn__th img,
.d-pn__th .no-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.d-pn__lab {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: var(--d-blue-l);
}
.d-pn__t {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}
.d-rel {
	margin-top: 88px;
	padding: 88px 0;
	background: #f8f8f8;
}
.d-rel h2 {
	margin: 6px 0 32px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 40px;
	line-height: 1.3;
}
.d-rel ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-rel li a {
	display: block;
	padding-top: 16px;
	border-top: 2px solid var(--d-text);
	color: var(--d-text);
}
.d-rel__img {
	display: block;
	margin-bottom: 14px;
	overflow: hidden;
	background: var(--d-pale);
}
.d-rel__img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.d-rel__img .no-img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.d-rel h3 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}
.d-rel li a:hover h3 {
	color: var(--d-blue);
}

/* ---------- archives (D-archive) ---------- */
.d-band--archive h1 {
	overflow-wrap: anywhere;
}
.d-band--archive .d-band__desc {
	margin-top: 16px;
}
.d-band--archive + .d-wrap .d-bc--plain {
	padding-bottom: 0;
}
.d-lay--archive,
.d-lay--single {
	padding-top: 44px;
	padding-bottom: 96px;
}
.d-lay--single {
	grid-template-columns: minmax(0, 1fr);
	max-width: 880px;
}
/* 業務案内: the body is as wide as the band, the intro is left aligned and
   the service titles keep only the red line under them. */
.d-lay--single.d-page--services,
.d-lay--single.d-page--wide {
	max-width: 1200px;
}
/* D-page: the h2 headings as a numbered contents list on a white band,
   a label on the left and three columns read top to bottom. */
.d-pagetoc {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	column-gap: 32px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 28px 40px;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
}
.d-pagetoc__label {
	margin: 0;
	padding-top: 10px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 18px;
	line-height: 1.5;
	color: #0d2a5c;
}
.d-pagetoc ol {
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(var(--d-pagetoc-rows, 1), auto);
	column-gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: t;
}
.d-pagetoc li {
	counter-increment: t;
	border-bottom: 1px solid rgba(13, 42, 92, 0.25);
}
.d-pagetoc a {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 10px 4px;
	color: #0d2a5c;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.5;
	transition: background-color 0.2s;
}
.d-pagetoc a::before {
	content: counter(t, decimal-leading-zero);
	flex: none;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 18px;
	color: var(--d-blue);
}
.d-pagetoc a:hover {
	background: var(--d-pale-2);
}
/* D-page: each h2 section with its number and heading in a sticky left
   column, as the top page's sections. */
.d-psec {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 64px;
	align-items: start;
	padding: 80px 0;
	/* The menu jumps to the section (HeaderD); its number lands where the
	   sticky column holds it. */
	scroll-margin-top: -64px;
}
/* Every other section on light gray across the whole window; the shadow
   paints the sides and clip-path keeps it to the section's height. */
.d-psec--gray {
	background: #f8f8f8;
	box-shadow: 0 0 0 100vmax #f8f8f8;
	clip-path: inset(0 -100vmax);
}
.d-body > .d-psec:first-child {
	padding-top: 16px;
	scroll-margin-top: 0;
}
.d-body > .d-psec:last-child:not(.d-psec--gray) {
	padding-bottom: 0;
}
.d-psec__head {
	position: sticky;
	top: calc(var(--d-hd-h) + 32px);
}
.d-psec__no {
	display: block;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 96px;
	line-height: 1;
	color: var(--d-orange);
}
.d-body .d-psec__head h2 {
	margin: 12px 0 0;
	padding: 0;
	border: 0;
	font-size: 36px;
	line-height: 1.35;
	/* Break only between phrases, with the lines about the same length. */
	word-break: auto-phrase;
	text-wrap: balance;
}
/* The heading block's small English line under the h2 (傍楽について). */
.d-psec__sub {
	display: block;
	margin-top: 12px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.12em;
	color: var(--d-blue);
}
.d-psec__body > :first-child,
.d-psec__body > .emdash-html-block:first-child > :first-child {
	margin-top: 0;
}
/* The timeline as steps down the page: a numbered circle for each step,
   joined to the next by a dotted line, beside a white card with an orange
   edge pointing at its circle. */
.d-body .d-psec--steps .epb-timeline {
	--d-step-mark: 88px;
	--d-step-gap: 32px;
	margin: 0 0 1.5em;
	padding: 0;
	list-style: none;
	counter-reset: d-step;
}
.d-body .d-psec--steps .epb-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: var(--d-step-mark) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	column-gap: var(--d-step-gap);
	margin: 0 0 var(--d-step-gap);
	padding: 0;
	/* The card is drawn only past the circle's column. */
	background: linear-gradient(
		90deg,
		transparent calc(var(--d-step-mark) + var(--d-step-gap)),
		var(--d-orange) 0 calc(var(--d-step-mark) + var(--d-step-gap) + 4px),
		#fff 0
	);
	counter-increment: d-step;
}
.d-body .d-psec--steps .epb-timeline__item:last-child {
	margin-bottom: 0;
}
/* The dotted line down to the next step's circle. */
.d-psec--steps .epb-timeline__item:not(:last-child)::before {
	content: "";
	position: absolute;
	left: calc(var(--d-step-mark) / 2 - 1px);
	top: var(--d-step-mark);
	bottom: calc(var(--d-step-gap) * -1);
	width: 2px;
	background: repeating-linear-gradient(to bottom, var(--d-orange) 0 6px, transparent 6px 12px);
}
/* The card's point, level with the middle of the circle. */
.d-psec--steps .epb-timeline__item::after {
	content: "";
	position: absolute;
	left: calc(var(--d-step-mark) + var(--d-step-gap) - 16px);
	top: calc(var(--d-step-mark) / 2 - 8px);
	border: 8px solid transparent;
	border-right-color: var(--d-orange);
}
.d-body .d-psec--steps .epb-timeline__number {
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: var(--d-step-mark);
	height: var(--d-step-mark);
	border-radius: 50%;
	background: var(--d-orange) !important;
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	line-height: 1;
}
.d-psec--steps .epb-timeline__number::before {
	content: "STEP";
	font-size: 11px;
	letter-spacing: 0.14em;
}
.d-psec--steps .epb-timeline__number::after {
	content: counter(d-step, decimal-leading-zero);
	margin-top: 4px;
	font-size: 30px;
}
.d-body .d-psec--steps .epb-timeline__headline {
	grid-column: 2;
	padding: 28px 32px 8px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.4;
	word-break: auto-phrase;
	text-wrap: balance;
}
.d-body .d-psec--steps .epb-timeline__headline:last-child {
	padding-bottom: 28px;
}
.d-body .d-psec--steps .epb-timeline__body {
	grid-column: 2;
	padding: 0 32px 28px;
}
.d-psec--steps .epb-timeline__body p {
	margin: 0;
}
/* The price tables as wide boxes one under another, as in the design: the
   plan and its price on blue, what it includes on light blue beside. */
.d-body .d-psec--price .emdash-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}
.d-body .d-psec--price .emdash-column > .emdash-html-block {
	margin: 0;
}
.d-body .d-psec--price .epb-pricing-table {
	--d-price-head: 260px;
	display: grid;
	grid-template-columns: var(--d-price-head) minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	margin: 0;
	border: 0 !important;
	background: linear-gradient(90deg, #17489c var(--d-price-head), #e8eef8 0) !important;
}
.d-body .d-psec--price .epb-pricing-table__header {
	grid-column: 1;
	padding: 32px 32px 0;
	text-align: left;
}
.d-body .d-psec--price .epb-pricing-table__label {
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: none !important;
	color: #dce4f2 !important;
	font-size: 13px;
}
.d-body .d-psec--price .epb-pricing-table__title {
	padding: 8px 32px 16px !important;
	background: none !important;
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 32px;
	text-align: left;
}
.d-psec--price .epb-pricing-table__title span {
	color: #dce4f2 !important;
}
.d-psec--price .epb-pricing-table__title-wrapper {
	grid-column: 1;
}
.d-body .d-psec--price .epb-pricing-table__info {
	grid-column: 1;
	padding: 0 32px 32px !important;
	background: none !important;
	text-align: left;
}
.d-body .d-psec--price .epb-pricing-table__price {
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 40px !important;
	letter-spacing: 0.02em !important;
}
.d-body .d-psec--price .epb-pricing-table .epb-menu-list__tax {
	display: block;
	margin-top: 6px;
	color: #dce4f2 !important;
	font-size: 13px;
}
.d-body .d-psec--price .epb-pricing-table__content {
	grid-column: 2;
	grid-row: 1 / -1;
	align-self: center;
	padding: 32px 40px !important;
}
.d-body .d-psec--price .epb-pricing-table__content > * {
	margin: 16px 0 0;
}
.d-body .d-psec--price .epb-pricing-table__content > :first-child {
	margin-top: 0;
}
.d-body .d-psec--price .epb-pricing-table__content ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 10px 28px;
	padding: 0;
	list-style: none;
}
.d-body .d-psec--price .epb-pricing-table__content li {
	position: relative;
	margin: 0;
	padding-left: 24px;
	font-weight: 500;
	line-height: 1.6;
}
/* A check mark before each item. */
.d-psec--price .epb-pricing-table__content li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.45em;
	width: 11px;
	height: 6px;
	border-left: 3px solid #1d58bf;
	border-bottom: 3px solid #1d58bf;
	transform: rotate(-45deg);
}
.d-body .d-psec--price .epb-pricing-table__content p {
	font-size: 13px;
}
/* A comparison table: the row labels narrow, the plans' columns equal. */
.d-psec--price .wp-block-table table:has(thead th:first-child:empty) {
	table-layout: fixed;
}
.d-psec--price .wp-block-table thead th:first-child:empty {
	width: 22%;
}
@media (max-width: 959px) {
	.d-psec {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
	.d-psec__head {
		position: static;
	}
	/* A heading broken into lines (社員教育の／詳細資料／ダウンロード)
	   goes back to one line across the page, or breaks between them. */
	.d-psec__head h2.is-split br {
		display: none;
	}
	.d-psec__head h2.is-split span {
		display: inline-block;
	}
}
@media (max-width: 760px) {
	.d-psec {
		padding: 56px 0;
		scroll-margin-top: -40px;
	}
	.d-psec__no {
		font-size: 56px;
	}
	.d-body .d-psec__head h2 {
		font-size: 28px;
	}
	.d-body .d-psec--steps .epb-timeline {
		--d-step-mark: 56px;
		--d-step-gap: 20px;
	}
	.d-psec--steps .epb-timeline__number::before {
		font-size: 9px;
	}
	.d-psec--steps .epb-timeline__number::after {
		margin-top: 2px;
		font-size: 20px;
	}
	.d-body .d-psec--steps .epb-timeline__headline {
		padding: 18px 20px 6px;
		font-size: 18px;
	}
	.d-body .d-psec--steps .epb-timeline__headline:last-child {
		padding-bottom: 18px;
	}
	.d-body .d-psec--steps .epb-timeline__body {
		padding: 0 20px 18px;
	}
	/* The plan and its price above what it includes. */
	.d-body .d-psec--price .epb-pricing-table {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		background: #e8eef8 !important;
	}
	.d-body .d-psec--price .epb-pricing-table__header,
	.d-psec--price .epb-pricing-table__title-wrapper,
	.d-body .d-psec--price .epb-pricing-table__info {
		background: #17489c !important;
	}
	.d-body .d-psec--price .epb-pricing-table__header {
		padding: 24px 20px 0;
	}
	.d-body .d-psec--price .epb-pricing-table__title {
		padding: 6px 20px 12px !important;
		font-size: 26px;
	}
	.d-body .d-psec--price .epb-pricing-table__info {
		padding: 0 20px 24px !important;
	}
	.d-body .d-psec--price .epb-pricing-table__price {
		font-size: 32px !important;
	}
	.d-body .d-psec--price .epb-pricing-table__content {
		grid-column: 1;
		grid-row: auto;
		padding: 24px 20px !important;
	}
}
.d-page--services .d-body .has-text-align-center {
	text-align: left;
}
/* ---------- 社内AIコンシェルジュ: its sections' Emanon blocks laid out
   anew for 案D, which has no Emanon CSS. ---------- */
.d-svc--aiconcierge .d-psec__body figure {
	margin: 0;
}
.d-svc--aiconcierge .d-psec__body img {
	display: block;
	max-width: 100%;
	height: auto;
}
.d-svc--aiconcierge .epb-spacer {
	display: none;
}
.d-svc--aiconcierge .d-psec__body .has-text-align-center {
	text-align: left;
}
.d-svc--aiconcierge .epb-columns {
	margin: 0 0 1.5em;
}
.d-svc--aiconcierge .epb-columns:last-child {
	margin-bottom: 0;
}
.d-svc--aiconcierge .epb-columns__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
}
.d-svc--aiconcierge .epb-column__item > :first-child {
	margin-top: 0;
}
.d-svc--aiconcierge .epb-column__item > :last-child {
	margin-bottom: 0;
}
/* The worries as a checklist on light blue, the illustration small beside. */
.d-svc--aiconcierge .epb-columns:has(.is-style-item__alert) .epb-columns__inner {
	grid-template-columns: minmax(0, 1fr) 168px;
	gap: 32px;
	align-items: end;
}
.d-svc--aiconcierge .epb-columns:has(.is-style-item__alert) .epb-column:first-child {
	order: 1;
}
.d-body .d-svc--aiconcierge .is-style-item__alert,
.d-svc--aiconcierge .d-body .is-style-item__alert {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-svc--aiconcierge .is-style-item__alert li {
	position: relative;
	margin: 0;
	padding: 18px 24px 18px 64px;
	background: var(--d-pale);
	font-weight: 500;
	line-height: 1.7;
}
.d-svc--aiconcierge .is-style-item__alert li::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 50%;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	border-radius: 50%;
	background: var(--d-orange);
}
/* The check mark inside the circle. */
.d-svc--aiconcierge .is-style-item__alert li::after {
	content: "";
	position: absolute;
	left: 28px;
	top: 50%;
	width: 12px;
	height: 6px;
	margin-top: -5px;
	border-left: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(-45deg);
}
.d-svc--aiconcierge .is-style-item__alert strong {
	color: var(--d-blue);
}
/* What the service is: the text beside the screen photo, the key phrases
   marked. */
.d-svc--aiconcierge .epb-columns:has(.is-vertically-aligned-center) .epb-columns__inner {
	grid-template-columns: minmax(0, 1fr) 280px;
	align-items: center;
}
.d-svc--aiconcierge .epb-underline-red {
	background: linear-gradient(transparent 60%, rgba(233, 85, 19, 0.28) 0);
}
/* The merits and each plan's features as numbered cards, two to a row. */
.d-svc--aiconcierge .epb-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	counter-reset: d-card;
}
.d-svc--aiconcierge .epb-panel-icon {
	--d-card: var(--d-blue);
	position: relative;
	padding: 28px 28px 30px;
	border-left: 6px solid var(--d-card);
	background: var(--d-pale);
	counter-increment: d-card;
}
.d-svc--aiconcierge .d-psec--gray .epb-panel-icon {
	background: #fff;
	box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08);
}
.d-svc--aiconcierge .d-psec--plus .epb-panel-icon {
	--d-card: var(--d-orange);
}
/* The Emanon icons are not drawn under 案D (icons.css has few of them). */
.d-svc--aiconcierge .epb-panel-icon__inner--icon {
	display: none;
}
/* The card's number, large, over its title. */
.d-svc--aiconcierge .epb-panel-icon .epb-advanced-headling::before {
	content: counter(d-card, decimal-leading-zero);
	display: block;
	margin-bottom: 12px;
	color: var(--d-card);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 44px;
	line-height: 1;
	letter-spacing: 0.02em;
}
.d-body .d-svc--aiconcierge .epb-panel-icon h3,
.d-svc--aiconcierge .d-body .epb-panel-icon h3 {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--d-text);
	font-size: 21px;
	line-height: 1.45;
	text-align: left;
	word-break: auto-phrase;
	text-wrap: balance;
}
.d-svc--aiconcierge .epb-panel-icon h3::before,
.d-svc--aiconcierge .epb-panel-icon h3::after {
	content: none;
}
.d-svc--aiconcierge .epb-panel-icon p {
	margin: 0;
	font-size: 15px;
	line-height: 1.85;
}
/* The merits as blue blocks, their numbers in orange. */
.d-svc--aiconcierge .d-psec--merits .epb-panel-icon {
	--d-card: var(--d-orange);
	padding: 32px 30px 34px;
	border-left: 0;
	background: var(--d-blue);
	color: #fff;
}
.d-body .d-svc--aiconcierge .d-psec--merits .epb-panel-icon h3,
.d-svc--aiconcierge .d-body .d-psec--merits .epb-panel-icon h3 {
	color: #fff;
	font-size: 22px;
}
.d-svc--aiconcierge .d-psec--merits .epb-panel-icon p {
	color: rgba(255, 255, 255, 0.88);
}
.d-svc--aiconcierge .epb-grid + p {
	margin: 16px 0 0;
	color: var(--d-gray);
	font-size: 14px;
}
/* The featured image at the top of a section, wide and cut low. */
.d-svc--aiconcierge .d-psec__figure {
	margin: 0 0 28px;
}
.d-svc--aiconcierge .d-psec__figure img {
	width: 100%;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	object-position: 40% 40%;
}
/* The two plans' features: blue for the standard plan, orange for the
   plus plan, each feature with a check or a dash. */
.d-svc--aiconcierge .d-psec__body .wp-block-table {
	margin: 0;
}
.d-svc--aiconcierge .d-psec__body .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
}
.d-svc--aiconcierge .d-psec__body .wp-block-table th {
	padding: 18px 24px;
	border: 0;
	background: var(--d-blue);
	color: #fff;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	text-align: center;
}
.d-svc--aiconcierge .d-psec__body .wp-block-table th + th {
	background: var(--d-orange);
}
.d-svc--aiconcierge .d-psec__body .wp-block-table td {
	padding: 14px 24px;
	border: 0;
	border-bottom: 1px solid var(--d-line);
	background: #fff;
	font-weight: 500;
}
.d-svc--aiconcierge .d-psec__body .wp-block-table td + td {
	border-left: 1px solid var(--d-line);
}
.d-svc--aiconcierge .epb-table-icon-circle,
.d-svc--aiconcierge .epb-table-icon-close {
	position: relative;
	display: block;
	padding-left: 34px;
}
.d-svc--aiconcierge .epb-table-icon-circle::before,
.d-svc--aiconcierge .epb-table-icon-close::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	border-radius: 50%;
	background: var(--d-blue-l);
}
.d-svc--aiconcierge .epb-table-icon-circle::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 10px;
	height: 5px;
	margin-top: -4px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}
.d-svc--aiconcierge td + td .epb-table-icon-circle::before {
	background: var(--d-orange);
}
.d-svc--aiconcierge .epb-table-icon-close {
	color: #a3a9ae;
}
.d-svc--aiconcierge .epb-table-icon-close::before {
	background: var(--d-line);
}
.d-svc--aiconcierge .epb-table-icon-close::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 10px;
	height: 2px;
	margin-top: -1px;
	background: #fff;
}
/* How it is used: the text beside the phone screen. */
.d-svc--aiconcierge .epb-columns:has(.is-style-image__shadow--rounded) .epb-columns__inner {
	grid-template-columns: minmax(0, 1fr) 240px;
	gap: 48px;
	align-items: start;
}
.d-svc--aiconcierge .is-style-image__shadow--rounded img {
	border-radius: 24px;
	box-shadow: 0 8px 24px rgba(13, 42, 92, 0.18);
}
/* The price cards side by side; the plus plan, the recommended one, in
   orange with its badge. */
.d-svc--aiconcierge .epb-columns:has(.epb-panel-pricing) .epb-columns__inner {
	gap: 24px;
}
.d-svc--aiconcierge .epb-columns:has(.epb-panel-pricing) .epb-column__item {
	height: 100%;
}
.d-svc--aiconcierge .epb-panel-pricing {
	--d-plan: var(--d-blue);
	position: relative;
	height: 100%;
	padding: 36px 32px 32px;
	border-top: 6px solid var(--d-plan);
	background: #fff;
	box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08);
}
/* Emanon's shadow marks the recommended plan. */
.d-svc--aiconcierge .epb-has-panel-pricing-shadow {
	--d-plan: var(--d-orange);
}
.d-svc--aiconcierge .epb-panel-pricing__label {
	display: none;
}
.d-svc--aiconcierge .epb-has-panel-pricing-shadow .epb-panel-pricing__label {
	display: block;
	position: absolute;
	top: -6px;
	right: 24px;
	padding: 4px 14px 5px;
	background: var(--d-plan);
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.5;
	transform: translateY(-50%);
}
.d-body .d-svc--aiconcierge .epb-panel-pricing h3,
.d-svc--aiconcierge .d-body .epb-panel-pricing h3 {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}
.d-svc--aiconcierge .epb-panel-pricing h3::before,
.d-svc--aiconcierge .epb-panel-pricing h3::after {
	content: none;
}
/* The plan's name, then who it is for. */
.d-body .d-svc--aiconcierge .epb-panel-pricing__label + .epb-advanced-headling h3,
.d-svc--aiconcierge .d-body .epb-panel-pricing__label + .epb-advanced-headling h3 {
	color: var(--d-plan);
	font-size: 30px;
	line-height: 1.3;
}
.d-svc--aiconcierge .epb-panel-pricing__label + .epb-advanced-headling + p {
	margin: 8px 0 0;
	color: var(--d-gray);
	font-size: 14px;
	line-height: 1.7;
}
.d-svc--aiconcierge .epb-panel-pricing hr {
	width: 100%;
	margin: 22px 0;
	border: 0;
	border-top: 1px solid var(--d-line);
}
.d-svc--aiconcierge .epb-price-charge + .epb-price-charge {
	margin-top: 10px;
}
/* Who the price is for over the price, its unit right after it. */
.d-svc--aiconcierge .epb-price-charge__left {
	display: block;
	color: var(--d-gray);
	font-size: 14px;
}
.d-svc--aiconcierge .epb-price-charge__centre {
	display: inline;
	margin-right: 6px;
	color: var(--d-text);
	font-family: var(--d-zen) !important;
	font-weight: 900;
	font-size: 34px;
	line-height: 1.2;
}
.d-svc--aiconcierge .epb-price-charge__right {
	display: inline;
	font-size: 13px;
	white-space: nowrap;
}
/* 利用人数 as a small label over its figure. */
.d-body .d-svc--aiconcierge .epb-panel-pricing hr + .epb-advanced-headling h3,
.d-svc--aiconcierge .d-body .epb-panel-pricing hr + .epb-advanced-headling h3 {
	color: var(--d-gray);
	font-family: inherit;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.6;
}
.d-svc--aiconcierge .epb-panel-pricing hr + .epb-advanced-headling + p {
	margin: 4px 0 0;
	font-weight: 700;
	line-height: 1.7;
}
.d-body .d-svc--aiconcierge .epb-panel-pricing ul,
.d-svc--aiconcierge .d-body .epb-panel-pricing ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-svc--aiconcierge .epb-panel-pricing li {
	position: relative;
	margin: 0;
	padding: 10px 0 10px 30px;
	border-bottom: 1px dashed var(--d-line-2);
	font-weight: 500;
	line-height: 1.6;
}
.d-svc--aiconcierge .epb-panel-pricing li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.d-svc--aiconcierge .epb-panel-pricing li::before {
	content: "";
	position: absolute;
	left: 3px;
	top: calc(10px + 0.5em);
	width: 12px;
	height: 6px;
	border-left: 3px solid var(--d-plan);
	border-bottom: 3px solid var(--d-plan);
	transform: rotate(-45deg);
}
/* The notes as a list ruled off with dashes, an orange arrow before each. */
.d-body .d-svc--aiconcierge .is-style-item__arrow,
.d-svc--aiconcierge .d-body .is-style-item__arrow {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--d-line-2);
	list-style: none;
}
.d-svc--aiconcierge .is-style-item__arrow li {
	position: relative;
	margin: 0;
	padding: 20px 0 20px 32px;
	border-bottom: 1px dashed var(--d-line-2);
	line-height: 1.85;
}
.d-svc--aiconcierge .is-style-item__arrow li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: calc(20px + 0.925em - 5px);
	width: 9px;
	height: 9px;
	border-top: 3px solid var(--d-orange);
	border-right: 3px solid var(--d-orange);
	transform: rotate(45deg);
}
/* The closing call to contact: its line over a red button, on light blue. */
.d-svc--aiconcierge .epb-advanced-buttons {
	margin-top: 48px;
	padding: 40px 32px;
	background: var(--d-pale);
	text-align: center;
}
.d-svc--aiconcierge .epb-advanced-button__microcopy-top {
	margin-bottom: 20px;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.6;
}
.d-svc--aiconcierge .epb-advanced-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 320px;
	padding: 20px 40px;
	background: var(--d-red);
	color: #fff !important;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.4;
	text-decoration: none;
}
.d-svc--aiconcierge .epb-advanced-button:hover {
	filter: brightness(1.1);
}
/* Its text carries an Emanon icon class, which icons.css would draw as a
   1em square: the text as it is, with a chevron after it. */
.d-design.d-design .d-svc--aiconcierge .epb-advanced-button__text {
	display: inline;
	width: auto;
	height: auto;
	background: none;
	-webkit-mask: none;
	mask: none;
}
.d-svc--aiconcierge .epb-advanced-button::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}
@media (max-width: 760px) {
	.d-svc--aiconcierge .epb-columns__inner,
	.d-svc--aiconcierge .epb-columns:has(.is-style-item__alert) .epb-columns__inner,
	.d-svc--aiconcierge .epb-columns:has(.is-vertically-aligned-center) .epb-columns__inner,
	.d-svc--aiconcierge .epb-columns:has(.is-style-image__shadow--rounded) .epb-columns__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	/* The illustration small over the worries. */
	.d-svc--aiconcierge .epb-columns:has(.is-style-item__alert) .epb-column:first-child {
		order: 0;
		width: 140px;
		justify-self: center;
	}
	.d-svc--aiconcierge .is-style-item__alert li {
		padding: 16px 16px 16px 56px;
	}
	.d-svc--aiconcierge .is-style-item__alert li::before {
		left: 16px;
	}
	.d-svc--aiconcierge .is-style-item__alert li::after {
		left: 24px;
	}
	.d-svc--aiconcierge .epb-columns:has(.is-style-image__shadow--rounded) .epb-column:last-child {
		width: 220px;
		justify-self: center;
	}
	.d-svc--aiconcierge .epb-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.d-svc--aiconcierge .epb-panel-icon,
	.d-svc--aiconcierge .d-psec--merits .epb-panel-icon {
		padding: 24px 20px 26px;
	}
	.d-svc--aiconcierge .d-psec__figure img {
		aspect-ratio: 16 / 9;
	}
	.d-svc--aiconcierge .d-psec__body .wp-block-table th {
		padding: 14px 12px;
		font-size: 18px;
	}
	.d-svc--aiconcierge .d-psec__body .wp-block-table td {
		padding: 12px;
		font-size: 15px;
	}
	.d-svc--aiconcierge .epb-table-icon-circle,
	.d-svc--aiconcierge .epb-table-icon-close {
		padding-left: 30px;
	}
	.d-svc--aiconcierge .epb-panel-pricing {
		padding: 32px 20px 24px;
	}
	.d-svc--aiconcierge .epb-advanced-buttons {
		margin-top: 40px;
		padding: 32px 20px;
	}
	.d-svc--aiconcierge .epb-advanced-button__microcopy-top {
		font-size: 16px;
	}
	.d-svc--aiconcierge .epb-advanced-button {
		min-width: 0;
		width: 100%;
		padding: 18px 20px;
	}
}
/* 傍楽式人事制度: the six worries as cards two by two, the effects as rows
   with a round icon, and the menus and the case studies across the whole
   width (the heading over the section) so their items keep to one line. */
.d-svc--hatarakushikijinjiseido .d-psec--worries .d-psec__body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	counter-reset: d-worry;
}
.d-svc--hatarakushikijinjiseido .d-psec--worries .emdash-html-block {
	margin: 0;
}
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 0 !important;
	border: 1px solid #dde3ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	overflow: hidden;
	counter-increment: d-worry;
}
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__background,
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__media--background {
	display: none;
}
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__media,
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__media--inner,
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__content,
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__content--inner {
	position: static;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	transform: none;
}
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 0;
	opacity: 1;
}
.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__content--inner {
	padding: 20px 24px 24px;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--worries h3 {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	font-size: 19px;
	line-height: 1.5;
	color: var(--d-blue);
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--worries h3::before {
	content: "お悩み " counter(d-worry, decimal-leading-zero);
	display: block;
	margin-bottom: 4px;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--d-orange);
}
.d-svc--hatarakushikijinjiseido .d-psec--worries p {
	margin: 0 0 0.5em;
	font-size: 14.5px;
	line-height: 1.8;
	color: #555;
}
.d-svc--hatarakushikijinjiseido .d-psec--worries p:last-child {
	margin-bottom: 0;
}
/* Two icons the effects use that icons.css does not draw, in its style
   (24px grid, 2px round strokes). Move them to its generator when found. */
.d-design .icon-trending-up {
	--d-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2017l6-6%204%204%208-8M14%207h7v7%22%2F%3E%3C%2Fsvg%3E");
}
.d-design .icon-comment {
	--d-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2011.5a8.5%208.5%200%200%201-12.3%207.6L3%2021l1.9-5.7A8.5%208.5%200%201%201%2021%2011.5z%22%2F%3E%3Cpath%20d%3D%22M8%2011.5h.01M12%2011.5h.01M16%2011.5h.01%22%2F%3E%3C%2Fsvg%3E");
}
/* The effects: a white row each with its icon in a deep blue circle. */
.d-svc--hatarakushikijinjiseido .d-psec--effects .u-row {
	display: grid;
	gap: 16px;
	margin: 0;
}
.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 24px 28px;
	border: 0 !important;
	border-left: 4px solid var(--d-orange) !important;
	border-radius: 0 8px 8px 0;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-icon {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0;
	border-radius: 50%;
	background: var(--d-blue);
}
.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-icon i {
	width: 34px;
	height: 34px;
	font-size: 34px;
	color: #fff !important;
	background-color: #fff;
}
.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-title {
	margin: 0 0 6px;
	font-family: var(--d-zen);
	font-weight: 900 !important;
	font-size: 20px;
	line-height: 1.5;
	color: var(--d-blue);
}
.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-description {
	margin: 0;
	font-size: 15px;
	line-height: 1.8;
}
/* Each menu: its name over its summary, then a box with the price on top
   and what it includes as rows of label and text. */
.d-svc--hatarakushikijinjiseido .d-psec--menu .d-psec__body {
	counter-reset: d-menu;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu h3 {
	margin: 56px 0 12px;
	padding: 0;
	border: 0;
	font-size: 26px;
	line-height: 1.3;
	color: var(--d-blue);
	counter-increment: d-menu;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu .d-psec__body > h3:first-of-type {
	margin-top: 32px;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu h3::before {
	content: "MENU " counter(d-menu, decimal-leading-zero);
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	letter-spacing: 0.12em;
	color: var(--d-orange);
}
.d-svc--hatarakushikijinjiseido .d-psec--menu h3 + p {
	margin: 0 0 20px;
	font-size: 15.5px;
	line-height: 1.9;
}
.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box {
	margin: 0;
	border: 1px solid #dde3ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__headline {
	padding: 16px 28px;
	background: var(--d-blue) !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	letter-spacing: 0.02em;
}
.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__body {
	padding: 20px 28px 12px;
}
/* The standard term as a small label above the rows. */
.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__body > p {
	display: inline-block;
	margin: 0 0 8px;
	padding: 4px 14px;
	border-radius: 999px;
	background: var(--d-pale);
	font-size: 14px;
	color: var(--d-blue);
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu .epb-box__body ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu .epb-box__body li {
	display: grid;
	grid-template-columns: 7em minmax(0, 1fr);
	gap: 14px;
	margin: 0;
	padding: 14px 0;
	border: 0;
	border-bottom: 1px solid #e6eaf0;
	font-size: 14.5px;
	line-height: 1.7;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu .epb-box__body li:last-child {
	border-bottom: 0;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu .epb-box__body li::before,
.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu .epb-box__body li::after {
	content: none;
}
.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__body li strong {
	color: var(--d-blue);
}
/* The labels' colon (HtmlBlock.astro wraps it) is not needed beside the text. */
.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__body li .d-colon {
	display: none;
}
.d-svc--hatarakushikijinjiseido .d-psec--menu .d-psec__body > p:not(h3 + p) {
	margin: 0 0 1em;
}
.d-svc--hatarakushikijinjiseido .d-psec--menu .d-psec__body > .emdash-html-block + p {
	margin-top: 32px;
}
/* The case studies one under another: the business and size as the card's
   title under a case number, the reason in a pale box, then each change with
   a check. From 960px the title and the reason sit left of the changes. */
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-columns__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	counter-reset: d-case;
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-column,
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-column__item {
	width: auto;
	max-width: none;
	height: 100%;
	margin: 0;
	padding: 0;
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box {
	height: 100%;
	margin: 0;
	border: 0;
	border-top: 4px solid var(--d-blue);
	border-radius: 0 0 8px 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.08);
	counter-increment: d-case;
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__headline {
	display: block;
	padding: 24px 28px 0;
	background: none !important;
	color: var(--d-blue) !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.4;
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__headline::before {
	content: "CASE " counter(d-case, decimal-leading-zero);
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	letter-spacing: 0.12em;
	color: var(--d-orange);
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__body {
	padding: 16px 28px 28px;
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__body > p {
	margin: 0 0 16px;
	padding: 14px 18px;
	border-radius: 6px;
	background: var(--d-pale);
	font-size: 14.5px;
	line-height: 1.8;
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__body > p strong {
	display: block;
	font-size: 13px;
	color: var(--d-blue);
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--cases .epb-box__body ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--cases .epb-box__body li {
	position: relative;
	margin: 0;
	padding: 12px 0 12px 30px;
	border: 0;
	border-bottom: 1px dashed #d5dbe4;
	font-size: 14.5px;
	line-height: 1.8;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--cases .epb-box__body li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--cases .epb-box__body li::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 2px;
	width: 14px;
	height: 8px;
	border-left: 3px solid var(--d-orange);
	border-bottom: 3px solid var(--d-orange);
	background: none;
	transform: rotate(-45deg);
}
.d-svc--hatarakushikijinjiseido .d-body .d-psec--cases .epb-box__body li::after {
	content: none;
}
.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__body li strong {
	display: block;
	color: var(--d-blue);
}
@media (min-width: 960px) {
	.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box {
		display: grid;
		grid-template-columns: 232px minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		column-gap: 28px;
		padding: 28px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__body {
		display: contents;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__headline {
		grid-column: 1;
		grid-row: 1;
		padding: 0;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__body > p {
		grid-column: 1;
		grid-row: 2;
		align-self: start;
		margin-top: 14px;
	}
	.d-svc--hatarakushikijinjiseido .d-body .d-psec--cases .epb-box__body ul {
		grid-column: 2;
		grid-row: 1 / span 2;
		margin: 0;
	}
}
@media (max-width: 760px) {
	/* The worries one under another, each photo small beside its heading. */
	.d-svc--hatarakushikijinjiseido .d-psec--worries .d-psec__body {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid {
		display: grid;
		grid-template-columns: 88px minmax(0, 1fr);
		column-gap: 14px;
		padding: 18px !important;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__content,
	.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__content--inner {
		display: contents;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__media {
		grid-column: 1;
		grid-row: 1;
		align-self: center;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--worries .epb-broken-grid__media img {
		aspect-ratio: 1;
		border-radius: 6px;
	}
	.d-svc--hatarakushikijinjiseido .d-body .d-psec--worries h3 {
		grid-column: 2;
		grid-row: 1;
		align-self: center;
		margin: 0;
		font-size: 17px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--worries p {
		grid-column: 1 / -1;
		font-size: 14px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--worries h3 + p {
		margin-top: 14px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item {
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 16px;
		align-items: start;
		padding: 20px 18px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-icon {
		width: 56px;
		height: 56px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-icon i {
		width: 26px;
		height: 26px;
		font-size: 26px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-title {
		font-size: 18px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--effects .link-box__item-description {
		font-size: 14px;
	}
	.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu h3 {
		margin-top: 40px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--menu h3 + p {
		margin-bottom: 16px;
		font-size: 15px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__headline {
		padding: 14px 18px;
		font-size: 18px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__body {
		padding: 16px 18px 8px;
	}
	.d-svc--hatarakushikijinjiseido .d-body .d-psec--menu .epb-box__body li {
		display: block;
		padding: 12px 0;
		font-size: 14.5px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--menu .epb-box__body li strong {
		display: block;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-columns__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__headline {
		padding: 20px 20px 0;
		font-size: 19px;
	}
	.d-svc--hatarakushikijinjiseido .d-psec--cases .epb-box__body {
		padding: 14px 20px 22px;
	}
}
/* On a white section the steps' cards are pale blue, to stand off the page. */
.d-body .d-psec--steps:not(.d-psec--gray) .epb-timeline__item {
	background: linear-gradient(
		90deg,
		transparent calc(var(--d-step-mark) + var(--d-step-gap)),
		var(--d-orange) 0 calc(var(--d-step-mark) + var(--d-step-gap) + 4px),
		var(--d-pale) 0
	);
}
/* A column the section links to, as a large card: its photo, and the title
   on deep blue with a COLUMN label and a "read" arrow. */
.d-body a.d-colcard {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	margin: 28px 0 0;
	border-radius: 8px;
	overflow: hidden;
	background: var(--d-blue);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(13, 42, 92, 0.14);
	transition: box-shadow 0.2s;
}
.d-body a.d-colcard:hover {
	box-shadow: 0 12px 32px rgba(13, 42, 92, 0.24);
}
.d-colcard__img {
	display: block;
	overflow: hidden;
}
.d-colcard__img img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 0.4s;
}
.d-colcard:hover .d-colcard__img img {
	transform: scale(1.05);
}
.d-colcard__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	padding: 24px 32px;
}
.d-colcard__lab {
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--d-orange);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.4;
}
.d-colcard__title {
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.45;
	word-break: auto-phrase;
	text-wrap: balance;
}
.d-colcard__more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	color: var(--d-pale-3);
	font-size: 14px;
	font-weight: 700;
}
.d-colcard__more::after {
	content: "→";
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 14px;
	transition: transform 0.2s;
}
.d-colcard:hover .d-colcard__more::after {
	transform: translateX(4px);
}
/* 理念・ミッション・クレド: the employees' voices as speech bubbles, two
   abreast, in pale blue and pale orange with a large opening quote. The
   box's headline repeats the section heading, so it goes. */
.d-svc--mission .d-psec--voices .epb-box {
	margin: 0;
	border: 0;
	border-radius: 0;
	overflow: visible;
	background: none;
	box-shadow: none;
}
.d-svc--mission .d-psec--voices .epb-box__headline {
	display: none;
}
.d-svc--mission .d-psec--voices .epb-box__body {
	padding: 0;
	background: none;
}
.d-svc--mission .d-body .d-psec--voices .epb-box__body ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-svc--mission .d-body .d-psec--voices .epb-box__body li {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 112px;
	margin: 0 0 14px;
	padding: 28px 28px 24px 76px;
	border: 0;
	border-radius: 18px;
	background: var(--d-pale);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.7;
	word-break: auto-phrase;
}
.d-svc--mission .d-body .d-psec--voices .epb-box__body li:nth-child(4n + 2),
.d-svc--mission .d-body .d-psec--voices .epb-box__body li:nth-child(4n + 3) {
	background: #fdeee6;
}
/* The opening quote, large at the top left. */
.d-svc--mission .d-body .d-psec--voices .epb-box__body li::before {
	content: "“";
	position: absolute;
	top: 14px;
	left: 20px;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	background: none;
	-webkit-mask: none;
	mask: none;
	color: var(--d-blue-l);
	font-family: Georgia, serif;
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	transform: none;
}
.d-svc--mission .d-body .d-psec--voices .epb-box__body li:nth-child(4n + 2)::before,
.d-svc--mission .d-body .d-psec--voices .epb-box__body li:nth-child(4n + 3)::before {
	color: var(--d-orange);
}
/* The bubble's tail, at the bottom left. */
.d-svc--mission .d-body .d-psec--voices .epb-box__body li::after {
	content: "";
	position: absolute;
	top: auto;
	right: auto;
	bottom: -14px;
	left: 40px;
	width: 0;
	height: 0;
	margin: 0;
	border: 0;
	border-top: 16px solid var(--d-pale);
	border-right: 16px solid transparent;
	background: none;
	-webkit-mask: none;
	mask: none;
	transform: none;
}
.d-svc--mission .d-body .d-psec--voices .epb-box__body li:nth-child(4n + 2)::after,
.d-svc--mission .d-body .d-psec--voices .epb-box__body li:nth-child(4n + 3)::after {
	border-top-color: #fdeee6;
}
@media (max-width: 600px) {
	.d-body a.d-colcard {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-colcard__img img {
		aspect-ratio: 16 / 9;
	}
	.d-colcard__body {
		padding: 20px 22px 22px;
	}
	.d-colcard__title {
		font-size: 19px;
	}
	.d-svc--mission .d-body .d-psec--voices .epb-box__body ul {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
	.d-svc--mission .d-body .d-psec--voices .epb-box__body li {
		min-height: 0;
		padding: 22px 20px 20px 64px;
		font-size: 16px;
	}
	.d-svc--mission .d-body .d-psec--voices .epb-box__body li::before {
		top: 10px;
		left: 16px;
		font-size: 54px;
	}
}
/* 理念・ミッション・クレド作成支援 02-05 (MissionStoryD): one story told in
   four shapes. Cards are white on the gray sections, pale on the white. */
.d-svc--mission .d-body .d-story p {
	margin: 0 0 1em;
	word-break: auto-phrase;
}
.d-svc--mission .d-body .d-story > :last-child {
	margin-bottom: 0;
}
.d-svc--mission .d-body .d-story__q,
.d-svc--mission .d-body .d-story__lead {
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.6;
	color: var(--d-blue);
	word-break: auto-phrase;
}
/* The conclusion, led by a right-pointing triangle (a line on the left
   would read as a heading). */
.d-svc--mission .d-body .d-story__conc {
	position: relative;
	margin: 28px 0 1em;
	padding-left: 26px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 20px;
	line-height: 1.6;
	color: var(--d-blue);
	word-break: auto-phrase;
}
.d-svc--mission .d-body .d-story__conc::before {
	content: "";
	position: absolute;
	top: 0.5em;
	left: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 14px solid var(--d-orange);
}
/* 02: the definition as a dictionary entry. */
.d-svc--mission .d-body .d-dict {
	margin: 28px 0;
	padding: 26px 32px 22px;
	border-left: 6px solid var(--d-blue);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(23, 72, 156, 0.08);
}
.d-svc--mission .d-body .d-dict .d-dict__word {
	margin: 0 0 14px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 36px;
	line-height: 1.2;
	color: var(--d-blue);
}
.d-svc--mission .d-body .d-dict__read {
	margin-left: 14px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--d-gray);
}
.d-svc--mission .d-body .d-dict__read::before {
	content: "【";
}
.d-svc--mission .d-body .d-dict__read::after {
	content: "】";
}
.d-svc--mission .d-body .d-dict .d-dict__def {
	margin: 0 0 12px;
	padding-top: 14px;
	border-top: 1px solid var(--d-line);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.6;
	word-break: auto-phrase;
}
/* The part of speech, as a dictionary marks it. */
.d-svc--mission .d-body .d-dict__def::before {
	content: "名";
	display: inline-block;
	margin-right: 12px;
	padding: 0 6px;
	border: 1px solid currentColor;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.6;
	vertical-align: 3px;
}
.d-svc--mission .d-body .d-dict .d-dict__src {
	margin: 0;
	text-align: right;
	font-size: 14px;
	color: var(--d-gray);
}
.d-svc--mission .d-body .d-dict__src::before {
	content: "── ";
}
/* 03: the pen and the organisation side by side. */
.d-svc--mission .d-body .d-pen {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 16px;
	margin: 24px 0 8px;
}
.d-svc--mission .d-body .d-pen__card {
	display: flex;
	flex-direction: column;
	padding: 22px 24px;
	border-radius: 8px;
	background: var(--d-pale);
}
.d-svc--mission .d-body .d-pen .d-pen__lead {
	margin: 0 0 10px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 20px;
	color: var(--d-blue);
}
.d-svc--mission .d-body .d-pen .d-pen__text {
	flex: 1;
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.8;
}
.d-svc--mission .d-body .d-pen__end {
	align-self: flex-end;
	padding: 3px 16px;
	border-radius: 999px;
	background: var(--d-gray);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 15px;
	color: #fff;
}
.d-svc--mission .d-body .d-pen__card.is-org .d-pen__end {
	background: var(--d-red);
}
.d-svc--mission .d-body .d-pen__eq {
	display: grid;
	place-items: center;
	align-self: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	color: #fff;
}
/* 04: the two wishes as speech bubbles, the two effects as cards. */
.d-svc--mission .d-body .d-flag {
	margin: 28px 0 0;
	text-align: center;
}
.d-svc--mission .d-body .d-flag .d-flag__who {
	margin: 0 0 22px;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 18px;
	color: var(--d-text);
}
.d-svc--mission .d-body .d-flag__people {
	display: block;
	width: 96px;
	height: 56px;
	margin: 0 auto 8px;
}
.d-svc--mission .d-body .d-flag__voices {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 24px;
}
.d-svc--mission .d-body .d-flag .d-flag__bubble {
	position: relative;
	margin: 0;
	padding: 14px 30px;
	border: 2px solid var(--d-blue);
	border-radius: 999px;
	background: #fff;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 20px;
	color: var(--d-blue);
}
/* The tail points up to the people above. */
.d-svc--mission .d-body .d-flag__bubble::after {
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	width: 16px;
	height: 16px;
	border-top: 2px solid var(--d-blue);
	border-left: 2px solid var(--d-blue);
	background: #fff;
	transform: translateX(-50%) rotate(45deg);
}
.d-svc--mission .d-body .d-flag .d-flag__bubble:nth-child(2) {
	border-color: var(--d-orange);
	color: var(--d-orange);
}
.d-svc--mission .d-body .d-flag__bubble:nth-child(2)::after {
	border-color: var(--d-orange);
}
.d-svc--mission .d-body .d-flag__effects {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 32px;
}
.d-svc--mission .d-body .d-flag__effect {
	padding: 18px 22px 20px;
	border-top: 4px solid var(--d-blue);
	border-radius: 8px;
	background: #fff;
}
.d-svc--mission .d-body .d-flag__no {
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 15px;
	letter-spacing: 0.08em;
	color: var(--d-orange);
}
.d-svc--mission .d-body .d-flag__effect p {
	margin: 6px 0 0;
	font-size: 17px;
	line-height: 1.8;
	word-break: auto-phrase;
}
.d-svc--mission .d-body .d-flag__effect strong {
	background: linear-gradient(transparent 60%, var(--d-pale-3) 60%);
	color: var(--d-blue);
}
/* 05: personal values every way, then the organisation's values one way. */
.d-svc--mission .d-body .d-credo__box {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	align-items: center;
	gap: 28px;
	padding: 24px 28px;
	border-radius: 8px;
	background: var(--d-pale);
}
.d-svc--mission .d-body .d-credo__box.is-after {
	background: var(--d-blue);
	color: #fff;
}
.d-svc--mission .d-body .d-credo__fig {
	display: block;
	width: 150px;
	height: 100px;
}
.d-svc--mission .d-body .d-credo__box p {
	margin: 0 0 0.6em;
	font-size: 17px;
	line-height: 1.8;
}
.d-svc--mission .d-body .d-credo__box p:last-child {
	margin-bottom: 0;
}
.d-svc--mission .d-body .d-credo__box.is-after p {
	color: #fff;
}
.d-svc--mission .d-body .d-credo__box .d-credo__lab {
	margin-bottom: 8px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 21px;
	color: var(--d-blue);
}
.d-svc--mission .d-body .d-credo__box.is-after .d-credo__lab {
	color: #fff;
}
.d-svc--mission .d-body .d-credo__down {
	display: block;
	width: 0;
	margin: 14px auto;
	border-top: 20px solid var(--d-orange);
	border-right: 22px solid transparent;
	border-left: 22px solid transparent;
}
@media (max-width: 600px) {
	.d-svc--mission .d-body .d-story__q,
	.d-svc--mission .d-body .d-story__lead {
		font-size: 19px;
	}
	.d-svc--mission .d-body .d-story__conc {
		font-size: 18px;
	}
	.d-svc--mission .d-body .d-dict {
		padding: 22px 20px 18px;
	}
	.d-svc--mission .d-body .d-dict .d-dict__word {
		font-size: 30px;
	}
	.d-svc--mission .d-body .d-dict .d-dict__def {
		font-size: 19px;
	}
	.d-svc--mission .d-body .d-pen {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.d-svc--mission .d-body .d-pen__eq {
		justify-self: center;
		width: 38px;
		height: 38px;
		font-size: 19px;
	}
	.d-svc--mission .d-body .d-flag__voices {
		row-gap: 24px;
	}
	.d-svc--mission .d-body .d-flag .d-flag__bubble {
		padding: 12px 24px;
		font-size: 18px;
	}
	.d-svc--mission .d-body .d-flag__effects {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.d-svc--mission .d-body .d-credo__box {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
		padding: 20px;
	}
	.d-svc--mission .d-body .d-credo__fig {
		width: 120px;
		height: 80px;
		margin: 0 auto;
	}
}
/* 社員教育: 01 the three worries as cards, each with a worried face and the
   training it leads to; 02 the three steps as stairs going up; 05 the flow
   as arrows across and its outline as cards; 07 the fees as rows of cards. */
.d-svc--employee-education .d-body .d-psec--worries .epb-box {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}
.d-svc--employee-education .d-body .d-psec--worries .epb-box__headline {
	margin: 0 0 16px;
	padding: 0;
	background: none !important;
	color: var(--d-blue) !important;
	font-size: 15px;
	letter-spacing: 0.08em;
}
.d-svc--employee-education .d-body .d-psec--worries .epb-box__headline::before {
	display: none;
}
.d-svc--employee-education .d-body .d-psec--worries .epb-box__body {
	padding: 0;
}
.d-svc--employee-education .d-body .d-psec--worries .epb-box__body ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* Each card's face, worry, arrow and button on rows shared by the three
   cards, so the buttons line up at the same height. */
.d-svc--employee-education .d-body .d-psec--worries .epb-box__body li {
	display: grid;
	grid-row: span 4;
	grid-template-rows: subgrid;
	justify-items: center;
	margin: 0;
	padding: 24px 20px 0;
	row-gap: 14px;
	border: 1px solid #dde3ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.7;
	text-align: center;
	word-break: auto-phrase;
	overflow: hidden;
}
/* A worried face with a drop of sweat, drawn by hand. */
.d-svc--employee-education .d-body .d-psec--worries .epb-box__body li::before {
	content: "";
	position: static;
	flex: none;
	width: 64px;
	height: 64px;
	margin: 0;
	border: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='30' cy='34' r='22' fill='%23eef2f9' stroke='%2317489c' stroke-width='2.5'/%3E%3Cpath d='M18 28l8-4M42 28l-8-4' stroke='%2317489c' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='23' cy='34' r='2.4' fill='%2317489c'/%3E%3Ccircle cx='37' cy='34' r='2.4' fill='%2317489c'/%3E%3Cpath d='M21 46q4.5-4 9 0t9 0' fill='none' stroke='%2317489c' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M53 10c3 5 5 8 5 11a5 5 0 0 1-10 0c0-3 2-6 5-11z' fill='%23a9bde0'/%3E%3C/svg%3E")
		center / contain no-repeat;
	transform: none;
}
.d-svc--employee-education .d-psec--worries .epb-box__body li br {
	display: none;
}
/* From the worry down to its training. */
.d-svc--employee-education .d-psec--worries .d-to {
	flex: none;
	width: 0;
	height: 0;
	margin: 0;
	align-self: end;
	border-top: 14px solid var(--d-orange);
	border-right: 16px solid transparent;
	border-left: 16px solid transparent;
	background-clip: content-box;
	font-size: 0;
}
.d-svc--employee-education .d-body .d-psec--worries .epb-box__body li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	justify-self: stretch;
	margin: 0 -20px;
	position: relative;
	padding: 14px 36px 16px;
	background: var(--d-blue);
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	text-decoration: none;
	transition: background-color 0.2s;
}
.d-svc--employee-education .d-body .d-psec--worries .epb-box__body li a:hover {
	background: var(--d-blue-l);
}
.d-svc--employee-education .d-psec--worries .epb-box__body li a::before {
	content: "おすすめの研修";
	display: block;
	margin-bottom: 2px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.12em;
	opacity: 0.8;
}
.d-svc--employee-education .d-psec--worries .epb-box__body li a::after {
	content: "→";
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
/* 02: the three steps as stairs, each higher than the one before, with its
   text above it. */
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: end;
	gap: 0 12px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: d-stair;
}
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	counter-increment: d-stair;
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__item::before,
.d-svc--employee-education .d-psec--stairs .epb-timeline__item::after {
	content: none;
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__item:nth-child(1) {
	--d-stair: var(--d-orange);
	--d-stair-h: 24px;
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__item:nth-child(2) {
	--d-stair: var(--d-red);
	--d-stair-h: 84px;
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__item:nth-child(3) {
	--d-stair: var(--d-blue);
	--d-stair-h: 144px;
}
/* The step's text on a white card pointing down at its stair, its first
   line as the lead. */
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__body {
	order: 1;
	position: relative;
	margin: 0 0 22px;
	padding: 20px 22px;
	border: 1px solid #dde3ec;
	border-top: 4px solid var(--d-stair);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__body::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 32px;
	border-top: 12px solid #fff;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	filter: drop-shadow(0 1px 0 #dde3ec);
}
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__body p {
	margin: 0 0 0.6em;
	font-size: 15.5px;
	line-height: 1.85;
	word-break: auto-phrase;
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__body br {
	display: none;
}
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__body p:first-child {
	margin-bottom: 0.8em;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.6;
}
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__body p:last-child {
	margin-bottom: 0;
}
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__number {
	order: 2;
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 18px 20px 0;
	border-radius: 8px 8px 0 0;
	background: var(--d-stair) !important;
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-align: left;
	transform: none;
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__number::before {
	content: "STEP " counter(d-stair, decimal-leading-zero);
	position: static;
}
.d-svc--employee-education .d-psec--stairs .epb-timeline__number::after {
	content: none;
}
.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__headline {
	order: 3;
	min-height: var(--d-stair-h);
	margin: 0;
	padding: 6px 20px 18px;
	background: var(--d-stair);
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 26px;
	line-height: 1.3;
}
/* 05: the flow as arrows from left to right, each over its own text. */
.d-svc--employee-education .d-body .d-psec--course .epb-timeline {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 6px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: d-flow;
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	counter-increment: d-flow;
}
.d-svc--employee-education .d-psec--course .epb-timeline__item::before,
.d-svc--employee-education .d-psec--course .epb-timeline__item::after {
	content: none;
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__number {
	display: none;
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__headline {
	margin: 0;
	padding: 14px 30px 14px 34px;
	background: var(--d-blue);
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900 !important;
	font-size: 18px;
	line-height: 1.4;
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%);
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__item:first-child .epb-timeline__headline {
	padding-left: 20px;
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__item:last-child .epb-timeline__headline {
	background: var(--d-orange);
}
.d-svc--employee-education .d-psec--course .epb-timeline__headline::before {
	content: counter(d-flow, decimal-leading-zero);
	margin-right: 10px;
	font-size: 14px;
	letter-spacing: 0.08em;
	opacity: 0.75;
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__body {
	flex: 1;
	margin: 10px 6px 0 0;
	padding: 16px 18px;
	border-radius: 6px;
	background: var(--d-pale);
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__body p {
	margin: 0 0 0.5em;
	font-size: 15px;
	line-height: 1.8;
	word-break: auto-phrase;
}
.d-svc--employee-education .d-body .d-psec--course .epb-timeline__body p:last-child {
	margin-bottom: 0;
}
/* 05: the outline as cards, the purpose and the trial across the width. */
.d-svc--employee-education .d-body .d-psec--course .wp-block-table {
	margin: 24px 0 0;
	overflow: visible;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table table {
	display: block;
	width: 100%;
	border: 0;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table tbody {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table tr {
	display: flex;
	flex-direction: column;
	margin: 0;
	border: 1px solid #dde3ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	overflow: hidden;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table tr:nth-child(1),
.d-svc--employee-education .d-body .d-psec--course .wp-block-table tr:nth-child(6) {
	grid-column: 1 / -1;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table td {
	display: block;
	width: auto !important;
	padding: 0 22px;
	border: 0 !important;
	background: none !important;
	text-align: left;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table td:first-child {
	padding-top: 16px;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 17px;
	letter-spacing: 0.08em;
}
.d-svc--employee-education .d-psec--course .wp-block-table td:first-child::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	border-radius: 50%;
	background: var(--d-orange);
	vertical-align: 2px;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table td:last-child {
	padding-top: 6px;
	padding-bottom: 18px;
	font-size: 16px;
	line-height: 1.8;
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table td ul {
	margin: 0;
}
/* The fee in large figures. */
.d-svc--employee-education .d-body .d-psec--course .wp-block-table tr:nth-child(4) td:last-child {
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.5;
	word-break: auto-phrase;
}
.d-svc--employee-education .d-psec--course .wp-block-table .d-term {
	display: block;
	color: var(--d-gray);
	font-size: 14px;
	font-weight: 700;
}
/* The trial on orange. */
.d-svc--employee-education .d-body .d-psec--course .wp-block-table tr:nth-child(6) {
	border: 2px solid var(--d-orange);
}
.d-svc--employee-education .d-body .d-psec--course .wp-block-table tr:nth-child(6) td:first-child {
	color: var(--d-orange);
}
/* 07: each training and its fee as a row of its own, the fee's first line
   in large figures. */
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table {
	margin: 0;
	overflow: visible;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table table {
	display: block;
	width: 100%;
	border: 0;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table thead,
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table tbody {
	display: grid;
	gap: 12px;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table tr {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	margin: 0;
}
/* The heading row as a blue bar lined up with the rows' columns. */
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table thead tr {
	border-left: 5px solid var(--d-blue);
	border-radius: 6px;
	background: var(--d-blue);
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table th {
	padding: 12px 24px;
	border: 0 !important;
	background: none !important;
	color: #fff;
	font-family: var(--d-zen);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-align: left;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table th:last-child {
	border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table tbody {
	margin-top: 8px;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table tbody tr {
	border: 1px solid #dde3ec;
	border-left: 5px solid var(--d-blue);
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table td {
	display: block;
	padding: 18px 24px;
	border: 0 !important;
	background: none !important;
	font-size: 13.5px;
	line-height: 1.7;
	text-align: left;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table td:first-child {
	align-self: center;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
	word-break: auto-phrase;
}
.d-svc--employee-education .d-body .d-psec--fees .wp-block-table td:last-child {
	border-left: 1px dashed #dde3ec !important;
	color: var(--d-gray);
}
.d-svc--employee-education .d-psec--fees .wp-block-table td:last-child::first-line {
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 19px;
}
@media (max-width: 600px) {
	.d-svc--employee-education .d-body .d-psec--worries .epb-box__body ul {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.d-svc--employee-education .d-body .d-psec--worries .epb-box__body li {
		padding-top: 20px;
	}
	.d-svc--employee-education .d-body .d-psec--worries .epb-box__body li::before {
		width: 52px;
		height: 52px;
	}
	/* The stairs as bars growing longer, one under another. */
	.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		margin-top: 24px;
	}
	.d-svc--employee-education .d-psec--stairs .epb-timeline__item:nth-child(1) {
		--d-stair-w: 60%;
	}
	.d-svc--employee-education .d-psec--stairs .epb-timeline__item:nth-child(2) {
		--d-stair-w: 80%;
	}
	.d-svc--employee-education .d-psec--stairs .epb-timeline__item:nth-child(3) {
		--d-stair-w: 100%;
	}
	.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__number,
	.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__headline {
		width: var(--d-stair-w);
	}
	.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__number {
		order: 1;
		padding: 14px 16px 0;
	}
	.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__headline {
		order: 2;
		min-height: 0;
		padding: 4px 16px 14px;
		border-radius: 0 0 8px 0;
		font-size: 22px;
	}
	.d-svc--employee-education .d-body .d-psec--stairs .epb-timeline__body {
		order: 3;
		margin: 12px 0 0;
		padding: 16px 18px;
	}
	.d-svc--employee-education .d-psec--stairs .epb-timeline__body::after {
		content: none;
	}
	/* The flow down the page, each arrow pointing at the next. */
	.d-svc--employee-education .d-body .d-psec--course .epb-timeline {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.d-svc--employee-education .d-body .d-psec--course .epb-timeline__headline,
	.d-svc--employee-education .d-body .d-psec--course .epb-timeline__item:first-child .epb-timeline__headline {
		padding: 12px 18px 24px;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), 50% 100%, 0 calc(100% - 12px));
	}
	.d-svc--employee-education .d-body .d-psec--course .epb-timeline__item:last-child .epb-timeline__headline {
		padding-bottom: 12px;
		clip-path: none;
	}
	.d-svc--employee-education .d-body .d-psec--course .epb-timeline__body {
		margin: 8px 0 0;
	}
	.d-svc--employee-education .d-body .d-psec--course .wp-block-table tbody {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.d-svc--employee-education .d-body .d-psec--course .wp-block-table td {
		padding: 0 18px;
	}
	.d-svc--employee-education .d-body .d-psec--course .wp-block-table tr:nth-child(4) td:last-child {
		font-size: 19px;
	}
	.d-svc--employee-education .d-body .d-psec--fees .wp-block-table thead {
		display: none;
	}
	.d-svc--employee-education .d-body .d-psec--fees .wp-block-table tbody {
		margin-top: 0;
	}
	.d-svc--employee-education .d-body .d-psec--fees .wp-block-table tr {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-svc--employee-education .d-body .d-psec--fees .wp-block-table td {
		padding: 14px 18px;
	}
	.d-svc--employee-education .d-body .d-psec--fees .wp-block-table td:first-child {
		padding-bottom: 0;
	}
	.d-svc--employee-education .d-body .d-psec--fees .wp-block-table td:last-child {
		padding-top: 8px;
		border-left: 0 !important;
	}
}
/* マネジメント研修 01: the story in three turns. The shelf beside the
   narration and the question, the answer on a pale card pointing down, and
   the conclusion in white on a blue card beside the lightbulb. */
.d-svc--management .d-body .d-psec--toolbox .wp-block-media-text {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	align-items: center;
	gap: 0 36px;
	margin: 0;
}
.d-svc--management .d-body .d-psec--toolbox .wp-block-media-text__media {
	margin: 0;
}
.d-svc--management .d-body .d-psec--toolbox .wp-block-media-text__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
}
.d-svc--management .d-body .d-psec--toolbox .wp-block-media-text__content {
	padding: 0;
}
.d-svc--management .d-body .d-psec--toolbox p {
	margin: 0;
	text-align: left;
	word-break: auto-phrase;
}
/* The narration as two beats on a dotted line, then the question. */
.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:first-child p:not(:last-child) {
	position: relative;
	padding: 0 0 18px 26px;
	font-size: 18px;
	line-height: 1.7;
}
.d-svc--management .d-psec--toolbox .emdash-html-block:first-child p:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--d-orange);
}
.d-svc--management .d-psec--toolbox .emdash-html-block:first-child p:not(:last-child)::after {
	content: "";
	position: absolute;
	top: calc(0.55em + 14px);
	bottom: 2px;
	left: 4px;
	border-left: 2px dotted var(--d-pale-2);
}
.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:first-child p:last-child {
	margin-top: 10px;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 32px;
	line-height: 1.4;
}
.d-svc--management .d-body .d-psec--toolbox .wp-block-group {
	position: relative;
	margin: 40px 0 48px;
	padding: 28px 32px;
	border-radius: 10px;
	background: var(--d-pale);
}
.d-svc--management .d-psec--toolbox .wp-block-group::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border-top: 18px solid var(--d-pale);
	border-right: 22px solid transparent;
	border-left: 22px solid transparent;
	transform: translateX(-50%);
}
.d-svc--management .d-body .d-psec--toolbox .wp-block-group p {
	text-align: center;
}
.d-svc--management .d-body .d-psec--toolbox .wp-block-group p:first-child {
	font-size: 17px;
	line-height: 1.9;
}
.d-svc--management .d-body .d-psec--toolbox .wp-block-group p:last-child {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px dashed var(--d-pale-2);
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 24px;
	line-height: 1.55;
}
.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text {
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
	gap: 0;
	border-radius: 10px;
	background: var(--d-blue);
	overflow: hidden;
}
.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text__media {
	order: 2;
	align-self: stretch;
}
.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text__media img {
	height: 100%;
	border-radius: 0;
}
.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text__content {
	padding: 36px 36px 36px 40px;
}
.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child p {
	color: #fff;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 30px;
	line-height: 1.45;
}
.d-svc--management .d-psec--toolbox .emdash-html-block:last-child p::before {
	content: "";
	display: block;
	width: 44px;
	height: 4px;
	margin-bottom: 18px;
	border-radius: 2px;
	background: var(--d-orange);
}
/* 02: the outline as white cards under a blue label tab, the purposes
   numbered across the width, the fee in large figures. */
.d-svc--management .d-body .d-psec--overview .wp-block-table {
	margin: 0;
	overflow: visible;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table table {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table tbody {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 16px;
	padding-top: 14px;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table tr {
	position: relative;
	display: block;
	margin: 0;
	padding: 30px 24px 20px;
	border: 1px solid #dde3ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-svc--management .d-body .d-psec--overview .wp-block-table tr:nth-child(1),
.d-svc--management .d-body .d-psec--overview .wp-block-table tr:nth-child(6) {
	grid-column: 1 / -1;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table td {
	display: block;
	width: auto !important;
	padding: 0;
	border: 0 !important;
	background: none !important;
	font-size: 15.5px;
	line-height: 1.8;
	text-align: left;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table td:first-child {
	position: absolute;
	top: -14px;
	left: 20px;
	padding: 4px 16px;
	border-radius: 4px;
	background: var(--d-blue) !important;
	color: #fff;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.2em;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table td ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: d-aim;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table td li {
	position: relative;
	margin: 0;
	padding: 0 0 0 40px;
	border: 0;
	counter-increment: d-aim;
	word-break: auto-phrase;
}
.d-svc--management .d-body .d-psec--overview .wp-block-table td li::before {
	content: counter(d-aim, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	background: none;
	-webkit-mask: none;
	mask: none;
	color: var(--d-orange);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 18px;
	line-height: 1.5;
	transform: none;
}
/* The fee's first line in large figures, the note under it. */
.d-svc--management .d-body .d-psec--overview .wp-block-table tr:nth-child(4) td:last-child {
	color: var(--d-gray);
	font-size: 13.5px;
}
.d-svc--management .d-psec--overview .wp-block-table tr:nth-child(4) td:last-child::first-line {
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 24px;
}
/* 03: each course on a card of its own colour: the name on the band with
   its number, the aim as the lead, the target, hours and fee as three
   figures, and the contents in two columns. */
.d-svc--management .d-psec--courses .course-box:nth-of-type(1) {
	--d-course: var(--d-blue);
}
.d-svc--management .d-psec--courses .course-box:nth-of-type(2) {
	--d-course: var(--d-orange);
}
.d-svc--management .d-psec--courses .course-box:nth-of-type(3) {
	--d-course: var(--d-red);
}
.d-svc--management .d-psec--courses .course-box {
	counter-increment: d-course;
}
.d-svc--management .d-psec--courses .emdash-html-block:first-child {
	counter-reset: d-course;
}
.d-svc--management .d-body .d-psec--courses .course-box {
	margin: 0 0 28px;
	border: 1px solid #dde3ec;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	overflow: hidden;
}
.d-svc--management .d-body .d-psec--courses .course-box .epb-box__headline {
	display: block;
	padding: 18px 28px 16px;
	background: var(--d-course) !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 24px;
	line-height: 1.3;
}
.d-svc--management .d-psec--courses .course-box .epb-box__headline::before {
	content: "COURSE " counter(d-course, decimal-leading-zero);
	display: block;
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 4px;
	background: none;
	-webkit-mask: none;
	mask: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	opacity: 0.8;
}
.d-svc--management .d-body .d-psec--courses .course-box .epb-box__body {
	padding: 22px 28px 26px;
}
.d-svc--management .d-body .d-psec--courses .course-aim {
	margin: 0;
	color: var(--d-course);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 21px;
	line-height: 1.5;
	word-break: auto-phrase;
}
.d-svc--management .d-body .d-psec--courses .course-tags {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 18px 0 0;
	padding: 0;
	border-radius: 8px;
	background: var(--d-pale);
	list-style: none;
}
.d-svc--management .d-body .d-psec--courses .course-tags > li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 14px 18px;
	border: 0;
	border-radius: 0;
	line-height: 1.5;
}
.d-svc--management .d-body .d-psec--courses .course-tags > li + li {
	border-left: 1px solid #fff;
}
.d-svc--management .d-body .d-psec--courses .course-tags span {
	padding: 0;
	background: none;
	color: var(--d-gray);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
}
.d-svc--management .d-body .d-psec--courses .course-tags b {
	padding: 0;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 19px;
	word-break: auto-phrase;
}
.d-svc--management .d-body .d-psec--courses .course-label {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 22px 0 6px;
	color: var(--d-course);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.12em;
}
.d-svc--management .d-psec--courses .course-label::after {
	content: "";
	flex: 1;
	border-top: 1px solid #dde3ec;
}
.d-svc--management .d-body .d-psec--courses .course-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-svc--management .d-body .d-psec--courses .course-list > li {
	position: relative;
	margin: 0;
	padding: 9px 0 9px 26px;
	border: 0;
	border-bottom: 1px dashed #dde3ec;
	font-size: 15.5px;
	line-height: 1.6;
	word-break: auto-phrase;
}
.d-svc--management .d-body .d-psec--courses .course-list > li::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 2px;
	width: 12px;
	height: 7px;
	margin: 0;
	border: 0;
	border-bottom: 3px solid var(--d-course);
	border-left: 3px solid var(--d-course);
	background: none;
	-webkit-mask: none;
	mask: none;
	transform: rotate(-45deg);
}
.d-svc--management .d-body .d-psec--courses .d-psec__body > p:last-child {
	margin: 0;
	color: var(--d-gray);
	font-size: 14px;
}
/* 04: the introduction as one card, its name and its hours and fee on blue
   at the left, the contents at the right. */
.d-svc--management .d-body .d-psec--intro .d-psec__body > p:first-child {
	margin: 0 0 20px;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.7;
	word-break: auto-phrase;
}
.d-svc--management .d-body .d-psec--intro .epb-box {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	grid-template-rows: auto 1fr auto;
	margin: 0;
	border: 1px solid #dde3ec;
	border-radius: 10px;
	background: linear-gradient(90deg, var(--d-blue) 290px, #fff 290px);
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-svc--management .d-body .d-psec--intro .epb-box__body {
	display: contents;
}
.d-svc--management .d-body .d-psec--intro .epb-box__headline {
	display: block;
	grid-area: 1 / 1;
	padding: 30px 26px 0;
	background: none !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 20px;
	line-height: 1.45 !important;
	word-break: auto-phrase;
}
.d-svc--management .d-psec--intro .epb-box__headline::before {
	content: "INTRODUCTION";
	display: block;
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 8px;
	background: none;
	-webkit-mask: none;
	mask: none;
	color: var(--d-pale-2);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
}
/* The hours and the fee, each under its small label. */
.d-svc--management .d-body .d-psec--intro .epb-box__body > p:not(:last-child) {
	grid-area: 2 / 1 / 4 / 2;
	align-self: end;
	margin: 0;
	padding: 24px 26px 30px;
	color: #fff;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 26px;
	line-height: 1.4;
}
.d-svc--management .d-body .d-psec--intro .epb-box__body > p:not(:last-child) strong {
	display: block;
	margin-top: 14px;
	color: var(--d-pale-2);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
}
.d-svc--management .d-body .d-psec--intro .epb-box__body > p:not(:last-child) strong:first-child {
	margin-top: 0;
}
.d-svc--management .d-psec--intro .d-colon {
	display: none;
}
.d-svc--management .d-body .d-psec--intro .epb-box__body ul {
	grid-area: 1 / 2 / 3 / 3;
	margin: 0;
	padding: 26px 32px 0;
	list-style: none;
	counter-reset: d-intro;
}
.d-svc--management .d-body .d-psec--intro .epb-box__body li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 14px 0;
	border: 0;
	border-bottom: 1px dashed #dde3ec;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.5;
	counter-increment: d-intro;
}
.d-svc--management .d-body .d-psec--intro .epb-box__body li::before {
	content: counter(d-intro);
	position: static;
	flex: none;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: var(--d-pale);
	-webkit-mask: none;
	mask: none;
	color: var(--d-blue);
	font-size: 14px;
	font-weight: 900;
	transform: none;
}
.d-svc--management .d-body .d-psec--intro .epb-box__body > p:last-child {
	grid-area: 3 / 2;
	margin: 0;
	padding: 14px 32px 26px;
	color: var(--d-gray);
	font-size: 14px;
}
/* 05: the three steps as stations on one line, numbered circles joined
   from lecture to practice, the last one in orange. */
.d-svc--management .d-body .d-psec--flow .epb-timeline {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: d-flow;
}
.d-svc--management .d-body .d-psec--flow .epb-timeline__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	counter-increment: d-flow;
	--d-step: var(--d-blue);
}
.d-svc--management .d-body .d-psec--flow .epb-timeline__item:last-child {
	--d-step: var(--d-orange);
}
.d-svc--management .d-psec--flow .epb-timeline__item::after {
	content: none;
}
/* The dashed line from this circle to the next. */
.d-svc--management .d-psec--flow .epb-timeline__item::before {
	content: "";
	position: absolute;
	top: 35px;
	left: calc(50% + 46px);
	width: calc(100% - 92px + 18px);
	height: 0;
	margin: 0;
	border: 0;
	border-top: 2px dashed var(--d-pale-2);
	background: none;
	transform: none;
}
.d-svc--management .d-psec--flow .epb-timeline__item:last-child::before {
	content: none;
}
.d-svc--management .d-body .d-psec--flow .epb-timeline__number {
	position: relative;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0;
	border-radius: 50%;
	background: var(--d-step) !important;
	box-shadow: 0 0 0 6px #fff, 0 0 0 7px #dde3ec;
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 26px;
	line-height: 1;
	transform: none;
}
.d-svc--management .d-psec--flow .epb-timeline__number::before {
	content: counter(d-flow, decimal-leading-zero);
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	background: none;
	transform: none;
}
.d-svc--management .d-psec--flow .epb-timeline__number::after {
	content: none;
}
.d-svc--management .d-body .d-psec--flow .epb-timeline__headline {
	margin: 18px 0 14px;
	color: var(--d-step) !important;
	font-family: var(--d-zen);
	font-weight: 900 !important;
	font-size: 22px;
	line-height: 1.4;
	text-align: center;
}
.d-svc--management .d-body .d-psec--flow .epb-timeline__body {
	align-self: stretch;
	flex: 1;
	margin: 0;
	padding: 18px 20px;
	border-top: 4px solid var(--d-step);
	border-radius: 6px;
	background: var(--d-pale);
}
.d-svc--management .d-body .d-psec--flow .epb-timeline__body p {
	margin: 0 0 0.6em;
	font-size: 15px;
	line-height: 1.85;
	word-break: auto-phrase;
}
.d-svc--management .d-body .d-psec--flow .epb-timeline__body p:last-child {
	margin-bottom: 0;
}
/* 06: each voice as a speech bubble from a person, two abreast. The box's
   headline repeats the section heading, so it goes. 社内マネジメント研究会's
   参加者の声 shares the design. */
.d-svc--management .d-body .d-psec--voices .epb-box,
.d-svc--managementlabo .d-body .d-psec--voices .epb-box {
	margin: 0;
	border: 0;
	border-radius: 0;
	overflow: visible;
	background: none;
	box-shadow: none;
}
.d-svc--management .d-body .d-psec--voices .epb-box__headline,
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__headline {
	display: none;
}
.d-svc--management .d-body .d-psec--voices .epb-box__body,
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body {
	padding: 0;
	background: none;
}
.d-svc--management .d-body .d-psec--voices .epb-box__body ul,
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 18px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-svc--management .d-body .d-psec--voices .epb-box__body li,
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body li {
	position: relative;
	margin: 0 0 0 66px;
	padding: 14px 18px;
	border: 1px solid #dde3ec;
	border-radius: 14px;
	background: #fff;
	font-size: 15.5px;
	line-height: 1.75;
	word-break: auto-phrase;
	--d-person: var(--d-blue);
}
.d-svc--management .d-body .d-psec--voices .epb-box__body li:nth-child(3n + 2),
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body li:nth-child(3n + 2) {
	--d-person: var(--d-orange);
}
.d-svc--management .d-body .d-psec--voices .epb-box__body li:nth-child(3n),
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body li:nth-child(3n) {
	--d-person: var(--d-pale-2);
}
/* The person, a white figure on a coloured circle. */
.d-svc--management .d-body .d-psec--voices .epb-box__body li::before,
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body li::before {
	content: "";
	position: absolute;
	top: 2px;
	left: -66px;
	width: 48px;
	height: 48px;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='19' r='8' fill='%23fff'/%3E%3Cpath d='M9 44a15 15 0 0 1 30 0z' fill='%23fff'/%3E%3C/svg%3E")
			center / 100% no-repeat,
		var(--d-person);
	-webkit-mask: none;
	mask: none;
	transform: none;
}
/* The bubble's tail, pointing at the person. */
.d-svc--management .d-body .d-psec--voices .epb-box__body li::after,
.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body li::after {
	content: "";
	position: absolute;
	top: 18px;
	right: auto;
	bottom: auto;
	left: -9px;
	width: 16px;
	height: 16px;
	margin: 0;
	border: 0;
	border-bottom: 1px solid #dde3ec;
	border-left: 1px solid #dde3ec;
	background: #fff;
	-webkit-mask: none;
	mask: none;
	transform: rotate(45deg);
}
/* 07: each fee as a card of its own, side by side, the training above and
   the fee in large figures below. */
.d-svc--management .d-body .d-psec--fees .wp-block-table {
	margin: 0 0 16px;
	overflow: visible;
}
.d-svc--management .d-body .d-psec--fees .wp-block-table table {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
}
.d-svc--management .d-body .d-psec--fees .wp-block-table thead {
	display: none;
}
.d-svc--management .d-body .d-psec--fees .wp-block-table tbody {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}
/* Each card spans two rows of the table's grid, so the 研修 parts and the
   料金 parts of the two cards line up at the same height. */
.d-svc--management .d-body .d-psec--fees .wp-block-table tr {
	display: grid;
	grid-row: span 2;
	grid-template-rows: subgrid;
	row-gap: 0;
	margin: 0;
	border: 1px solid #dde3ec;
	border-top: 5px solid var(--d-blue);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	overflow: hidden;
}
.d-svc--management .d-body .d-psec--fees .wp-block-table tr:nth-child(2) {
	border-top-color: var(--d-orange);
}
.d-svc--management .d-body .d-psec--fees .wp-block-table td {
	position: relative;
	display: block;
	width: auto !important;
	padding: 42px 24px 18px;
	border: 0 !important;
	background: none !important;
	text-align: left;
}
/* The label out of the flow, so the fee's ::first-line is the fee. */
.d-svc--management .d-body .d-psec--fees .wp-block-table td::before {
	position: absolute;
	top: 18px;
	left: 24px;
	color: var(--d-gray);
	font-family: var(--d-zen);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.16em;
}
.d-svc--management .d-body .d-psec--fees .wp-block-table td:first-child::before {
	content: "研修";
}
.d-svc--management .d-body .d-psec--fees .wp-block-table td:last-child::before {
	content: "料金";
}
.d-svc--management .d-body .d-psec--fees .wp-block-table td:first-child {
	flex: 1;
	background: var(--d-pale) !important;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.75;
	word-break: auto-phrase;
}
.d-svc--management .d-body .d-psec--fees .wp-block-table td:last-child {
	color: var(--d-gray);
	font-size: 13.5px;
	line-height: 1.7;
}
.d-svc--management .d-psec--fees .wp-block-table td:last-child::first-line {
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 24px;
}
.d-svc--management .d-body .d-psec--fees .wp-block-table tr:nth-child(2) td:last-child {
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 24px;
	word-break: auto-phrase;
}
@media (max-width: 600px) {
	.d-svc--management .d-body .d-psec--toolbox .wp-block-media-text,
	.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
	.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:first-child p:last-child {
		font-size: 26px;
	}
	.d-svc--management .d-body .d-psec--toolbox .wp-block-group {
		margin: 32px 0 40px;
		padding: 22px 18px;
	}
	.d-svc--management .d-body .d-psec--toolbox .wp-block-group p:last-child {
		font-size: 20px;
	}
	.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text {
		gap: 0;
	}
	.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text__media {
		order: 0;
	}
	.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text__media img {
		aspect-ratio: 16 / 9;
	}
	.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child .wp-block-media-text__content {
		padding: 24px 22px 28px;
	}
	.d-svc--management .d-body .d-psec--toolbox .emdash-html-block:last-child p {
		font-size: 24px;
	}
	.d-svc--management .d-body .d-psec--overview .wp-block-table tbody,
	.d-svc--management .d-body .d-psec--overview .wp-block-table td ul {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-svc--management .d-body .d-psec--overview .wp-block-table tr {
		padding: 28px 18px 18px;
	}
	.d-svc--management .d-body .d-psec--courses .course-box .epb-box__headline {
		padding: 16px 20px 14px;
		font-size: 21px;
	}
	.d-svc--management .d-body .d-psec--courses .course-box .epb-box__body {
		padding: 18px 20px 22px;
	}
	.d-svc--management .d-body .d-psec--courses .course-aim {
		font-size: 19px;
	}
	.d-svc--management .d-body .d-psec--courses .course-tags > li {
		padding: 12px 10px;
	}
	.d-svc--management .d-body .d-psec--courses .course-tags b {
		font-size: 15px;
	}
	.d-svc--management .d-body .d-psec--courses .course-list {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-svc--management .d-body .d-psec--intro .epb-box {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		background: #fff;
		overflow: hidden;
	}
	.d-svc--management .d-body .d-psec--intro .epb-box__headline {
		grid-area: auto;
		padding: 24px 22px 18px;
		background: var(--d-blue) !important;
		font-size: 19px;
	}
	.d-svc--management .d-body .d-psec--intro .epb-box__body > p:not(:last-child) {
		grid-area: auto;
		padding: 18px 22px 24px;
		background: var(--d-blue);
		font-size: 22px;
	}
	.d-svc--management .d-body .d-psec--intro .epb-box__body ul {
		grid-area: auto;
		padding: 12px 22px 0;
	}
	.d-svc--management .d-body .d-psec--intro .epb-box__body > p:last-child {
		grid-area: auto;
		padding: 12px 22px 22px;
	}
	/* The stations down the page, the line running between the circles. */
	.d-svc--management .d-body .d-psec--flow .epb-timeline {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.d-svc--management .d-body .d-psec--flow .epb-timeline__item {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		align-items: center;
		gap: 0 16px;
	}
	.d-svc--management .d-psec--flow .epb-timeline__item::before {
		top: 64px;
		bottom: -24px;
		left: 27px;
		width: 0;
		border-top: 0;
		border-left: 2px dashed var(--d-pale-2);
	}
	.d-svc--management .d-body .d-psec--flow .epb-timeline__number {
		width: 56px;
		height: 56px;
		font-size: 20px;
	}
	.d-svc--management .d-body .d-psec--flow .epb-timeline__headline {
		margin: 0;
		text-align: left;
	}
	.d-svc--management .d-body .d-psec--flow .epb-timeline__body {
		grid-column: 2;
		margin-top: 12px;
		padding: 14px 16px;
	}
	.d-svc--management .d-body .d-psec--voices .epb-box__body ul,
	.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body ul {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	.d-svc--management .d-body .d-psec--voices .epb-box__body li,
	.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body li {
		margin-left: 56px;
	}
	.d-svc--management .d-body .d-psec--voices .epb-box__body li::before,
	.d-svc--managementlabo .d-body .d-psec--voices .epb-box__body li::before {
		left: -56px;
		width: 42px;
		height: 42px;
	}
	.d-svc--management .d-body .d-psec--fees .wp-block-table tbody {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	.d-svc--management .d-body .d-psec--fees .wp-block-table td {
		padding: 38px 18px 14px;
	}
	.d-svc--management .d-body .d-psec--fees .wp-block-table td::before {
		top: 14px;
		left: 18px;
	}
}
/* 社内マネジメント研究会 (/services/managementlabo). */
/* The opening picture and its one sentence side by side, the picture
   cut down to a landscape frame, the sentence large beside it. */
.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	align-items: center;
	gap: 56px;
	margin: 0 0 8px;
}
.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text__media {
	margin: 0;
}
.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text__content {
	padding: 0;
}
.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text__content p {
	position: relative;
	margin: 0;
	padding-top: 26px;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 26px;
	line-height: 1.7;
	word-break: auto-phrase;
}
.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text__content p::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 48px;
	height: 5px;
	border-radius: 3px;
	background: var(--d-orange);
}
/* 01: the three steps as cards one under another, each with its STEP
   number in a coloured column on the left and an arrow down to the next,
   the last one in orange. */
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline {
	display: grid;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: d-cycle;
}
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	margin: 0;
	padding: 0;
	border: 1px solid #dde3ec;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	counter-increment: d-cycle;
	--d-step: var(--d-blue);
}
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__item:last-child {
	--d-step: var(--d-orange);
}
/* The arrow down to the next step, under the number column. */
.d-svc--managementlabo .d-psec--cycle .epb-timeline__item::before {
	content: "";
	position: absolute;
	top: calc(100% + 8px);
	left: 40px;
	width: 24px;
	height: 14px;
	margin: 0;
	border: 0;
	background: var(--d-pale-2);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	-webkit-mask: none;
	mask: none;
	transform: none;
}
.d-svc--managementlabo .d-psec--cycle .epb-timeline__item:last-child::before,
.d-svc--managementlabo .d-psec--cycle .epb-timeline__item::after {
	content: none;
}
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__number {
	position: static;
	grid-row: 1 / 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: auto;
	height: auto;
	margin: 0;
	border-radius: 9px 0 0 9px;
	background: var(--d-step) !important;
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	line-height: 1;
	transform: none;
}
.d-svc--managementlabo .d-psec--cycle .epb-timeline__number::before {
	content: "STEP";
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	background: none;
	font-size: 13px;
	letter-spacing: 0.12em;
	transform: none;
}
.d-svc--managementlabo .d-psec--cycle .epb-timeline__number::after {
	content: counter(d-cycle, decimal-leading-zero);
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	background: none;
	font-size: 36px;
	transform: none;
}
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__headline {
	margin: 0;
	padding: 22px 28px 0;
	color: var(--d-step) !important;
	font-family: var(--d-zen);
	font-weight: 900 !important;
	font-size: 22px;
	line-height: 1.4;
}
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__body {
	margin: 0;
	padding: 12px 28px 22px;
}
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__body p {
	margin: 0 0 0.5em;
	font-size: 15px;
	line-height: 1.85;
	word-break: auto-phrase;
}
.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__body p:last-child {
	margin-bottom: 0;
}
/* 03: the three terms as figure cards side by side, each with its icon,
   its label and its figure in large type. */
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table {
	margin: 0 0 18px;
	overflow: visible;
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table table {
	display: block;
	width: 100%;
	border: 0;
	border-collapse: separate;
	table-layout: auto;
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tbody {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 16px;
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tr {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 26px 14px 24px;
	border: 1px solid #dde3ec;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	text-align: center;
	--d-term: var(--d-blue);
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='17' cy='17' r='6' fill='%23fff'/%3E%3Cpath d='M6 38a11 11 0 0 1 22 0z' fill='%23fff'/%3E%3Ccircle cx='32' cy='15' r='7' fill='%23fff'/%3E%3Cpath d='M19 38a13 13 0 0 1 26 0z' fill='%23fff'/%3E%3C/svg%3E");
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tr:nth-child(2) {
	--d-term: var(--d-orange);
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 11l9 12 9-12M24 23v15M16 26h16M16 32h16'/%3E%3C/svg%3E");
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tr:nth-child(3) {
	--d-term: var(--d-red);
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='12' width='30' height='26' rx='3'/%3E%3Cpath d='M9 20h30M17 8v7M31 8v7'/%3E%3C/svg%3E");
}
/* The icon, white on a circle in the card's colour. */
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tr::before {
	content: "";
	display: block;
	width: 56px;
	height: 56px;
	margin: 0 0 14px;
	border-radius: 50%;
	background: var(--d-icon) center / 34px no-repeat, var(--d-term);
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table td {
	display: block;
	width: auto !important;
	padding: 0;
	border: 0;
	background: none;
	text-align: center;
	word-break: auto-phrase;
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table td:first-child {
	margin: 0 0 10px;
	padding: 3px 14px;
	border-radius: 999px;
	background: var(--d-pale);
	color: var(--d-term);
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table td:last-child {
	color: var(--d-text);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 21px;
	line-height: 1.5;
}
/* The note in brackets (税込, 課題図書による) smaller, kept in one piece. */
.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table .d-paren {
	display: inline-block;
	color: var(--d-gray);
	font-size: 14px;
	font-weight: 700;
}
@media (max-width: 600px) {
	.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
	.d-svc--managementlabo .d-body > .emdash-html-block .wp-block-media-text__content p {
		padding-top: 20px;
		font-size: 20px;
	}
	.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline {
		gap: 26px;
	}
	.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__item {
		grid-template-columns: 64px minmax(0, 1fr);
	}
	.d-svc--managementlabo .d-psec--cycle .epb-timeline__item::before {
		left: 20px;
	}
	.d-svc--managementlabo .d-psec--cycle .epb-timeline__number::before {
		font-size: 11px;
	}
	.d-svc--managementlabo .d-psec--cycle .epb-timeline__number::after {
		font-size: 26px;
	}
	.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__headline {
		padding: 16px 16px 0;
		font-size: 19px;
	}
	.d-svc--managementlabo .d-body .d-psec--cycle .epb-timeline__body {
		padding: 10px 16px 16px;
	}
	.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tbody {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	/* On the phone each card lies flat: the icon on the left, the label
	   and the figure beside it. */
	.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tr {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr);
		align-items: center;
		gap: 4px 16px;
		padding: 16px 18px;
		text-align: left;
	}
	.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table tr::before {
		grid-row: 1 / 3;
		width: 48px;
		height: 48px;
		margin: 0;
		background-size: 30px, auto;
	}
	.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table td {
		text-align: left;
	}
	.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table td:first-child {
		justify-self: start;
		margin: 0;
	}
	.d-svc--managementlabo .d-body .d-psec--terms .wp-block-table td:last-child {
		font-size: 19px;
	}
}
/* A heading at the very top of a fixed page sits under the breadcrumb
   without the gap meant for headings between sections. */
.d-page .d-body > .emdash-html-block:first-child,
.d-page .d-body > .emdash-html-block:first-child .epb-advanced-headling:first-child .epb-advanced-headling__text,
.d-page .d-body > h2:first-child {
	margin-top: 0;
}
.d-body .svc-b__title {
	padding-left: 0;
	border-left: 0;
}
.d-list {
	display: grid;
	gap: 32px;
}
.d-card a {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	background: #fff;
	box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08);
	color: var(--d-text);
	transition: box-shadow 0.2s;
}
.d-card a:hover {
	box-shadow: 0 6px 18px rgba(13, 42, 92, 0.16);
}
.d-card--text a {
	grid-template-columns: minmax(0, 1fr);
}
.d-card__th {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.d-card__th img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.d-card__th .d-card__cat {
	position: absolute;
	top: 16px;
	left: 16px;
}
.d-card__cat {
	align-self: start;
	justify-self: start;
	padding: 3px 12px;
	background: var(--d-blue-l);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}
.d-card__bd {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
}
.d-card h2 {
	margin: 0;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.5;
}
.d-card a:hover h2 {
	color: var(--d-blue);
}
.d-card time {
	color: var(--d-gray);
	font-size: 13px;
}
.d-design .pagination {
	margin-top: 48px;
}
/* Search results: the count line and the no-results form. */
.d-design .search-header {
	margin: 0 0 24px;
	font-weight: 700;
}
.d-design .search-header_title {
	margin: 0;
}
.d-main > .article h1 {
	margin: 0 0 12px;
	font-family: var(--d-zen);
	font-size: 24px;
}
.d-main > .article .search-form {
	display: flex;
	gap: 8px;
	max-width: 520px;
	margin-top: 20px;
}
.d-main > .article .search-field {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0 12px;
	border: 1px solid var(--d-line-2);
	border-radius: 4px;
	background: #fff;
	font-size: 15px;
}
.d-main > .article .search-submit {
	width: 56px;
	height: 46px;
	border: 0;
	border-radius: 4px;
	background: var(--d-blue);
	color: #fff;
	cursor: pointer;
}

/* ---------- お役立ち資料 entry and お知らせ entry (D-article without sidebar) ---------- */
.d-req .d-lay,
.d-info .d-lay {
	padding-bottom: 96px;
}
/* No side column: the body alone, as wide as the archives' single column. */
.d-lay--one {
	grid-template-columns: minmax(0, 1fr);
	max-width: 880px;
}
.d-side--static {
	position: static;
}
.d-box--req > b {
	margin-bottom: 16px;
}
.d-reqform {
	margin-top: 56px;
	padding: 32px;
	background: var(--d-pale);
	border-radius: 6px;
}
.d-reqform h2 {
	margin: 0 0 16px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	color: var(--d-blue);
}
/* The request form in the side column needs more room than the 260px
   side column: the HubSpot frame sets its fields in two columns. */
@media (min-width: 960px) {
	.d-req .d-lay:not(.d-lay--one) {
		grid-template-columns: minmax(0, 1fr) 380px;
		gap: 56px;
	}
}
/* Pricing tables from the old pages (Emanon premium blocks), as the old
   CSS draws them: centred title and price, sizes from the block's own
   variables. */
.d-body .epb-pricing-table {
	margin: 32px 0;
	border: 1px solid #e5e7e8;
}
.d-body .wp-block-columns .epb-pricing-table {
	height: 100%;
	margin: 0;
}
.d-body .epb-pricing-table__header {
	position: relative;
	text-align: center;
}
.d-body .epb-pricing-table__label {
	display: block;
	margin: -1px;
	padding: 2px 8px;
	font-size: 14px;
}
.d-body .epb-pricing-table__title {
	font-size: var(--epb-font-pc, 26px);
	line-height: 1.2;
	text-align: center;
}
.d-body .epb-pricing-table [data-fontweight="normal"] {
	font-weight: 400;
}
.d-body .epb-pricing-table [data-fontweight="bold"] {
	font-weight: 700;
}
.d-body .epb-pricing-table__info {
	text-align: center;
}
.d-body .epb-pricing-table__price {
	font-size: var(--epb-font-pc, 26px);
}
.d-body .epb-pricing-table__price-unit {
	margin-left: 2px;
}
.d-body .epb-pricing-table .epb-menu-list__tax {
	font-size: 11.64px;
}
.d-body .epb-pricing-table__content {
	position: relative;
}
.d-body .epb-pricing-table__content > * {
	margin: 32px 0 0;
}
.d-body .epb-pricing-table__content li,
.d-body .epb-pricing-table__description {
	font-size: 14px;
}
.d-body .epb-pricing-table__description {
	margin: 32px;
	padding-top: 32px;
	border-top: 1px solid #e5e7e8;
}
@media (max-width: 959px) {
	.d-body .epb-has-mobile-font .epb-pricing-table__title,
	.d-body .epb-has-mobile-font .epb-pricing-table__price {
		font-size: var(--epb-font-tablet, var(--epb-font-pc, 26px));
	}
}
@media (max-width: 599px) {
	.d-body .epb-has-mobile-font .epb-pricing-table__title,
	.d-body .epb-has-mobile-font .epb-pricing-table__price {
		font-size: var(--epb-font-sp, var(--epb-font-pc, 26px));
	}
}
/* Emanon buttons (epb-button): the D button with an arrow, the small line
   above it in blue. A button that brought its own colour (the red 資料を見る
   of the お役立ち資料 pages) is the red one, the others the blue one. */
.d-body .epb-button {
	margin: 40px 0;
	text-align: center;
}
.d-body .epb-button.epb-alignment-left {
	text-align: left;
}
.d-body .epb-button.epb-alignment-right {
	text-align: right;
}
.d-body .epb-microcopy-top,
.d-body .epb-microcopy-bottom {
	color: var(--d-blue);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}
.d-body .epb-microcopy-top {
	margin-bottom: 10px;
}
.d-body .epb-microcopy-bottom {
	margin-top: 10px;
}
.d-body a.epb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-width: 280px;
	max-width: 100%;
	padding: 18px 40px;
	background: var(--d-blue);
	color: #fff !important;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	text-decoration: none;
	transition: filter 0.2s;
}
.d-body a.epb-btn[style*="--epb-button-bg-color"] {
	background: var(--d-red);
}
.d-body a.epb-btn::after {
	content: "";
	flex: none;
	width: 0.5em;
	height: 0.5em;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}
.d-body a.epb-btn:hover {
	filter: brightness(1.12);
}
/* The text span can carry an icon class (料金詳細はこちら: icon-yen-sign),
   which 案D would draw as a 1em mask over the words. */
.d-body .epb-btn .epb-btn-text {
	display: inline;
	width: auto;
	height: auto;
	background: none;
	-webkit-mask: none;
	mask: none;
	vertical-align: baseline;
}
@media (max-width: 760px) {
	.d-body a.epb-btn {
		display: flex;
		min-width: 0;
		width: 100%;
		padding: 18px 24px;
	}
}
/* レポートの分量 (the Emanon icon block with icon-file-text and "A4×2枚"):
   two A4 sheets drawn fanned, page 1 in front, numbered 1 and 2, with
   the size in large type beside them, the pair centred in the panel. */
.d-body .epb-icon__inner:has(.icon-file-text) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 48px;
	margin: 8px 0 0;
	padding: 16px 0;
}
.d-body .epb-icon__inner:has(.icon-file-text) .epb-icon__wrapper {
	position: relative;
	flex: none;
	width: 200px;
	height: 200px;
	padding: 0 !important;
}
.d-body .epb-icon__wrapper .icon-file-text {
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	background: none;
	-webkit-mask: none;
	mask: none;
}
.d-body .epb-icon__wrapper .icon-file-text::before,
.d-body .epb-icon__wrapper .icon-file-text::after {
	position: absolute;
	top: 14px;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	box-sizing: border-box;
	width: 120px;
	height: 170px;
	padding: 0 10px 8px;
	box-shadow: 0 12px 28px rgba(23, 72, 156, 0.2);
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 14px;
	line-height: 1;
	transition: transform 0.3s ease;
}
.d-body .epb-icon__wrapper .icon-file-text::before {
	content: "1";
	z-index: 1;
	left: 6px;
	background:
		linear-gradient(var(--d-blue), var(--d-blue)) 14px 18px / 56px 8px no-repeat,
		repeating-linear-gradient(var(--d-pale-3) 0 3px, transparent 3px 13px) 14px 40px / 92px 100px no-repeat,
		#fff;
	transform: rotate(-8deg);
}
/* The back sheet (page 2) has its top right corner folded over. */
.d-body .epb-icon__wrapper .icon-file-text::after {
	content: "2";
	left: 74px;
	background:
		linear-gradient(225deg, transparent 50%, var(--d-pale-2) 50%) 100% 0 / 22px 22px no-repeat,
		linear-gradient(var(--d-red), var(--d-red)) 14px 18px / 48px 8px no-repeat,
		linear-gradient(var(--d-orange), var(--d-orange)) 14px 36px / 28px 4px no-repeat,
		repeating-linear-gradient(var(--d-pale-3) 0 3px, transparent 3px 13px) 14px 52px / 92px 88px no-repeat,
		linear-gradient(225deg, transparent 15.6px, #fff 15.6px);
	transform: rotate(6deg);
}
.d-body .epb-icon__inner:has(.icon-file-text):hover .icon-file-text::before {
	transform: rotate(-12deg) translateX(-6px);
}
.d-body .epb-icon__inner:has(.icon-file-text):hover .icon-file-text::after {
	transform: rotate(10deg) translateX(8px);
}
.d-body .epb-icon__inner:has(.icon-file-text) .epb-icon__headline {
	margin: 0 !important;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: clamp(56px, 7vw, 88px) !important;
	line-height: 1;
	white-space: nowrap;
}
/* The headline's parts (split in HtmlBlock.astro): the letters and figures
   full size, the × sign and the Japanese unit smaller. */
.d-body .epb-icon__headline .d-hl-num {
	letter-spacing: 0.01em;
}
.d-body .epb-icon__headline .d-hl-x {
	display: inline-block;
	margin: 0 0.06em;
	font-size: 0.5em;
	vertical-align: 0.28em;
}
.d-body .epb-icon__headline .d-hl-unit {
	margin-left: 0.06em;
	font-size: 0.62em;
}
@media (max-width: 599px) {
	.d-body .epb-icon__inner:has(.icon-file-text) {
		flex-direction: column;
		gap: 24px;
		padding: 16px 0;
		text-align: center;
	}
}
/* The archive band with a lead: the title on the left in smaller type,
   wrapping only between its parts, the lead on the right. */
.d-band__parts span {
	display: inline-block;
}
.d-band--archive .d-band__row h1 {
	font-size: clamp(36px, 4.6vw, 56px);
	line-height: 1.25;
}
/* お役立ち資料 archives: one wide column of cards three across. */
.d-lay--wide {
	grid-template-columns: minmax(0, 1fr);
	padding-top: 44px;
	padding-bottom: 96px;
}
.d-list--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.d-list--3 .d-card a {
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	height: 100%;
}
@media (max-width: 959px) {
	.d-list--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 760px) {
	.d-req .d-lay,
	.d-info .d-lay {
		padding-bottom: 64px;
	}
	.d-reqform {
		padding: 24px 16px;
	}
	.d-lay.d-lay--wide {
		padding: 32px 16px 64px;
	}
	/* One column of side-by-side cards, as the live page does on phones. */
	.d-list.d-list--3 {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-list--3 .d-card a {
		grid-template-columns: 160px minmax(0, 1fr);
		grid-template-rows: auto;
	}
}

/* ---------- 404 (D-404) ---------- */
/* One blue screen: a huge 404 in the logo colours with the 0 rolling away,
   then the notice, a search box, the categories and the ways back. */
.d-404 {
	overflow: hidden;
	background: var(--d-blue);
	color: #fff;
}
.d-404__in {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
	min-height: 640px;
	padding-top: 96px;
	padding-bottom: 120px;
}
.d-404__num {
	display: flex;
	margin: 0;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: clamp(120px, 21vw, 280px);
	line-height: 0.9;
	letter-spacing: -0.02em;
	white-space: nowrap;
}
.d-404__num span:last-child {
	color: var(--d-red);
	-webkit-text-stroke: 4px #fff;
	paint-order: stroke fill;
}
.d-404__o {
	display: inline-block;
	color: var(--d-orange);
	transform-origin: 50% 60%;
	animation: d-404-roll 4s ease-in-out infinite;
}
@keyframes d-404-roll {
	0%,
	100% {
		transform: rotate(-16deg) translateY(0.04em);
	}
	50% {
		transform: rotate(12deg) translate(0.05em, -0.06em);
	}
}
@media (prefers-reduced-motion: reduce) {
	.d-404__o {
		animation: none;
		transform: rotate(-16deg) translateY(0.04em);
	}
}
.d-404__bd h1 {
	margin: 12px 0 0;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: clamp(30px, 3.2vw, 44px);
	line-height: 1.3;
}
.d-404__msg {
	margin: 24px 0 0;
	color: var(--d-pale-3);
	font-size: 15px;
	line-height: 2;
}
.d-404__search {
	display: flex;
	margin-top: 32px;
	background: #fff;
}
.d-404__search input {
	flex: 1;
	min-width: 0;
	padding: 18px 20px;
	border: 0;
	background: transparent;
	color: var(--d-text);
	font-size: 16px;
}
.d-404__search button {
	display: grid;
	place-items: center;
	width: 64px;
	border: 0;
	background: var(--d-orange);
	color: #fff;
	font-size: 22px;
	cursor: pointer;
}
.d-404__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
.d-404__cats a {
	display: block;
	padding: 6px 14px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	line-height: 1.6;
}
.d-404__cats a:hover {
	background: #fff;
	color: var(--d-blue);
}
.d-404__go {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 40px;
}
@media (max-width: 959px) {
	.d-404__in {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
		min-height: 0;
		padding-top: 64px;
		padding-bottom: 80px;
	}
	.d-404__num {
		font-size: clamp(120px, 34vw, 240px);
	}
}
@media (max-width: 760px) {
	.d-404__in {
		padding: 48px 16px 64px;
	}
	.d-404__num span:last-child {
		-webkit-text-stroke-width: 3px;
	}
}

/* ---------- top page (D-top) ---------- */
.d-hero {
	position: relative;
	overflow: hidden;
	padding: 120px 0 140px;
	background: var(--d-blue);
	color: #fff;
}
.d-hero__mv {
	position: absolute;
	inset: 0;
}
.d-hero__mv video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.d-hero__mv::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(23, 72, 156, 0.82);
}
.d-hero .d-wrap {
	position: relative;
}
.d-hero h1 {
	margin: 18px 0 28px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 120px;
	line-height: 1.1;
	letter-spacing: 0.02em;
}
.d-hero__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: end;
}
.d-hero__row p {
	margin: 0;
	color: var(--d-pale-3);
	font-size: 16px;
	line-height: 2;
}
.d-hero__row .d-hero__sub {
	color: #fff;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.5;
}
.d-tick {
	position: relative;
	margin-top: -44px;
}
.d-tick__box {
	display: flex;
	max-width: 920px;
	min-height: 88px;
	margin: 0 auto;
	background: #fff;
	box-shadow: 0 10px 28px rgba(13, 42, 92, 0.18);
}
.d-tick__box > b {
	display: flex;
	flex: none;
	align-items: center;
	padding: 0 28px;
	background: var(--d-orange);
	color: #fff;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 18px;
	letter-spacing: 0.14em;
}
.d-tick__bd {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	padding: 14px 28px;
	list-style: none;
}
.d-tick__bd li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.d-tick__bd li[hidden] {
	display: none;
}
.d-tick__mt {
	display: flex;
	gap: 12px;
	color: var(--d-gray);
	font-size: 12px;
}
.d-tick__mt em {
	font-style: normal;
	font-weight: 700;
	color: var(--d-blue-l);
}
.d-tick__bd a {
	overflow: hidden;
	color: var(--d-text);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.5;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.d-tick__bd a:hover {
	color: var(--d-blue);
}
.d-tick__pg {
	display: flex;
	flex: none;
	align-items: center;
	gap: 10px;
	padding: 0 22px;
	border-left: 1px solid var(--d-line-3);
	color: var(--d-gray);
	font-size: 13px;
}
.d-tick__pg button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid #c7d1e3;
	background: #fff;
	color: var(--d-blue);
	cursor: pointer;
}
.d-sec {
	padding: 112px 0;
}
.d-sec--gray {
	background: #f8f8f8;
}
.d-sec--blue {
	background: var(--d-blue);
	color: #fff;
}
.d-split {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 64px;
	align-items: start;
}
.d-lh {
	position: sticky;
	top: calc(var(--d-hd-h) + 32px);
}
.d-lh__lab {
	display: block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.24em;
	color: var(--d-blue-l);
}
.d-lh h2 {
	margin: 10px 0 20px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 48px;
	line-height: 1.25;
}
.d-lh__more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 4px;
	border-bottom: 2px solid currentColor;
	font-weight: 700;
}
.d-lh__sub {
	margin: 0 0 14px;
	font-weight: 700;
	font-size: 17px;
}
.d-lh__lead {
	margin: 0;
	font-size: 14px;
	line-height: 1.9;
}
.d-sec--col .d-lh__lab,
.d-sec--col .d-lh__more {
	color: var(--d-red);
}
.d-sec--info .d-lh__lab,
.d-sec--info .d-lh__more {
	color: var(--d-orange);
}
.d-sec--blue .d-lh__lab {
	color: var(--d-pale-2);
}
.d-sec--blue .d-lh__lead {
	color: var(--d-pale-3);
}
.d-feat {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	margin-bottom: 40px;
	color: var(--d-text) !important;
}
/* Eyecatches are made at 16:9; older ones (1000x634 roumu and the like)
   lose a little at the top and bottom. */
.d-feat__th {
	overflow: hidden;
}
.d-cl__th {
	overflow: hidden;
	margin-bottom: 12px;
}
.d-feat__th img,
.d-cl__th img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 0.3s;
}
.d-feat:hover img,
.d-cl a:hover img {
	transform: scale(1.04);
}
.d-feat .d-card__cat,
.d-cl .d-card__cat {
	display: inline-block;
}
.d-feat h3 {
	margin: 14px 0 12px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 28px;
	line-height: 1.5;
}
.d-feat time,
.d-cl time {
	color: var(--d-gray);
	font-size: 13px;
}
.d-cl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-cl a {
	display: block;
	padding: 18px 0;
	border-top: 2px solid var(--d-text);
	color: var(--d-text);
}
.d-cl h3 {
	margin: 8px 0 6px;
	font-size: 15px;
	line-height: 1.6;
}
.d-feat:hover h3,
.d-cl a:hover h3 {
	color: var(--d-blue);
}
.d-ls {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-ls a {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 4px 20px;
	padding: 18px 0;
	border-top: 1px solid var(--d-line-2);
	color: var(--d-text);
}
.d-ls time {
	color: var(--d-gray);
	font-size: 13px;
}
.d-ls em {
	grid-column: 2;
	justify-self: start;
	padding: 3px 12px;
	background: var(--d-blue-l);
	color: #fff;
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
}
.d-ls span {
	grid-column: 2;
	font-weight: 500;
	line-height: 1.6;
}
.d-ls a:hover span {
	color: var(--d-blue);
}
.d-str {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-str li {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 32px;
	padding: 36px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
}
.d-str__no {
	color: var(--d-orange);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 72px;
	line-height: 1;
}
.d-str h3 {
	margin: 0 0 8px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 36px;
}
.d-str p {
	margin: 0;
	color: var(--d-pale-3);
}
.d-onl {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	min-height: 420px;
}
.d-onl__tx {
	align-self: stretch;
}
.d-onl__tx {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 80px 64px;
	border-left: 10px solid var(--d-orange);
	background: #fff;
}
.d-onl .d-lh__lab {
	color: var(--d-orange);
}
.d-onl h2 {
	margin: 12px 0;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 44px;
	line-height: 1.3;
}
.d-onl__sub {
	margin: 0 0 16px;
	font-weight: 700;
	font-size: 16px;
}
.d-onl__body {
	margin: 0 0 28px;
	font-size: 14px;
	line-height: 1.9;
}
.d-onl__btn {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 10px;
	padding: 16px 32px;
	background: var(--d-orange);
	color: #fff !important;
	font-weight: 700;
}
.d-onl__btn:hover {
	filter: brightness(1.1);
}
.d-onl__img img {
	display: block;
	width: 100%;
	height: auto;
}
.d-ab {
	padding: 36px 36px 28px;
	border: 1px solid var(--d-line);
	border-top: 4px solid var(--d-blue);
	background: #fff;
}
.d-ab ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-ab li a {
	display: grid;
	grid-template-columns: 1fr 36px;
	gap: 4px 16px;
	align-items: center;
	padding: 18px 0;
	border-top: 1px solid #e5e5e5;
	color: var(--d-text);
}
.d-ab li:first-child a {
	border-top: 0;
	padding-top: 0;
}
.d-ab li b {
	font-size: 17px;
	font-weight: 700;
}
.d-ab li small {
	margin-left: 10px;
	color: var(--d-gray);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
}
.d-ab li span {
	grid-column: 1;
	color: var(--d-gray);
	font-size: 13px;
	line-height: 1.6;
}
.d-ab li i {
	display: flex;
	grid-column: 2;
	grid-row: 1 / 3;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1.5px solid var(--d-blue);
	border-radius: 50%;
	color: var(--d-blue);
	transition: background 0.2s, color 0.2s;
}
.d-ab li a:hover i {
	background: var(--d-blue);
	color: #fff;
}
.d-ab li a:hover b {
	color: var(--d-blue);
}
.d-ab__srp {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 16px;
	align-items: center;
	margin-top: 12px;
	padding: 16px;
	background: #f8f8f8;
}
.d-ab__mark {
	display: block;
	width: 72px;
	height: 72px;
}
.d-ab__srp b {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
}
.d-ab__srp p {
	margin: 0;
	color: #555;
	font-size: 12px;
	line-height: 1.7;
}
.d-faq details {
	padding: 22px 0;
	border-top: 2px solid var(--d-text);
}
.d-faq details:last-child {
	border-bottom: 2px solid var(--d-text);
}
.d-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	list-style: none;
	cursor: pointer;
	font-family: var(--d-zen);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
}
.d-faq summary::-webkit-details-marker {
	display: none;
}
.d-faq summary svg {
	flex: none;
	width: 44px;
	height: 44px;
	padding: 11px;
	border-radius: 50%;
	background: var(--d-blue-l);
	color: #fff;
	stroke-width: 2.6;
	transition: transform 0.2s;
}
.d-faq details[open] summary svg {
	transform: rotate(45deg);
}
.d-faq__a {
	padding-top: 12px;
	color: #555;
}
.d-homecta {
	padding: 120px 0;
	background: var(--d-blue);
	color: #fff;
	text-align: center;
}
.d-homecta h2 {
	margin: 14px 0 18px;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 64px;
	line-height: 1.25;
}
.d-homecta p {
	margin: 0 0 40px;
	color: var(--d-pale-3);
}
.d-homecta a {
	display: inline-block;
	padding: 20px 56px;
	background: var(--d-red);
	color: #fff;
	font-weight: 700;
	font-size: 17px;
}
.d-homecta a:hover {
	filter: brightness(1.1);
}
@media (max-width: 959px) {
	.d-hero h1 {
		font-size: 88px;
	}
	.d-split {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.d-lh {
		position: static;
	}
	.d-onl__tx {
		padding: 56px 40px;
	}
}
@media (max-width: 760px) {
	.d-hero {
		padding: 64px 0 96px;
	}
	.d-hero h1 {
		font-size: 56px;
	}
	.d-hero__row,
	.d-feat,
	.d-onl {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.d-cl {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.d-tick__box {
		flex-wrap: wrap;
	}
	.d-tick__box > b {
		padding: 0 16px;
		font-size: 15px;
	}
	.d-tick__bd {
		padding: 12px 16px;
	}
	.d-tick__bd a {
		font-size: 15px;
		white-space: normal;
	}
	.d-tick__pg {
		display: none;
	}
	.d-sec {
		padding: 64px 0;
	}
	.d-lh h2 {
		font-size: 34px;
	}
	.d-feat h3 {
		font-size: 22px;
	}
	.d-ls a {
		grid-template-columns: 1fr;
	}
	.d-ls em,
	.d-ls span {
		grid-column: 1;
	}
	.d-str li {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.d-str h3 {
		font-size: 28px;
	}
	.d-onl__tx {
		padding: 40px 16px;
	}
	.d-ab {
		padding: 24px 20px 20px;
	}
	.d-faq summary {
		font-size: 17px;
	}
	.d-homecta {
		padding: 80px 0;
	}
	.d-homecta h2 {
		font-size: 36px;
	}
}

/* ---------- below 960px: hamburger, fixed footer menu ---------- */
@media (max-width: 959px) {
	.d-nav__list,
	.d-nav__search {
		display: none;
	}
	.d-nav {
		gap: 0;
	}
	.d-burger {
		display: flex;
	}
	.d-kmn + .d-cta {
		margin-left: 0;
	}
	.d-design .fixed-footer-menu {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
		display: block;
		background: #fff;
		border-top: 1px solid var(--d-line-3);
		transform: translateY(100%);
		transition: transform 0.3s;
	}
	.d-design .fixed-footer-menu.is-show {
		transform: none;
	}
	.d-design .fixed-footer-nav {
		display: flex;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.d-design .fixed-footer-nav li {
		flex: 1;
	}
	.d-design .fixed-footer-nav a {
		display: block;
		padding: 8px 0 6px;
		color: var(--d-text);
		font-size: 10px;
		text-align: center;
		line-height: 1.4;
	}
	.d-design .fixed-footer-nav a span {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3px;
	}
	.d-design .fixed-footer-nav i {
		font-size: 20px;
		color: var(--d-blue);
	}
	.d-design .js-fixed-item {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 58px;
		z-index: 99;
		display: block;
		padding: 20px 16px;
		background: var(--d-pale);
		border-top: 1px solid var(--d-line-3);
		visibility: hidden;
		opacity: 0;
		transform: translateY(16px);
		transition: 0.3s;
	}
	.d-design .js-fixed-item.is-active {
		visibility: visible;
		opacity: 1;
		transform: none;
	}
	.d-design .sp-follow-sns__inner a {
		display: grid;
		place-items: center;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		color: #fff;
		font-size: 18px;
	}
	.d-design .page-top-floating {
		display: none;
	}
	.d-ft {
		padding-bottom: 88px;
	}
	.d-band__row {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	/* With the description below, a title broken into lines goes back
	   to one line, or breaks only where it was broken when too long. */
	.d-band--page h1.is-split br {
		display: none;
	}
	.d-band--page h1.is-split span {
		display: inline-block;
	}
	.d-lay {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.d-side {
		position: static;
		order: 2;
	}
	/* The inline TOC under the lead is enough on one column. */
	.d-side__toc {
		display: none;
	}
	.d-rel ul {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- 760px and below ---------- */
@media (max-width: 760px) {
	.d-wrap {
		padding: 0 16px;
	}
	html {
		--d-hd-h: 65px;
	}
	html:has(.d-member) {
		--d-hd-h: 98px;
	}
	.d-member__long {
		display: none;
	}
	.d-hd__in {
		height: 64px;
	}
	.d-hd__logo img {
		height: 40px;
	}
	/* Like the current site, the phrase is for tablets and PCs only. */
	.d-hd__tag {
		display: none;
	}
	.d-kmn span,
	.d-cta span {
		display: none;
	}
	.d-kmn,
	.d-cta {
		padding: 0 16px;
	}
	.d-ft__grid {
		grid-template-columns: 1fr 1fr;
	}
	.d-band {
		padding: 64px 0;
	}
	.d-band h1 {
		font-size: 48px;
	}
	.d-band--page h1 {
		font-size: 56px;
	}
	.d-band--page h1.is-long {
		font-size: 34px;
	}
	.d-pagetoc {
		grid-template-columns: minmax(0, 1fr);
		padding: 20px 16px;
	}
	.d-pagetoc__label {
		padding-top: 0;
		font-size: 16px;
	}
	.d-pagetoc ol {
		grid-auto-flow: row;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
	}
	.d-body {
		font-size: 16px;
	}
	.d-body h2 {
		font-size: 22px;
	}
	.d-body h3 {
		font-size: 19px;
	}
	.d-ctaband {
		padding: 64px 0;
	}
	.d-ctaband h2 {
		font-size: 28px;
	}
	.d-btn {
		min-width: 0;
		width: 100%;
	}
	.d-lock {
		padding: 24px 16px;
	}
	.d-top h1 {
		font-size: 28px;
	}
	.d-top__au {
		margin-left: 0;
	}
	.d-lay {
		gap: 32px;
		padding: 40px 16px 0;
	}
	.d-lay--archive,
	.d-lay--single {
		gap: 48px;
		padding: 32px 16px 64px;
	}
	.d-list {
		gap: 16px;
	}
	.d-card a {
		grid-template-columns: 160px minmax(0, 1fr);
	}
	.d-card--text a {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-card__th .d-card__cat {
		top: 8px;
		left: 8px;
	}
	.d-card__cat {
		padding: 1px 8px;
		font-size: 10px;
	}
	.d-card__bd {
		gap: 6px;
		padding: 10px 12px;
	}
	.d-card h2 {
		font-size: 14px;
	}
	.d-card time {
		font-size: 12px;
	}
	.d-post .d-body {
		font-size: 16px;
	}
	.d-post .d-body > p:first-child {
		font-size: 17px;
	}
	.d-news {
		padding: 24px 16px;
	}
	.d-author__row {
		grid-template-columns: 64px 1fr;
		gap: 16px;
	}
	.d-author__ph img,
	.d-author__ph svg {
		width: 64px;
		height: 64px;
	}
	.d-pn {
		grid-template-columns: 1fr;
	}
	.d-pn > a.d-pn__next {
		grid-column: auto;
	}
	.d-rel {
		margin-top: 56px;
		padding: 56px 0;
	}
	.d-rel h2 {
		font-size: 30px;
	}
	.d-rel ul {
		gap: 20px 16px;
	}
}

/* Speech balloons (.epb-balloon) in old posts, as Emanon Premium Blocks saved
   them (8 pages). Drawn only for the variants the content uses: icon left,
   right or centre-left with the name under it; circle icons; speech and
   thought bubbles, with and without a border. The balloon's colours and
   border width are inline on .epb-balloon__text; the tail (__before, __after)
   takes them from there. The spacing D needs follows. */
.epb-balloon {
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	position: relative;
}
.epb-balloon.epb-img-right {
	flex-direction: row-reverse;
}
.epb-balloon.epb-img-center-left {
	justify-content: center;
}

/* Icon and name */
.epb-balloon__icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	height: fit-content;
}
.epb-img-left .epb-balloon__icon,
.epb-balloon.epb-img-center-left .epb-balloon__icon {
	margin-right: 24px;
}
.epb-img-right .epb-balloon__icon {
	margin-left: 24px;
}
.epb-balloon__icon figure {
	position: relative;
	width: 70px;
	height: 70px;
	margin: auto;
}
.epb-balloon__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	vertical-align: middle;
}
.epb-balloon__img.has-epb-border {
	border-style: solid;
	border-width: 2px;
}
.is-style-epb-circle .epb-balloon__img {
	border-radius: 50%;
}
.is-style-epb-circle-corner-left .epb-balloon__img {
	border-radius: 50% 50% 50px 0;
}
.epb-balloon__name {
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.02em;
}
.epb-balloon.epb-name-bottom .epb-balloon__name {
	margin-top: 4px;
}
.epb-balloon__name[data-fontweight="bold"] {
	font-weight: 700;
}

/* Bubble */
.epb-balloon__content {
	display: flex;
	align-items: flex-start;
	position: relative;
	width: 100%;
}
.epb-balloon.epb-img-right .epb-balloon__content {
	justify-content: flex-end;
}
.epb-balloon.epb-img-center-left .epb-balloon__content {
	width: auto;
}
.epb-balloon__text {
	position: relative;
	padding: 12px 16px;
	border-style: solid;
	line-height: 1.5;
	overflow-wrap: break-word;
}
.epb-balloon__text.is-style-epb-radius__8 {
	border-radius: 8px;
}

/* Tail: a triangle for speech, two dots for a thought */
.epb-balloon__before,
.epb-balloon__after {
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
}
.epb-balloon__speech .epb-balloon__before {
	z-index: 2;
}
.epb-balloon__speech .epb-balloon__before,
.epb-balloon__speech .epb-balloon__after {
	top: 16px;
	left: -9px;
	border-width: 8px 10px 8px 0;
}
.epb-balloon__speech .epb-balloon__before.has-epb-border {
	left: -8px;
}
.epb-balloon__speech .epb-balloon__after.has-epb-border {
	left: -11px;
}
.epb-img-right .epb-balloon__speech .epb-balloon__before,
.epb-img-right .epb-balloon__speech .epb-balloon__after {
	left: auto;
	right: -7px;
	border-width: 2px 0 10px 8px;
}
.epb-img-right .epb-balloon__speech .epb-balloon__before.has-epb-border {
	right: -7px;
}
.epb-img-right .epb-balloon__speech .epb-balloon__after.has-epb-border {
	right: -10px;
	border-width: 2px 0 12px 9px;
}
/* The outer triangle of a bordered tail is the border colour. */
.epb-img-left .epb-balloon__speech .epb-balloon__after.has-epb-border,
.epb-img-center-left .epb-balloon__speech .epb-balloon__after.has-epb-border {
	border-right-color: inherit !important;
}
.epb-img-right .epb-balloon__speech .epb-balloon__after.has-epb-border {
	border-left-color: inherit !important;
}
.epb-balloon__mind .epb-balloon__before {
	z-index: 2;
	top: 16px;
	left: -15px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
}
.epb-balloon__mind .epb-balloon__after {
	top: 28px;
	left: -22px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.epb-img-right .epb-balloon__mind .epb-balloon__before {
	left: auto;
	right: -15px;
}
.epb-img-right .epb-balloon__mind .epb-balloon__after {
	left: auto;
	right: -22px;
}
.epb-balloon__mind .epb-balloon__before,
.epb-balloon__mind .epb-balloon__after {
	background: inherit !important;
	border-color: inherit !important;
}
.epb-balloon__mind .epb-balloon__before.has-epb-border,
.epb-balloon__mind .epb-balloon__after.has-epb-border {
	border-width: 2px;
}

@media (min-width: 600px) {
	.epb-balloon__icon {
		justify-content: center;
	}
	.epb-balloon__icon figure {
		width: 80px;
		height: 80px;
	}
	.epb-balloon__text {
		max-width: 580px;
		padding: 16px 24px;
	}
	.epb-balloon__speech .epb-balloon__before,
	.epb-balloon__speech .epb-balloon__after {
		top: 24px;
	}
}
.d-body .epb-balloon {
	margin: 0 0 1.5em;
}
.d-body .epb-balloon__text p {
	margin: 0;
}
/* Balloons saved without a border (border-width:0) are too faint on white;
   draw them like the bordered ones (2px #e5e7e8), tail included. */
.d-body .epb-balloon__text:not(.has-epb-border) {
	border: 2px solid #e5e7e8 !important;
}
.d-body .epb-balloon__speech .epb-balloon__text:not(.has-epb-border) .epb-balloon__before {
	left: -8px;
}
.d-body .epb-balloon__speech .epb-balloon__text:not(.has-epb-border) .epb-balloon__after {
	left: -11px;
	border-right-color: inherit !important;
}
.d-body .epb-img-right .epb-balloon__speech .epb-balloon__text:not(.has-epb-border) .epb-balloon__before {
	left: inherit;
	right: -7px;
}
.d-body .epb-img-right .epb-balloon__speech .epb-balloon__text:not(.has-epb-border) .epb-balloon__after {
	left: inherit;
	right: -10px;
	border-width: 2px 0 12px 9px;
	border-right-color: transparent !important;
	border-left-color: inherit !important;
}
.d-body .epb-balloon__mind .epb-balloon__text:not(.has-epb-border) .epb-balloon__before,
.d-body .epb-balloon__mind .epb-balloon__text:not(.has-epb-border) .epb-balloon__after {
	border-width: 2px;
}
.d-body .epb-balloon__icon figure {
	margin: auto;
}
/* Blog cards (embedded links to the site's own pages): a bordered card with
   the picture on the left and the title beside it, as Emanon prints them. */
.d-body .wp-block-embed {
	margin: 0 0 1.5em;
}
.d-body .blog-card {
	border: 2px solid var(--d-line);
	border-radius: 4px;
	background: #fff;
	transition: border-color 0.3s;
}
.d-body .blog-card:hover {
	border-color: var(--d-blue-l);
}
.d-body .blog-card__link {
	display: block;
	color: var(--d-text);
	text-decoration: none;
}
.d-body .blog-card__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 24px;
}
.d-body .blog-card__thumbnail {
	flex-shrink: 0;
	width: 30%;
	margin: 0;
}
.d-body .blog-card__thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 3px;
}
.d-body .blog-card__body {
	flex-grow: 1;
	min-width: 0;
}
.d-body .blog-card__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}
/* The arrow sits at the card's right edge, after the title and excerpt. */
.d-body .blog-card__inner::after {
	content: "›";
	flex-shrink: 0;
	font-size: 32px;
	line-height: 1;
	color: var(--d-blue-l);
}
.d-body .blog-card__excerpt:empty {
	display: none;
}
@media (max-width: 600px) {
	.d-body .blog-card__inner {
		gap: 12px;
		padding: 12px;
	}
	.d-body .blog-card__title {
		font-size: 14px;
	}
	.d-body .blog-card__inner::after {
		font-size: 26px;
	}
}
/* 傍楽について (/profile) */
/* 01: 「働くを傍楽に」 large, the three promises as numbered cards in the
   logo's three colours, and the word's origin in a pale box. */
.d-page--profile .d-psec--mission .d-psec__body {
	counter-reset: d-promise;
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:first-child p {
	margin: 0 0 32px;
	text-align: left;
	font-family: var(--d-zen);
	font-weight: 900;
	line-height: 1.3;
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:first-child .epb-font-size {
	font-size: 52px !important;
	letter-spacing: 0.06em;
}
.d-page--profile .d-body .d-psec--mission mark {
	background: none !important;
	color: var(--d-blue);
}
.d-page--profile .d-body .d-psec--mission mark.has-orange-color {
	color: var(--d-orange);
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:nth-child(-n + 4):not(:first-child) {
	margin: 0 0 12px;
	--d-promise: var(--d-blue);
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:nth-child(3):not(:first-child) {
	--d-promise: var(--d-orange);
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:nth-child(4):not(:first-child) {
	--d-promise: var(--d-red);
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:nth-child(-n + 4):not(:first-child) p {
	position: relative;
	margin: 0;
	padding: 20px 26px 20px 84px;
	border: 1px solid #dde3ec;
	border-left: 5px solid var(--d-promise);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	text-align: left;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.75;
	word-break: auto-phrase;
	counter-increment: d-promise;
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:nth-child(-n + 4):not(:first-child) p::before {
	content: counter(d-promise, decimal-leading-zero);
	position: absolute;
	top: 50%;
	left: 24px;
	transform: translateY(-50%);
	color: var(--d-promise);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 30px;
	line-height: 1;
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:has(> hr) {
	display: none;
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > p {
	margin: 0;
	padding: 0 32px 1em;
	border-left: 5px solid var(--d-blue);
	background: var(--d-pale);
	line-height: 1.95;
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > p:first-of-type {
	margin-top: 40px;
	padding-top: 28px;
	border-radius: 0 10px 0 0;
}
.d-page--profile .d-body .d-psec--mission .d-psec__body > p:last-of-type {
	padding-bottom: 28px;
	border-radius: 0 0 10px 0;
}
/* 02: the box as a white card, its headline as a large heading, the
   photo beside the first paragraphs, the key sentence set apart and the
   closing paragraph on deep blue. */
.d-page--profile .d-body .d-psec--vision .epb-box {
	margin: 0;
	border: 0;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-page--profile .d-body .d-psec--vision .epb-box__headline {
	display: block;
	padding: 40px 44px 0;
	background: none !important;
	color: var(--d-text) !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 30px !important;
	line-height: 1.5 !important;
}
.d-page--profile .d-psec--vision .epb-box__headline::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin-top: 16px;
	border-radius: 2px;
	background: var(--d-orange);
}
.d-page--profile .d-body .d-psec--vision .epb-box__body {
	padding: 28px 44px 44px;
}
.d-page--profile .d-body .d-psec--vision .epb-box__body figure {
	float: left;
	width: 44%;
	margin: 6px 28px 16px 0;
}
.d-page--profile .d-psec--vision .epb-box__body figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}
.d-page--profile .d-body .d-psec--vision .epb-box__body p {
	line-height: 1.95;
}
.d-page--profile .d-body .d-psec--vision .epb-box__body > p:nth-of-type(3) {
	clear: both;
	margin: 32px 0;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.6;
}
.d-page--profile .d-body .d-psec--vision .epb-box__body > p:last-of-type {
	margin: 32px 0 0;
	padding: 26px 30px;
	border-radius: 10px;
	background: var(--d-blue);
	color: #fff;
	font-weight: 700;
}
/* 03: each table as a card under its name in a coloured band, the labels
   in a pale column. */
.d-page--profile .d-body .d-psec--outline h3 {
	margin: 48px 0 0;
	padding: 14px 24px;
	border: 0;
	border-radius: 10px 10px 0 0;
	background: var(--d-blue);
	color: #fff;
	font-size: 19px;
}
.d-page--profile .d-body .d-psec--outline h3:first-child {
	margin-top: 0;
}
.d-page--profile .d-body .d-psec--outline h3:nth-of-type(2) {
	background: var(--d-orange);
}
.d-page--profile .d-body .d-psec--outline .wp-block-table {
	margin: 0;
	overflow: visible;
}
.d-page--profile .d-body .d-psec--outline table {
	margin: 0;
	border: 1px solid #dde3ec;
	border-top: 0;
	border-radius: 0 0 10px 10px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
}
.d-page--profile .d-body .d-psec--outline td {
	padding: 16px 24px;
	border: 0;
	vertical-align: middle;
}
.d-page--profile .d-body .d-psec--outline tr + tr td {
	border-top: 1px solid #e5eaf2;
}
.d-page--profile .d-body .d-psec--outline td:first-child {
	width: 140px;
	background: var(--d-pale);
	color: var(--d-blue);
	font-weight: 700;
	letter-spacing: 0.08em;
}
.d-page--profile .d-body .d-psec--outline .d-paren {
	color: var(--d-gray);
	font-size: 13.5px;
}
/* 04: the link to 代表プロフィール as a white card, the photo small in a
   circle beside its title and an arrow. */
.d-page--profile .d-body .d-psec--rep .emdash-html-block {
	margin: 0;
}
.d-page--profile .d-body .d-psec--rep .epb-linkcard_link {
	display: block;
	color: var(--d-text);
	text-decoration: none;
}
.d-page--profile .d-psec--rep .epb-linkcard_inner {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr) 52px;
	align-items: center;
	gap: 32px;
	padding: 28px 32px !important;
	border: 0 !important;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	transition: transform 0.2s, box-shadow 0.2s;
}
.d-page--profile .d-psec--rep .epb-linkcard_link:hover .epb-linkcard_inner {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(23, 72, 156, 0.12);
}
.d-page--profile .d-body .d-psec--rep .epb-linkcard__thumbnail {
	width: 160px;
	height: 160px;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	background: var(--d-pale);
}
.d-page--profile .d-psec--rep .epb-linkcard__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
}
.d-page--profile .d-psec--rep .epb-linkcard_title {
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 26px;
	line-height: 1.5;
}
.d-page--profile .d-psec--rep .epb-linkcard_inner::after {
	content: "";
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 24px no-repeat, var(--d-blue);
}
@media (max-width: 760px) {
	.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:first-child .epb-font-size {
		font-size: 38px !important;
	}
	.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:nth-child(-n + 4):not(:first-child) p {
		padding: 16px 18px 16px 62px;
		font-size: 15.5px;
	}
	.d-page--profile .d-body .d-psec--mission .d-psec__body > .emdash-html-block:nth-child(-n + 4):not(:first-child) p::before {
		left: 16px;
		font-size: 24px;
	}
	.d-page--profile .d-body .d-psec--mission .d-psec__body > p {
		padding: 0 20px 1em;
	}
	.d-page--profile .d-body .d-psec--mission .d-psec__body > p:first-of-type {
		padding-top: 22px;
	}
	.d-page--profile .d-body .d-psec--mission .d-psec__body > p:last-of-type {
		padding-bottom: 22px;
	}
	.d-page--profile .d-body .d-psec--vision .epb-box__headline {
		padding: 28px 22px 0;
		font-size: 22px !important;
	}
	.d-page--profile .d-body .d-psec--vision .epb-box__body {
		padding: 22px 22px 26px;
	}
	.d-page--profile .d-body .d-psec--vision .epb-box__body figure {
		float: none;
		width: 100%;
		margin: 0 0 20px;
	}
	.d-page--profile .d-body .d-psec--vision .epb-box__body > p:nth-of-type(3) {
		font-size: 19px;
	}
	.d-page--profile .d-body .d-psec--vision .epb-box__body > p:last-of-type {
		padding: 20px;
	}
	.d-page--profile .d-body .d-psec--outline td {
		padding: 12px 14px;
		font-size: 14px;
	}
	.d-page--profile .d-body .d-psec--outline td:first-child {
		width: 84px;
		letter-spacing: 0.04em;
	}
	.d-page--profile .d-psec--rep .epb-linkcard_inner {
		grid-template-columns: 88px minmax(0, 1fr) 40px;
		gap: 16px;
		padding: 18px !important;
	}
	.d-page--profile .d-body .d-psec--rep .epb-linkcard__thumbnail {
		width: 88px;
		height: 88px;
	}
	.d-page--profile .d-psec--rep .epb-linkcard_title {
		font-size: 18px;
	}
	.d-page--profile .d-psec--rep .epb-linkcard_inner::after {
		width: 40px;
		height: 40px;
		background-size: 20px, auto;
	}
}
/* 代表プロフィール (/uchino) */
/* The profile card above the sections: the photo in a white ring beside
   the name, the titles as chips (the first filled) and the SNS links as
   round buttons in their own colours. */
.d-page--uchino .d-body > .emdash-html-block:first-child {
	margin: 16px 0 64px;
}
.d-page--uchino .epb-profile-card .is-style-epb-column__two-left {
	display: grid;
	grid-template-columns: 240px minmax(0, 380px);
	justify-content: center;
	align-items: center;
	gap: 64px;
	padding: 56px 64px;
	border-radius: 16px;
	background: var(--d-pale);
}
.d-page--uchino .epb-profile-card__icon {
	text-align: center;
}
/* The figure keeps the block's inline 200px width, which left the photo
   off the column's centre under the name. */
.d-page--uchino .d-body .epb-profile-card__icon figure {
	width: auto !important;
	height: auto !important;
	margin: 0;
}
.d-page--uchino .epb-profile-card__img {
	display: block;
	width: 220px !important;
	height: 220px !important;
	margin: 0 auto;
	border: 6px solid #fff !important;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 8px 24px rgba(23, 72, 156, 0.12);
}
.d-page--uchino .d-body .epb-profile-card__name {
	margin-top: 20px;
	color: var(--d-text);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 30px;
	letter-spacing: 0.12em;
	text-indent: 0.12em;
	line-height: 1.3;
}
.d-page--uchino .d-body .epb-profile-card__text {
	display: none;
}
.d-page--uchino .d-body .epb-profile-card__body ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-page--uchino .d-body .epb-profile-card__body li {
	margin: 0;
	padding: 9px 20px;
	border: 2px solid var(--d-blue);
	border-radius: 999px;
	background: #fff;
	color: var(--d-blue);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
}
.d-page--uchino .d-body .epb-profile-card__body li:first-child {
	background: var(--d-blue);
	color: #fff;
}
/* 近江商人研究家・写真家・作曲家 on a row of their own: a full-width break
   ordered before them (its extra row gap taken back). */
.d-page--uchino .d-body .epb-profile-card__body ul::after {
	content: "";
	flex-basis: 100%;
	order: 1;
}
.d-page--uchino .d-body .epb-profile-card__body li:nth-child(n + 5) {
	order: 2;
	margin-top: -12px;
}
.d-page--uchino .epb-profile-card__sns {
	margin-top: 32px;
}
.d-page--uchino .d-body .epb-profile-card__row {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-page--uchino .d-body .epb-profile__item {
	margin: 0;
}
.d-page--uchino .d-body .epb-profile__item a {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--d-blue);
	color: #fff;
	font-size: 20px;
	text-decoration: none;
	transition: transform 0.2s;
}
.d-page--uchino .epb-profile__item a:hover {
	transform: translateY(-3px);
}
.d-page--uchino .d-body .epb-twitter-color a {
	background: #000;
}
.d-page--uchino .d-body .epb-facebook-color a {
	background: #1877f2;
}
.d-page--uchino .d-body .epb-instagram-color a {
	background: #e1306c;
}
.d-page--uchino .d-body .epb-youtube-color a {
	background: #f00;
}
/* 経歴: a timeline down the page, the year large on the left of a line of
   orange dots; the steps without a year get a hollow dot. */
.d-page--uchino .d-body .d-psec--career ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-page--uchino .d-body .d-psec--career li {
	position: relative;
	min-height: 32px;
	margin: 0;
	padding: 0 0 28px 156px;
	font-weight: 700;
	line-height: 1.7;
}
.d-page--uchino .d-psec--career li::before {
	content: "";
	position: absolute;
	top: 0.42em;
	left: 112px;
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	border: 4px solid var(--d-orange);
	border-radius: 50%;
	background: var(--d-orange);
	z-index: 1;
}
.d-page--uchino .d-psec--career li:not(:has(.d-year))::before {
	background: #fff;
}
.d-page--uchino .d-psec--career li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 0.9em;
	bottom: -0.42em;
	left: 119px;
	width: 2px;
	background: #f3c2aa;
}
.d-page--uchino .d-psec--career .d-year {
	position: absolute;
	top: -0.12em;
	left: 0;
	width: 92px;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 24px;
	line-height: 1.4;
	text-align: right;
}
/* 資格: each one as a white card with a medal mark, two to a row. */
.d-page--uchino .d-body .d-psec--license ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.d-page--uchino .d-body .d-psec--license li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 20px 22px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	font-weight: 700;
	line-height: 1.6;
	word-break: auto-phrase;
}
.d-page--uchino .d-psec--license li::before {
	content: "";
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.5 14l-1.5 8 5-3 5 3-1.5-8'/%3E%3C/svg%3E") center / 24px no-repeat, var(--d-orange);
}
.d-page--uchino .d-psec--license li:first-child::before {
	background-color: var(--d-blue);
}
/* 特定社会保険労務士 alone on the first row. */
.d-page--uchino .d-body .d-psec--license li:first-child {
	grid-column: 1 / -1;
}
/* 所属団体: a list of rows, each with a building mark, split by lines. */
.d-page--uchino .d-body .d-psec--member ul {
	margin: 0;
	padding: 0;
	border-top: 1px solid #dde3ec;
	list-style: none;
}
.d-page--uchino .d-body .d-psec--member li {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 18px 8px;
	border-bottom: 1px solid #dde3ec;
	font-weight: 700;
	line-height: 1.6;
}
.d-page--uchino .d-psec--member li::before {
	content: "";
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317489c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V10l7-5 7 5v11M9 21v-6h6v6'/%3E%3C/svg%3E") center / 22px no-repeat, var(--d-pale);
}
/* その他の活動: each activity under its heading with a round mark of its
   own, split by a line; the photos smaller with round corners, the link
   cards as white cards with the picture on the left and an arrow. */
.d-page--uchino .d-body .d-psec--activities h3 {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 56px 0 24px;
	padding: 48px 0 0;
	border: 0;
	border-top: 1px solid #dde3ec;
	font-size: 26px;
	--d-act: var(--d-blue);
	--d-act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V7l8-4 8 4v14M2 21h20M9 21v-5h6v5M8 10h2M14 10h2'/%3E%3C/svg%3E");
}
.d-page--uchino .d-body .d-psec--activities h3:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.d-page--uchino .d-psec--activities h3::before {
	content: "";
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--d-act-icon) center / 26px no-repeat, var(--d-act);
}
.d-page--uchino .d-body .d-psec--activities h3:nth-of-type(2) {
	--d-act: var(--d-orange);
	--d-act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l11-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='17' cy='16' r='3'/%3E%3C/svg%3E");
}
.d-page--uchino .d-body .d-psec--activities h3:nth-of-type(3) {
	--d-act: var(--d-red);
	--d-act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h4l2-3h6l2 3h4v12H3z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E");
}
.d-page--uchino .d-body .d-psec--activities h3:nth-of-type(4) {
	--d-act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20l7-12 4 6 3-4 6 10z'/%3E%3C/svg%3E");
}
.d-page--uchino .d-body .d-psec--activities h3:nth-of-type(5) {
	--d-act: var(--d-orange);
	--d-act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.4l-5.3 3 1.2-6-4.5-4.1 6-.7z'/%3E%3C/svg%3E");
}
.d-page--uchino .d-body .d-psec--activities figure.emdash-image {
	width: fit-content;
	max-width: 100%;
}
.d-page--uchino .d-body .d-psec--activities figure.emdash-image img {
	display: block;
	border-radius: 10px;
}
.d-page--uchino .d-body .d-psec--activities .emdash-gallery-item img {
	border-radius: 6px;
}
.d-page--uchino .d-body .d-psec--activities .emdash-html-block:has(.epb-linkcard) {
	margin: 0 0 1.5em;
}
.d-page--uchino .d-psec--activities .epb-linkcard {
	position: relative;
}
.d-page--uchino .d-psec--activities .epb-linkcard_label {
	position: absolute;
	top: 24px;
	left: 168px;
	z-index: 1;
	color: var(--d-blue);
	font-weight: 700;
	font-size: 13px !important;
	letter-spacing: 0.08em !important;
	line-height: 1.4;
	pointer-events: none;
}
/* The label carries the icon class, which masks the element itself to the
   icon (icons.css): the mask taken off it and the icon drawn before the
   text instead. */
.d-page--uchino .d-body .d-psec--activities .epb-linkcard_label {
	display: flex;
	align-items: center;
	gap: 6px;
	width: auto;
	height: auto;
	background: none;
	mask: none;
}
.d-page--uchino .d-body .d-psec--activities .epb-linkcard_label::before {
	content: "";
	flex: none;
	width: 1.2em;
	height: 1.2em;
	background: var(--d-orange);
	mask: var(--d-icon) center / contain no-repeat;
}
/* The label icons icons.css has no mark for. */
.d-page--uchino .d-psec--activities .epb-linkcard_label.icon-file-text {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6v20h12V6z'/%3E%3Cpath d='M14 2v4h4M9 13h6M9 17h6'/%3E%3C/svg%3E");
}
.d-page--uchino .d-psec--activities .epb-linkcard_label.icon-music {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l11-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='17' cy='16' r='3'/%3E%3C/svg%3E");
}
.d-page--uchino .d-psec--activities .epb-linkcard_label.icon-youtube {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6.5C3 5 4 4 5.5 4h13C20 4 21 5 21 6.5v11c0 1.5-1 2.5-2.5 2.5h-13C4 20 3 19 3 17.5zM10 8.5v7l6-3.5z'/%3E%3C/svg%3E");
}
.d-page--uchino .d-body .d-psec--activities .epb-linkcard_link {
	display: block;
	color: var(--d-text);
	text-decoration: none;
}
.d-page--uchino .d-psec--activities .epb-linkcard_inner {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr) 44px;
	align-items: center;
	gap: 24px;
	padding: 16px 24px 16px 16px !important;
	border: 0 !important;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	transition: transform 0.2s, box-shadow 0.2s;
}
.d-page--uchino .d-psec--activities .epb-linkcard_link:hover .epb-linkcard_inner {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(23, 72, 156, 0.12);
}
.d-page--uchino .d-body .d-psec--activities .epb-linkcard__thumbnail {
	width: 128px !important;
	height: 128px !important;
	margin: 0;
	border-radius: 10px;
	overflow: hidden;
	background: var(--d-pale);
}
.d-page--uchino .d-psec--activities .epb-linkcard__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	border-radius: 0;
	object-fit: cover;
}
.d-page--uchino .d-psec--activities .epb-linkcard_heading {
	padding-top: 22px;
}
.d-page--uchino .d-psec--activities .epb-linkcard_title {
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 19px !important;
	line-height: 1.5;
}
.d-page--uchino .d-psec--activities .epb-linkcard_inner::after {
	content: "";
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat, var(--d-blue);
}
/* The YouTube cards: the video thumbnail whole at 16:9, and their empty
   label given its name beside a larger red mark. */
.d-page--uchino .d-psec--activities .epb-linkcard:has(.icon-youtube) .epb-linkcard_inner {
	grid-template-columns: 192px minmax(0, 1fr) 44px;
}
.d-page--uchino .d-body .d-psec--activities .epb-linkcard:has(.icon-youtube) .epb-linkcard__thumbnail {
	width: 192px !important;
	height: 108px !important;
}
.d-page--uchino .d-psec--activities .epb-linkcard:has(.icon-youtube) .epb-linkcard_label {
	left: 232px;
}
.d-page--uchino .d-body .d-psec--activities .epb-linkcard_label.icon-youtube::before {
	width: 1.8em;
	height: 1.8em;
	background: #f00;
}
.d-page--uchino .d-psec--activities .epb-linkcard_label.icon-youtube:empty::after {
	content: "YouTube";
}
/* The Instagram card: the photo 内野さん chose in a circle in place of the
   screenshot of the profile page. */
.d-page--uchino .d-body .d-psec--activities .epb-linkcard:has(.icon-instagram) .epb-linkcard__thumbnail {
	border-radius: 50%;
	background: url("uchino-instagram.jpg") center / cover no-repeat;
}
.d-page--uchino .d-psec--activities .epb-linkcard:has(.icon-instagram) .epb-linkcard__img {
	opacity: 0;
}
/* The Instagram and YouTube cards: the label and the title larger. */
.d-page--uchino .d-psec--activities .epb-linkcard:is(:has(.icon-instagram), :has(.icon-youtube)) .epb-linkcard_label {
	font-size: 17px !important;
}
.d-page--uchino .d-body .d-psec--activities .epb-linkcard_label.icon-instagram::before {
	width: 1.6em;
	height: 1.6em;
}
.d-page--uchino .d-psec--activities .epb-linkcard:is(:has(.icon-instagram), :has(.icon-youtube)) .epb-linkcard_heading {
	padding-top: 36px;
}
.d-page--uchino .d-psec--activities .epb-linkcard:is(:has(.icon-instagram), :has(.icon-youtube)) .epb-linkcard_title {
	font-size: 26px !important;
}
@media (max-width: 760px) {
	.d-page--uchino .epb-profile-card .is-style-epb-column__two-left {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding: 36px 20px;
	}
	.d-page--uchino .epb-profile-card__img {
		width: 168px !important;
		height: 168px !important;
	}
	.d-page--uchino .d-body .epb-profile-card__name {
		font-size: 26px;
	}
	.d-page--uchino .d-body .epb-profile-card__body ul,
	.d-page--uchino .d-body .epb-profile-card__row {
		justify-content: center;
	}
	.d-page--uchino .d-body .epb-profile-card__body li {
		padding: 7px 14px;
		font-size: 14px;
	}
	.d-page--uchino .d-body .d-psec--career li {
		padding-left: 40px;
	}
	.d-page--uchino .d-psec--career li::before {
		left: 0;
	}
	.d-page--uchino .d-psec--career li:not(:last-child)::after {
		left: 7px;
	}
	.d-page--uchino .d-psec--career .d-year {
		position: static;
		display: block;
		width: auto;
		font-size: 20px;
		text-align: left;
	}
	.d-page--uchino .d-body .d-psec--license ul {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-page--uchino .d-body .d-psec--activities h3 {
		margin-top: 40px;
		padding-top: 36px;
		font-size: 21px;
	}
	.d-page--uchino .d-psec--activities h3::before {
		width: 44px;
		height: 44px;
		background-size: 22px, auto;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard_label {
		top: 16px;
		left: 108px;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard_inner {
		grid-template-columns: 80px minmax(0, 1fr) 32px;
		gap: 14px;
		padding: 12px 14px 12px 12px !important;
	}
	.d-page--uchino .d-body .d-psec--activities .epb-linkcard__thumbnail {
		width: 80px !important;
		height: 80px !important;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard_title {
		font-size: 15px !important;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard_inner::after {
		width: 32px;
		height: 32px;
		background-size: 16px, auto;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard:has(.icon-youtube) .epb-linkcard_inner {
		grid-template-columns: 112px minmax(0, 1fr) 32px;
	}
	.d-page--uchino .d-body .d-psec--activities .epb-linkcard:has(.icon-youtube) .epb-linkcard__thumbnail {
		width: 112px !important;
		height: 63px !important;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard:has(.icon-youtube) .epb-linkcard_label {
		left: 138px;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard:is(:has(.icon-instagram), :has(.icon-youtube)) .epb-linkcard_label {
		font-size: 15px !important;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard:is(:has(.icon-instagram), :has(.icon-youtube)) .epb-linkcard_heading {
		padding-top: 32px;
	}
	.d-page--uchino .d-psec--activities .epb-linkcard:is(:has(.icon-instagram), :has(.icon-youtube)) .epb-linkcard_title {
		font-size: 19px !important;
	}
}

/* チーム傍楽 (/teamhataraku) */
/* The lead above the sections: the picture with round corners, the two
   worries as speech bubbles from their askers on either side, the answer
   centred with its key phrases marked, and the button down to the plans. */
.d-page--teamhataraku .d-body > figure:first-child {
	width: 100%;
	margin: 8px 0 56px;
}
.d-page--teamhataraku .d-body > figure:first-child img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.d-page--teamhataraku .epb-underline-red {
	background: linear-gradient(transparent 60%, rgba(233, 85, 19, 0.28) 0);
}
.d-page--teamhataraku .d-body > .emdash-html-block:has(> .epb-balloon) {
	max-width: 760px;
	margin: 0 auto 20px;
}
.d-page--teamhataraku .epb-balloon {
	display: flex;
	align-items: center;
	gap: 24px;
}
.d-page--teamhataraku .epb-balloon__icon {
	flex: none;
}
.d-page--teamhataraku .epb-balloon__icon figure {
	margin: 0;
}
.d-page--teamhataraku .epb-balloon__img {
	display: block;
	width: 80px;
	height: 80px;
	border: 3px solid #fff !important;
	border-radius: 50%;
	background: #fff;
	object-fit: contain;
	box-shadow: 0 6px 16px rgba(23, 72, 156, 0.12);
}
.d-page--teamhataraku .epb-balloon__content {
	flex: 1;
	min-width: 0;
}
/* The pale bubbles need no border (the balloon rules above add one). */
.d-page--teamhataraku .d-body .epb-balloon__speech .epb-balloon__text {
	position: relative;
	padding: 20px 28px;
	border: 0 !important;
	border-radius: 16px;
	background: var(--d-pale) !important;
}
.d-page--teamhataraku .d-body .epb-balloon__text p {
	margin: 0;
	color: var(--d-text) !important;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.7;
}
.d-page--teamhataraku .d-body .epb-balloon__speech .epb-balloon__text .epb-balloon__before {
	position: absolute;
	top: 50%;
	left: -14px;
	margin-top: -10px;
	border-style: solid;
	border-width: 10px 14px 10px 0;
	border-color: transparent var(--d-pale) transparent transparent !important;
}
.d-page--teamhataraku .epb-balloon__after {
	display: none;
}
.d-page--teamhataraku .d-body > .emdash-html-block:has(> .epb-balloon) + .emdash-html-block > .epb-balloon {
	flex-direction: row-reverse;
}
.d-page--teamhataraku .d-body .emdash-html-block:has(> .epb-balloon) + .emdash-html-block .epb-balloon__text .epb-balloon__before {
	left: auto;
	right: -14px;
	border-width: 10px 0 10px 14px;
	border-color: transparent transparent transparent var(--d-pale) !important;
}
.d-page--teamhataraku .d-body > .emdash-html-block > p.has-text-align-center {
	margin: 0 0 1.2em;
	font-size: 17px;
	line-height: 2;
	text-align: center;
}
.d-page--teamhataraku .d-body > .emdash-html-block:has(> .epb-balloon) + .emdash-html-block:not(:has(> .epb-balloon)) > p {
	margin-top: 48px;
}
.d-page--teamhataraku .d-body > .wp-block-buttons {
	justify-content: center;
	margin: 40px 0 0;
}
.d-page--teamhataraku .d-body > .wp-block-buttons .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-width: 320px;
	padding: 20px 40px;
	background: var(--d-blue) !important;
	color: #fff;
	font-size: 17px;
	line-height: 1.4;
	transition: filter 0.2s;
}
.d-page--teamhataraku .d-body > .wp-block-buttons .wp-block-button__link:hover {
	filter: brightness(1.15);
}
.d-page--teamhataraku .d-body > .wp-block-buttons .wp-block-button__link::after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}
/* こんな人におすすめ！: each case as a pale card with an orange check, then
   the answer to them larger. */
.d-page--teamhataraku .d-body .d-psec--recommend ul {
	display: grid;
	gap: 12px;
	margin: 0 0 40px;
	padding: 0;
	border: 0 !important;
	background: none !important;
	list-style: none;
}
.d-page--teamhataraku .d-body .d-psec--recommend li {
	position: relative;
	margin: 0;
	padding: 20px 24px 20px 72px;
	border-radius: 12px;
	background: var(--d-pale);
	font-size: 16.5px;
	line-height: 1.7;
}
.d-page--teamhataraku .d-psec--recommend li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 24px;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 16.5l5 5 9-10'/%3E%3C/svg%3E") center / 100% no-repeat, var(--d-orange);
}
.d-page--teamhataraku .d-body .d-psec--recommend .emdash-html-block + p {
	margin: 0 0 0.8em;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 21px;
	line-height: 1.7;
}
.d-page--teamhataraku .d-body .d-psec--recommend .d-psec__body > p:last-child {
	margin: 0;
}
/* サービス内容: each service under a numbered heading with its icon in a blue
   circle, the delivered topics as white rows, the picture beside the text
   and the plans as a table of marks. */
.d-page--teamhataraku .d-psec--services .d-psec__body {
	counter-reset: d-team;
}
.d-page--teamhataraku .d-body .d-psec--services h3 {
	position: relative;
	min-height: 64px;
	margin: 56px 0 24px;
	padding: 58px 0 0 84px;
	border: 0;
	border-top: 1px solid var(--d-line-2);
	color: var(--d-blue);
	font-size: 26px;
	line-height: 1.4;
	counter-increment: d-team;
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='12' width='32' height='24' rx='3'/%3E%3Cpath d='M8 15l16 12 16-12'/%3E%3C/svg%3E");
}
.d-page--teamhataraku .d-body .d-psec--services h3:nth-of-type(2) {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 8v21M15 20l9 9 9-9M10 32v6h28v-6'/%3E%3C/svg%3E");
}
.d-page--teamhataraku .d-body .d-psec--services h3:nth-of-type(3) {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 11h26a3 3 0 0 1 3 3v15a3 3 0 0 1-3 3H22l-8 6v-6h-3a3 3 0 0 1-3-3V14a3 3 0 0 1 3-3z'/%3E%3Cpath d='M17 21.5h0M24 21.5h0M31 21.5h0'/%3E%3C/svg%3E");
}
.d-page--teamhataraku .d-body .d-psec--services h3:nth-of-type(4) {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 7h15l8 8v26H13z'/%3E%3Cpath d='M28 7v8h8M19 24h11M19 31h8'/%3E%3C/svg%3E");
}
.d-page--teamhataraku .d-psec--services h3::before {
	content: "";
	position: absolute;
	top: 34px;
	left: 0;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--d-icon) center / 38px no-repeat, var(--d-blue);
}
.d-page--teamhataraku .d-psec--services h3::after {
	content: "SERVICE " counter(d-team, decimal-leading-zero);
	position: absolute;
	top: 32px;
	left: 84px;
	color: var(--d-orange);
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 1.6;
}
.d-page--teamhataraku .d-body .d-psec--services h3 + p,
.d-page--teamhataraku .d-body .d-psec--services .wp-block-media-text__content > p:first-child {
	font-weight: 700;
	font-size: 17px;
}
.d-page--teamhataraku .d-body .d-psec--services ul {
	display: grid;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	border: 0 !important;
	background: none !important;
	list-style: none;
}
.d-page--teamhataraku .d-body .d-psec--services li {
	position: relative;
	margin: 0;
	padding: 14px 20px 14px 46px;
	border-radius: 8px;
	background: #fff;
	font-weight: 700;
	line-height: 1.6;
}
.d-page--teamhataraku .d-psec--services li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 22px;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	background: var(--d-blue);
}
.d-page--teamhataraku .d-psec--services .epb-advanced-buttons {
	margin: 8px 0 0;
}
.d-page--teamhataraku .d-psec--services .epb-advanced-button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 16px 32px;
	border: 2px solid var(--d-blue);
	background: #fff;
	color: var(--d-blue) !important;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.4;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}
.d-page--teamhataraku .d-psec--services .epb-advanced-button:hover {
	background: var(--d-blue);
	color: #fff !important;
}
/* Its text carries an Emanon icon class, which icons.css would draw as a
   1em square: the text as it is, with a chevron after it. */
.d-design.d-design .d-page--teamhataraku .epb-advanced-button__text {
	display: inline;
	width: auto;
	height: auto;
	background: none;
	-webkit-mask: none;
	mask: none;
}
.d-page--teamhataraku .d-psec--services .epb-advanced-button::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}
.d-page--teamhataraku .d-psec--services .wp-block-media-text {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) !important;
	gap: 32px;
	align-items: start;
}
.d-page--teamhataraku .d-psec--services .wp-block-media-text__media {
	margin: 0;
	padding: 12px;
	border-radius: 12px;
	background: #fff;
}
.d-page--teamhataraku .d-psec--services .wp-block-media-text__media img {
	display: block;
	width: 100%;
	height: auto;
}
.d-page--teamhataraku .d-body .d-psec--services .wp-block-media-text__content > p:last-child {
	margin-bottom: 0;
}
/* The plans: the services down the left, a mark under each plan (◎ and ○
   orange rings, × a grey cross) with its limit below. */
.d-page--teamhataraku .d-psec--services .wp-block-table {
	margin: 32px 0 0;
	scroll-margin-top: 24px;
}
.d-page--teamhataraku .d-psec--services .wp-block-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-page--teamhataraku .d-psec--services .wp-block-table th {
	padding: 18px 12px;
	border: 0;
	background: var(--d-blue);
	color: #fff;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
}
.d-page--teamhataraku .d-psec--services .wp-block-table th:first-child {
	width: 34%;
	padding-left: 24px;
	text-align: left;
}
.d-page--teamhataraku .d-psec--services .wp-block-table th + th {
	border-left: 1px solid rgba(255, 255, 255, 0.25);
}
.d-page--teamhataraku .d-psec--services .wp-block-table td {
	padding: 16px 12px;
	border: 0;
	border-top: 1px solid var(--d-line-3);
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
}
.d-page--teamhataraku .d-psec--services .wp-block-table td:first-child {
	padding-left: 24px;
	font-weight: 700;
	text-align: left;
}
.d-page--teamhataraku .d-psec--services .wp-block-table td + td {
	border-left: 1px solid var(--d-line-3);
}
.d-page--teamhataraku .d-psec--services .wp-block-table .d-paren {
	font-weight: 500;
	font-size: 13px;
}
.d-page--teamhataraku .epb-table-icon-double-circle,
.d-page--teamhataraku .epb-table-icon-circle,
.d-page--teamhataraku .epb-table-icon-close {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	color: var(--d-orange);
	font-weight: 700;
	font-size: 13.5px;
	line-height: 1.4;
}
.d-page--teamhataraku .epb-table-icon-double-circle::before,
.d-page--teamhataraku .epb-table-icon-circle::before,
.d-page--teamhataraku .epb-table-icon-close::before {
	content: "";
	width: 26px;
	height: 26px;
	box-sizing: border-box;
	border: 3px solid var(--d-orange);
	border-radius: 50%;
}
.d-page--teamhataraku .epb-table-icon-double-circle::before {
	box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 7px var(--d-orange);
}
.d-page--teamhataraku .epb-table-icon-close::before {
	width: 22px;
	height: 22px;
	border: 0;
	border-radius: 0;
	background:
		linear-gradient(45deg, transparent calc(50% - 1.5px), #b3b9bf 0 calc(50% + 1.5px), transparent 0),
		linear-gradient(-45deg, transparent calc(50% - 1.5px), #b3b9bf 0 calc(50% + 1.5px), transparent 0);
}
/* お申込みはこちらから: the four points as cards, two to a row, each with its
   icon; the yearly saving in orange. */
.d-page--teamhataraku .d-body .d-psec--apply ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 32px 0 0;
	padding: 0;
	border: 0 !important;
	background: none !important;
	list-style: none;
}
.d-page--teamhataraku .d-body .d-psec--apply li {
	position: relative;
	margin: 0;
	padding: 84px 24px 24px;
	border: 1px solid #dde3ec;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	line-height: 1.8;
	--d-apply: var(--d-blue);
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='12' width='34' height='24' rx='3'/%3E%3Cpath d='M7 19h34M13 29h8'/%3E%3C/svg%3E");
}
.d-page--teamhataraku .d-body .d-psec--apply li:nth-child(2) {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='12' width='32' height='24' rx='3'/%3E%3Cpath d='M8 15l16 12 16-12'/%3E%3C/svg%3E");
}
.d-page--teamhataraku .d-body .d-psec--apply li:nth-child(3) {
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10H11v28h10M28 16l8 8-8 8M36 24H18'/%3E%3C/svg%3E");
}
.d-page--teamhataraku .d-body .d-psec--apply li:nth-child(4) {
	--d-apply: var(--d-orange);
	--d-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M25 8h14v14L23 38 10 25z'/%3E%3Ccircle cx='32' cy='15' r='2.5'/%3E%3C/svg%3E");
	border-color: rgba(233, 85, 19, 0.35);
}
.d-page--teamhataraku .d-psec--apply li::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 24px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--d-icon) center / 28px no-repeat, var(--d-apply);
}
.d-page--teamhataraku .d-psec--apply li strong {
	color: var(--d-apply);
}
@media (max-width: 760px) {
	.d-page--teamhataraku .d-body > figure:first-child {
		margin: 0 0 32px;
	}
	.d-page--teamhataraku .d-body > figure:first-child img {
		border-radius: 10px;
	}
	.d-page--teamhataraku .epb-balloon {
		gap: 14px;
	}
	.d-page--teamhataraku .epb-balloon__img {
		width: 60px;
		height: 60px;
	}
	.d-page--teamhataraku .d-body .epb-balloon__speech .epb-balloon__text {
		padding: 14px 18px;
		border-radius: 12px;
	}
	.d-page--teamhataraku .d-body .epb-balloon__text p {
		font-size: 15px;
	}
	.d-page--teamhataraku .d-body > .emdash-html-block > p.has-text-align-center {
		font-size: 15.5px;
		line-height: 1.9;
		text-align: left;
	}
	.d-page--teamhataraku .d-body > .emdash-html-block > p.has-text-align-center br {
		display: none;
	}
	.d-page--teamhataraku .d-body > .emdash-html-block:has(> .epb-balloon) + .emdash-html-block:not(:has(> .epb-balloon)) > p {
		margin-top: 32px;
	}
	.d-page--teamhataraku .d-body > .wp-block-buttons {
		margin-top: 28px;
	}
	.d-page--teamhataraku .d-body > .wp-block-buttons .wp-block-button {
		width: 100%;
	}
	.d-page--teamhataraku .d-body > .wp-block-buttons .wp-block-button__link {
		width: 100%;
		min-width: 0;
		padding: 18px 20px;
		box-sizing: border-box;
	}
	.d-page--teamhataraku .d-body .d-psec--recommend li {
		padding: 16px 16px 16px 56px;
		font-size: 15.5px;
	}
	.d-page--teamhataraku .d-psec--recommend li::before {
		left: 14px;
		width: 28px;
		height: 28px;
		margin-top: -14px;
	}
	.d-page--teamhataraku .d-body .d-psec--recommend .emdash-html-block + p {
		font-size: 18px;
	}
	.d-page--teamhataraku .d-body .d-psec--services h3 {
		min-height: 52px;
		margin: 48px 0 20px;
		padding: 50px 0 0 66px;
		font-size: 21px;
	}
	.d-page--teamhataraku .d-psec--services h3::before {
		top: 30px;
		width: 52px;
		height: 52px;
		background-size: 30px, auto;
	}
	.d-page--teamhataraku .d-psec--services h3::after {
		top: 26px;
		left: 66px;
		font-size: 12.5px;
	}
	.d-page--teamhataraku .d-body .d-psec--services h3 + p,
	.d-page--teamhataraku .d-body .d-psec--services .wp-block-media-text__content > p:first-child {
		font-size: 16px;
	}
	.d-page--teamhataraku .d-psec--services .epb-advanced-button {
		display: flex;
		justify-content: center;
		padding: 16px 20px;
	}
	.d-page--teamhataraku .d-psec--services .wp-block-media-text {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 20px;
	}
	.d-page--teamhataraku .d-psec--services .wp-block-media-text__media {
		width: 180px;
		margin: 0 auto;
	}
	.d-page--teamhataraku .d-psec--services .wp-block-table th {
		padding: 12px 4px;
		font-size: 13px;
	}
	.d-page--teamhataraku .d-psec--services .wp-block-table th:first-child {
		width: 31%;
		padding-left: 10px;
	}
	.d-page--teamhataraku .d-psec--services .wp-block-table td {
		padding: 12px 4px;
		font-size: 13px;
	}
	.d-page--teamhataraku .d-psec--services .wp-block-table td:first-child {
		padding-left: 10px;
	}
	.d-page--teamhataraku .d-psec--services .wp-block-table .d-paren {
		display: block;
		font-size: 11.5px;
	}
	.d-page--teamhataraku .epb-table-icon-double-circle,
	.d-page--teamhataraku .epb-table-icon-circle,
	.d-page--teamhataraku .epb-table-icon-close {
		font-size: 11.5px;
	}
	.d-page--teamhataraku .epb-table-icon-double-circle::before,
	.d-page--teamhataraku .epb-table-icon-circle::before {
		width: 22px;
		height: 22px;
	}
	.d-page--teamhataraku .epb-table-icon-double-circle::before {
		box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 6px var(--d-orange);
	}
	.d-page--teamhataraku .epb-table-icon-close::before {
		width: 18px;
		height: 18px;
	}
	.d-page--teamhataraku .d-body .d-psec--apply ul {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.d-page--teamhataraku .d-body .d-psec--apply li {
		padding: 20px 18px 20px 82px;
		min-height: 48px;
	}
	.d-page--teamhataraku .d-psec--apply li::before {
		top: 20px;
		left: 18px;
	}
}

/* 料金案内 (/price) */
/* The note above the sections as a small pale label. */
.d-page--price .d-body > p:first-child {
	display: inline-block;
	margin: 0 0 8px;
	padding: 6px 16px;
	border-radius: 999px;
	background: var(--d-pale);
	color: var(--d-blue);
	font-size: 14px;
	font-weight: 700;
}
/* Each price table as a white card with a blue heading row. */
.d-page--price .d-body .d-psec__body .wp-block-table {
	margin: 0 0 20px;
	border: 1px solid var(--d-line-3);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
.d-page--price .d-body .d-psec__body .wp-block-table table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}
.d-page--price .d-body .d-psec__body .wp-block-table th {
	padding: 14px 12px;
	border: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	background: var(--d-blue);
	color: #fff;
	font-family: var(--d-zen);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	vertical-align: middle;
}
.d-page--price .d-body .d-psec__body .wp-block-table th:first-child {
	border-left: 0;
}
.d-page--price .d-body .d-psec__body .wp-block-table td {
	padding: 14px 12px;
	border: 0;
	border-top: 1px solid var(--d-line-3);
	border-left: 1px solid var(--d-line-3);
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	vertical-align: middle;
}
/* The first column names the item: dark text on the pale blue. */
.d-page--price .d-body .d-psec__body .wp-block-table td:first-child {
	border-left: 0;
	background: var(--d-pale);
	color: var(--d-text);
	font-size: 15px;
	text-align: left;
}
.d-page--price .d-body .d-psec__body .wp-block-table tbody tr:first-child td {
	border-top: 0;
}
.d-page--price .d-psec__body .wp-block-table .d-paren {
	font-size: 13px;
	font-weight: 500;
}
/* The notes under a table, small and grey with ※. */
.d-page--price .d-body .d-psec__body > ul.wp-block-list {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.d-page--price .d-body .d-psec__body > ul.wp-block-list li {
	position: relative;
	margin: 0 0 4px;
	padding-left: 1.3em;
	color: var(--d-gray);
	font-size: 13.5px;
	line-height: 1.8;
}
.d-page--price .d-psec__body > ul.wp-block-list li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
.d-page--price .d-body .d-psec__body > p {
	margin: 0 0 20px;
	color: var(--d-gray);
	font-size: 13.5px;
	line-height: 1.8;
}
/* サービス詳細はこちら: the box as a link card to the service page. */
.d-page--price .d-body .d-psec__body .epb-box {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 28px 0 0;
	padding: 18px 72px 18px 24px;
	border: 1px solid var(--d-line-3) !important;
	border-radius: 12px;
	background: #fff !important;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	transition: border-color 0.2s;
}
.d-page--price .d-body .d-psec__body .epb-box:hover {
	border-color: var(--d-blue) !important;
}
.d-page--price .d-body .d-psec__body .epb-box .epb-box__headline {
	flex: none;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--d-pale) !important;
	color: var(--d-blue) !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
	letter-spacing: 0.05em;
}
.d-page--price .d-body .d-psec__body .epb-box .epb-box__body {
	padding: 0;
}
.d-page--price .d-body .d-psec__body .epb-box p {
	margin: 0;
}
.d-page--price .d-body .d-psec__body .epb-box a {
	color: var(--d-text);
	font-family: var(--d-zen);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}
/* The whole card is the link; the arrow in a blue circle on the right. */
.d-page--price .d-psec__body .epb-box a::before {
	content: "";
	position: absolute;
	inset: 0;
}
.d-page--price .d-psec__body .epb-box a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 24px;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	border-radius: 50%;
	background: var(--d-blue) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center / 16px no-repeat;
}
/* その他の業務: each h3 with a short orange bar. */
.d-page--price .d-body .d-psec__body > h3 {
	margin: 44px 0 16px;
	padding: 0 0 0 14px;
	border: 0;
	border-left: 4px solid var(--d-orange);
	background: none;
	font-family: var(--d-zen);
	font-size: 20px;
	line-height: 1.4;
}
.d-page--price .d-body .d-psec__body > h3:first-child {
	margin-top: 0;
}
@media (max-width: 760px) {
	.d-page--price .d-body .d-psec__body .wp-block-table th {
		padding: 10px 6px;
		font-size: 12.5px;
		letter-spacing: 0;
	}
	.d-page--price .d-body .d-psec__body .wp-block-table td {
		padding: 10px 6px;
		font-size: 13.5px;
	}
	.d-page--price .d-body .d-psec__body .wp-block-table td:first-child {
		padding-left: 10px;
		font-size: 13px;
	}
	.d-page--price .d-body .d-psec__body .epb-box {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 14px 64px 14px 18px;
	}
	.d-page--price .d-body .d-psec__body .epb-box a {
		font-size: 16px;
	}
	.d-page--price .d-psec__body .epb-box a::after {
		right: 18px;
	}
	.d-page--price .d-body .d-psec__body > h3 {
		margin-top: 36px;
		font-size: 18px;
	}
}
/* Same column widths in every price table: the item column first, the prices split evenly. */
.d-page--price .d-body .d-psec__body .wp-block-table table {
	table-layout: fixed;
}
.d-page--price .d-body .d-psec__body .wp-block-table tr > :first-child {
	width: 32%;
}

/* お問い合わせ (/contact) */
/* What wpcf7.css does for the forms; 案D does not load it. */
.d-body .wpcf7 .hidden-fields-container {
	display: none;
}
.d-body .wpcf7 .screen-reader-response {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
	word-wrap: normal;
}
/* 個人・従業員の方: the notice in a pale box. */
.d-page--contact .d-body .d-psec--notice .d-psec__body {
	align-self: start;
	padding: 24px 28px;
	border-radius: 12px;
	background: var(--d-pale);
}
.d-page--contact .d-body .d-psec--notice .d-psec__body > p {
	margin: 0;
}
.d-page--contact .d-body .d-psec--notice .d-psec__body > p:first-child {
	margin-bottom: 6px;
	font-family: var(--d-zen);
	font-size: 17px;
	font-weight: 700;
}
/* 法人の方: 初回のご相談は無料 as an orange label. */
.d-page--contact .d-body .d-psec--corporate .d-psec__body > p:first-child {
	display: inline-block;
	margin: 0 0 20px;
	padding: 6px 20px;
	border-radius: 999px;
	background: var(--d-orange);
	color: #fff;
	font-family: var(--d-zen);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.d-page--contact .d-body .d-psec--corporate .d-psec__body > h3 {
	margin-top: 44px;
}
/* The form as a white card. */
.d-page--contact .d-body .wpcf7-form {
	padding: 40px 44px 44px;
	border: 1px solid var(--d-line-3);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
}
/* Each field: the label line bold, the control under it. */
.d-page--contact .d-body .wpcf7-form p {
	margin: 0 0 24px;
	color: var(--d-gray);
	font-size: 14px;
	line-height: 1.8;
}
.d-page--contact .d-body .wpcf7-form p::first-line {
	color: var(--d-text);
	font-size: 15px;
	font-weight: 700;
}
.d-page--contact .d-body .wpcf7-form .required {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 4px;
	background: var(--d-orange);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	vertical-align: 2px;
}
.d-page--contact .d-body .wpcf7-form-control-wrap {
	position: relative;
	display: block;
	margin-top: 8px;
}
.d-page--contact .d-body .wpcf7-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea) {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--d-line-3);
	border-radius: 8px;
	background: #f8fafd;
	color: var(--d-text);
	font: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.d-page--contact .d-body .wpcf7-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea):focus {
	border-color: var(--d-blue);
	outline: none;
	background-color: #fff;
	box-shadow: 0 0 0 3px rgba(23, 72, 156, 0.15);
}
.d-page--contact .d-body .wpcf7-form input[type="number"] {
	max-width: 200px;
}
.d-page--contact .d-body .wpcf7-form select.wpcf7-select {
	max-width: 320px;
	padding-right: 40px;
	appearance: none;
	background: #f8fafd url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2317489c%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209l6%206%206-6%22%2F%3E%3C%2Fsvg%3E") right 14px center / 16px no-repeat;
	cursor: pointer;
}
.d-page--contact .d-body .wpcf7-form textarea {
	min-height: 220px;
	resize: vertical;
}
/* Errors from the server, under each field and on the field. */
.d-page--contact .d-body .wpcf7-form .wpcf7-form-control.wpcf7-not-valid {
	border-color: #d93025;
	background-color: #fff;
}
.d-page--contact .d-body .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	color: #d93025;
	font-size: 13px;
	font-weight: 700;
}
/* The consent checkboxes. */
.d-page--contact .d-body .wpcf7-list-item {
	display: inline-block;
	margin: 0;
}
.d-page--contact .d-body .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 18px 8px 14px;
	border: 1px solid var(--d-line-3);
	border-radius: 8px;
	background: #f8fafd;
	cursor: pointer;
	transition: border-color 0.2s;
}
.d-page--contact .d-body .wpcf7-list-item label:hover {
	border-color: var(--d-blue);
}
.d-page--contact .d-body .wpcf7-list-item input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--d-blue);
	cursor: pointer;
}
.d-page--contact .d-body .wpcf7-list-item-label {
	color: var(--d-text);
	font-size: 15px;
	font-weight: 700;
}
.d-page--contact .d-body .wpcf7-form p a {
	display: inline-block;
	margin-top: 6px;
	color: var(--d-blue);
	font-weight: 700;
}
/* 送信: a large blue pill, grey until 同意する is checked. */
.d-page--contact .d-body .wpcf7-form p:has(> .wpcf7-submit) {
	margin: 36px 0 0;
	text-align: center;
}
.d-page--contact .d-body .wpcf7-form .wpcf7-submit {
	min-width: 280px;
	padding: 16px 48px;
	border: 0;
	border-radius: 999px;
	background: var(--d-blue);
	color: #fff;
	font-family: var(--d-zen);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.2em;
	cursor: pointer;
	transition: background-color 0.2s, opacity 0.2s;
	appearance: none;
}
.d-page--contact .d-body .wpcf7-form .wpcf7-submit:hover {
	background: #0f3577;
}
/* Keyboard focus: a ring outside the button, the colour kept. */
.d-page--contact .d-body .wpcf7-form .wpcf7-submit:focus-visible {
	outline: 3px solid rgba(23, 72, 156, 0.35);
	outline-offset: 3px;
}
.d-page--contact .d-body .wpcf7-form .wpcf7-submit:disabled {
	background: #b9c2cf;
	cursor: not-allowed;
}
.d-page--contact .d-body .wpcf7-spinner {
	display: none;
}
.d-page--contact .d-body .wpcf7-form.submitting .wpcf7-spinner {
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-left: 14px;
	border: 3px solid var(--d-line-3);
	border-top-color: var(--d-blue);
	border-radius: 50%;
	vertical-align: middle;
	animation: d-contact-spin 0.8s linear infinite;
}
@keyframes d-contact-spin {
	to {
		transform: rotate(360deg);
	}
}
/* The result message under the button. */
.d-page--contact .d-body .wpcf7-response-output {
	margin: 24px 0 0;
	padding: 14px 18px;
	border: 1px solid var(--d-line-3);
	border-radius: 8px;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.7;
}
.d-page--contact .d-body .wpcf7-response-output:empty,
.d-page--contact .d-body .wpcf7-form:is(.init, .resetting, .submitting) .wpcf7-response-output {
	display: none;
}
.d-page--contact .d-body .wpcf7-form.sent .wpcf7-response-output {
	border-color: #2e8540;
	background: #eef7f0;
	color: #1f6b33;
}
.d-page--contact .d-body .wpcf7-form:is(.failed, .aborted, .spam) .wpcf7-response-output {
	border-color: #d93025;
	background: #fdeceb;
	color: #b3261e;
}
.d-page--contact .d-body .wpcf7-form:is(.invalid, .unaccepted) .wpcf7-response-output {
	border-color: var(--d-orange);
	background: #fdf0ea;
	color: #a63c0d;
}
@media (max-width: 760px) {
	.d-page--contact .d-body .d-psec--notice .d-psec__body {
		padding: 18px 20px;
	}
	.d-page--contact .d-body .d-psec--notice .d-psec__body > p:first-child {
		font-size: 16px;
	}
	.d-page--contact .d-body .d-psec--corporate .d-psec__body > p:first-child {
		font-size: 15px;
	}
	.d-page--contact .d-body .wpcf7-form {
		padding: 24px 18px 28px;
	}
	.d-page--contact .d-body .wpcf7-form .wpcf7-submit {
		width: 100%;
		min-width: 0;
	}
}

/* 顧問先様専用ページ (/clientonly) */
/* 業務ツール: each tool as a wide blue banner, its picture in a white tile on
   the left, the label as an orange tag over the title and an arrow on the right. */
.d-page--clientonly .d-body .emdash-html-block:has(.epb-linkcard) {
	margin: 0 0 20px;
}
.d-page--clientonly .epb-linkcard {
	position: relative;
}
.d-page--clientonly .d-body .epb-linkcard_label {
	position: absolute;
	top: 34px;
	left: 200px;
	z-index: 1;
	display: inline-block;
	width: auto;
	height: auto;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--d-orange);
	color: #fff;
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: 0.1em !important;
	line-height: 1.6;
	-webkit-mask: none;
	mask: none;
	pointer-events: none;
}
.d-page--clientonly .d-body .epb-linkcard_link {
	display: block;
	border-radius: 16px;
	color: #fff;
	text-decoration: none;
}
.d-page--clientonly .epb-linkcard_inner {
	position: relative;
	display: grid;
	grid-template-columns: 144px minmax(0, 1fr) 56px;
	align-items: center;
	gap: 32px;
	min-height: 192px;
	padding: 24px 40px 24px 24px !important;
	border: 0 !important;
	border-radius: 16px;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 130%, rgba(255, 255, 255, 0.1) 0 150px, transparent 151px),
		radial-gradient(circle at 74% -60%, rgba(255, 255, 255, 0.07) 0 190px, transparent 191px),
		linear-gradient(110deg, var(--d-blue) 0%, var(--d-blue-l) 100%);
	box-shadow: 0 8px 24px rgba(23, 72, 156, 0.18);
	transition: transform 0.2s, box-shadow 0.2s;
}
/* The desktop version in a deeper blue, so the two tell apart at a glance. */
.d-page--clientonly .epb-linkcard_link[href$="_desktop"] .epb-linkcard_inner {
	background:
		radial-gradient(circle at 88% 130%, rgba(255, 255, 255, 0.08) 0 150px, transparent 151px),
		radial-gradient(circle at 74% -60%, rgba(255, 255, 255, 0.06) 0 190px, transparent 191px),
		linear-gradient(110deg, #0e2f68 0%, var(--d-blue) 100%);
}
.d-page--clientonly .epb-linkcard_link:hover .epb-linkcard_inner {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(23, 72, 156, 0.28);
}
.d-page--clientonly .d-body .epb-linkcard__thumbnail {
	width: 144px;
	height: 144px;
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.d-page--clientonly .epb-linkcard__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0 !important;
}
.d-page--clientonly .epb-linkcard_heading {
	padding-top: 34px;
}
.d-page--clientonly .epb-linkcard_title {
	color: #fff !important;
	font-family: var(--d-zen);
	font-weight: 900;
	font-size: 26px;
	letter-spacing: 0.02em !important;
	line-height: 1.45;
}
.d-page--clientonly .epb-linkcard_sub-title {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 14px;
	letter-spacing: 0.06em !important;
	line-height: 1.7;
}
.d-page--clientonly .epb-linkcard_inner::after {
	content: "";
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317489c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 24px no-repeat;
	transition: transform 0.2s;
}
.d-page--clientonly .epb-linkcard_link:hover .epb-linkcard_inner::after {
	transform: translateX(4px);
}
/* 各種マニュアル and 書式ダウンロード: the link to 傍楽活用ガイド and the button
   to the form library as large cards, each with a coloured icon tile on the
   left and a round arrow on the right (both open another site). */
.d-page--clientonly .d-body p:has(> a[href*="notion.site"]),
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."] {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 140px;
	padding: 28px 112px 28px 164px;
	border: 1px solid var(--d-line-3);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.06);
	font-family: var(--d-zen);
	font-weight: 700;
	line-height: 1.6;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.d-page--clientonly .d-body p:has(> a[href*="notion.site"]) {
	margin: 0 0 1.5em;
	background:
		radial-gradient(circle at 100% 100%, #fdf0ea 0 110px, transparent 111px),
		#fff;
	font-size: 17px;
}
.d-page--clientonly .d-body p:has(> a[href*="notion.site"]:hover),
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(23, 72, 156, 0.14);
}
.d-page--clientonly .d-body p:has(> a[href*="notion.site"]:hover) {
	border-color: var(--d-orange);
}
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]:hover {
	border-color: var(--d-blue);
}
/* The icon tiles: an open book in orange, a document with a download arrow in blue. */
.d-page--clientonly .d-body p:has(> a[href*="notion.site"])::before,
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 28px;
	width: 108px;
	height: 108px;
	margin-top: -54px;
	border-radius: 16px;
}
.d-page--clientonly .d-body p:has(> a[href*="notion.site"])::before {
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5c3-1.3 6.5-1.3 10 1 3.5-2.3 7-2.3 10-1v14c-3-1.3-6.5-1.3-10 1-3.5-2.3-7-2.3-10-1z'/%3E%3Cpath d='M12 6v14'/%3E%3C/svg%3E") center / 52px no-repeat,
		linear-gradient(135deg, #f39a4a 0%, var(--d-orange) 100%);
}
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]::before {
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6v20h12V6z'/%3E%3Cpath d='M14 2v4h4M12 10v7M9 14l3 3 3-3'/%3E%3C/svg%3E") center / 52px no-repeat,
		linear-gradient(135deg, var(--d-blue-l) 0%, var(--d-blue) 100%);
}
/* 傍楽活用ガイド: the link stands out in the sentence and covers the whole card. */
.d-page--clientonly .d-body p > a[href*="notion.site"] {
	margin: 0 4px;
	color: var(--d-blue);
	font-size: 24px;
	font-weight: 900;
	text-decoration: underline;
	text-decoration-color: var(--d-orange);
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}
.d-page--clientonly .d-body p > a[href*="notion.site"]::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
/* The round arrows, pointing up and out to the other site. */
.d-page--clientonly .d-body p > a[href*="notion.site"]::after,
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 32px;
	width: 52px;
	height: 52px;
	margin-top: -26px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center / 22px no-repeat;
	transition: transform 0.2s;
}
.d-page--clientonly .d-body p > a[href*="notion.site"]::after {
	background-color: var(--d-orange);
}
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]::after {
	background-color: var(--d-blue);
}
.d-page--clientonly .d-body p > a[href*="notion.site"]:hover::after,
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]:hover::after {
	transform: translate(3px, -3px);
}
/* 書式ダウンロードページ: the button made into the card, across the body. */
.d-page--clientonly .d-body .wp-block-buttons:has(a[href*="handout."]) {
	display: block;
}
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."] {
	background:
		radial-gradient(circle at 100% 100%, var(--d-pale) 0 110px, transparent 111px),
		#fff;
	color: var(--d-blue);
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-decoration: none;
}
.d-page--clientonly .d-body .wp-block-button__link[href*="handout."] strong {
	font-weight: 900;
}
@media (max-width: 760px) {
	.d-page--clientonly .d-body .epb-linkcard_label {
		top: 20px;
		left: 20px;
	}
	.d-page--clientonly .epb-linkcard_inner {
		grid-template-columns: 72px minmax(0, 1fr) 40px;
		gap: 14px;
		min-height: 0;
		padding: 54px 16px 20px 20px !important;
	}
	.d-page--clientonly .d-body .epb-linkcard__thumbnail {
		width: 72px;
		height: 72px;
		border-radius: 10px;
	}
	.d-page--clientonly .epb-linkcard_heading {
		padding-top: 0;
	}
	.d-page--clientonly .epb-linkcard_title {
		font-size: 17px;
	}
	.d-page--clientonly .epb-linkcard_sub-title {
		margin-top: 4px;
		font-size: 12px;
		letter-spacing: 0.02em !important;
	}
	.d-page--clientonly .epb-linkcard_inner::after {
		width: 40px;
		height: 40px;
		background-size: 18px;
	}
	.d-page--clientonly .d-body p:has(> a[href*="notion.site"]),
	.d-page--clientonly .d-body .wp-block-button__link[href*="handout."] {
		min-height: 104px;
		padding: 20px 56px 20px 90px;
	}
	.d-page--clientonly .d-body p:has(> a[href*="notion.site"]) {
		font-size: 14.5px;
	}
	.d-page--clientonly .d-body p:has(> a[href*="notion.site"])::before,
	.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]::before {
		left: 16px;
		width: 60px;
		height: 60px;
		margin-top: -30px;
		border-radius: 12px;
		background-size: 32px, auto;
	}
	.d-page--clientonly .d-body p > a[href*="notion.site"],
	.d-page--clientonly .d-body .wp-block-button__link[href*="handout."] {
		font-size: 17px;
		letter-spacing: 0;
	}
	.d-page--clientonly .d-body p > a[href*="notion.site"]::after,
	.d-page--clientonly .d-body .wp-block-button__link[href*="handout."]::after {
		right: 12px;
		width: 36px;
		height: 36px;
		margin-top: -18px;
		background-size: 18px;
	}
}

/* 公文書PDF変換ツール（デスクトップ版） (/clientonly/koubunsho_desktop) */
/* ダウンロード: the button made into a wide blue banner, with a white tile
   holding the tool's icon on the left and a round download arrow on the right.
   Its text carries an Emanon icon class, which icons.css would draw as a 1em square. */
.d-design.d-design .d-page--koubunsho-desktop .epb-advanced-button__text {
	display: block;
	width: auto;
	height: auto;
	background: none;
	-webkit-mask: none;
	mask: none;
}
.d-page--koubunsho-desktop .d-body .epb-advanced-buttons {
	display: block;
	margin: 0;
}
.d-page--koubunsho-desktop .d-body .epb-advanced-button {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 160px;
	padding: 32px 120px 32px 172px;
	border-radius: 20px;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% -30%, rgba(255, 255, 255, 0.12) 0 150px, transparent 151px),
		radial-gradient(circle at 100% 130%, rgba(255, 255, 255, 0.08) 0 120px, transparent 121px),
		linear-gradient(120deg, var(--d-blue-l) 0%, var(--d-blue) 70%);
	box-shadow: 0 10px 28px rgba(23, 72, 156, 0.22);
	color: #fff !important;
	font-family: var(--d-zen);
	text-decoration: none;
	transition: transform 0.2s, box-shadow 0.2s;
}
.d-page--koubunsho-desktop .d-body .epb-advanced-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(23, 72, 156, 0.3);
}
/* The tile: a document turning into a PDF, in blue on white. */
.d-page--koubunsho-desktop .d-body .epb-advanced-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 32px;
	width: 112px;
	height: 112px;
	margin-top: -56px;
	border-radius: 18px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317489c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6v20h12V6z'/%3E%3Cpath d='M14 2v4h4'/%3E%3Cpath d='M9 12h6M9 15h6M9 18h3'/%3E%3C/svg%3E") center / 56px no-repeat,
		#fff;
	box-shadow: 0 6px 16px rgba(10, 36, 84, 0.25);
}
/* A small DOWNLOAD label over the text, then the text large. */
.d-page--koubunsho-desktop .d-body .epb-advanced-button__text::before {
	content: "DOWNLOAD";
	display: block;
	margin-bottom: 6px;
	color: #ffd2bd;
	font-family: var(--d-zen);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.25em;
}
.d-page--koubunsho-desktop .d-body .epb-advanced-button__text {
	flex: 1 1 auto;
	min-width: 0;
	white-space: normal;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
/* The round arrow: orange, pointing down to the tray. */
.d-page--koubunsho-desktop .d-body .epb-advanced-button::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 36px;
	width: 60px;
	height: 60px;
	margin-top: -30px;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / 26px no-repeat,
		var(--d-orange);
	box-shadow: 0 4px 12px rgba(233, 85, 19, 0.4);
	transition: transform 0.2s;
}
.d-page--koubunsho-desktop .d-body .epb-advanced-button:hover::after {
	transform: translateY(3px);
}
@media (max-width: 760px) {
	.d-page--koubunsho-desktop .d-body .epb-advanced-button {
		min-height: 0;
		padding: 24px 76px 24px 104px;
		border-radius: 16px;
	}
	.d-page--koubunsho-desktop .d-body .epb-advanced-button::before {
		left: 20px;
		width: 68px;
		height: 68px;
		margin-top: -34px;
		border-radius: 12px;
		background-size: 36px, auto;
	}
	.d-page--koubunsho-desktop .d-body .epb-advanced-button__text {
		font-size: 17px;
	}
	.d-page--koubunsho-desktop .d-body .epb-advanced-button__text::before {
		margin-bottom: 4px;
		font-size: 11px;
	}
	.d-page--koubunsho-desktop .d-body .epb-advanced-button::after {
		right: 18px;
		width: 44px;
		height: 44px;
		margin-top: -22px;
		background-size: 20px, auto;
	}
}

/* 小冊子のご案内 (/lp_shousasshi) */
/* 概要: the table as spec cards, three to a row, the price across them. */
.d-page--lp-shousasshi .d-body .wp-block-table {
	overflow: visible;
	margin: 28px 0 0;
}
.d-page--lp-shousasshi .d-body .wp-block-table table,
.d-page--lp-shousasshi .d-body .wp-block-table tbody {
	display: block;
	margin: 0;
	border: 0;
}
.d-page--lp-shousasshi .d-body .wp-block-table tbody {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.d-page--lp-shousasshi .d-body .wp-block-table tr {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 22px;
	border-left: 4px solid var(--d-blue);
	border-radius: 0 12px 12px 0;
	background: var(--d-pale);
}
.d-page--lp-shousasshi .d-body .wp-block-table td {
	display: block;
	padding: 0;
	border: 0;
	background: none;
}
.d-page--lp-shousasshi .d-body .wp-block-table td:first-child {
	color: var(--d-blue);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.12em;
}
.d-page--lp-shousasshi .d-body .wp-block-table td:last-child {
	color: var(--d-text);
	font-family: var(--d-zen);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
}
.d-page--lp-shousasshi .d-body .wp-block-table tr:last-child {
	grid-column: 1 / -1;
	border-left-color: var(--d-orange);
	background: #fdf0ea;
}
.d-page--lp-shousasshi .d-body .wp-block-table tr:last-child td:first-child {
	color: var(--d-orange);
}
/* 購入はこちらから, at the page's end: a banner with the cover on white and
   the title and the link on blue. */
.d-page--lp-shousasshi .d-buy {
	margin: 24px 0 96px;
}
.d-page--lp-shousasshi .d-buy__banner {
	display: grid;
	grid-template-columns: 400px minmax(0, 1fr);
	overflow: hidden;
	border-radius: 20px;
	background: radial-gradient(circle at 92% 18%, rgba(255, 255, 255, 0.12) 0 90px, transparent 91px),
		radial-gradient(circle at 78% 110%, rgba(255, 255, 255, 0.08) 0 120px, transparent 121px),
		linear-gradient(120deg, var(--d-blue-l), var(--d-blue) 70%);
	box-shadow: 0 14px 32px rgba(23, 72, 156, 0.24);
	color: #fff !important;
	text-decoration: none;
	transition: transform 0.2s, box-shadow 0.2s;
}
.d-page--lp-shousasshi .d-buy__banner:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 38px rgba(23, 72, 156, 0.3);
}
.d-page--lp-shousasshi .d-buy__cover {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: #fff;
}
.d-page--lp-shousasshi .d-buy__cover img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}
.d-page--lp-shousasshi .d-buy__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	padding: 40px 48px;
}
.d-page--lp-shousasshi .d-buy__lab {
	color: #ffd2bd;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.25em;
}
.d-page--lp-shousasshi .d-buy__title {
	font-family: var(--d-zen);
	font-size: 24px;
	font-weight: 900;
	line-height: 1.5;
	text-wrap: balance;
}
.d-page--lp-shousasshi .d-buy__cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
	padding: 14px 18px 14px 32px;
	border-radius: 999px;
	background: var(--d-orange);
	font-family: var(--d-zen);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}
.d-page--lp-shousasshi .d-buy__cta::after {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e95513%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center / 16px no-repeat;
	transition: transform 0.2s;
}
.d-page--lp-shousasshi .d-buy__banner:hover .d-buy__cta::after {
	transform: translateX(3px);
}
@media (max-width: 760px) {
	.d-page--lp-shousasshi .d-body .wp-block-table tbody {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
	.d-page--lp-shousasshi .d-body .wp-block-table tr {
		padding: 14px 18px;
	}
	.d-page--lp-shousasshi .d-body .wp-block-table td:last-child {
		font-size: 16px;
	}
	.d-page--lp-shousasshi .d-buy {
		margin: 8px 0 64px;
	}
	.d-page--lp-shousasshi .d-buy__banner {
		grid-template-columns: minmax(0, 1fr);
		border-radius: 16px;
	}
	.d-page--lp-shousasshi .d-buy__cover {
		padding: 12px 24px;
	}
	.d-page--lp-shousasshi .d-buy__text {
		gap: 8px;
		padding: 24px 22px 28px;
	}
	.d-page--lp-shousasshi .d-buy__lab {
		font-size: 11px;
	}
	.d-page--lp-shousasshi .d-buy__title {
		font-size: 18px;
	}
	.d-page--lp-shousasshi .d-buy__cta {
		align-self: stretch;
		justify-content: center;
		margin-top: 8px;
		font-size: 16px;
	}
}

/* 給与診断 (/lp_kyuyoshindan) */
/* サービス内容: the three steps as numbered cards in a row, arrows between. */
.d-page--lp-kyuyoshindan .d-psec--flow ul.wp-block-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: d-flow;
}
.d-page--lp-kyuyoshindan .d-psec--flow ul.wp-block-list > li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 24px 22px 26px;
	border-top: 4px solid var(--d-blue);
	border-radius: 0 0 14px 14px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.08);
	color: var(--d-text);
	font-family: var(--d-zen);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
	counter-increment: d-flow;
}
.d-page--lp-kyuyoshindan .d-psec--flow ul.wp-block-list > li::before {
	content: "STEP " counter(d-flow, decimal-leading-zero);
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	background: none;
	color: var(--d-orange);
	font-family: inherit;
	font-size: 13px;
	letter-spacing: 0.2em;
	transform: none;
}
.d-page--lp-kyuyoshindan .d-psec--flow ul.wp-block-list > li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -21px;
	width: 14px;
	height: 14px;
	border-top: 3px solid var(--d-blue);
	border-right: 3px solid var(--d-blue);
	transform: translateY(-50%) rotate(45deg);
}

/* レポートの内容: each chart as one card, its name and text over its image,
   numbered so the pairs read apart. */
.d-page--lp-kyuyoshindan .d-psec--report .d-psec__body {
	counter-reset: d-report;
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0 0 28px;
	padding: 30px 32px 32px !important; /* over the block's inline padding: 0 */
	border-radius: 16px;
	background: var(--d-pale);
	counter-increment: d-report;
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__background,
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__media--background {
	display: none;
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__content {
	order: 1;
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__media {
	order: 2;
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__media,
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__media--inner,
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__content,
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__content--inner {
	position: static;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	transform: none;
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__media img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 12px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(23, 72, 156, 0.08);
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-advanced-headling,
.d-page--lp-kyuyoshindan .d-psec--report .epb-advanced-headling__inner {
	margin: 0 0 12px;
	padding: 0;
}
.d-page--lp-kyuyoshindan .d-psec--report h3.epb-advanced-headling__text {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-size: 22px;
	font-weight: 900;
	line-height: 1.4;
}
.d-page--lp-kyuyoshindan .d-psec--report h3.epb-advanced-headling__text::before {
	content: counter(d-report, decimal-leading-zero);
	position: static;
	width: auto;
	height: auto;
	border: 0;
	background: none;
	color: var(--d-orange);
	font-family: var(--d-zen);
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	transform: none;
}
.d-page--lp-kyuyoshindan .d-psec--report h3.epb-advanced-headling__text mark {
	background: none;
	color: inherit;
}
.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__content p {
	margin: 0;
}
/* 上記の他…: after the cards, as a note. */
.d-page--lp-kyuyoshindan .d-psec--report .d-psec__body > p {
	margin: 0 0 8px;
	font-size: 17px;
}
/* The other items in the report: small cards that carry the numbering on
   (04–08), so they read as part of the same report, not an aside. */
.d-page--lp-kyuyoshindan .d-psec--report ul.d-report-more {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.d-page--lp-kyuyoshindan .d-psec--report ul.d-report-more > li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 14px;
	row-gap: 6px;
	margin: 0;
	padding: 18px 24px;
	border-radius: 12px;
	background: var(--d-pale);
	color: var(--d-blue);
	font-family: var(--d-zen);
	font-size: 19px;
	font-weight: 900;
	line-height: 1.4;
	counter-increment: d-report;
}
.d-page--lp-kyuyoshindan .d-psec--report ul.d-report-more > li::before {
	content: counter(d-report, decimal-leading-zero);
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	background: none;
	color: var(--d-orange);
	font-family: var(--d-zen);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	transform: none;
}
.d-page--lp-kyuyoshindan .d-psec--report ul.d-report-more > li:last-child {
	grid-column: 1 / -1;
}
.d-page--lp-kyuyoshindan .d-psec--report .d-report-more__sub {
	flex-basis: 100%;
	color: var(--d-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
}

/* 料金: the two prices as cards side by side, the label on blue, the price
   large on white. */
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table {
	overflow: visible;
	margin: 0;
}
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table table {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
	margin: 0;
	border: 0;
	table-layout: auto;
}
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table thead,
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table tbody,
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table tr {
	display: contents;
}
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table th,
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table td {
	display: block;
	border: 0;
	text-align: center;
}
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table th {
	padding: 14px 16px;
	border-radius: 14px 14px 0 0;
	background: var(--d-blue);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table td {
	padding: 26px 16px 28px;
	border-radius: 0 0 14px 14px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(23, 72, 156, 0.08);
	color: var(--d-text);
	font-family: var(--d-zen);
	font-size: 34px;
	font-weight: 900;
	line-height: 1.3;
}
.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table td .d-paren {
	font-size: 14px;
	font-weight: 700;
}
@media (max-width: 760px) {
	.d-page--lp-kyuyoshindan .d-psec--flow ul.wp-block-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}
	.d-page--lp-kyuyoshindan .d-psec--flow ul.wp-block-list > li {
		padding: 18px 20px 20px;
		font-size: 16px;
	}
	.d-page--lp-kyuyoshindan .d-psec--flow ul.wp-block-list > li:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -20px;
		left: 50%;
		width: 12px;
		height: 12px;
		transform: translateX(-50%) rotate(135deg);
	}
	.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid {
		gap: 14px;
		margin-bottom: 20px;
		padding: 20px 18px 22px !important;
	}
	.d-page--lp-kyuyoshindan .d-psec--report h3.epb-advanced-headling__text {
		font-size: 19px;
	}
	.d-page--lp-kyuyoshindan .d-psec--report h3.epb-advanced-headling__text::before {
		font-size: 24px;
	}
	.d-page--lp-kyuyoshindan .d-psec--report .epb-broken-grid__media img {
		padding: 6px;
	}
	.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table table {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-flow: row;
	}
	.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table td {
		font-size: 28px;
	}
	/* 1列では 見出し→金額 の組が並ぶように順番を入れ替える */
	.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table th:nth-child(1) { order: 1; }
	.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table td:nth-child(1) { order: 2; margin-bottom: 20px; }
	.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table th:nth-child(2) { order: 3; }
	.d-page--lp-kyuyoshindan .d-psec--fees .wp-block-table td:nth-child(2) { order: 4; }
	.d-page--lp-kyuyoshindan .d-psec--report ul.d-report-more {
		grid-template-columns: minmax(0, 1fr);
	}
}
