@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.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;
}
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: 50%;
	-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: 50%;
	-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: 1rem;
	text-indent: -1rem;
}
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: 1rem;
	text-indent: -1rem;
}
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: 0 0 0 2em;
}
.no09.padding_none {
	padding: 0 0 0 0;
}

li.no09 {
	list-style-type: none;
	list-style-position: inside;
	counter-increment: count;
}
li.no09::before {
	display: marker;
	content: counter(count, lower-alpha) " . ";
}

.no10 {
	padding: 0 0 0 2em;
}
.no10.padding_none {
	padding: 0 0 0 0;
}

li.no10 {
	list-style-type: none;
	list-style-position: inside;
	counter-increment: count;
}
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) ")";
}

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;
}
.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;
}

.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 */
.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 #09f;
}
.underline02_g{
	border-bottom: 1.5px solid #9f9f9f;;
}
.underline02_b{
	border-bottom: 1.5px solid #0099ff;	
}
.underline03_b{
	position: relative;
}
.underline03_b::after {
	content: '';
	position: absolute;
	left: 0%;
	bottom: 0px;
	width: 100%;
	height: 1.5px;
	background-color: #1a3be3;
}
.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;
}

/**下矢印**/
.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_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_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_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);
}
@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: scroll;
	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;
}
/* りんちゃんに適用される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: 2px solid #1a3be3;
	border-radius: 3px;
	padding: 0;
}

.mokuji div {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 3px 0;
	background-color: #1a3be3;
	color: #fff;
	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: 1em 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;
}

.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;
}
/* ルート記号 */
.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戻す */
}

/* カッコ[] */
.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;
}

/* アコーディオン */
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) ". ";
}