:root {
	--c-white: #fff;
	--c-text: #353535;
	--c-text-strong: #222;
	--c-text-muted: #777;
	--c-border: #dadedf;
	--c-surface-muted: #f2f2f2;
	--c-surface-light: #f4f4f5;
	--c-pale: #f5faff;
	--c-green-pale: #f7fdfd;
	--c-blue: #175aa2;
	--c-green: #43b2a9;
	--c-gradient-blue: #61a8d2;
	--c-gradient-green: #58ccbb;
	--c-red: #a42424;
	--c-red-pale: #fff5f6;
}

body.cert-renewal {
	color: var(--c-text);
	font-family: "Noto Sans JP", "Noto Sans Japanese", sans-serif;
}

.page-inner {
	width: calc(100% - 40px);
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}

.page-hero {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	margin: 0;
	padding: 20px;
	background: linear-gradient(110deg, var(--c-gradient-blue) 0%, var(--c-gradient-green) 100%);
	color: var(--c-white);
	font-size: 38px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-align: center;
}

.page-hero::before,
.page-hero::after {
	content: none;
}

.page-hero span {
	position: relative;
	z-index: 1;
	color: var(--c-white) !important;
	-webkit-text-fill-color: var(--c-white);
}

.cert-intro-section {
	padding: 40px 0 42px;
	background: var(--c-white);
}

.cert-audience-notice {
	margin-bottom: 40px;
	padding: 32px 30px 30px;
	border-radius: 10px;
	background: var(--c-red-pale);
	text-align: center;
}

.cert-audience-notice p {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
	text-align: center;
}

.cert-audience-notice p + p {
	margin-top: 12px;
}

.cert-audience-notice strong {
	color: var(--c-red);
	font-size: 20px;
	font-weight: 500;
}

.cert-link-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 10px;
}

.cert-link-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 104px;
	padding: 13px 54px;
	border-radius: 4px;
	box-shadow: 0 3px 7px rgb(0 0 0 / 12%);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.cert-link-card:link,
.cert-link-card:visited,
.cert-link-card:hover,
.cert-link-card:focus,
.cert-link-card:active {
	text-decoration: none;
}

.cert-link-card:hover,
.cert-link-card:focus {
	opacity: 0.75;
}

.cert-link-card strong {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
}

.cert-link-card--primary,
.cert-link-card--primary:link,
.cert-link-card--primary:visited,
.cert-link-card--primary:hover,
.cert-link-card--primary:focus,
.cert-link-card--primary:active {
	padding-bottom: 38px;
	color: var(--c-white);
}

.cert-link-card--green {
	background: var(--c-green);
}

.cert-link-card--blue {
	background: var(--c-blue);
}

.cert-link-card__circle-icon {
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: 24px;
	height: 24px;
	background: var(--c-white);
	-webkit-mask: url(/open/image/module/ico_arrow_down_v2.png) center / contain no-repeat;
	mask: url(/open/image/module/ico_arrow_down_v2.png) center / contain no-repeat;
	transform: translateX(-50%);
}

.cert-link-card--external,
.cert-link-card--external:link,
.cert-link-card--external:visited,
.cert-link-card--external:hover,
.cert-link-card--external:focus,
.cert-link-card--external:active {
	border: 1px solid var(--c-green);
	background: var(--c-white);
	color: var(--c-green);
}

.cert-link-card__external-icon {
	position: absolute;
	top: 50%;
	right: 26px;
	width: 20px;
	height: auto;
	transform: translateY(-50%);
}

.cert-link-card__external-icon[src*="down-arrow-green"] {
	width: 12px;
}

.cert-issuance-section {
	padding: 56px 0 70px;
	background: var(--c-green-pale);
}

.cert-decorated-heading {
	position: relative;
	margin-bottom: 34px;
	padding-top: 39px;
	text-align: center;
}

.cert-decorated-heading::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 60px;
	height: 26px;
	background: url(/open/image/module/heading2-decoration01.png) center / contain no-repeat;
	transform: translateX(-50%);
}

.cert-decorated-heading--green::before {
	background-image: url(/open/image/module/heading2-decoration03.png);
}

.cert-decorated-heading h2 {
	margin: 0;
	color: var(--c-text);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.cert-issuance-intro {
	margin-bottom: 58px;
}

.cert-issuance-intro p {
	margin: 0;
	font-size: 18px;
	line-height: 1.9;
	text-align: left;
}

.cert-issuance-methods {
	margin: 24px 0;
	padding: 23px 40px 23px 56px;
	border: 1px solid var(--c-green);
	background: var(--c-white);
	list-style-position: outside;
	list-style-type: decimal;
}

.cert-issuance-methods li {
	padding-left: 2px;
	font-size: 16px;
	line-height: 1.9;
}

.cert-issuance-methods li + li {
	margin-top: 8px;
}

.cert-issuance-methods a {
	color: var(--c-green);
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cert-issuance-methods a:hover,
.cert-issuance-methods a:focus {
	text-decoration: none;
}

.cert-issuance-intro .cert-note {
	margin-top: 4px;
	color: var(--c-text-muted);
	font-size: 14px;
}

.cert-type-card {
	padding: 36px 86px 68px;
	border-radius: 10px;
	background: var(--c-white);
	box-shadow: 0 3px 12px rgb(0 0 0 / 10%);
}

.cert-type-card > h3 {
	margin: 0 0 30px;
	color: var(--c-text);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
}

.cert-table-scroll {
	width: 100%;
}

.cert-type-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.cert-type-table__number {
	width: 5%;
}

.cert-type-table__name {
	width: 25%;
}

.cert-type-table__target {
	width: 22%;
}

.cert-type-table__convenience {
	width: 10%;
}

.cert-type-table__fee {
	width: 10%;
}

.cert-type-table__description {
	width: 28%;
}

.cert-type-table tr,
.cert-type-table th,
.cert-type-table td {
	border: 0;
}

.cert-type-table thead th {
	padding: 11px 8px;
	border-right: 1px solid var(--c-white);
	border-bottom: 1px solid var(--c-white);
	background: var(--c-blue);
	color: var(--c-white);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
	vertical-align: middle;
}

.cert-type-table thead th:first-child {
	border-radius: 5px 0 0;
}

.cert-type-table thead th:last-child {
	border-right: 0;
	border-radius: 0 5px 0 0;
}

.cert-type-table tbody th,
.cert-type-table tbody td {
	padding: 12px 10px;
	border-right: 1px solid var(--c-white);
	border-bottom: 1px solid var(--c-white);
	background: var(--c-surface-muted);
	color: var(--c-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	text-align: left;
	vertical-align: middle;
}

.cert-type-table tbody td:last-child {
	border-right: 0;
}

.cert-type-table tbody th,
.cert-type-table tbody .cert-type-table__center {
	text-align: center;
}

.cert-type-table tbody th {
	font-family: "Outfit", sans-serif;
}

.cert-type-table__center span {
	color: var(--c-red);
	font-weight: 700;
}

.cert-type-notes {
	margin-top: 10px;
}

.cert-type-notes p {
	margin: 0;
	font-size: 12px;
	line-height: 1.75;
	text-align: left;
}

.cert-type-notes p + p {
	margin-top: 2px;
}

.cert-type-notes__important {
	color: var(--c-red);
	font-weight: 500;
}

.cert-type-notes a {
	color: var(--c-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cert-type-notes a:hover,
.cert-type-notes a:focus {
	text-decoration: none;
}

.cert-type-notes a img {
	width: 1em;
	height: 1em;
	margin-left: 4px;
	object-fit: contain;
	vertical-align: -0.125em;
}

.cert-related-text-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin-top: 24px;
}

.cert-related-text-links a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding-left: 31px;
	color: var(--c-blue);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cert-related-text-links a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	background: var(--c-blue);
	-webkit-mask: url(/open/image/module/icon-arrow-right-circle-fill-wh.svg) center / contain no-repeat;
	mask: url(/open/image/module/icon-arrow-right-circle-fill-wh.svg) center / contain no-repeat;
	transform: translateY(-50%);
}

.cert-related-text-links a:hover,
.cert-related-text-links a:focus {
	text-decoration: none;
}

.cert-unavailable-notice {
	margin-top: 28px;
	padding: 27px 38px 30px;
	border-radius: 10px;
	background: var(--c-red-pale);
}

.cert-unavailable-notice h3 {
	margin: 0 0 15px;
	color: var(--c-red);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
}

.cert-unavailable-notice p {
	margin: 0;
	font-size: 15px;
	line-height: 1.9;
	text-align: left;
}

.cert-convenience-section {
	padding: 0 0 70px;
	background: var(--c-green-pale);
}

.cert-numbered-heading {
	display: flex;
	align-items: center;
	min-height: 76px;
	padding: 8px 38px;
	border-radius: 10px;
	background: var(--c-green);
	color: var(--c-white);
}

.cert-numbered-heading__number {
	display: grid;
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	margin-right: 16px;
	background: url(/open/image/module/heading3-decoration-circle.png) center / contain no-repeat;
	font-family: "Outfit", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	filter: brightness(0) invert(1);
	place-items: center;
}

.cert-numbered-heading h2 {
	margin: 0;
	color: var(--c-white);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
}

.cert-convenience-content {
	padding-top: 36px;
}

.cert-convenience-content p {
	margin: 0;
	font-size: 16px;
	line-height: 1.9;
	text-align: left;
}

.cert-convenience-notes {
	margin-top: 22px;
}

.cert-convenience-notes p {
	color: var(--c-text-muted);
	font-size: 14px;
	line-height: 1.8;
}

.cert-convenience-notes p + p {
	margin-top: 2px;
}

.cert-convenience-notes a,
.cert-terms-box a {
	color: var(--c-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cert-convenience-notes a:hover,
.cert-convenience-notes a:focus,
.cert-terms-box a:hover,
.cert-terms-box a:focus {
	text-decoration: none;
}

.cert-convenience-block {
	margin-top: 32px;
}

.cert-square-heading {
	position: relative;
	margin: 0 0 14px;
	padding-left: 20px;
	color: var(--c-text);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
}

.cert-square-heading::before {
	content: "";
	position: absolute;
	top: 0.85em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--c-green);
	transform: translateY(-50%);
}

.cert-action-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 400px;
	min-height: 64px;
	margin-top: 18px;
	padding: 14px 24px;
	border: 1px solid var(--c-green);
	border-radius: 4px;
	background: var(--c-white);
	color: var(--c-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.cert-action-button:link,
.cert-action-button:visited,
.cert-action-button:hover,
.cert-action-button:focus,
.cert-action-button:active {
	color: var(--c-green);
	text-decoration: none;
}

.cert-action-button:hover,
.cert-action-button:focus {
	background: var(--c-white);
	opacity: 0.75;
}

.cert-action-button--download img {
	flex: 0 0 21px;
	width: 21px;
	height: auto;
	margin-left: 20px;
	filter: brightness(0) saturate(100%) invert(59%) sepia(47%) saturate(566%) hue-rotate(126deg) brightness(96%) contrast(88%);
}

.cert-action-button--login {
	padding-right: 64px;
}

.cert-action-button--login::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 24px;
	height: 24px;
	background: var(--c-green);
	-webkit-mask: url(/open/image/module/icon-arrow-right-circle-fill-wh.svg) center / contain no-repeat;
	mask: url(/open/image/module/icon-arrow-right-circle-fill-wh.svg) center / contain no-repeat;
	transform: translateY(-50%);
}

.cert-terms-box {
	margin-top: 38px;
	padding: 32px 40px;
	background: var(--c-surface-light);
}

.cert-terms-box p {
	font-size: 15px;
}

.cert-terms-box ul {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.cert-terms-box li {
	font-size: 15px;
	line-height: 1.8;
}

.cert-terms-box li + li {
	margin-top: 4px;
}

.cert-terms-box a img {
	width: 1em;
	height: 1em;
	margin-left: 4px;
	object-fit: contain;
	vertical-align: -0.125em;
}

.cert-system-fee {
	margin-top: 38px;
}

.cert-system-fee h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}

.cert-system-fee ul {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.cert-system-fee li {
	position: relative;
	padding-left: 20px;
	font-size: 16px;
	line-height: 1.8;
}

.cert-system-fee li::before {
	content: "";
	position: absolute;
	top: 0.9em;
	left: 1px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--c-green);
	transform: translateY(-50%);
}

.cert-system-fee li + li {
	margin-top: 4px;
}

.cert-contact-block {
	margin-top: 34px;
}

.cert-outline-heading {
	display: flex;
	align-items: center;
	min-height: 40px;
	margin: 0 0 18px;
	padding: 7px 14px;
	border: 1px solid var(--c-blue);
	border-left-width: 5px;
	color: var(--c-blue);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.cert-contact-block p {
	font-size: 15px;
	line-height: 1.9;
}

.cert-contact-block .cert-contact-block__tel {
	margin-top: 8px;
	font-family: "Outfit", "Noto Sans JP", sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
}

.cert-contact-block__tel span {
	font-family: "Noto Sans JP", "Noto Sans Japanese", sans-serif;
}

.cert-page-top-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 400px;
	min-height: 64px;
	margin: 46px auto 0;
	padding: 14px 60px 14px 24px;
	border: 1px solid var(--c-text);
	border-radius: 4px;
	background: var(--c-white);
	color: var(--c-text);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.cert-page-top-button:link,
.cert-page-top-button:visited,
.cert-page-top-button:hover,
.cert-page-top-button:focus,
.cert-page-top-button:active {
	color: var(--c-text);
	text-decoration: none;
}

.cert-page-top-button:hover,
.cert-page-top-button:focus {
	opacity: 0.75;
}

.cert-page-top-button::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 24px;
	height: 24px;
	background: var(--c-text);
	-webkit-mask: url(/open/image/module/ico_arrow_down_v2-top.png) center / contain no-repeat;
	mask: url(/open/image/module/ico_arrow_down_v2-top.png) center / contain no-repeat;
	transform: translateY(-50%);
}

.cert-office-section {
	padding: 0 0 70px;
	background: var(--c-green-pale);
}

.cert-office-content {
	padding-top: 36px;
}

.cert-office-content p {
	margin: 0;
	font-size: 16px;
	line-height: 1.9;
	text-align: left;
}

.cert-office-intro > p > strong,
.cert-office-documents > li > strong {
	color: var(--c-green);
	font-weight: 700;
}

.cert-office-note {
	margin-top: 10px !important;
	color: var(--c-text-muted);
	font-size: 12px !important;
}

.cert-office-external-link {
	display: inline-flex;
	align-items: center;
	margin-top: 2px;
	color: var(--c-blue);
	font-size: 12px;
	line-height: 1.6;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cert-office-external-link:link,
.cert-office-external-link:visited,
.cert-office-external-link:hover,
.cert-office-external-link:focus,
.cert-office-external-link:active {
	color: var(--c-blue);
}

.cert-office-external-link:hover,
.cert-office-external-link:focus {
	text-decoration: none;
}

.cert-office-external-link img {
	width: 1em;
	height: 1em;
	margin-left: 4px;
	object-fit: contain;
	vertical-align: -0.125em;
}

.cert-office-intro .cert-action-button {
	width: 540px;
	margin-top: 30px;
	font-size: 16px;
}

.cert-office-block {
	margin-top: 36px;
}

.cert-office-documents,
.cert-office-cautions {
	margin: 0;
	padding-left: 25px;
	list-style-position: outside;
	list-style-type: decimal;
}

.cert-office-documents > li,
.cert-office-cautions > li {
	padding-left: 4px;
	font-size: 16px;
	line-height: 1.9;
}

.cert-office-documents > li + li,
.cert-office-cautions > li + li {
	margin-top: 12px;
}

.cert-office-documents ul {
	margin: 12px 0 0;
	padding: 0 0 0 24px;
	list-style: none;
}

.cert-office-documents ul li {
	position: relative;
	font-size: 16px;
	line-height: 1.85;
}

.cert-office-documents ul li::before {
	content: "";
	position: absolute;
	top: 0.9em;
	left: -18px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--c-green);
	transform: translateY(-50%);
}

.cert-bank-details > h3,
.cert-office-form-contact h3,
.cert-office-form-contact h4 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}

.cert-bank-table-wrap {
	max-width: 800px;
	margin-top: 16px;
}

.cert-bank-table-wrap + .cert-bank-table-wrap {
	margin-top: 36px;
}

.cert-bank-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.cert-bank-table caption {
	padding: 8px 16px;
	border-radius: 5px 5px 0 0;
	background: var(--c-blue);
	color: var(--c-white);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.cert-bank-table--other caption {
	background: var(--c-green);
}

.cert-bank-table tr {
	display: table-row;
	border: 0;
}

.cert-bank-table th,
.cert-bank-table td {
	display: table-cell;
	padding: 7px 20px;
	border: 0;
	border-right: 1px solid var(--c-border);
	border-bottom: 1px solid var(--c-border);
	background: var(--c-white);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	vertical-align: middle;
}

.cert-bank-table th {
	width: 28%;
	border-left: 1px solid var(--c-border);
	background: var(--c-surface-muted);
	font-weight: 500;
	text-align: center;
}

.cert-transfer-warning {
	margin-top: 18px;
}

.cert-transfer-warning h4 {
	margin: 0 0 4px;
	color: var(--c-red);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}

.cert-transfer-warning p {
	font-size: 15px;
}

.cert-transfer-warning strong {
	font-weight: 700;
}

.cert-bank-details > .cert-office-external-link {
	margin-top: 16px;
	font-size: 16px;
}

.cert-office-note--letterpack {
	margin-top: 18px !important;
}

.cert-office-address {
	margin-top: 24px !important;
}

.cert-office-privacy-note {
	margin-top: 14px;
}

.cert-office-privacy-note p {
	color: var(--c-text-muted);
	font-size: 12px;
}

.cert-office-privacy-note p + p {
	margin-top: 2px;
}

.cert-office-form-contact h3 {
	margin-bottom: 14px;
}

.cert-office-form-contact h4 {
	margin: 28px 0 12px;
}

.cert-office-form-contact small {
	font-size: 16px;
}

.cert-exam-section {
	padding: 0 0 70px;
	background: var(--c-green-pale);
}

.cert-exam-content {
	padding-top: 36px;
}

.cert-exam-content p {
	margin: 0;
	font-size: 15px;
	line-height: 1.9;
	text-align: left;
}

.cert-exam-period {
	margin-top: 8px !important;
}

.cert-exam-period strong {
	font-size: 16px;
	font-weight: 700;
}

.cert-exam-table-scroll {
	margin-top: 26px;
}

.cert-exam-table__code {
	width: 4%;
}

.cert-exam-table__type {
	width: 24%;
}

.cert-exam-table__target {
	width: 14%;
}

.cert-exam-table__convenience {
	width: 11%;
}

.cert-exam-table__fee {
	width: 8%;
}

.cert-exam-table__description {
	width: 39%;
}

.cert-exam-procedure,
.cert-exam-documents {
	margin-top: 36px;
}

.cert-exam-procedure h3,
.cert-exam-documents h3 {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}

.cert-exam-procedure ol,
.cert-exam-documents ol {
	margin: 0;
	padding-left: 24px;
	list-style-position: outside;
	list-style-type: decimal;
}

.cert-exam-procedure li,
.cert-exam-documents li {
	padding-left: 2px;
	font-size: 16px;
	line-height: 1.9;
}

.cert-exam-procedure li + li,
.cert-exam-documents li + li {
	margin-top: 10px;
}

.cert-exam-procedure a,
.cert-exam-past-notice a {
	color: var(--c-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cert-exam-procedure a:hover,
.cert-exam-procedure a:focus,
.cert-exam-past-notice a:hover,
.cert-exam-past-notice a:focus {
	text-decoration: none;
}

.cert-exam-procedure a:not(.cert-action-button) img,
.cert-exam-past-notice a img {
	width: 1em;
	height: 1em;
	margin-left: 4px;
	object-fit: contain;
	vertical-align: -0.125em;
}

.cert-exam-procedure .cert-action-button {
	width: 488px;
	margin-top: 24px;
	font-size: 16px;
}

.cert-exam-documents > p {
	margin-bottom: 14px;
}

.cert-exam-past-notice {
	margin-top: 22px;
	padding: 22px 100px;
	border: 1px solid var(--c-border);
	background: var(--c-white);
}

.cert-exam-past-notice p {
	font-size: 15px;
	line-height: 1.75;
	text-align: center;
}

.cert-credit-transfer-section {
	padding: 60px 0;
	background: var(--c-pale);
}

.cert-credit-transfer-section .cert-decorated-heading {
	margin-bottom: 30px;
}

.cert-credit-transfer-content p {
	margin: 0;
	font-size: 16px;
	line-height: 1.9;
	text-align: left;
}

.cert-credit-transfer-result {
	margin-top: 8px !important;
}

.cert-credit-transfer-result strong {
	font-size: 17px;
	font-weight: 700;
}

.cert-credit-transfer-notes {
	margin-top: 18px;
}

.cert-credit-transfer-notes p,
.cert-credit-transfer-footnote {
	color: var(--c-text-muted);
	font-size: 12px !important;
	line-height: 1.8 !important;
}

.cert-credit-transfer-notes p + p {
	margin-top: 2px;
}

.cert-credit-transfer-link {
	display: inline-flex;
	align-items: center;
	margin-top: 24px;
	color: var(--c-blue);
	font-size: 16px;
	line-height: 1.6;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.cert-credit-transfer-link:link,
.cert-credit-transfer-link:visited,
.cert-credit-transfer-link:hover,
.cert-credit-transfer-link:focus,
.cert-credit-transfer-link:active {
	color: var(--c-blue);
}

.cert-credit-transfer-link:hover,
.cert-credit-transfer-link:focus {
	text-decoration: none;
}

.cert-credit-transfer-link img {
	width: 1em;
	height: 1em;
	margin-left: 5px;
	object-fit: contain;
	vertical-align: -0.125em;
}

.cert-credit-transfer-footnote {
	margin-top: 24px !important;
}

.related-information {
	padding: 26px 0 60px;
	background: var(--c-white);
}

.related-information--large-heading {
	padding-top: 52px;
}

.related-information h2 {
	margin: 0 0 18px;
	color: var(--c-text-strong);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.related-information--large-heading h2 {
	font-size: 28px;
}

.related-link-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.related-link-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 190px;
	padding: 24px 15px 36px;
	border: 1px solid var(--c-border);
	border-radius: 8px;
	background: var(--c-white);
	color: var(--c-text-strong);
	text-decoration: none;
	transition: background-color 0.2s;
}

.related-link-card:link,
.related-link-card:visited,
.related-link-card:focus,
.related-link-card:hover,
.related-link-card:active {
	color: var(--c-text-strong);
	text-decoration: none;
}

.related-link-card strong {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
}

.related-link-card span {
	display: block;
	margin-top: 8px;
	color: var(--c-text-muted);
	font-size: 12px;
	line-height: 1.55;
}

.related-link-card::after {
	content: "";
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 12px;
	height: 14px;
	background: url(/open/image/module/down-arrow-red.png) center / contain no-repeat;
}

.related-link-card:hover {
	background: var(--c-red-pale);
}

.action-link-section {
	padding: 60px 0;
	background: var(--c-white);
}

.related-information + .action-link-section {
	padding-top: 0;
}

.action-link-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
}

/* 下部バナー帯はデザインに合わせて本文より広く */
.action-link-section .page-inner {
	max-width: 1072px;
}

.action-link-section .action-link-grid {
	gap: 38px;
}

.action-link-card {
	margin: 0;
	text-align: center;
}

.action-link-card__banner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 100%;
	min-height: 100px;
	padding: 18px 24px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: 0 5px 8px rgb(0 0 0 / 20%);
	color: var(--c-white);
	text-decoration: none;
	transition: opacity 0.2s;
}

.action-link-card__banner:link,
.action-link-card__banner:visited,
.action-link-card__banner:focus,
.action-link-card__banner:hover,
.action-link-card__banner:active {
	color: var(--c-white);
	text-decoration: none;
}

.action-link-card__banner:hover {
	opacity: 0.82;
}

.action-link-card__banner--request {
	background-image: url(/open/image/module/base-g.png);
}

.action-link-card__banner--event {
	background-image: url(/open/image/module/base-b.png);
}

.action-link-card__banner--contact {
	background-image: url(/open/image/module/base-o.png);
}

.action-link-card__banner img {
	display: block;
	width: auto;
	max-width: 64px;
	max-height: 70px;
}

.action-link-card__banner strong {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.action-link-card p {
	margin: 12px 6px 0;
	color: var(--c-text-muted);
	font-size: 12px;
	line-height: 1.7;
	text-align: center;
}

@media only screen and (max-width: 768px) {
	.page-hero {
		padding: 16px;
		font-size: 18px;
	}

	.cert-intro-section {
		padding: 32px 0 40px;
	}

	.cert-audience-notice {
		margin-bottom: 30px;
		padding: 24px 20px;
	}

	.cert-audience-notice p {
		font-size: 16px;
		text-align: left;
	}

	.cert-audience-notice strong {
		font-size: 18px;
	}

	.cert-link-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.cert-link-card {
		min-height: 100px;
		padding-right: 48px;
		padding-left: 48px;
		font-size: 16px;
	}

	.cert-link-card--primary {
		padding-bottom: 38px;
	}

	.cert-link-card__circle-icon {
		width: 18px;
		height: 18px;
	}

	.cert-link-card__external-icon {
		right: 20px;
	}

	.cert-issuance-section {
		padding: 44px 0 52px;
	}

	.cert-decorated-heading {
		margin-bottom: 26px;
	}

	.cert-decorated-heading h2 {
		font-size: 22px;
	}

	.cert-issuance-intro {
		margin-bottom: 38px;
	}

	.cert-issuance-intro p {
		font-size: 18px;
	}

	.cert-issuance-methods li {
		font-size: 16px;
	}

	.cert-issuance-methods {
		margin: 20px 0;
		padding: 20px 20px 20px 42px;
	}

	.cert-type-card {
		padding: 28px 20px 36px;
	}

	.cert-type-card > h3 {
		margin-bottom: 22px;
		font-size: 20px;
	}

	.cert-table-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.cert-type-table {
		width: 840px;
		min-width: 840px;
	}

	.cert-type-table tr {
		display: table-row;
		border: 0;
	}

	.cert-type-table th,
	.cert-type-table td {
		display: table-cell;
		border-left: 0;
	}

	.cert-type-notes p {
		font-size: 12px;
	}

	.cert-related-text-links a {
		font-size: 16px;
	}

	.cert-unavailable-notice {
		padding: 24px 20px;
	}

	.cert-unavailable-notice h3 {
		font-size: 18px;
	}

	.cert-unavailable-notice p {
		font-size: 16px;
	}

	.cert-convenience-section {
		padding-bottom: 52px;
	}

	.cert-numbered-heading {
		min-height: 68px;
		padding: 8px 20px;
	}

	.cert-numbered-heading__number {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		margin-right: 10px;
		font-size: 17px;
	}

	.cert-numbered-heading h2 {
		font-size: 20px;
	}

	.cert-convenience-content {
		padding-top: 28px;
	}

	.cert-convenience-content p,
	.cert-system-fee li {
		font-size: 16px;
	}

	.cert-convenience-notes p {
		font-size: 14px;
	}

	.cert-square-heading {
		font-size: 18px;
	}

	.cert-action-button,
	.cert-page-top-button {
		width: 100%;
		font-size: 16px;
	}

	.cert-terms-box {
		padding: 24px 20px;
	}

	.cert-terms-box p,
	.cert-terms-box li,
	.cert-contact-block p {
		font-size: 16px;
	}

	.cert-terms-box p br {
		display: none;
	}

	.cert-outline-heading {
		font-size: 17px;
	}

	.cert-contact-block .cert-contact-block__tel {
		font-size: 20px;
	}

	.cert-office-section {
		padding-bottom: 52px;
	}

	.cert-office-content {
		padding-top: 28px;
	}

	.cert-office-content p,
	.cert-office-documents > li,
	.cert-office-cautions > li {
		font-size: 16px;
	}

	.cert-office-intro > p > br,
	.cert-office-form-contact > p > br {
		display: none;
	}

	.cert-office-note,
	.cert-office-privacy-note p {
		font-size: 14px !important;
	}

	.cert-office-form-contact small {
		font-size: 16px;
	}

	.cert-office-external-link {
		font-size: 16px;
	}

	.cert-office-intro .cert-action-button {
		width: 100%;
		font-size: 16px;
	}

	.cert-office-block {
		margin-top: 32px;
	}

	.cert-office-documents ul li {
		font-size: 16px;
	}

	.cert-bank-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.cert-bank-table {
		min-width: 500px;
	}

	.cert-bank-table tr {
		display: table-row;
		border: 0;
	}

	.cert-bank-table th,
	.cert-bank-table td {
		display: table-cell;
		padding: 8px 14px;
		border-left: 0;
		font-size: 16px;
	}

	.cert-bank-table th {
		border-left: 1px solid var(--c-border);
	}

	.cert-exam-section {
		padding-bottom: 52px;
	}

	.cert-exam-content {
		padding-top: 28px;
	}

	.cert-exam-content p,
	.cert-exam-procedure li,
	.cert-exam-documents li {
		font-size: 16px;
	}

	.cert-exam-table {
		width: 760px;
		min-width: 760px;
	}

	.cert-exam-procedure,
	.cert-exam-documents {
		margin-top: 32px;
	}

	.cert-exam-procedure .cert-action-button {
		width: 100%;
		font-size: 16px;
	}

	.cert-exam-past-notice {
		padding: 22px 20px;
	}

	.cert-exam-past-notice p {
		font-size: 15px;
		text-align: left;
	}

	.cert-exam-past-notice p br {
		display: none;
	}

	.cert-credit-transfer-section {
		padding: 44px 0 52px;
	}

	.cert-credit-transfer-section .cert-decorated-heading h2 {
		font-size: 22px;
	}

	.cert-credit-transfer-content > p:first-child br {
		display: none;
	}

	.cert-credit-transfer-result strong {
		font-size: 16px;
	}

	.cert-credit-transfer-notes p,
	.cert-credit-transfer-footnote {
		font-size: 14px !important;
	}

	.related-information {
		padding: 32px 0 36px;
	}

	.related-information--large-heading {
		padding-top: 52px;
	}

	.related-information h2,
	.related-information--large-heading h2 {
		margin-bottom: 16px;
		font-size: 20px;
	}

	.related-link-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.related-link-card {
		min-height: 150px;
		padding: 20px 18px 32px;
	}

	.related-link-card strong {
		font-size: 14px;
	}

	.related-link-card span {
		font-size: 11px;
	}

	.related-link-card::after {
		right: 8px;
		bottom: 8px;
		width: 8px;
		height: 10px;
	}

	.action-link-section {
		padding: 44px 0 52px;
	}

	.related-information + .action-link-section {
		padding-top: 0;
	}

	.action-link-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.action-link-card__banner {
		min-height: 96px;
		padding-right: 60px;
		padding-left: 60px;
	}

	.action-link-card__banner img {
		position: absolute;
		top: 50%;
		left: 22px;
		max-width: 48px;
		max-height: 58px;
		transform: translateY(-50%);
	}

	.action-link-card__banner strong {
		width: 100%;
		font-size: 20px;
		text-align: center;
	}

	.action-link-card p {
		margin-top: 12px;
		font-size: 11px;
	}
}

@media only screen and (max-width: 480px) {
	.page-hero {
		font-size: 20px;
	}

	.related-link-card {
		min-height: 128px;
	}
}
