@charset "UTF-8";

:root {
	--opt-blue: #133664;
	--opt-yellow: #fabe00;
	--opt-gray: #738691;
	--opt-red: #CC0000;
	--opt-gray-bg: #eaeff3;
	--opt-gray-dark: #343a40;
	--opt-gray-border: #b9c3c8;
	--opt-bluegray: #ccd9e2;
	--opt-softgray: #f9f9f9;
	--opt-link-blue: #0033aa;
	--opt-font-sans-serif:"メイリオ", Meiryo, "Noto Sans", sans-serif;
	--opt-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	--opt-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
}
body {
	overflow-x: hidden;
}
b,
strong {
	font-weight: 800;
}
small, .small {
	font-size: 0.875em;
}
sub,
sup {
	position: relative;
	font-size: 0.75em;
	line-height: 0;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
.hide {
	display: none;
}
/*-----------------------------------------------------------------------

改行分け

-----------------------------------------------------------------------*/
/* デフォルトは改行を非表示 */
.responsive-br {
	display: none;
}

/* PCのみで改行 */
@media screen and (min-width: 961px) {
	.br-pc {
		display: block !important;
	}
}

/* タブレットのみで改行 */
@media screen and (min-width: 520px) and (max-width: 960px) {
	.br-tablet {
		display: block !important;
	}
}

/* スマホのみで改行 */
@media screen and (max-width: 519px) {
	.br-sp {
		display: block !important;
	}
}
/* サービス------------------------------*/
.stepFlex {
	display: flex;
	flex-direction: column;
	gap: 1em;
	align-items: start;
	margin: .5em auto;
}
.stepFlex h3 {
	font-weight: 600;
	font-size: 1.2em;
}
.stepFlex p {
	margin-left: 4em;
}
@media (max-width:512px) {
	.stepFlex {
		flex-wrap: wrap;
	}
	.stepFlex h3 {
		padding: .5em;
}
}
.stepGrid {
	display: grid;
	grid-template-columns: 30% auto;
	grid-template-rows: 2fr;
	gap: .5em;
	align-items: center;
	margin: 0 4em 2em 4em;
}
.stepGrid h4 {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
	font-weight: 600;
	background: var(--opt-gray-bg);
}
.stepGrid p {
	margin-bottom: 0;
}

@media (max-width:512px) {
.stepGrid {
		grid-template-columns: 1fr;
		margin: 1em 2em 2em;
	}
}
