@charset "UTF-8";

.att10 {
	text-indent: -1em;
	padding-left: 1em;
}
.att15 {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.att20 {
	text-indent: -2em;
	padding-left: 2em;
}
.att30 {
	text-indent: -3em;
	padding-left: 3em;
}
.att50 {
	text-indent: -5em;
	padding-left: 5em;
}

.lh-md {
  line-height: 1.75 !important;
}

.font_noto-sans-mono {
	font-family: "Noto Sans Mono", monospace;
}
.font_noto-sans-mono75 {
	font-family: "Noto Sans Mono", monospace;
  font-variation-settings:
    "wdth" 75;
}

/*color*/
.txt_red { color:#FF0000; }
.txt_blue { color:#5576A9; }
.txt_green { color:#44AF35; }
.txt_orange { color:#E5815C; }
.txt_white {color: white;}

.offcanvas-title {
	font-size: clamp(2.2rem, calc(2rem + ((48rem - 100vw) * 0.1)), 2.6rem);
  min-height: 0vw;
	font-weight: 600;
	line-height: 1.1em;
}

.ttl01 {
	font-size: clamp(2.5rem, calc(2.5rem + ((1vw - 0.36rem) * 0.5435)), 3.5rem);
	padding: 0.2em 0;
	font-weight: 700;
}

.ttl02 {
	display: flex;
	align-items: center;
	padding: .5em 0;
	font-weight: 700;
	font-size: clamp(2rem, calc(2rem + ((1vw - 0.36rem) * 0.5435)), 2.5rem);
	margin: 1em 0 1em;
	border-bottom: 1px solid #5576A9;
}
.ttl02::before {
	display: inline-block;
	width: 6px;
	height: 1.2em;
	margin-right: .5em;
	background-color: #5576A9;
	content: '';
}

.ttl03 {
	font-size: clamp(1.8rem, calc(1.8rem + ((1vw - 0.36rem) * 0.5435)), 2.4rem);
  padding: 0.4em;
  color: #fff;
  background-color: #5576a9;
}

.ttl04 {
	line-height: 1;
	padding: 0.5em;
	margin: 1.5em 0 0.5em;
	border-top: 2px solid #5576a9;
  background: #f5f5f5;
	font-size: clamp(1.6rem, calc(1.6rem + ((1vw - 0.36rem) * 0.5435)), 2rem);
	font-weight: 600;
}

/* 表示領域が767.98px以下の場合に適用するスタイル
-----------------------------------------------------*/
@media print, screen and (max-width: 767.98px) {
	.sp_fs3 {
		font-size: 2rem;
		font-weight: 600;
		padding: 1em 0.5em;
	}
}
