@charset "UTF-8";

/****************************************
全画面共通CSS
*****************************************/

/*****GoogleFont*****/
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("./fonts/NotoSansJP-Regular.woff") format("woff");
}


/*****各タグの共通スタイル*****/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6,p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{
	margin:0;
	padding:0;
	font-weight:inherit;
	font-style:inherit;
	font-size:14px; /*JAVAリニューアル時、google推奨サイズに変更12px→14px*/
	font-family:"Noto Sans JP","inherit";
	vertical-align:baseline;
	font-weight: normal;
}

ol {
	counter-reset: number;
}

ul li,
ol li {
	list-style-type: none;
}

li.dot {
	list-style-type: disc;
	margin-left: 20px;
}

li.dot::marker {
	color: #1a3be3;
	font-size: 1.2em;
}

li.dot_s {
	list-style-type: disc;
	margin-left: 20px;
}

li.dot_s::marker {
	color: #1a3be3;
	font-size: 1em;
}

li.dot02 {
	list-style-type: square;
	margin-left: 20px;
}

li.dot02::marker {
	color: #09f;
	font-size: 1.2em;
}

li.dot02_s {
	list-style-type: square;
	margin-left: 20px;
}

li.dot02_s::marker {
	color: #09f;
	font-size: 1em;
}

li.dot03 {
	list-style-type: disc;
	margin-left: 20px;
}

li.dot03::marker {
	color: #999;
	font-size: 1.2em;
}

li.dot03_s {
	list-style-type: disc;
	margin-left: 20px;
}

li.dot03_s::marker {
	color: #999;
	font-size: 1em;
}

li.dot04 {
	list-style-type: disc;
	margin-left: 20px;
}

li.dot04::marker {
	color: #bae4f7;
	font-size: 1.2em;
}

li.dot04_s {
	list-style-type: disc;
	margin-left: 20px;
}

li.dot04_s::marker {
	color: #bae4f7;
	font-size: 1em;
}

li.no01 {
	list-style-type: decimal;
	padding-left: 0.3em;
	margin-left: 20px;
}

li.no01::marker {
	color: #444;
	font-size: 1.0em;
}

li.no01:has(.fw-bold)::marker {
	font-weight: bold;
}

li.no01:has(h3)::marker {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}

li.no01_i {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 0.3em;
	margin-left: 20px;
	text-indent: -20px;
}

li.no01_i::marker {
	color: #444;
	font-size: 1.0em;
}

li.no01_i:before {
	content: "";
	width: 5px;
	display: inline-block;
}

li.no02 {
	position: relative;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}

li.no02:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #1a3be3;
	color: white;
	font-family: 'Arial';
	font-weight: bold;
	font-size: 15px;
	left: 0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	top: 1.2rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

li.no02_s {
	position: relative;
	line-height: 1.5em;
	padding: 0.25em 0.25em 0.25em 28px;
}

li.no02_s:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #1a3be3;
	color: white;
	font-family: 'Arial';
	font-weight: bold;
	font-size: 14px;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	top: 1rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

li.no02_t {
	position: relative;
	line-height: 1.5rem;
	padding: 0.25rem 0.25rem 0.7rem 0;
}

li.no02_t:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #1a3be3;
	color: white;
	font-family: 'Arial';
	font-weight: bold;
	font-size: 14px;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	top: 1rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

li.no02_t> :first-child {
	margin-left: 28px;
}

li.no03 {
	margin-left: 2.2rem;
	text-indent: -2.2rem;
}

li.no03:before {
	counter-increment: number;
	content: "※" counter(number);
	padding-right: 10px;
}

li.no04 {
	margin-right: 1rem;
	text-indent: 1rem;
}

li.no04:after {
	counter-increment: number;
	content: "※" counter(number);
	padding-left: 10px;
}

li.no05 {
	margin-left: 1.5rem;
	text-indent: -1.5rem;
}

li.no05:before {
	counter-increment: number;
	content: "※";
	padding-right: 8px;
}

li.no06 {
	list-style-type: disc;
	margin-left: 1rem;
	text-indent: -0.5rem;
	font-size: 1em;
	margin-left: 20px;
	color: #444;
}

li.no06:after {
	counter-increment: number;
	content: "※" counter(number);
	padding-left: 10px;
}

li.no07:after {
	counter-increment: number;
	content: counter(number);
}

li.no08:before {
	content: "[";
	padding-right: 1px;
}

li.no08 {
	margin-left: 0rem;
	text-indent: 0rem;
}

li.no08:after {
	content: "]";
	padding-left: 1px;
}

.no09.padding_none {
	padding: 0 0 0 0;
}

li.no09 {
	list-style-type: none;
	list-style-position: inside;
	counter-increment: count;
	margin-left: 18px;
	text-indent: -18px;
}

li.no09::before {
	display: marker;
	content: counter(count, lower-alpha) " . ";
}

.no10.padding_none {
	padding: 0 0 0 0;
}

li.no10 {
	list-style-type: none;
	list-style-position: inside;
	counter-increment: count;
	margin-left: 18px;
	text-indent: -18px;
}

li.no10::before {
	display: marker;
	content: counter(count, upper-alpha) " . ";
}

td.no11 {
	counter-increment: count;
}

td.no11::before {
	display: marker;
	content: "(" counter(count, lower-alpha) ")";
}

.no12 tr {
	counter-increment: rowCount;
}

.no12 td:first-child::before {
	display: marker;
	content: "(" counter(rowCount, lower-alpha) ")";
}

.no13 {
	position: relative;
	list-style-type: none;
}

.no13:before {
	position: absolute;
	right: calc(100% + 0.5rem);
	content: counter(list-item) ")";
}

.no14 {
	position: relative;
	list-style-type: none;
}

.no14:before {
	position: absolute;
	right: calc(100% + 0.5rem);
	content: "(" counter(list-item) ")";
}

li.no15 {
	position: relative;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}

li.no15:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #EDF0F2;
	color: #666;
	font-family: 'Arial';
	font-weight: bold;
	font-size: 15px;
	left: 0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	top: 1.2rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 1px solid #AAB7C0;
}

li.no15_s {
	position: relative;
	line-height: 1.5em;
	padding: 0.25em 0.25em 0.25em 28px;
}

li.no15_s:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #EDF0F2;
	color: #666;
	font-family: 'Arial';
	font-weight: bold;
	font-size: 14px;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	top: 1rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 1px solid #AAB7C0;
}

li.no15_t {
	position: relative;
	line-height: 1.5rem;
	padding: 0.25rem 0.25rem 0.7rem 28px;
}

li.no15_t:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #EDF0F2;
	color: #666;
	font-family: 'Arial';
	font-weight: bold;
	font-size: 14px;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	top: 1rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 1px solid #AAB7C0;
}

li.no16 {
	margin-left: 2rem;
	text-indent: -2rem;
}

li.no16:before {
	counter-increment: number;
	content: "(" counter(number) ")";
	padding-right: 10px;
}

li.no17 {
	margin-left: 2rem;
	text-indent: -2rem;
	counter-increment: count;
}

li.no17:before {
	display: marker;
	content: "(" counter(count, upper-alpha) ")";
	padding-right: 10px;
}

li.no18 {
	margin-left: 2.5rem;
	position: relative;
}

li.no18::before {
	counter-increment: number;
	content: "1-" counter(number) ".";
	right: calc(100% + 0.5rem);
	position: absolute;
	width: max-content;
}

li.no19 {
	margin-left: 2.5rem;
	position: relative;
}

li.no19::before {
	counter-increment: number;
	content: "2-" counter(number) ".";
	right: calc(100% + 0.5rem);
	position: absolute;
	width: max-content;
}

ol.counter_reset {
	counter-reset: none;
	/* 番号付きリストを任意の番号から始める */
}

body {
	background: #fff;
	color: #444;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,
th,
td {
	text-align: left;
	font-weight: 400;
}

main {
	min-height: 130px;
}

a {
	text-decoration: none;
	opacity: 0.95;
	transition: all 0.3s;
}

a img {
	border: none;
}


/*****共通ボタン*****/
.link_button01 {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	/*	padding: 8px 20px 8px 25px;*/
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
}

.link_button01:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button01:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button01:before {
	content: '';
	width: 10px;
	height: 10px;
	border-top: 2px solid #1a3be3;
	border-right: 2px solid #1a3be3;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	left: 5px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}

.link_button01:hover:before {
	border-color: #1a3be3;
}

.link_button01 a {
	text-align: center;
	width: 100%;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
	font-weight: bold;
}

a.link_button01 {
	text-align: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
}

button.link_button01 {
	text-align: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
}

.link_button02 {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
}

.link_button02:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button02:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button02:before {
	font-family: bootstrap-icons;
	content: '\F1C5';
	font-size: large;
	position: absolute;
	right: 6px;
}

.link_button02:hover:before {
	border-color: #1a3be3;
}

.link_button02 a {
	text-align: center;
	width: 100%;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
	font-weight: bold;
}

a.link_button02 {
	text-align: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
}

.link_button02_s {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	font-size: 12px;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
}

.link_button02_s:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button02_s:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button02_s:before {
	font-family: bootstrap-icons;
	content: '\F1C5';
	position: absolute;
	right: 6px;
	font-size: 1em;
}

.link_button02_s:hover:before {
	border-color: #1a3be3;
}

.link_button02_s a {
	text-align: center;
	width: 100%;
	padding: 2px 8px 2px 15px;
	color: #1a3be3;
	font-weight: bold;
}

a.link_button02_s {
	text-align: center;
	padding: 2px 8px 2px 15px;
	color: #1a3be3;
}

.link_button03 {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 4px 15px 4px 20px;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	font-size: 12px;
}

.link_button03:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button03:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button03:before {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid #1a3be3;
	border-right: 2px solid #1a3be3;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	left: 5px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}

.link_button03:hover:before {
	border-color: #1a3be3;
}

.link_button03 a {
	text-align: center;
	width: 100%;
	padding: 4px 15px 4px 20px;
	color: #1a3be3;
	font-weight: bold;
}

a.link_button03 {
	text-align: center;
	padding: 3px 15px 3px 20px;
	color: #1a3be3;
}

.link_button03_s {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 2px 15px 2px 20px;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	font-size: x-small;
}

.link_button03_s:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button03_s:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button03_s:before {
	content: '';
	width: 6px;
	height: 6px;
	border-top: 2px solid #1a3be3;
	border-right: 2px solid #1a3be3;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	left: 5px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}

.link_button03_s:hover:before {
	border-color: #1a3be3;
}

.link_button03_s a {
	text-align: center;
	width: 100%;
	padding: 2px 15px 2px 20px;
	color: #1a3be3;
	font-weight: bold;
}

a.link_button03_s {
	text-align: center;
	padding: 2px 15px 2px 20px;
	color: #1a3be3;
}

.link_button04 {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: inline-flex;
	flex: 1 1 auto !important;
	justify-content: space-around;
	align-items: center;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	cursor: pointer;
	margin-right: 25px;
}

.link_button04:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button04:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button04:before {
	content: '';
	width: 10px;
	height: 10px;
	border-top: 2px solid #1a3be3;
	border-right: 2px solid #1a3be3;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	right: -15px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}

.link_button04:hover:before {
	border-color: #1a3be3;
}

.link_button04 a {
	text-align: center;
	width: 100%;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
	font-weight: bold;
}

a.link_button04 {
	text-align: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
}

.link_button04:last-of-type:before {
	content: none;
}

.link_button04:last-of-type {
	margin-right: 0;
}

@media (max-width: 767px) {
	.link_button04 {
		line-height: 1.2;
		margin-right: 25px;
	}

	.link_button04 a {
		text-align: center;
		padding: 4px 10px 4px 13px;
	}
}

/* link_button リンク無効の場合の処理ここから */
.link_button04 a:not([href]),
.link_button06 a:not([href]) {
	pointer-events: none;
	color: #666;
	font-weight: normal;
	cursor: default;
}

.link_button04:has(a:not([href])),
.link_button06:has(a:not([href])) {
	border-color: #666;
}

.link_button04:has(a:not([href])):hover,
.link_button06:has(a:not([href])):hover {
	cursor: default;
	background-color: #fff !important;
}

/* link_button04 リンク無効の場合の処理ここまで */

.link_button05 {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: inline-flex;
	justify-content: space-around;
	align-items: center;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	cursor: pointer;
	margin-right: 15px;
}

.link_button05:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button05:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button05 a {
	text-align: center;
	width: 100%;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
	font-weight: bold;
}

a.link_button05 {
	text-align: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
}

.link_button05:last-of-type {
	margin-right: 0;
}

@media (max-width: 767px) {
	.link_button05 {
		line-height: 1.2;
		width: 100%;
		margin-right: 0;
	}

	.link_button05 a {
		text-align: center;
		padding: 4px 10px 4px 13px;
	}
}

.link_button06 {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex: 1 1 auto !important;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	cursor: pointer;
	margin-right: 25px;
	margin-bottom: 25px;
	min-width: 10%;
}

.link_button06:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.link_button06:active {
	background: #758af0;
	color: #1a3be3;
	text-decoration: none;
}

.link_button06 a {
	text-align: center;
	width: 100%;
	padding: 0.5rem 1rem;
	color: #1a3be3;
}

a.link_button06 {
	text-align: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
}

@media (min-width: 768px) {
	.after-arrow:after {
		font-family: bootstrap-icons;
		content: "\F134";
		position: absolute;
		right: -1.5rem;
	}

	.before-arrow:before {
		font-family: bootstrap-icons;
		content: "\F134";
		position: absolute;
		left: -1.5rem;
	}

	.top-arrow:after {
		font-family: bootstrap-icons;
		content: "\F13A";
		position: absolute;
		top: -1.75rem;
	}

	.bottom-arrow:before {
		font-family: bootstrap-icons;
		content: "\F119";
		position: absolute;
		top: -65%;
	}
}

@media (max-width: 767px) {
	.after-arrow:after {
		font-family: bootstrap-icons;
		content: "\F119";
		position: absolute;
		right: calc(50%-25);
		bottom: -2rem;
	}

	.before-arrow:before {
		font-family: bootstrap-icons;
		content: "\F119";
		position: absolute;
		left: calc(50%-25);
		top: -2rem;
	}

	.top-arrow:after {
		font-family: bootstrap-icons;
		content: "\F12A";
		position: absolute;
		left: -1.5rem;
	}

	.bottom-arrow:before {
		font-family: bootstrap-icons;
		content: "\F134";
		position: absolute;
		left: -1.5rem;
	}
}

button.link_button04 {
	text-align: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
}

.action_button01 {
	background: #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 25px 8px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}

.action_button01:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}

.action_button01:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}

.action_button01:before {
	font-family: bootstrap-icons;
	content: '\F231';
	font-size: large;
	color: white;
	position: absolute;
	left: 10px;
	top: 6px;
}

.action_button01.disabled {
	pointer-events: none;
	background: rgb(119, 119, 119);
}

.action_button01 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 20px;
	color: white;
	font-weight: bold;
}

a.action_button01 {
	text-align: center;
	padding: 8px 25px 8px 20px;
	color: white;
}

.action_button01_s {
	background: #1a3be3;
	border-radius: 7px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 3px 15px 3px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
	font-size: x-small;
}

.action_button01_s:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}

.action_button01_s:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}

.action_button01_s:before {
	font-family: bootstrap-icons;
	content: '\F231';
	font-size: x-small;
	color: white;
	position: absolute;
	left: 10px;
	top: 4px;
}

.action_button01_s a {
	text-align: center;
	width: 100%;
	padding: 3px 15px 3px 20px;
	color: white;
	font-weight: bold;
}

a.action_button01_s {
	text-align: center;
	padding: 3px 15px 3px 20px;
	color: white;
}

.action_button02 {
	background: #E32A1A;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 15px 8px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}

.action_button02:hover {
	background: #D9938C;
	color: white;
	text-decoration: none;
}

.action_button02:active {
	background: #993C33;
	;
	color: white;
	text-decoration: none;
}

.action_button02:before {
	font-family: bootstrap-icons;
	content: '\F623';
	font-size: large;
	color: white;
	position: absolute;
	font-weight: bold;
	left: 10px;
	top: 6px;
}

.action_button02 a {
	text-align: center;
	width: 100%;
	padding: 8px 15px 8px 20px;
	color: white;
	font-weight: bold;
}

a.action_button02 {
	text-align: center;
	padding: 8px 15px 8px 20px;
	color: white;
}

.action_button02_s {
	background: #E32A1A;
	border-radius: 7px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 3px 25px 3px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
	font-size: x-small;
}

.action_button02_s:hover {
	background: #D9938C;
	color: white;
	text-decoration: none;
}

.action_button02_s:active {
	background: #993C33;
	;
	color: white;
	text-decoration: none;
}

.action_button02_s:before {
	font-family: bootstrap-icons;
	content: '\F623';
	font-size: x-small;
	color: white;
	position: absolute;
	font-weight: bold;
	left: 10px;
	top: 4px;
}

.action_button02_s a {
	text-align: center;
	width: 100%;
	padding: 3px 25px 3px 20px;
	color: white;
	font-weight: bold;
}

a.action_button02_s {
	text-align: center;
	padding: 3px 25px 3px 20px;
	color: white;
}

.action_button03 {
	background: #777777;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 25px 8px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}

.action_button03:hover {
	background: #B3B3B3;
	color: white;
	text-decoration: none;
}

.action_button03:active {
	background: #4D4D4D;
	color: white;
	text-decoration: none;
}

.action_button03:before {
	font-family: bootstrap-icons;
	content: '\F567';
	font-size: large;
	color: white;
	position: absolute;
	font-weight: bold;
	left: 10px;
	top: 6px;
}

.action_button03 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 20px;
	color: white;
	font-weight: bold;
}

a.action_button03 {
	text-align: center;
	padding: 8px 25px 8px 20px;
	color: white;
}

.action_button03_s {
	background: #777777;
	border-radius: 7px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 3px 25px 3px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
	font-size: x-small;
}

.action_button03_s:hover {
	background: #B3B3B3;
	color: white;
	text-decoration: none;
}

.action_button03_s:active {
	background: #4D4D4D;
	color: white;
	text-decoration: none;
}

.action_button03_s:before {
	font-family: bootstrap-icons;
	content: '\F567';
	font-size: x-small;
	color: white;
	position: absolute;
	font-weight: bold;
	left: 10px;
	top: 4px;
}

.action_button03_s a {
	text-align: center;
	width: 100%;
	padding: 3px 25px 3px 20px;
	color: white;
	font-weight: bold;
}

a.action_button03_s {
	text-align: center;
	padding: 3px 25px 3px 20px;
	color: white;
}

.action_button04 {
	background: #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 25px 8px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}

.action_button04:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}

.action_button04:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}

.action_button04:after {
	font-family: bootstrap-icons;
	content: '\F52A';
	font-size: large;
	color: white;
	position: absolute;
	left: 10px;
	top: 6px;
}

.action_button04 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 20px;
	color: white;
	font-weight: bold;
}

a.action_button04 {
	text-align: center;
	padding: 8px 25px 8px 20px;
	color: white;
}

.action_button05 {
	background: #1a3be3;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 5px 25px 5px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
	font-size: x-small;
}

.action_button05:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}

.action_button05:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}

.action_button05 a {
	text-align: center;
	width: 100%;
	padding: 5px 25px 5px 20px;
	color: white;
	font-weight: bold;
}

a.action_button05 {
	text-align: center;
	padding: 5px 25px 5px 20px;
	color: white;
}

.action_button06 {
	background: #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 25px 8px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}

.action_button06:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}

.action_button06:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}

.action_button06:after {
	font-family: bootstrap-icons;
	content: '\F1C5';
	font-size: large;
	color: white;
	position: absolute;
	right: 10px;
	top: 6px;
}

.action_button06 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 20px;
	color: white;
	font-weight: bold;
}

a.action_button06 {
	text-align: center;
	padding: 8px 25px 8px 20px;
	color: white;
}

.action_button06.disabled {
	pointer-events: none;
	background: rgb(119, 119, 119);
}

.action_button07 {
	background: #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 25px 8px 35px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}

.action_button07:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}

.action_button07:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}

.action_button07:after {
	font-family: bootstrap-icons;
	content: '\F116';
	font-size: large;
	color: white;
	position: absolute;
	left: 10px;
	top: 6px;
}

.action_button07 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 35px;
	color: white;
	font-weight: bold;
}

a.action_button07 {
	text-align: center;
	padding: 8px 25px 8px 35px;
	color: white;
}

.action_button08 {
	background: #777777;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 25px 8px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}

.action_button08:hover {
	background: #B3B3B3;
	color: white;
	text-decoration: none;
}

.action_button08:active {
	background: #4D4D4D;
	color: white;
	text-decoration: none;
}

.action_button08:before {
	font-family: bootstrap-icons;
	content: '\F330';
	font-size: large;
	color: white;
	position: absolute;
	font-weight: bold;
	left: 10px;
	top: 6px;
}

.action_button08 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 20px;
	color: white;
	font-weight: bold;
}

a.action_button08 {
	text-align: center;
	padding: 8px 25px 8px 20px;
	color: white;
}

.action_button08_s {
	background: #777777;
	border-radius: 7px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 3px 25px 3px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
	font-size: x-small;
}

.action_button08_s:hover {
	background: #B3B3B3;
	color: white;
	text-decoration: none;
}

.action_button08_s:active {
	background: #4D4D4D;
	color: white;
	text-decoration: none;
}

.action_button08_s:before {
	font-family: bootstrap-icons;
	content: '\F330';
	font-size: x-small;
	color: white;
	position: absolute;
	font-weight: bold;
	left: 10px;
	top: 4px;
}

.action_button08_s a {
	text-align: center;
	width: 100%;
	padding: 3px 25px 3px 20px;
	color: white;
	font-weight: bold;
}

a.action_button08_s {
	text-align: center;
	padding: 3px 25px 3px 20px;
	color: white;
}

.action_button09 {
	background: #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 25px 8px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
}
.action_button09:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}
.action_button09:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}
.action_button09:before {
	font-family: bootstrap-icons;
	content: '\F22D';
	font-size: large;
	color: white;
	position: absolute;
	left: 10px;
	top: 6px;
}
.action_button09.disabled {
	pointer-events: none;
	background: rgb(119, 119, 119);
}
.action_button09 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 20px;
	color: white;
	font-weight: bold;
}
a.action_button09 {
	text-align: center;
	padding: 8px 25px 8px 20px;
	color: white;
}
.action_button09_s {
	background: #1a3be3;
	border-radius: 7px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 3px 15px 3px 20px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
	border: 0;
	font-size: x-small;
}
.action_button09_s:hover {
	background: #748AF8;
	color: white;
	text-decoration: none;
}
.action_button09_s:active {
	background: #1933B4;
	color: white;
	text-decoration: none;
}
.action_button09_s:before {
	font-family: bootstrap-icons;
	content: '\F22D';
	font-size: x-small;
	color: white;
	position: absolute;
	left: 10px;
	top: 4px;
}
.action_button09_s a {
	text-align: center;
	width: 100%;
	padding: 3px 15px 3px 20px;
	color: white;
	font-weight: bold;
}
a.action_button09_s {
	text-align: center;
	padding: 3px 15px 3px 20px;
	color: white;
}

.toggle_button01 {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 8px 20px 8px 25px;
	color: #1a3be3;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	font-weight: bold;
	max-width: 450px;
	cursor: pointer;
	margin: auto;
}

.toggle_button01:hover {
	background: #d1d8fa;
	color: #1a3be3;
	text-decoration: none;
}

.toggle_button01.active {
	background: #1a3be3;
	color: white
}

.toggle_button01 a {
	text-align: center;
	width: 100%;
	padding: 8px 25px 8px 20px;
	color: #1a3be3;
	font-weight: bold;
}

a.toggle_button01 {
	text-align: center;
	padding: 8px 25px 8px 20px;
	color: #1a3be3;
}

.toggle_button02_1 {
	background-color: #ffc107;
    border: 2px solid #d79500;
    border-radius: 10px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 8px 20px 8px 25px;
    color: #444;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.25s ease-in-out;
    font-weight: bold;
    max-width: 450px;
    cursor: pointer;
    margin: auto;
    box-shadow: 2px 2px 4px gray;
}

.toggle_button02_1:hover {
	background-color: #FFDA68;
	color: #444;
}

.toggle_button02_2 {
	background-color: #C5E0B2;
	border: 2px solid #6b8b68;
    border-radius: 10px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 8px 20px 8px 25px;
    color: #444;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.25s ease-in-out;
    font-weight: bold;
    max-width: 450px;
    cursor: pointer;
    margin: auto;
    box-shadow: 2px 2px 4px gray;
}

.toggle_button02_2:hover {
	background-color: #E6F1DC;
	color: #444;
}


.pagetop_button01 {
	transition: opacity 0.3s;
	width: 50px;
	height: 50px;
	position: fixed;
	left: 10px;
	bottom: 10px;
	background: #0099ff;
	border-radius: 25px;
	opacity: 0.6;
	box-shadow: 0 4px 6px rgb(0 0 0 / 40%);
	z-index: 999;
	visibility: hidden;
}

.pagetop_button01:hover {
	opacity: 1;
}

.pagetop_button01::before {
	content: "";
	width: 0.9em;
	height: 0.9em;
	border: 0.3em solid #fff;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(-45deg);
	transform-origin: top right;
	position: absolute;
	top: 0.4em;
	left: 0.95rem;
	box-sizing: border-box;
}

.pagetop_button01::after {
	content: "";
	width: 0.9em;
	height: 0.9em;
	border: 0.3em solid #fff;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(-45deg);
	transform-origin: top right;
	position: absolute;
	top: 1em;
	left: 0.95rem;
	box-sizing: border-box;
}

.pagetop_button01 span {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	position: relative;
	width: 0.2em;
	height: 1.5em;
	top: 24px;
	left: 12px;
	cursor: pointer;
}

.btn_visible {
	transition: opacity 0.3s;
	visibility: visible;
}

/*****新着情報関連*****/
.category_icon {
	text-align: center;
	font-size: 0.85rem;
	color: #fff;
	width: 9em;
	height: 18px;
	margin: 0 0px 4px 10px;
	overflow: hidden;
}

.category_icon.regular_icon {
	background: #78d0bc;
}

.category_icon.important_icon {
	background: #ff6a00;
}

.category_icon.important_icon+span {
	color: #f00;
}

.category_icon.new_product_icon {
	background: #0099ff;
}

.category_icon.renewal_icon {
	background: #0d82d3;
}


/*****共通テーブル*****/
main table {
	border-radius: 5px;
	border-collapse: separate;
	border-spacing: 0;
}

main th {
	background: #f0f0f0;
	border-top: 1px solid #B3B3B3;
	border-left: 1px solid #B3B3B3;
	text-align: center;
	padding: 0.6rem;
	vertical-align: middle
}

main td {
	background: #FFFFFF;
	border-top: 1px solid #B3B3B3;
	border-left: 1px solid #B3B3B3;
	text-align: center;
	padding: 0.2rem;
	vertical-align: middle
}

main table tbody tr:last-child td,
main table tbody tr:last-child th {
	border-bottom: 1px solid #B3B3B3;
}

main table tr th:last-child,
main table tr td:last-child {
	border-right: 1px solid #B3B3B3;
}

/* ──────── 上辺の角 ──────── */

table>*:first-child:not(caption):not(colgroup)>tr:first-child>*:first-child,
table>caption+*:not(colgroup)>tr:first-child>*:first-child {
	border-top-left-radius: 8px;
}

table>*:first-child:not(colgroup)>tr:first-child>*:first-child,
table>colgroup+*>tr:first-child>*:first-child {
	border-top-left-radius: 8px;
}

/* 右上 */
table>*:first-child:not(caption)>tr:first-child>*:last-child,
table>caption+*>tr:first-child>*:last-child {
	border-top-right-radius: 8px;
}

table>*:first-child:not(colgroup)>tr:first-child>*:last-child,
table>colgroup+*>tr:first-child>*:last-child {
	border-top-right-radius: 8px;
}

table>*:first-child:not(caption):not(colgroup)>tr:first-child>*:last-child,
table>caption+*:not(colgroup)>tr:first-child>*:last-child {
	border-top-right-radius: 8px;
}

/* ──────── 下辺の角 ──────── */
/* 左下 */
table>*:last-child>tr:last-child>*:first-child {
	border-bottom-left-radius: 8px;
}

/* 右下 */
table>*:last-child>tr:last-child>*:last-child {
	border-bottom-right-radius: 8px;
}

/* ──────── 微調整用 ──────── */
.border_top_add {
	border-top: 1px solid #B3B3B3 !important;
}

.border_bottom_add {
	border-bottom: 1px solid #B3B3B3 !important;
}

.border_right_add {
	border-right: 1px solid #B3B3B3 !important;
}

.border_left_add {
	border-left: 1px solid #B3B3B3 !important;
}

.border_top_del {
	border-top: none !important;
}

.border_bottom_del {
	border-bottom: none !important;
}

.border_right_del {
	border-right: none !important;
}

.border_left_del {
	border-left: none !important;
}

.border_top_left_radius_add {
	border-top-left-radius: 8px !important;
}

.border_top_right_radius_add {
	border-top-right-radius: 8px !important;
}

.border_bottom_left_radius_add {
	border-bottom-left-radius: 8px !important;
}

.border_bottom_right_radius_add {
	border-bottom-right-radius: 8px !important;
}

.border_top_left_radius_del {
	border-top-left-radius: 0px !important;
}

.border_top_right_radius_del {
	border-top-right-radius: 0px !important;
}

.border_bottom_left_radius_del {
	border-bottom-left-radius: 0px !important;
}

.border_bottom_right_radius_del {
	border-bottom-right-radius: 0px !important;
}

/* 配置を上90度 */
.th-90deg,
.th-90deg-mid {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	padding: 5px 0;
	text-align: left;
}

@-moz-document url-prefix() {
	.th-90deg {
		min-width: 1.5rem;
		line-height: 1.2;
		padding: 2px;
	}
}

/* Firefox対策 */

/* th 固定table */
.table_th-sticky {
	position: relative;
	overflow-x: auto;
	overflow-y: auto;
}

.table_th-sticky thead {
	position: sticky;
	top: 0;
	z-index: 9;
}

.table_th-sticky tr th:first-of-type {
	position: sticky;
	left: 0;
	z-index: 8;
}

.table_th-sticky thead tr:first-child th:first-of-type {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 10;
}

.table_th-sticky .th_sticky_top_1rem {
	position: sticky;
	top: 2.7rem;
	z-index: 9;
}

.table_th-sticky .th_sticky_top {
	position: sticky;
	top: 0;
	z-index: 9;
}

.table_th-sticky .th_sticky_left_1rem {
	position: sticky;
	left: 2.7rem !important;
	z-index: 8;
}

.table_th-sticky .th_sticky_left {
	position: sticky;
	left: 0;
	z-index: 1;
}

.table_th-sticky .th_sticky_reset {
	position: static !important;
}

/* 等幅table */
.table_layout_fix {
	table-layout: fixed;
}

/*****共通テキスト*****/
.title01 {
	margin: 3rem;
	font-size: 1.7rem;
	text-decoration: underline;
}

main h1 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0.5rem;
}

main h2 {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0.5rem;
}

main h3 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0.5rem;
}

main h4 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 1.3rem;
	border-bottom: none;
}

main h4 a {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 1.3rem;
	border-bottom: none;
}

main h5 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 1.3rem;
	border-bottom: none;
}

main h5:before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	margin-right: 0.3rem;
	background-color: #d8d6d6;
	display: inline-block;
}

.underline01_g {
	display: inline;
	border-bottom: 1.5px solid #9f9f9f;
}

.underline01_b {
	display: inline;
	border-bottom: 1.5px solid #0099ff;
}

.underline01_rb {
	display: inline;
	border-bottom: 1.5px solid #1a3be3;
}

.underline02_g {
	border-bottom: 1.5px solid #9f9f9f;
}

.underline02_b {
	border-bottom: 1.5px solid #0099ff;
}

.underline02_rb {
	border-bottom: 1.5px solid #1a3be3;
}

.underline03_b {
	position: relative;
}

.underline03_b::after {
	content: '';
	position: absolute;
	left: 0%;
	bottom: 0px;
	width: 100%;
	height: 1.5px;
	background-color: #1a3be3;
}

.font_color_red {
	color: red;
}

.underline_wavy_g {
	text-decoration: #CCC wavy underline;
}

.underline_double {
	text-decoration: #444 double underline;
}

.left_line_g {
	border-left: solid #CCC 6px;
	background: #f2f2f2;
	padding: 0.5rem;
	margin: 0.3rem 0 1rem 0;
	font-weight: bold;
}

.left_line_b {
	border-left: solid #0099ff 5px;
	padding: 0.2rem 0.5rem;
	margin: 0.3rem 0 1rem 0;
	font-weight: bold;
}

.radius01_b {
	border-radius: 20px;
	background-color: #0099ff;
	max-width: 50%;
	color: #FFFFFF;
	text-align: center;
	padding: 0.3rem 0;
	margin: 0.3rem 0;
}

.radius02_b {
	border: solid 3px #0099ff;
	border-radius: 20px;
	background-color: #FFFFFF;
	max-width: 50%;
	text-align: center;
	padding: 0.3rem 0;
	margin: 0.3rem 0;
}

h5.radius01_b::before,
h5.radius02_b::before,
h5.radius01_resp_b::before {
	content: none;
}

.radius01_resp_b {
	border-radius: 20px;
	background-color: #0099ff;
	color: #FFFFFF;
	max-width: 100%;
	text-align: center;
	padding: 0.3rem 1.5rem;
	margin: 0.3rem 0;
}

@media (min-width: 768px) {

	.radius01_b,
	.radius02_b {
		max-width: 25%;
	}

	.radius01_resp_b {
		display: inline-block;
		width: auto;
	}
}

.circle_left_b {
	position: relative;
	padding-left: 1.3rem;
	font-weight: bold;
}

.circle_left_b:before {
	content: "";
	position: absolute;
	top: 0.3rem;
	left: 0;
	width: 1rem;
	height: 1rem;
	border: 1px solid #1a3be3;
	border-radius: 50%;
}

/*背景が濃いグレーの見出しとリード文のセット*/
.header_bg {
	display: flex;
	flex-wrap: wrap;
	background: #666666;
	color: #FFFFFF;
	margin-bottom: 1.5rem;
	overflow: hidden;
	box-sizing: border-box;
}

.header_bg_caps {
	width: 100%;
	padding: 0.75rem;
	box-sizing: border-box;
	font-size: 1.5rem;
	text-align: center;
	border-bottom: 1px solid #FFFFFF;
}

.header_bg_text {
	width: 100%;
	padding: 0.75rem 1.5rem;
	box-sizing: border-box;
}

.header_bg_text p {
	padding-bottom: 2rem;
	line-height: 2rem;
}

@media (min-width: 992px) {
	.header_bg {
		padding: 1.5rem 0;
	}

	.header_bg_caps {
		width: 25%;
		border-bottom: none;
		border-right: 1px solid #FFFFFF;
	}

	.header_bg_text {
		width: 75%;
	}
}

/*カテゴリとカテゴリ名のセット見出し*/
.category_header {
	max-width: 75%;
	display: flex;
	text-align: center;
}

.category_header_caps {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 50%;
	background-color: #0099ff;
	color: #FFFFFF;
}

.category_header_text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 50%;
	border: solid 1px #0099ff;
}

@media (min-width: 768px) {
	.category_header {
		max-width: 20%;
	}
}

.category_header_l {
	display: flex;
	text-align: center;
	width: fit-content;
}

.category_header_l .category_header_caps {
	background-color: #0099ff;
	color: #FFFFFF;
	width: fit-content;
	padding: 0 1rem;
}

.category_header_l .category_header_text {
	border: solid 1px #0099ff;
	width: fit-content;
	padding: 0 1rem;
}

/*見出し+リード文＋画像のボックスセット*/
.content_box {
	display: flex;
	width: 100%;
	flex-direction: column;
	border: solid 1px #CCCCCC;
	margin-bottom: 1.5rem;
}

.content_box_header {
	border-bottom: solid 1px #CCCCCC;
	background-color: #f2f2f2;
	padding: 0.3rem;
	text-align: center;
}

.content_box_header p {
	font-weight: bold;
}

.content_box_text {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 0.75rem 1rem;
}

.content_box_img img {
	display: block;
	width: 80%;
	margin: 0 auto 1rem;
}

.content_box_img .link_button01 {
	width: 80%;
	margin: 2rem auto;
	padding: 8px 20px 8px 25px;
}

/*間に仕切りがある横並びのテキスト*/
.text_partition {
	/*仕切りのあるテキスト部分*/
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
	overflow: hidden;
	box-sizing: border-box;
}

.text_partition_left {
	/*仕切りのあるテキスト部分 スマホ時上側*/
	width: 100%;
	box-sizing: border-box;
	border-bottom: 1px solid #4D4D4D;
	padding-bottom: 0.5rem;
}

.text_partition_right {
	/*仕切りのあるテキスト部分 スマホ時下側*/
	width: 100%;
	box-sizing: border-box;
	padding-top: 0.5rem;
}

@media (min-width: 992px) {
	.text_partition_left {
		/*仕切りのあるテキスト部分 左側*/
		width: 50%;
		border-bottom: none;
		border-right: 1px solid #4D4D4D;
		padding-right: 0.75rem;
		padding-bottom: 0;
	}

	.text_partition_right {
		/*仕切りのあるテキスト部分 右側*/
		width: 50%;
		padding-left: 0.75rem;
		padding-top: 0;
	}
}

main img {
	width: 100%;
	height: auto;
}

.clear_both {
	clear: both;
}

/*****BlockUIのデザイン*****/
.bluckui_title {
	margin-bottom: 1rem;
	font-size: 25px;
	font-weight: bold;
	color: #0099ff;
}

.bluckui_spinner {
	--bs-spinner-width: 3rem;
	--bs-spinner-height: 3rem;
	--bs-spinner-vertical-align: -0.125em;
	--bs-spinner-border-width: 0.35em;
	--bs-spinner-animation-speed: 0.8s;
	--bs-spinner-animation-name: spinner-border;
	border: var(--bs-spinner-border-width) solid currentcolor;
	border-right-color: transparent;
	display: inline-block;
	width: var(--bs-spinner-width);
	height: var(--bs-spinner-height);
	vertical-align: var(--bs-spinner-vertical-align);
	border-radius: 50%;
	animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
	color: #0099ff;
}


/***** ホバー時、アニメーションでアンダーラインを表示します *****/
.animation_underline {
	background-image: linear-gradient(#1a3be3, #1a3be3);
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: 0 1px;
	transition: background-size 0.4s cubic-bezier(0.23, 1, 0.32, 1), color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.animation_underline_block:hover>.animation_underline,
.animation_underline:hover {
	background-position: 0 100%;
	background-size: 100% 1px;
	color: #1a3be3 !important;
}

/***** ホバー時、アニメーションでフィルターをかけます *****/
.animation_filter {
	position: relative;
}

.animation_filter a:after {
	content: "";
	opacity: 0;
	background-color: #1a3be3;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.animation_filter a:hover:after {
	opacity: 0.4;
	transition: all .5s ease;
}

/*****チェックボックス*****/
.checkbox {
	width: fit-content;
	padding: 0.3rem 0.8rem;
}

.checkbox:hover {
	background-color: #D1D8FA;
	border-radius: 5px;
	color: #1A3BE3;
}

.checkbox:hover {
	background-color: #D1D8FA;
	border-radius: 5px;
	color: #1A3BE3;
}

.checkbox:hover label {
	font-weight: 700;
}

.checkbox input:checked+label {
	color: #1A3BE3;
}

.checkbox input:checked+label {
	font-weight: 700;
}


/*****ラジオボタン*****/
.radio {
	width: fit-content;
	padding: 0.3rem 0.8rem;
}

.radio:hover {
	background-color: #D1D8FA;
	border-radius: 5px;
	color: #1A3BE3;
}

.radio:hover {
	background-color: #D1D8FA;
	border-radius: 5px;
	color: #1A3BE3;
}

.radio:hover label {
	font-weight: 700;
}

.radio input:checked+label {
	color: #1A3BE3;
}

.radio input:checked+label {
	font-weight: 700;
}

/*****ページネーション*****/
.pagination_button {

	display: flex;
	list-style: none;
}

.pagination_button li {
	background: white;
	border: 1px solid #1a3be3;
	border-radius: 5px;
	text-align: center;
	/*	padding: 4px 9px;*/
	color: #1a3be3;
	transition: 0.25s ease-in-out;
	min-width: 40px;
	cursor: pointer;
	margin: 0.15rem;
	font-size: 12px;
}

.pagination_button li:hover {
	background: #d1d8fa;
	color: #1a3be3;
}

.pagination_button li:active {
	background: #758af0;
	color: #1a3be3;
}

.pagination_button li.active {
	background: #1a3be3;
	cursor: default;
}

.pagination_button li a {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	padding: 4px 9px;
	min-width: 40px;
}

.pagination_button li.active a {
	background: #1a3be3;
	color: white;
	cursor: default;
	pointer-events: none
}

.pagination_button li.disabled {
	border: 2px solid #777777;
	background: #777777;
	color: white;
	;
	cursor: default;
}

.pagination_button li.disabled a {
	background: #777777;
	color: white;
	cursor: default;
	pointer-events: none
}


/*****注記ボックス*****/
.note {
	box-shadow: 1.5px 1.5px 4px #c3c3c3;
	border: 1px solid #c3c3c3;
	border-radius: 5px;
	width: 100%;
	padding: 1em;
	margin-bottom: 10px;
}

/*****写真ボックス*****/
.icon-box {
	max-width: 300px;
	min-height: 295px;
	padding: 0.8rem;
	margin: 0 auto;
	color: #5d627b;
	background: white;
	border-top: solid 7px #bae4f7;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.icon-box-img {
	width: 150px;
	height: 150px;
}

/*****文字だけボックス*****/
.font-box {
	max-width: 300px;
	min-height: 150px;
	padding: 0.8rem;
	margin: 0 auto;
	color: #5d627b;
	background: white;
	position: relative;
	border: solid 3px #bae4f7;
	border-radius: 8px;
}

.font-box .font-box-title {
	position: absolute;
	display: inline-block;
	top: -13px;
	left: 10px;
	padding: 0 9px;
	line-height: 1.3;
	font-size: 19px;
	background: #FFF;
	font-weight: bold;
}

.box26 p {
	margin: 0;
	padding: 0;
}

/**下矢印**/
.arrow_down01 {
	/*オーソドックス*/
	display: inline-block;
	height: 65px;
	width: 95px;
	background: #1a3be3;
	clip-path: polygon(0% 40%, 28% 40%, 28% 0%, 72% 0%, 72% 40%, 100% 40%, 50% 100%);
}

.arrow_down02 {
	/*中抜き*/
	display: inline-block;
	height: 65px;
	width: 95px;
	background: #1a3be3;
	clip-path: polygon(0% 40%, 28% 40%, 28% 0%, 72% 0%, 72% 40%, 100% 40%, 50% 100%);
}

.arrow_down02::after {
	content: '';
	display: block;
	margin: auto;
	height: 100%;
	width: 100%;
	background: #fff;
	clip-path: polygon(13% 47%, 33% 47%, 33% 8%, 67% 8%, 67% 47%, 87% 47%, 50% 90%);
}

.arrow_down03 {
	/*波打ち*/
	position: relative;
	display: flex;
	height: 65px;
	/*画面いっぱいにする場合100vh*/
	/*	width: 95px;*/
	/*中央寄せしたくない場合はwidthを付与する*/
	justify-content: center;
	align-items: center;
}

.arrow_down03 .arrow_down03_child {
	/*矢印を配置するベースの設定*/
	position: absolute;
	top: 90%;
	/*終了地点*/
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 10px;
	opacity: 0;
}

.arrow_down03 .arrow_down03_child:first-child {
	animation: arrow-move01 3s ease-in-out infinite;
}

.arrow_down03 .arrow_down03_child:nth-child(2) {
	animation: arrow-move01 3s 1s ease-in-out infinite;
}

.arrow_down03 .arrow_down03_child:nth-child(3) {
	animation: arrow-move01 3s 2s ease-in-out infinite;
}

.arrow_down03 .arrow_down03_child:before,
.arrow_down03 .arrow_down03_child:after {
	/*矢印全体の設定*/
	position: absolute;
	content: '';
	top: 0;
	width: 30px;
	height: 3px;
	background: #1a3be3;
}

.arrow_down03 .arrow_down03_child:before {
	/*矢印左の線の位置と傾斜*/
	left: 3px;
	transform: rotate(30deg);
}

.arrow_down03 .arrow_down03_child:after {
	/*矢印左の線の位置と傾斜*/
	right: 3px;
	transform: rotate(-30deg);
}

@keyframes arrow-move01 {
	0% {
		opacity: 0;
		top: 0%;
		/*開始地点*/
	}

	70% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.arrow_down04 {
	position: relative;
	display: inline-block;
	width: 2px;
	height: 16px;
	margin: 0 5.7px;
	border-radius: 9999px;
	background-color: #000000;
}

.arrow_down04::before,
.arrow_down04::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 1px);
	width: 2px;
	height: 10px;
	border-radius: 9999px;
	background-color: #000000;
	transform-origin: 50% calc(100% - 1px);
}

.arrow_down04::before {
	transform: rotate(45deg);
}

.arrow_down04::after {
	transform: rotate(-45deg);
}

.arrow_down05 {
	position: relative;
	display: inline-block;
	width: 75px;
	height: 24.5px;
}

.arrow_down05::before,
.arrow_down05::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 1.5px);
	width: 3px;
	height: 45px;
	border-radius: 9999px;
	background-color: #0d82d3;
	transform-origin: 50% calc(100% - 1.5px);
}

.arrow_down05::before {
	transform: rotate(60deg);
}

.arrow_down05::after {
	transform: rotate(-60deg);
}

/**右矢印**/
.arrow_right01 {
	/*オーソドックス*/
	display: inline-block;
	height: 95px;
	width: 65px;
	background: #1a3be3;
	clip-path: polygon(0% 28%, 40% 28%, 40% 0%, 100% 50%, 40% 100%, 40% 72%, 0% 72%);
}

.arrow_right02 {
	/*中抜き*/
	display: inline-block;
	height: 95px;
	width: 65px;
	background: #1a3be3;
	clip-path: polygon(0% 28%, 40% 28%, 40% 0%, 100% 50%, 40% 100%, 40% 72%, 0% 72%);
}

.arrow_right02::after {
	content: '';
	display: block;
	margin: auto;
	height: 100%;
	width: 100%;
	background: #fff;
	clip-path: polygon(8% 33%, 47% 33%, 47% 13%, 90% 50%, 47% 87%, 47% 67%, 8% 67%);
}

.arrow_right03 {
	/*波打ち*/
	position: relative;
	display: flex;
	height: 65px;
	/*画面いっぱいにする場合100vh*/
	width: 65px;
	justify-content: center;
	align-items: center;
}

.arrow_right03 .arrow_right03_child {
	/*矢印を配置するベースの設定*/
	position: absolute;
	top: 50%;
	/*終了地点*/
	left: 90%;
	transform: translateX(-50%);
	width: 60px;
	height: 10px;
	opacity: 0;
}

.arrow_right03 .arrow_right03_child:first-child {
	animation: arrow-move02 3s ease-in-out infinite;
}

.arrow_right03 .arrow_right03_child:nth-child(2) {
	animation: arrow-move02 3s 1s ease-in-out infinite;
}

.arrow_right03 .arrow_right03_child:nth-child(3) {
	animation: arrow-move02 3s 2s ease-in-out infinite;
}

.arrow_right03 .arrow_right03_child:before,
.arrow_right03 .arrow_right03_child:after {
	/*矢印全体の設定*/
	position: absolute;
	content: '';
	top: 0;
	width: 30px;
	height: 3px;
	background: #1a3be3;
}

.arrow_right03 .arrow_right03_child:before {
	/*矢印左の線の位置と傾斜*/
	top: 25px;
	transform: rotate(120deg);
}

.arrow_right03 .arrow_right03_child:after {
	/*矢印左の線の位置と傾斜*/
	bottom: 25px;
	transform: rotate(-120deg);
}

@keyframes arrow-move02 {
	0% {
		opacity: 0;
		left: 0%;
		/*開始地点*/
	}

	70% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.arrow_right04 {
	position: relative;
	display: inline-block;
	width: 16px;
	height: 2px;
	margin: 5.7px 0;
	border-radius: 9999px;
	background-color: #000000;
}

.arrow_right04::before,
.arrow_right04::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	width: 10px;
	height: 2px;
	border-radius: 9999px;
	background-color: #000000;
	transform-origin: calc(100% - 1px) 50%;
}

.arrow_right04::before {
	transform: rotate(45deg);
}

.arrow_right04::after {
	transform: rotate(-45deg);
}

/**左矢印**/
.arrow_left01 {
	/*オーソドックス*/
	display: inline-block;
	height: 95px;
	width: 65px;
	background: #1a3be3;
	clip-path: polygon(0% 50%, 60% 0%, 60% 72%, 100% 72%, 100% 28%, 60% 28%, 60% 100%);
}

.arrow_left02 {
	/*中抜き*/
	display: inline-block;
	height: 95px;
	width: 65px;
	background: #1a3be3;
	clip-path: polygon(0% 50%, 60% 0%, 60% 72%, 100% 72%, 100% 28%, 60% 28%, 60% 100%);
}

.arrow_left02::after {
	content: '';
	display: block;
	margin: auto;
	height: 100%;
	width: 100%;
	background: #fff;
	clip-path: polygon(10% 50%, 53% 13%, 53% 33%, 92% 33%, 92% 67%, 53% 67%, 53% 87%);
}

.arrow_left03 {
	/*波打ち*/
	position: relative;
	display: flex;
	height: 65px;
	/*画面いっぱいにする場合100vh*/
	width: 65px;
	justify-content: center;
	align-items: center;
}

.arrow_left03 .arrow_left03_child {
	/*矢印を配置するベースの設定*/
	position: absolute;
	top: 50%;
	/*終了地点*/
	left: 0%;
	transform: translateX(-50%);
	width: 60px;
	height: 10px;
	opacity: 0;
}

.arrow_left03 .arrow_left03_child:first-child {
	animation: arrow-move03 3s ease-in-out infinite;
}

.arrow_left03 .arrow_left03_child:nth-child(2) {
	animation: arrow-move03 3s 1s ease-in-out infinite;
}

.arrow_left03 .arrow_left03_child:nth-child(3) {
	animation: arrow-move03 3s 2s ease-in-out infinite;
}

.arrow_left03 .arrow_left03_child:before,
.arrow_left03 .arrow_left03_child:after {
	/*矢印全体の設定*/
	position: absolute;
	content: '';
	top: 0;
	width: 30px;
	height: 3px;
	background: #1a3be3;
}

.arrow_left03 .arrow_left03_child:before {
	/*矢印左の線の位置と傾斜*/
	top: 25px;
	transform: rotate(-120deg);
}

.arrow_left03 .arrow_left03_child:after {
	/*矢印左の線の位置と傾斜*/
	bottom: 25px;
	transform: rotate(120deg);
}

@keyframes arrow-move03 {
	0% {
		opacity: 0;
		left: 90%;
		/*開始地点*/
	}

	70% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.arrow_left04 {
	position: relative;
	display: inline-block;
	width: 16px;
	height: 2px;
	margin: 5.7px 0;
	border-radius: 9999px;
	background-color: #000000;
}

.arrow_left04::before,
.arrow_left04::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 10px;
	height: 2px;
	border-radius: 9999px;
	background-color: #000000;
	transform-origin: 1px 50%;
}

.arrow_left04::before {
	transform: rotate(45deg);
}

.arrow_left04::after {
	transform: rotate(-45deg);
}

/**上矢印**/
.arrow_up01 {
	/*オーソドックス*/
	display: inline-block;
	height: 65px;
	width: 95px;
	background: #1a3be3;
	clip-path: polygon(0% 60%, 50% 0%, 100% 60%, 72% 60%, 72% 100%, 28% 100%, 28% 60%);
}

.arrow_up02 {
	/*中抜き*/
	display: inline-block;
	height: 65px;
	width: 95px;
	background: #1a3be3;
	clip-path: polygon(0% 60%, 50% 0%, 100% 60%, 72% 60%, 72% 100%, 28% 100%, 28% 60%);
}

.arrow_up02::after {
	content: '';
	display: block;
	margin: auto;
	height: 100%;
	width: 100%;
	background: #fff;
	clip-path: polygon(13% 53%, 50% 10%, 87% 53%, 67% 52%, 67% 92%, 33% 92%, 33% 53%);
}

.arrow_up03 {
	/*波打ち*/
	position: relative;
	display: flex;
	height: 65px;
	/*画面いっぱいにする場合100vh*/
	/*	width: 95px;*/
	/*中央寄せしたくない場合はwidthを付与する*/
	justify-content: center;
	align-items: center;
}

.arrow_up03 .arrow_up03_child {
	/*矢印を配置するベースの設定*/
	position: absolute;
	top: 0%;
	/*終了地点*/
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 10px;
	opacity: 0;
}

.arrow_up03 .arrow_up03_child:first-child {
	animation: arrow-move04 3s ease-in-out infinite;
}

.arrow_up03 .arrow_up03_child:nth-child(2) {
	animation: arrow-move04 3s 1s ease-in-out infinite;
}

.arrow_up03 .arrow_up03_child:nth-child(3) {
	animation: arrow-move04 3s 2s ease-in-out infinite;
}

.arrow_up03 .arrow_up03_child:before,
.arrow_up03 .arrow_up03_child:after {
	/*矢印全体の設定*/
	position: absolute;
	content: '';
	top: 0;
	width: 30px;
	height: 3px;
	background: #1a3be3;
}

.arrow_up03 .arrow_up03_child:before {
	/*矢印左の線の位置と傾斜*/
	left: 3px;
	transform: rotate(-30deg);
}

.arrow_up03 .arrow_up03_child:after {
	/*矢印左の線の位置と傾斜*/
	right: 3px;
	transform: rotate(30deg);
}

.arrow_up04 {
	position: relative;
	display: inline-block;
	width: 2px;
	height: 16px;
	margin: 0 5.7px;
	border-radius: 9999px;
	background-color: #000000;
}

.arrow_up04::before,
.arrow_up04::after {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 1px);
	width: 2px;
	height: 10px;
	border-radius: 9999px;
	background-color: #000000;
	transform-origin: 50% 1px;
}

.arrow_up04::before {
	transform: rotate(45deg);
}

.arrow_up04::after {
	transform: rotate(-45deg);
}

.text_arrow-down {
	position: relative;
	/*ボックスの位置指定 */
	width: 30px;
	/* ボックスの横幅を指定する */
	height: 100px;
	/* ボックスの高さを指定する */
	background: #bae4f7;
	/* ボックスの背景色を指定する */
	color: #444;
	text-align: center;
	align-content: center;
	font-size: 20px;
	margin: -2rem 1.02rem 0 1.02rem;
}

.text_arrow-down:after {
	position: absolute;
	/* 三角形の位置指定 */
	content: "";
	/* 三角形のコンテンツ */
	bottom: -40px;
	/* 上部から配置の基準位置を決める */
	right: 0;
	/* 右から配置の基準位置を決める */
	border: solid;
	/* 境界線を指定する */
	border-color: transparent;
	/* 境界線の色をなしにする */
	border-left: 30px solid #bae4f7;
	/* 境界線の上部を実線で指定する */
	transform: rotate(90deg);
	border-width: 30px 0 30px 30px;
}

.text_arrow-right {
	position: relative;
	/*ボックスの位置指定 */
	width: 100px;
	/* ボックスの横幅を指定する */
	height: 30px;
	/* ボックスの高さを指定する */
	background: #bae4f7;
	/* ボックスの背景色を指定する */
	color: #444;
	text-align: center;
	align-content: center;
	font-size: 20px;
	letter-spacing: 0.3rem;
	margin: 1.02rem 0;
}

.text_arrow-right:after {
	position: absolute;
	/* 三角形の位置指定 */
	content: "";
	/* 三角形のコンテンツ */
	top: -15px;
	/* 上部から配置の基準位置を決める */
	right: -30px;
	/* 右から配置の基準位置を決める */
	border: solid;
	/* 境界線を指定する */
	border-color: transparent;
	/* 境界線の色をなしにする */
	border-left: 30px solid #bae4f7;
	/* 境界線の上部を実線で指定する */
	border-width: 30px 0 30px 30px;
}

.text_arrow-left {
	position: relative;
	/*ボックスの位置指定 */
	width: 100px;
	/* ボックスの横幅を指定する */
	height: 30px;
	/* ボックスの高さを指定する */
	background: #bae4f7;
	/* ボックスの背景色を指定する */
	color: #444;
	text-align: center;
	align-content: center;
	font-size: 20px;
	letter-spacing: 0.3rem;
	margin: 1.02rem 0 1.02rem 2rem;
}

.text_arrow-left:after {
	position: absolute;
	/* 三角形の位置指定 */
	content: "";
	/* 三角形のコンテンツ */
	top: -15px;
	/* 上部から配置の基準位置を決める */
	left: -30px;
	/* 右から配置の基準位置を決める */
	border: solid;
	/* 境界線を指定する */
	border-color: transparent;
	/* 境界線の色をなしにする */
	border-left: 30px solid #bae4f7;
	/* 境界線の上部を実線で指定する */
	transform: rotate(180deg);
	border-width: 30px 0 30px 30px;
}

.text_arrow-up {
	position: relative;
	/*ボックスの位置指定 */
	width: 30px;
	/* ボックスの横幅を指定する */
	height: 100px;
	/* ボックスの高さを指定する */
	background: #bae4f7;
	/* ボックスの背景色を指定する */
	color: #444;
	text-align: center;
	align-content: center;
	font-size: 20px;
	margin: 0 1.02rem;
}

.text_arrow-up:after {
	position: absolute;
	/* 三角形の位置指定 */
	content: "";
	/* 三角形のコンテンツ */
	top: -40px;
	/* 上部から配置の基準位置を決める */
	right: 0;
	/* 右から配置の基準位置を決める */
	border: solid;
	/* 境界線を指定する */
	border-color: transparent;
	/* 境界線の色をなしにする */
	border-left: 30px solid #bae4f7;
	/* 境界線の上部を実線で指定する */
	transform: rotate(-90deg);
	border-width: 30px 0 30px 30px;
}

.gradation_circle {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border-bottom: none !important;
	background-image: radial-gradient(white, #0099ff);
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 auto !important;
	padding: 0 0.5rem !important;
	text-align: center;
}

@keyframes arrow-move04 {
	0% {
		opacity: 0;
		top: 90%;
		/*開始地点*/
	}

	70% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

/*****色*****/
.black {
	color: black;
}

.royalblue {
	color: royalblue;
}

/*****検索テキストボックス*****/
.search_text {
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	border: 2px solid #B3B3B3;
	border-radius: 7px;
	width: 290px
}

.search_text input {
	width: 250px;
	/*height: 45px;*/
	padding: 7px 10px;
	border: none;
	/*box-sizing: border-box;*/
	/*font-size: 1em;*/
	outline: none;
}

.search_text input::placeholder {
	color: #777777;
}

.search_text a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 35px;
	border: none;
	background-color: #1a3be3;
	cursor: pointer;
}

.search_text a::after {
	font-family: bootstrap-icons;
	content: '\F52A';
	font-weight: bold;
	color: white;
	position: absolute;
}

/*****マルチ選択BOX*****/
.multibox {
	max-width: 350px;
	position: relative;
}

.multibox-title {
	color: #1a3be3;
	cursor: pointer;
	padding: 8px 40px 8px 10px;
	border: 1px solid #1a3be3;
	background-color: #fff;
}

.multibox-title.active {
	color: #fff;
	cursor: pointer;
	background-color: #1a3be3;
}

.multibox-content {
	display: none;
	padding: 10px 5px;
	border-bottom: 1px solid #1a3be3;
	border-left: 1px solid #1a3be3;
	border-right: 1px solid #1a3be3;
	max-height: 350px;
	overflow-y: auto;
}

.multibox-title {
	position: relative;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	padding-right: 3rem;
	line-height: 1.9rem;
	height: 42px;
}

.multibox-title::after {
	border-right: solid 1px #1a3be3;
	border-top: solid 1px #1a3be3;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: 25px;
	top: 38%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 8px;
}

.multibox-title.active::after {
	border-right: solid 1px #fff;
	border-top: solid 1px #fff;
}


.multibox-title.open {
	background-color: rgb(255, 255, 255);
	color: #1a3be3;
	border-top: 1px solid #1a3be3;
	border-left: 1px solid #1a3be3;
	border-right: 1px solid #1a3be3;
	border-bottom: none;
}

.multibox-title.open::after {
	top: 45%;
	transform: rotate(-45deg);
	border-right: solid 1px #1a3be3;
	border-top: solid 1px #1a3be3;
}

/*ラジオボタンを隠す為の共通クラス*/
.multiboxhidden {
	display: none;
}

.multiboxchecked {
	background-color: aqua;
	/* アコーディオンヘッダーの背景色 */
}

/* ------------------------------
   #tabAccordion
------------------------------ */
#tabAccordion {
	margin: 0 auto;
	width: 600px;
	height: 400px;
	font-size: 12px;
	border: #999 1px solid;
	position: relative;
}

#tabAccordion dl {
	top: 0;
	left: 0;
	width: 600px;
	position: absolute;
}

#tabAccordion dl dt {
	top: 0;
	left: 0;
	width: 150px;
	font-weight: bold;
	position: absolute;
	border-right: #999 1px solid;
	border-bottom: #999 1px solid;
	background: #f0f0f0;
	box-sizing: border-box;
}

#tabAccordion dl:nth-child(2) dt {
	left: 150px;
}

#tabAccordion dl:nth-child(3) dt {
	left: 300px;
}

#tabAccordion dl:nth-child(4) dt {
	left: 450px;
	border-right: none;
}

#tabAccordion dl dt {
	padding: 15px 0;
	font-weight: bold;
	display: block;
	text-align: center;
	-moz-transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

#tabAccordion dl dt.btnAcv {
	border-bottom: none;
	background: #fff;
}

@media only screen and (min-width: 768px) {
	#tabAccordion dl dt:hover {
		background: #fff;
	}
}

#tabAccordion dl dd {
	top: 50px;
	left: 0;
	padding: 30px;
	width: 100%;
	height: 350px;
	text-align: left;
	overflow-y: auto;
	display: none;
	position: absolute;
	box-sizing: border-box;
}

@media (min-width: 768px) {

	/*タブの幅 column+タブ数classを付与*/
	#tabAccordion.column2 dt {
		width: calc(100% / 2);
	}

	#tabAccordion.column2 dl:nth-child(2) dt {
		left: calc(100% / 2);
	}

	#tabAccordion.column3 dt {
		width: calc(100% / 3);
	}

	#tabAccordion.column3 dl:nth-child(2) dt {
		left: calc(100% / 3);
	}

	#tabAccordion.column3 dl:nth-child(3) dt {
		left: calc((100% / 3)*2);
	}

	#tabAccordion.column4 dt {
		width: calc(100% / 4);
	}

	#tabAccordion.column4 dl:nth-child(2) dt {
		left: calc(100% / 4);
	}

	#tabAccordion.column4 dl:nth-child(3) dt {
		left: calc((100% / 4)*2);
	}

	#tabAccordion.column4 dl:nth-child(4) dt {
		left: calc((100% / 4)*3);
	}

	#tabAccordion.column5 dt {
		width: calc(100% / 5);
	}

	#tabAccordion.column5 dl:nth-child(2) dt {
		left: calc(100% / 5);
	}

	#tabAccordion.column5 dl:nth-child(3) dt {
		left: calc((100% / 5)*2);
	}

	#tabAccordion.column5 dl:nth-child(4) dt {
		left: calc((100% / 5)*3);
	}

	#tabAccordion.column5 dl:nth-child(5) dt {
		left: calc((100% / 5)*4);
	}

	#tabAccordion.column6 dt {
		width: calc(100% / 6);
	}

	#tabAccordion.column6 dl:nth-child(2) dt {
		left: calc((100% / 6));
	}

	#tabAccordion.column6 dl:nth-child(3) dt {
		left: calc((100% / 6)*2);
	}

	#tabAccordion.column6 dl:nth-child(4) dt {
		left: calc((100% / 6)*3);
	}

	#tabAccordion.column6 dl:nth-child(5) dt {
		left: calc((100% / 6)*4);
	}

	#tabAccordion.column6 dl:nth-child(6) dt {
		left: calc((100% / 6)*5);
	}

	/*overflow-yをリセット*/
	#tabAccordion dl dd {
		overflow-y: visible;
	}
}

/*業界採用事例のtabAccordionデザイン*/
#tabAccordion.application_ex {
	width: 100%;
	height: auto;
	margin: 1rem 0;
	border: none;
}

@media (min-width: 768px) {
	#tabAccordion.application_ex .img_center img {
		width: 75%;
		margin: 0 auto 2rem;
		display: block;
	}
}

#tabAccordion.application_ex dl {
	width: 100%;
}

#tabAccordion.application_ex dt {
	background-color: #E1EBF0;
	border: none !important;
}

#tabAccordion.application_ex dl dt.btnAcv:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(143, 180, 199, 0);
	border-top-color: #8FB4C7;
	border-width: 10px;
	margin-left: -10px;
}

#tabAccordion.application_ex dl dt {
	color: #435e7a;
}

#tabAccordion.application_ex dl dt.btnAcv,
#tabAccordion.application_ex dl dt:hover {
	background-color: #8FB4C7;
	border: none;
	color: #FFFFFF;
	cursor: pointer;
}

#tabAccordion.application_ex dl dt.btnAcv {
	color: #FFFFFF;
}

#tabAccordion.application_ex dd {
	height: auto;
	border: none;
}

/* ------------------------------
   MEDIAQUERIES LAYOUT
------------------------------ */
@media only screen and (max-width: 800px) {
	#tabAccordion {
		width: 100%;
		box-sizing: border-box;
	}

	#tabAccordion dl {
		width: 100%;
		box-sizing: border-box;
	}

	#tabAccordion dl dt {
		width: 25%;
	}

	#tabAccordion dl:nth-child(2) dt {
		left: 25%;
	}

	#tabAccordion dl:nth-child(3) dt {
		left: 50%;
	}

	#tabAccordion dl:nth-child(4) dt {
		left: 75%;
	}
}

/* ------------------------------
   MEDIAQUERIES[SP]LAYOUT
------------------------------ */
@media only screen and (max-width: 767px) {
	#tabAccordion {
		width: 100%;
		height: auto !important;
		border: none;
	}

	#tabAccordion dl {
		top: auto;
		left: auto;
		width: 100%;
		position: relative;
	}

	#tabAccordion dl dt {
		top: auto;
		left: auto;
		width: 100%;
		position: relative;
		border-bottom: #999 1px solid;
		border-right: none;
	}

	#tabAccordion dl:first-child dt {
		border-top: #999 1px solid;
	}

	#tabAccordion dl:nth-child(2) dt,
	#tabAccordion dl:nth-child(3) dt,
	#tabAccordion dl:nth-child(4) dt {
		left: auto;
	}

	#tabAccordion dl dt a {
		padding: 20px;
		height: auto;
		line-height: 1em;
		text-align: left;
	}

	#tabAccordion dl dt a:after {
		content: '';
		margin-top: -4px;
		top: 50%;
		right: 15px;
		width: 8px;
		height: 8px;
		font-size: 1em;
		font-weight: bold;
		line-height: 1.2em;
		display: block;
		position: absolute;
		border-top: 2px solid #666;
		border-right: 2px solid #666;
		-moz-transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	#tabAccordion dl dt.btnAcv {
		border-bottom: #999 1px solid;
		background: #bbb;
	}

	#tabAccordion dl dt.btnAcv a:after {
		content: none;
	}

	#tabAccordion dl dd {
		top: auto;
		left: auto;
		padding: 20px;
		width: 100%;
		height: auto;
		position: relative;
		border-bottom: #999 1px solid;
	}
}

img.grayout {
	-webkit-filter: grayscale(1);
	filter: gray;
	/* IE6-9 */
	filter: grayscale(1);
	cursor: default;
}

.balloon_box {
	position: relative;
	display: inline-block;
	padding: 10px;
	width: 100%;
	background: #fff;
	border: 3px solid #ccc;
	border-radius: 10px 10px;
	z-index: 0;
}

.balloon_box:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -8px;
	margin-top: -9px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 0 9px 9px;
	border-color: transparent transparent transparent #fff;
	z-index: 0;
}

.balloon_box:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -12px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #ccc;
	z-index: -1;
}

.balloon_box_bottom {
	position: relative;
	padding: 10px;
	margin-bottom: 10px;
	background: #fff;
	border: 3px solid #ccc;
	border-radius: 10px 10px;
	z-index: 0;
}

.balloon_box_bottom:before {
	content: "";
	position: absolute;
	top: 100%;
	right: 50%;
	margin-top: -1px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 9px 0 9px;
	border-color: #fff transparent transparent transparent;
	z-index: 0;
}

.balloon_box_bottom:after {
	content: "";
	position: absolute;
	top: 100%;
	right: 50%;
	margin-top: 2px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #ccc transparent transparent transparent;
	z-index: -1;
}

.balloon_box_left {
	position: relative;
	display: inline-block;
	padding: 10px;
	width: 100%;
	background: #fff;
	border: 3px solid #ccc;
	border-radius: 10px 10px;
	z-index: 0;
}

.balloon_box_left:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -8px;
	margin-top: -9px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 0 9px 9px;
	border-color: transparent transparent transparent #fff;
	transform: rotate(-180deg);
	z-index: 0;
}

.balloon_box_left:after {
	content: "";
	position: absolute;
	top: 50%;
	left: -12px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #ccc;
	transform: rotate(180deg);
	z-index: -1;
}

/* スマホ表示時は吹き出し矢印を下向きに */
@media (max-width: 767px) {

	.balloon_box,
	.balloon_box_left {
		position: relative;
		padding: 10px;
		margin-bottom: 10px;
		background: #fff;
		border: 3px solid #ccc;
		border-radius: 10px 10px;
		z-index: 0;
	}

	.balloon_box:before,
	.balloon_box_left:before {
		content: "";
		position: absolute;
		top: 100%;
		right: 50%;
		left: auto;
		margin-top: -1px;
		display: block;
		width: 0px;
		height: 0px;
		border-style: solid;
		border-width: 9px 9px 0 9px;
		border-color: #fff transparent transparent transparent;
		z-index: 0;
		transform: rotate(0deg);
	}

	.balloon_box:after,
	.balloon_box_left:after {
		content: "";
		position: absolute;
		top: 100%;
		right: 50%;
		left: auto;
		margin-top: 2px;
		display: block;
		width: 0px;
		height: 0px;
		border-style: solid;
		border-width: 10px 10px 0 10px;
		border-color: #ccc transparent transparent transparent;
		z-index: -1;
		transform: rotate(0deg);
	}
}

/* ------------------------------
   datatablesでのテーブルの角丸対応
------------------------------ */
div.dt-scroll-body {
	border-bottom-color: var(--bs-border-color) !important;
	border-bottom-width: var(--bs-border-width) !important;
	border-bottom-style: none !important;
}

div.dt-scroll-body>table>tbody>tr:last-child>* {
	border-bottom: 1px solid #B3B3B3 !important;
}

.white-text-3d-header {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	overflow: hidden;
	box-sizing: border-box;
	text-align: center;
	width: 100%;
	height: 100%;
}

.white-text-3d {
	background: #c0c0c0;
	color: #fff;
	text-shadow:
		1px 1px #aaa,
		2px 2px #999,
		3px 3px #888,
		4px 4px #777,
		5px 5px #666,
		6px 6px #555,
		7px 7px 4px #000;
	text-align: center;
	font-size: 28px;
	width: 70%;
	padding-top: 0.4rem;
	padding-bottom: 0.8rem;
	margin: 0 auto;
	padding-top: 0.4rem;
	padding-bottom: 0.8rem;
}

.white-text-dark-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 1.5rem 0;
	box-sizing: border-box;
}

.white-text-dark {
	color: #fff !important;
	text-align: center;
	background: #555;
	padding: 1rem;
	width: 80%;
	;
}

.h4-white-text-dark {
	color: #fff !important;
	background: gray;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	padding: 0.5rem;
}

/*
* 形番表示例
*/
.shape_no_disp_sample_title {
	font-size: 13px;
}

.shape_no_disp_sample_area {
	padding-left: 1rem;
}

.shape_no_disp_sample_area table,
.shape_no_disp_sample_area td {
	border: none !important;
}

.shape_no_disp_sample td {
	padding-right: 0.5rem;
	padding-left: 0.5rem;
	border-radius: unset !important;
}

.shape_no_disp_sample tr>*:first-child {
	padding-left: 0;
}

.shape_no_disp_sample tr>*:last-child {
	padding-right: 0;
}

.shape_no_disp_sample span {
	font-weight: bold;
	font-size: 20px;
}

.shape_no_disp_sample .attention_line {
	background: linear-gradient(transparent 80%, #a8eaff 60%);
}

.shape_no_disp_sample_detail {
	overflow-y: auto;
	max-height: 300px;
}

.shape_no_disp_sample_detail td {
	background-color: transparent;
	padding-bottom: 0.5rem;
	text-align: left;
	border-radius: unset !important;
}

.shape_no_disp_sample_detail tr>*:first-child {
	padding-left: 0.5rem;
	padding-right: 1rem;
	padding-bottom: 0.5rem;
	vertical-align: top;
}

.shape_no_disp_sample_detail tr>*:last-child {
	padding-right: 0.5rem;
}

.shape_no_disp_sample_detail span {
	font-weight: bold;
}

.shape_no_disp_sample_detail div,
.shape_no_disp_sample_detail li {
	padding-left: 1rem;
}

.shape_no_disp_sample_detail li:first-child {
	padding-left: 0;
}

.shape_no_disp_sample_bg_selected {
	background-color: #cce6ff !important;
}

.shape_no_disp_sample_bg_hover {
	background-color: #ccffff !important;
}

.shape_no_disp_sample_bg_default {
	background-color: transparent;
}

.shape_no_disp_sample {
	overflow-x: scroll;
	max-width: 100%
}

.common_alert_title {
	background: #ecf2f5;
	padding: 0.5rem 0.5rem 0.5rem 1rem;
}

/*幅、高さののユーティリティ*/
.mw_max-content {
	max-width: max-content;
}

.mw_min-content {
	max-width: min-content;
}

.w_max-content {
	width: max-content;
}

/* りんちゃんに適用されるbootstrap5.3のCSSを上書き*/
.row>.live2d {
	flex-shrink: initial;
	width: auto;
	max-width: none;
}

/* MAフォーム関連*/
#ma_form_main {
	position: fixed;
	z-index: 999999;
	top: 0;
	right: -30%;
	/* 初期は画面の外に隠す */
	width: 30%;
	height: 100%;
	background-color: white;
	box-shadow: -2px 0 5px rgba(0, 0, 0, 0.3);
	transition: right 0.3s ease;
	overflow: hidden;
}

#ma_form_main.open {
	right: 0;
	/* これで画面内にスライドしてくる */
}

#ma_form_main iframe {
	width: 100%;
	height: 100%;
	border: none;
}

#ma_overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 999998;
}

/* 目次*/
.mokuji {
	margin-top: 30px;
	margin-bottom: 20px;
	border: 1px solid #bae4f7;
	border-left: 7px solid #bae4f7;

	/* グラデーション */
	/*
	border-left: 7px solid transparent;
	border-image-source: linear-gradient(to bottom, #dfff5d 20%, #ffa186 54%, #748af8);
	border-image-slice: 1;
	*/

	border-radius: 3px;
	padding: 0;
}

.mokuji div {
	display: flex;
	margin: 0;
	padding: 10px 15px 3px;
	color: #444;
	font-weight: 600;
	font-size: 1.1em;
	align-items: start;
}

.mokuji div::before {
	font-size: larger;
	margin-right: 5px;
	font-family: bootstrap-icons;
	content: '\F478';
}

.mokuji ul {
	list-style-type: disc;
	margin: 0;
	overflow: hidden;
}

.mokuji>ul {
	padding: 0em 1em 1em 3em;
}

.mokuji ul ul {
	margin-top: 5px;
	padding-left: 1.1em;
}

.mokuji li {
	padding: 5px 0;
	font-weight: 600;
}


.mokuji ul ul li {
	font-weight: 500;
	font-size: .9em;
}

.mokuji a {
	color: #333;
	text-decoration: none;
}

.mokuji li a:hover {
	color: #09f;
}



.badge01 {
	background: red;
	border-radius: 4px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 1px 3px 1px 3px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	width: 50px;
	margin: auto;
	border: 0;
	font-size: 12px;
}

.badge02 {
	background: #0070c0;
	border-radius: 4px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 1px 3px 1px 3px;
	color: white;
	line-height: 1.8;
	text-decoration: none;
	transition: 0.25s ease-in-out;
	width: 50px;
	margin: auto;
	border: 0;
	font-size: 12px;
}

.text-center {
	text-align: center !important;
}

.text-left {
	text-align: left !important;
}

.text-right {
	text-align: right !important;
}

/* 分数表記 */
.bunsu {
	display: inline-flex;
	flex-direction: column;
	vertical-align: middle;
	text-align: center;
}

/* 分数表記、分子の内のカッコ()微調整用 */
.bunbo {
	padding: 0 1rem;
}

.bunsi {
	padding: 0 1rem;
	border-bottom: 1px solid #444;
	line-height: 1.5;
}

.bunsi .kakko_s_before:before {
	top: 0;
	left: -0.5rem;
}

.bunsi .kakko_s_after:after {
	top: 0;
}

.kakko_m_before,
.kakko_m_after,
.kakko_s_before,
.kakko_s_after {
	position: relative;
	padding: 0 0.5rem;
	margin: 0 0.5rem;
}

.kakko_m_after:after {
	content: "}";
	position: absolute;
	/*	top: -10;*/
	right: -1rem;
	height: 100%;
	font-size: 2rem;
}

.kakko_m_before:before {
	content: "{";
	position: absolute;
	/*	top: -10;*/
	left: -1rem;
	height: 100%;
	font-size: 2rem;
}

/* カッコの中に分数を含む場合の高さ調整 */
[class^="kakko_"]:has(.bunsu):before,
[class^="kakko_"]:has(.bunsu):after {
	line-height: 1.3;
}

/* ルート記号 */
.radic {
	border-top: 1px solid;
	position: relative;
	padding-top: 1.05rem;
	padding-left: 0.5rem;
	margin-left: 1.25rem;
}

.radic:before {
	content: "√";
	font-size: 2.5rem;
	position: absolute;
	top: -0.8rem;
	left: -1.3rem;
}

.radic_small {
	border-top: 1px solid;
	position: relative;
	padding-top: 0;
	padding-left: 0.5rem;
	margin-left: 1.25rem;
}

.radic_small:before {
	content: "√";
	font-size: 1.5rem;
	position: absolute;
	top: -0.4rem;
	left: -0.8rem;
}

.radic_tall {
	border-top: 2px solid;
	position: relative;
	padding-top: 0.78rem;
	padding-left: 0;
	margin-left: 1.8rem;
}

.radic_tall:before {
	content: "√";
	font-size: 2.5rem;
	position: absolute;
	top: -0.9rem;
	left: -1.5rem;
}

.radic_large {
	border-top: 2px solid;
	position: relative;
	padding-top: 0.5rem;
	padding-left: 0;
	margin-left: 1.8rem;
	line-height: 1;
}

.radic_large:before {
	content: "√";
	font-size: 3rem;
	position: absolute;
	top: -0.3rem;
	left: -1.8rem;
}

/* ぶら下げインデント */
.hanging-indent_1rem {
	padding-left: 1rem;
	text-indent: -1rem;
	/* 1行目を左に1rem戻す */
}

.hanging-indent_2rem {
	padding-left: 2rem;
	text-indent: -2rem;
	/* 1行目を左に2rem戻す */
}

/* カッコ() */
.kakko_m_before,
.kakko_m_after,
.kakko_s_before,
.kakko_s_after {
	position: relative;
	padding: 0 0.5rem;
	margin: 0 0.5rem;
}

.kakko_m_after:after {
	content: "}";
	position: absolute;
	right: -0.5rem;
	height: 100%;
	font-size: 2rem;
}

.kakko_m_before:before {
	content: "{";
	position: absolute;
	left: -0.5rem;
	height: 100%;
	font-size: 2rem;
}

.kakko_s_after:after {
	content: ")";
	position: absolute;
	right: -0.5rem;
	height: 100%;
	font-size: 2rem;
}

.kakko_s_before:before {
	content: "(";
	position: absolute;
	left: -0.5rem;
	height: 100%;
	font-size: 2rem;
}

/* カッコ[] */
.kakkol {
	position: relative;
	padding: 0 0.5rem;
}

.kakkol:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 0.5rem;
	border-right: 1px solid #444;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}

.kakkol:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0.5rem;
	border-left: 1px solid #444;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}

.kakko_l_before {
	position: relative;
	padding-left: 0.5rem;
}

.kakko_l_before::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0.5rem;
	border-left: 1px solid #444;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}

.kakko_l_after {
	position: relative;
	padding-right: 0.5rem;
}

.kakko_l_after::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 0.5rem;
	border-right: 1px solid #444;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}

/* ルート記号 */
.radic {
	border-top: 1px solid;
	position: relative;
	padding-top: 1rem;
	padding-left: 0.5rem;
	margin-left: 1.45rem;
}

.radic:before {
	content: "√";
	font-size: 2.5rem;
	position: absolute;
	top: -0.8rem;
	left: -1.5rem;
	width: 1.5rem;
	overflow: hidden;
}

.radic_small {
	border-top: 1px solid;
	position: relative;
	padding-top: 0;
	padding-left: 0.5rem;
	margin-left: 1.25rem;
}

.radic_small:before {
	content: "√";
	font-size: 1.5rem;
	position: absolute;
	top: -0.45rem;
	left: -0.8rem;
	width: 0.87rem;
	overflow: hidden;
}

.radic_tall {
	border-top: 2px solid;
	position: relative;
	padding-top: 0.78rem;
	padding-left: 0;
	margin-left: 1.8rem;
}

.radic_tall:before {
	content: "√";
	font-size: 2.5rem;
	position: absolute;
	top: -0.9rem;
	left: -1.5rem;
}

.radic_large {
	border-top: 2px solid;
	position: relative;
	padding-top: 0.5rem;
	padding-left: 0;
	margin-left: 1.8rem;
	line-height: 1;
}

.radic_large:before {
	content: "√";
	font-size: 3rem;
	position: absolute;
	top: -0.3rem;
	left: -1.8rem;
}

/* アコーディオン */
summary {
	display: block;
}

summary::-webkit-details-marker {
	display: none;
	/* Safari用の三角形アイコンを非表示 */
}


.summary_inner {
	cursor: pointer;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 16px 24px;
	border: 1px solid #c3c3c3;
	font-weight: bold;
	border-radius: 5px;
}

.summary_inner:hover {
	background-color: #f5f5f5;
	transition: background-color 0.3s ease;
}

details.is-opened .summary_inner {
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
}


.icon {
	display: block;
	position: relative;
	width: 24px;
	margin-left: 6px;
	flex-shrink: 0;
	transform-origin: center 43%;
	transition: transform 0.4s;
}

.icon::before,
.icon::after {
	content: "";
	position: absolute;
	display: block;
	width: 15px;
	height: 3px;
	background-color: #8d8d8d;


}

.icon::before {
	left: 0;
	transform: rotate(45deg);
}

.icon::after {
	right: 0;
	transform: rotate(-45deg);
}

details.is-opened .icon {
	transform: rotate(180deg);
}

.content {
	overflow: hidden;
	border-right: 1px solid #c3c3c3;
	border-bottom: 1px solid #c3c3c3;
	border-left: 1px solid #c3c3c3;

	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;

}

.content_inner {
	padding: 24px 24px;
}

/* h3に連番を付与 */
.counter_increment_h3 {
	/* 連番を付与したいブロックを囲む */
	counter-reset: h3;
}

.counter_increment_h3 h3 {
	counter-increment: h3;
}

.counter_increment_h3 h3::before {
	content: counter(h3) ". ";
}

.sup_position_reset {
	top: 0;
	vertical-align: super;
}

/* 技術資料 減速機 選定手順(フローチャート)用 */
.slct_area_button .active .link_button01 {
	background: #1a3be3;
	color: #fff !important;
}

.slct_area_button .disable .link_button01,
.slct_area_button .disable .link_button {
	border: 1px solid #ccc;
}

.slct_area_button .disable p,
.slct_area_button .disable .link_button {
	background-color: #ccc !important;
	color: #444 !important;
	opacity: 1 !important;
}

.slct_area_button .disable {
	pointer-events: none;
}

.slct_area_button .link_button01:before {
	content: none;
}

.box_link .disable {
	color: #ccc !important;
}

.box_link .disable:before {
	opacity: 0.5 !important;
}

/*選定ステップナビ*/
.sentei_nav {
	width: 100%;
	min-width: 850px;
}

.steps {
	max-width: 100%;
	display: flex;
	flex-wrap: nowrap;
	margin: 0;
	position: relative;
	align-items: center;
	counter-reset: step;
}

.step,
.step_current,
.step_end {
	position: relative;
	width: 100%;
	min-height: 40px;
	align-items: center;
	padding: 0px 32px;
	background: #fff;
	text-align: center;
	transition: background-color 0.4s ease;
	border: 4px solid #00a8e8;
	counter-increment: step;
	line-height: 1;
	display: grid;
}

.nav_label {
	max-width: 100%;
	font-weight: bold;
	font-size: 10px;
	color: #1a6ba1;
}


.step_end:last-child,
.step_current:last-child,
.step:last-child {
	border-radius: 50px;
}

.nav_badge {
	position: absolute;

	border-radius: 50%;
	border: 7px solid #00a8e8;
	outline: 3px solid #fff;
	background: #fff;

	min-width: 50px;
	min-height: 50px;
	display: flex;
	max-width: 100%;
	top: 50%;
	left: 0%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);

	align-items: center;
	justify-content: center;
	font-size: 23px;
	font-weight: bold;
	color: #1a6ba1;
}

.nav_badge::before {
	content: counter(step, decimal-leading-zero);
}

.step_current {
	background-color: #00a8e8;
	color: #fff;
}

.step_end {
	background-color: #bae4f7;
	text-decoration: none;
}

.step,
.step_end {
	border: 4px solid #bae4f7;
}

.step_current .nav_label {
	color: #fff;
	font-size: 12px;
}

.hr01 {
	position: relative;
	height: 1px;
	border-width: 0;
	background-image: linear-gradient(90deg, transparent 0%, rgb(0, 0, 0, 0.7) 50%, transparent 100%);
}

#debugLink{
	z-index: 999999;
}