@charset "shift_jis";
/********************* normaraize *************************/
html {
	-webkit-text-size-adjust: 100%;
	line-height: 1.15;
}

body {
	margin: 0;
}

main {
	display: block;
}

a {
	background-color: transparent;
}

b,
strong {
	font-weight: bolder;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

img {
	border-style: none;
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
	outline: 1px dotted ButtonText;
}

textarea {
	overflow: auto;
}

[type='checkbox'],
[type='radio'] {
	box-sizing: border-box;
	padding: 0;
}

[type='number']::-webkit-inner-spin-button, 
[type='number']::-webkit-outer-spin-button {
	height: auto;
}

[type='search'] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/********************* 全体 *************************/
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
	background-color: #fff;
	color: #333;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "メイリオ", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: bold;
	line-height: inherit;
}

address {
	font-style: normal;
}

@media print, screen and (min-width: 768px) {
	body {
		font-size: 1.6rem;
		line-height: 1.5;
	}
}

li,
dt,
dd {
	list-style: none;
}

figure,
figcaption {
	display: block;
	margin: 0;
}

em,
strong,
b {
	font-style: normal;
	font-weight: bold;
}

strong {
	color: #d92121;
}

sub,
sup {
	bottom: -.2em;
}

dfn {
	font-style: normal;
}

a {
	color: #5798d9;
	text-decoration: none;
}

a:link:focus {
	outline: -webkit-focus-ring-color auto 5px;
}

a img {
	pointer-events: none;
}

@media print, screen and (min-width: 768px) {
	a:link {
		transition: opacity 0.5s cubic-bezier(0.25, 0.8, 0.25, 1) ;
		will-change: opacity;
	}
	a:link:hover,
	a:link:focus {
		opacity: 0.4;
		text-decoration: none;
	}
}

iframe {
	width: 100%;
}

table {
	border-collapse: collapse;
	table-layout: fixed;
}

th {
	font-weight: bold;
	text-align: left;
}

label {
	cursor: pointer;
	margin-bottom: 0;
}

legend {
	font-size: 0;
}

input,
button,
select,
textarea,
[role='button'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	cursor: pointer;
	font-size: inherit;
	line-height: inherit;
	max-width: 100%;
	vertical-align: middle;
}

input[disabled],
button[disabled],
select[disabled],
textarea[disabled],
[role='button'][disabled] {
	cursor: not-allowed;
}

input [type='hidden'] {
	display: none;
}

input::-ms-clear {
	visibility: hidden;
}

input::-webkit-search-cancel-button,
input::-webkit-search-decoration {
	-webkit-appearance: none;
}

button {
	background-color: #fff;
	text-align: left;
}

select::-ms-expand {
	display: none;
}

textarea {
	overflow-x: hidden;
	overflow-y: auto;
	resize: vertical;
}

noscript {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
dl,
dt,
dd,
button,
fieldset {
	margin: 0;
	padding: 0;
}

img,
iframe,
video,
fieldset,
button {
	border: 0;
}

area:focus,
button:focus,
input:focus,
label:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
	outline: -webkit-focus-ring-color auto 5px;
}

@media print, screen and (min-width: 768px) {
	[type='button']:not(:disabled),
	[type='submit']:not(:disabled) {
		transition: opacity 0.5s cubic-bezier(0.25, 0.8, 0.25, 1) ;
		will-change: opacity;
	}
	[type='button']:not(:disabled):hover,
	[type='button']:not(:disabled):focus,
	[type='submit']:not(:disabled):hover,
	[type='submit']:not(:disabled):focus {
		opacity: 0.4;
	}
}

body > :first-child,
li > :first-child,
dt > :first-child,
dd > :first-child,
th > :first-child,
td > :first-child,
.screen > :first-child,
.box_type1_body > :first-child,
.box_type2 > :first-child,
.box_type2_body > :first-child,
.box_type3 > :first-child,
.box_type3_body > :first-child {
	margin-top: 0;
}

body > :last-child,
li > :last-child,
dt > :last-child,
dd > :last-child,
th > :last-child,
td > :last-child,
.screen > :last-child,
.box_type1_body > :last-child,
.box_type2 > :last-child,
.box_type2_body > :last-child,
.box_type3 > :last-child,
.box_type3_body > :last-child {
	margin-bottom: 0;
}

.box_type1_body,
.box_type2,
.box_type3,
.box_type3_body,
.button_type3,
.button_type1,
.heading_type2 + .heading_type3,
.link,
.description_item,
.numberDescription,
.media,
.table,
.text {
	margin-top: 24px;
}

pre {
	font-size: inherit;
	color: inherit;
	margin-bottom: 0;
	font-family: inherit;
	overflow: visible;
	white-space: pre-wrap;
}

/********************* ヘッダー *************************/
.header_inner {
	margin: auto 16px;
	max-width: 1240px;
	min-width: 288px;
	padding: 17px 0 9px 0;
}
.header_inner a {
	display: inline-block;
}
.header_inner a img {
	display: block;
	height: auto;
	max-width: 100%;
}

@media print, screen and (min-width: 768px) {
	.header_inner {
		margin: auto 16px;
	}
	.header_inner a:link:hover img,
	.header_inner a:link:focus img {
		opacity: 0.5;
	}
	.header_inner a img {
		transition: opacity 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
		will-change: opacity;
	}
}

@media print, screen and (min-width: 1272px) {
	.header_inner {
		margin: auto;
	}
}

/********************* WEB申込タイトル名称 *************************/
.title {
	background-color: #f8f8f8;
}

.title_inner {
	margin: auto 16px;
	max-width: 1240px;
	min-width: 288px;
	padding: 16px 0;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}

@media print, screen and (min-width: 768px) {
	.title_inner {
		margin: auto 16px;
	}
}

@media print, screen and (min-width: 1272px) {
	.title_inner {
		margin: auto;
	}
}

/********************* ステップ *************************/
.step {
	padding-top: 20px;
	display: flex;
}
.step_list {
	background-color: #eee;
	border-radius: 90px;
	counter-reset: number;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	padding: 12px;
}
.step_item {
	align-items: center;
	counter-increment: number;
	display: flex;
	position: relative;
}
.step > .step_list {
	display: flex;
}
/* 鉛筆マーク */
.step_item::after {
	content: '';
	display: block;
	height: 20px;
	left: 16px;
	position: absolute;
	top: -25px;
	transform: rotate(-45deg);
	width: 4px;
}
.step_item:first-child::after {
	left: 14px;
}
/* タイトル_非表示 */
.step_text {
	font-size: 0;
	padding-left: 30px;
	position: relative;
}
/* 数字 */
.step_text::before {
	color: #ccc;
	content: attr(num);
	display: block;
	font-family: 'arial', sans-serif;
	font-size: 1.6rem;
	font-weight: bold;
	left: 11px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
}
/* 円 */
.step_text::after {
	background-color: #fff;
	border-radius: 50%;
	content: '';
	display: block;
	height: 30px;
	left: 0;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	z-index: 10;
}
.step_item + .step_item {
	padding-left: 4px;
}
/* 丸と丸をつなぐ線 */
.step_item + .step_item::before {
	background-color: #fff;
	content: '';
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
}
/* 入力済み_矢印 */
.step_item.entered::before {
	background-color: #ff3c00;
}
/* 入力済み_鉛筆マーク */
.step_item.entered::after {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0IDIwIiBmaWxsPSIjZmYzYzAwIj48cGF0aCBkPSJNNCwxNUgwVjNINFpNMCwxNmwyLDQsMi00Wk00LDBIMFYySDRaIi8+PC9zdmc+');
}
/* 入力済み_数字 */
.entered .step_text::before {
	color: #fff;
}
/* 入力済み_円 */
.entered .step_text::after {
	background-color: #ff3c00;
}
/* 現在位置_ページタイトル */
.step_item[aria-current] .step_text {
	font-size: 1.4rem;
	font-weight: bold;
	padding-left: 34px;
}
/* 現在位置_矢印 */
.step_item[aria-current] + .step_item::before {
	content: none;
}
/* 現在位置_鉛筆マーク */
.step_item[aria-current] + .step_item::after {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0IDIwIiBmaWxsPSIjY2NjIj48cGF0aCBkPSJNNCwxNUgwVjNINFpNMCwxNmwyLDQsMi00Wk00LDBIMFYySDRaIi8+PC9zdmc+');
}

@media print, screen and (min-width: 768px) {
	.step {
		padding-top: 40px;
		display: flex;
	}
	.step_list {
		padding: 16px;
	}
	.step_item::after {
		left: 70px;
		top: -38px;
	}
	.step_item:first-child::after {
		left: 18px;
	}
	.step_text {
		padding-left: 40px;
	}
	.step_text::before {
		left: 16px;
	}
	.step_text::after {
		height: 40px;
		width: 40px;
	}
	.step_item + .step_item {
		padding-left: 52px;
	}
	.step_item + .step_item::before {
		background-color: transparent;
		background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOS4xOCAxMy43OSIgZmlsbD0iI2NjYyI+PHBhdGggZD0iTTEyLjQ3LDEzLjc5SDguMzRsNi42NS03TDguMTksMGg0LjI1bDYuNzQsNi43MlpNMTEsNi43Miw0LjI1LDBIMEw2LjgsNi43OGwtNi42Niw3SDQuMjhaIi8+PC9zdmc+');
		background-repeat: no-repeat;
		height: 16px;
		left: 16px;
		width: 20px;
	}
	.step_item.entered::before {
		background-color: transparent;
		background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOS4xOCAxMy43OSIgZmlsbD0iI2ZmM2MwMCI+PHBhdGggZD0iTTEyLjQ3LDEzLjc5SDguMzRsNi42NS03TDguMTksMGg0LjI1bDYuNzQsNi43MlpNMTEsNi43Miw0LjI1LDBIMEw2LjgsNi43OGwtNi42Niw3SDQuMjhaIi8+PC9zdmc+');
	}
	.step_item[aria-current] .step_text {
		font-size: 2rem;
		padding-left: 56px;
	}
	.step_item[aria-current] + .step_item::before {
		background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOS4xOCAxMy43OSIgZmlsbD0iI2NjYyI+PHBhdGggZD0iTTEyLjQ3LDEzLjc5SDguMzRsNi42NS03TDguMTksMGg0LjI1bDYuNzQsNi43MlpNMTEsNi43Miw0LjI1LDBIMEw2LjgsNi43OGwtNi42Niw3SDQuMjhaIi8+PC9zdmc+');
		content: '';
	}
}

@media print,screen and (max-width: 350px) {
	.step {
		margin-left: -8px;
		margin-right: -8px;
	}
	.step_list {
		padding-left: 5px;
		padding-right: 5px;
	}
}

/********************* フッター *************************/
.footer {
	background-color: #666;
}

.footer_inner {
	margin: auto 16px;
	max-width: 1240px;
	min-width: 288px;
	padding: 14px 0;
}

.footer_inner small {
	color: #fff;
}

@media print, screen and (min-width: 768px) {
	.footer_inner {
		margin: auto 16px;
		padding: 20px 0;
	}
}

@media print, screen and (min-width: 1272px) {
	.footer_inner {
		margin: auto;
	}
}

/********************* SSL *************************/
.ssl {
	border-top: 1px solid #ccc;
}
.ssl_inner {
	margin: auto 16px;
	max-width: 1240px;
	min-width: 288px;
	padding: 10px 0 20px 0;
}

@media print, screen and (min-width: 768px) {
	.ssl_inner {
		margin: auto 16px;
	}
}

@media print, screen and (min-width: 1272px) {
	.ssl_inner {
		margin: auto;
	}
}

/********************* 画面全体 *************************/
.screen {
	margin: auto 16px;
	max-width: 1240px;
	min-width: 288px;
	padding: 10px 0 20px 0;
}

@media print, screen and (min-width: 768px) {
	.screen {
		margin: auto 16px;
	}
}

@media print, screen and (min-width: 1272px) {
	.screen {
		margin: auto;
	}
}

/********************* タイトル *************************/
/* タイトル1 */
.heading_type1 {
	padding-left: 12px;
	position: relative;
	margin-top: 38px;
}
.heading_type1::before {
	background-color: #ff3c00;
	border-radius: 2px;
	content: '';
	display: block;
	height: 86%;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
}
.heading_type1_text {
	color: #ff3c00;
	font-size: 2.2rem;
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	.heading_type1 {
		margin-top: 56px;
	}
}

/* タイトル2_カテゴリ */
.heading_type2 {
	border-bottom: 2px solid #ff3c00;
	padding: 4px 0 6px 0;
	line-height: 1.5;
	margin-top: 30px;
	min-height: 61px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.heading_type2_text {
	font-size: 2rem;
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	.heading_type2 {
		margin-top: 56px;
	}
}

/* タイトル3_サイト項目 */
.heading_type3 {
	align-items: flex-start;
	display: flex;
	padding: 8px 10px;
	background-color: #eee;
	margin-top: 38px;
}
.heading_type3_text {
	flex: 1 1 auto;
	font-size: 1.6rem;
	font-weight: bold;
}
.heading_type3 :first-child {
	margin-left: 0;
}

@media print, screen and (min-width: 768px) {
	.heading_type3 {
		margin-top: 48px;
		padding: 16px 24px;
	}
}

/* タイトル4_メールアドレス注意部 */
.heading_type4 {
	border-bottom: 2px solid #ff3c00;
	position: relative;
	margin-top: 38px;
}
.heading_type4::before {
	border-bottom: 2px solid #ff3c00;
	bottom: -2px;
	content: '';
	height: inherit;
	left: 0;
	position: absolute;
	width: 32px;
}
.heading_type4_text {
	font-size: 1.6rem;
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	.heading_type4{
		margin-top: 48px;
	}
}

/* 必須項目 */
.form_required {
	background-color: #ff3c00;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	flex: 0 0 auto;
	font-size: 1.4rem;
	line-height: 1;
	margin-left: 18px;
	margin-right: 10px;
	padding: 5px 10px;
	font-weight: bold;
}

/* 任意項目 */
.form_optional {
	background-color: #0073e5;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	flex: 0 0 auto;
	font-size: 1.4rem;
	line-height: 1;
	margin-left: 18px;
	margin-right: 10px;
	padding: 5px 10px;
	font-weight: bold;
}

/********************* レスポンシブ *************************/
.container {
	padding: 0;
	max-width: 900px;
}
.container-full{
	max-width: 100%;
}
.row{
	margin-top: 14px;
	align-items: flex-end;
}
[class*='col-'] {
	margin-bottom: 14px;
}
/* エラーメッセージ */
.msg_outside {
	margin-bottom: -14px;
}
.msg_outside div {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.container{
		margin-left: 0;
	}
	.row{
		margin-top: 24px;
	}
	.msg_outside {
		margin-bottom: -24px;
	}
}

.countdown {
	flex: 1 1 0;
	margin-bottom: 14px;
}
@media (max-width: 767px) {
	.countdown {
		padding-left: 29px;
	}
}

/********************* 編集項目 *************************/
.is-disabled {
	cursor: not-allowed;
}

/* テキストボックス */
.textbox{
	max-width: 100%;
}
.textbox_item {
	border: 1px solid #ccc;
	border-radius: 4px;
	display: block;
	padding: 12px;
	width: 100%;
}
.textbox_item.is-disabled,
.textbox_item:disabled {
	background-color: #eee;
	-webkit-text-fill-color: black;
	opacity: 1;
	color: black;
}
.textbox_item.error_client {
	background-color: #ffebe5;
	border-color: #d92121;
}
/* テキストボックス_ハイフン */
.textbox_hyphen {
	position: relative;
}
.textbox_hyphen::after {
	content: '-';
	position: absolute;
	right: -19px;
	top: 15px;
}

@media print, screen and (max-width: 575px) {
	.textbox_hyphen::after {
		right: -8px;
	}
	.row_hyphen input {
		padding:12px 6px;
	}
	.row_hyphen [class*="col-"] {
		padding: 4px;
	}
	.row.row_hyphen {
		padding: 0px 11px;
	}
}

.col_flex {
	display: flex;
	flex-wrap: wrap;
}
.col_message {
	flex: 1 1 100%;
}
.col_form {
	flex: 1;
	min-width: 1px;
	align-self: flex-end;
}
.col_label {
	flex: 0 1 auto;
	white-space: nowrap;
	padding: 0 4px;
	align-self: flex-end;
}
.stretch {
	align-self: stretch;
}
.stretch .col_form {
	align-self: stretch;
	display: flex;
}

/* プルダウン */
.selectbox {
	overflow: hidden;
	position: relative;
}
.selectbox::before {
	background-color: #ccc;
	content: '';
	display: block;
	height: 60%;
	pointer-events: none;
	position: absolute;
	right: 26px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}
.selectbox::after {
	border-right: 2px solid #666;
	border-top: 2px solid #666;
	content: '';
	display: block;
	height: 7px;
	pointer-events: none;
	position: absolute;
	right: 10px;
	top: 47%;
	transform: translateY(-50%) rotate(135deg);
	width: 7px;
}
.selectbox_item {
	border: 1px solid #ccc;
	border-radius: 4px;
	display: block;
	padding: 12px 30px 12px 10px;
	width: 100%;
	background-color: #fff;
}
.selectbox_item.is-disabled,
.selectbox_item:disabled {
	background-color: #eee;
	-webkit-text-fill-color: black; 
	opacity: 1;
	color: black;
}
.selectbox_item.error_client {
	background-color: #ffebe5;
	border-color: #d92121;
}

/* チェックボックス */
.checkbox {
	display: inline-flex;
	align-self: stretch;
	position: relative;
	width: 100%;
}
.checkbox_item {
	height: 0;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 0;
}
.checkbox_item + .checkbox_text {
	display: inline-flex;
	align-items: center;
	word-break: break-all;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 20px 24px 20px 64px;
	position: relative;
	width: 100%;
}
.checkbox_item + .checkbox_text::before,
.checkbox_item + .checkbox_text::after {
	display: block;
	position: absolute;
}
.checkbox_item + .checkbox_text::before {
	background-color: #eee;
	border: 2px solid #ccc;
	border-radius: 4px;
	content: '';
	height: 24px;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
}
.checkbox_item + .checkbox_text::after {
	border-bottom: 3px solid #fff;
	border-left: 3px solid #fff;
	height: 8px;
	left: 32px;
	top: calc(50% - 3px);
	transform: rotate(-45deg) translateY(-50%);
	width: 14px;
}
.checkbox_item:checked + .checkbox_text {
	background-color: #ffebe5;
	border: 2px solid #ff3c00;
}
.checkbox_item:checked + .checkbox_text::before {
	background-color: #ff3c00;
	border-color: #ff3c00;
}
.checkbox_item:checked + .checkbox_text::after {
	content: '';
}
.checkbox_item.is-disabled + .checkbox_text,
.checkbox_item:disabled + .checkbox_text {
	background-color: #eee !important;
	border-color: #ccc !important;
	color: #999 !important;
	cursor: not-allowed;
}
.checkbox_item.is-disabled + .checkbox_text::before,
.checkbox_item:disabled + .checkbox_text::before {
	background-color: #eee !important;
}
.checkbox_item.is-disabled + .checkbox_text,
.checkbox_item.is-disabled + .checkbox_text::before {
	background-color: #eee;
	border-color: #ccc;
	-webkit-text-fill-color: black; 
	opacity: 1;
	color: black;
}
.checkbox_item.is-disabled + .checkbox_text::before {
	background-color: #eee;
	border: 0;
}
.checkbox_item.is-disabled + .checkbox_text {
	position: relative;
}
.checkbox_item.is-disabled + .checkbox_text::before,
.checkbox_item.is-disabled + .checkbox_text::after{
	display: block;
	content: "";
	position: absolute;
	top: 31px;
	left: 24px;
	width: 25px;
	height: 3px;
	background: #ccc !important;
	border-bottom: 0;
	border-left: 0;
}
.checkbox_item.is-disabled + .checkbox_text::before{
	transform: rotate(-45deg);
}
.checkbox_item.is-disabled + .checkbox_text::after{
	transform: rotate(45deg);
}
.checkbox_item.error_client + .checkbox_text {
	background-color: #ffebe5;
	border-color: #d92121;
}
.checkbox_item.error_client + .checkbox_text::before {
	background-color: #fff;
	border-color: #d92121;
}
.checkbox_item.error_empty + .checkbox_text {
	background: #faf5e2;
	border-color: #ccc;
}

@media print, screen and (min-width: 768px) {
	.checkbox_item + .checkbox_text {
		transition: background-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
		will-change: background-color, border;
	}
	.checkbox_item + .checkbox_text::before {
		transition: background-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
		will-change: background-color, border-color;
	}
	.checkbox_item:hover:not(:disabled) + .checkbox_text::before {
		background-color: #ff3c00;
		border-color: #ff3c00;
	}
	.checkbox_item:hover:not(:disabled) + .checkbox_text {
		background-color: #ffebe5;
		border: 2px solid #ff3c00;
	}
}
@media print, screen and (max-width: 575px) {
	.checkbox_item + .checkbox_text {
		padding-left: 48px;
		padding-right: 12px;
	}
	.checkbox_item + .checkbox_text::before,
	.checkbox_item.is-disabled + .checkbox_text::before,
	.checkbox_item.is-disabled + .checkbox_text::after {
		left: 12px;
	}
	.checkbox_item + .checkbox_text::after {
		left: 20px;
	}
}

/* ラジオボタン */
.radio {
	display: inline-flex;
	align-self: stretch;
	position: relative;
	width: 100%;
	margin-bottom: 0;
}
.radio_item {
	height: 0;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 0;
}
.radio_item + .radio_text {
	display: inline-flex;
	align-items: center;
	word-break: break-all;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 12px 14px 12px 48px;
	position: relative;
	width: 100%;
}
.radio_item + .radio_text::before,
.radio_item + .radio_text::after {
	content: '';
	display: block;
	position: absolute;
}
.radio_item + .radio_text::before {
	background-color: #eee;
	border: 2px solid #ccc;
	border-radius: 10px;
	height: 20px;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.radio_item:checked + .radio_text {
	background-color: #ffebe5;
	border: 2px solid #ff3c00;
}
.radio_item:checked + .radio_text::before {
	background-color: #fff;
	border-color: #ff3c00;
}
.radio_item:checked + .radio_text::after {
	background-color: #ff3c00;
	border-radius: 5px;
	height: 10px;
	left: 19px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}
.radio_item.is-disabled + .radio_text,
.radio_item:disabled + .radio_text {
	background-color: #eee !important;
	-webkit-text-fill-color: black; 
	opacity: 1;
	color: black;
	border-color: #ccc !important;
	cursor: not-allowed;
}
.radio_item.is-disabled + .radio_text::before,
.radio_item:disabled + .radio_text::before {
	background-color: #eee !important;
	border-color: #ccc !important;
}
.radio_item.error_client + .radio_text {
	background-color: #ffebe5;
	border-color: #d92121;
}
.radio_item.error_client + .radio_text::before {
	background-color: #fff;
	border-color: #d92121;
}
.radio_item.error_client + .radio_text::after {
	background-color: #d92121;
}
.radio_item.error_empty + .radio_text {
	background: #faf5e2;
}

@media print, screen and (min-width: 768px) {
	.radio_item + .radio_text {
		transition: background-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
		will-change: background-color, border;
	}
	.radio_item + .radio_text::before {
		transition: background-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
		will-change: background-color, border-color;
	}
	.radio_item:hover:not(:disabled) + .radio_text, .radio_item:focus:not(:disabled) + .radio_text {
		background-color: #ffebe5;
		border: 2px solid #ff3c00;
	}
	.radio_item:hover:not(:disabled) + .radio_text::before, .radio_item:focus:not(:disabled) + .radio_text::before {
		background-color: #fff;
		border-color: #ff3c00;
	}
}
@media print, screen and (max-width: 575px) {
	.radio_item + .radio_text {
		padding-left: 36px;
		padding-right: 4px;
	}
	.radio_item + .radio_text::before {
		left: 8px;
	}
	.radio_item:checked + .radio_text::after {
		left: 13px;
	}
}

/* ラベル */
.form_label {
	display: flex;
	font-size: 1.4rem;
	margin-bottom: 4px;
}
.form_label_hint {
	color: #999;
}
.form_label_text + .form_label_hint {
	margin-left: 10px;
}
.form_label_text,
.form_label_hint {
	word-break: break-all;
}

/* エラー_未入力背景色 */
.error_empty {
	background: #faf5e2;
}

/* エラー_クライアント */
.error_client_text {
	color: #d92121;
	flex: 1 1 100%;
}

/* エラー_サーバー */
.error_server {
	margin-top: 30px;
}
.error_server_title {
	color: white;
	font-size: 18px;
	font-weight: bold;
	margin: 6px 0 12px 0;
	padding: 12px 16px 12px 16px;
	background-color: red;
}
.error_server_text {
	color: red;
	margin-left: 4px;
	margin-top: 6px;
	position: relative;
	padding-left: 30px;
	padding-right: 12px;
}
.error_server_text a {
	color: red;
}
.error_server_text div {
	display: block;
	position: absolute;
	top: 5px;
	left: 6px;
}
.error_server_item,
.error_server_item .table .link {
	background-color: #ffe5e5;
}
.error_server_item .heading_type3,
.error_server_item .table th,
.error_server_item .index {
	background-color: #ffbdbd;
}
.error_server_triangle{
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NzYgNTEyIiBmaWxsPSJyZWQiPjxwYXRoIGQ9Ik01NjkuNTE3IDQ0MC4wMTNDNTg3Ljk3NSA0NzIuMDA3IDU2NC44MDYgNTEyIDUyNy45NCA1MTJINDguMDU0Yy0zNi45MzcgMC01OS45OTktNDAuMDU1LTQxLjU3Ny03MS45ODdMMjQ2LjQyMyAyMy45ODVjMTguNDY3LTMyLjAwOSA2NC43Mi0zMS45NTEgODMuMTU0IDBsMjM5Ljk0IDQxNi4wMjh6TTI4OCAzNTRjLTI1LjQwNSAwLTQ2IDIwLjU5NS00NiA0NnMyMC41OTUgNDYgNDYgNDYgNDYtMjAuNTk1IDQ2LTQ2LTIwLjU5NS00Ni00Ni00NnptLTQzLjY3My0xNjUuMzQ2bDcuNDE4IDEzNmMuMzQ3IDYuMzY0IDUuNjA5IDExLjM0NiAxMS45ODIgMTEuMzQ2aDQ4LjU0NmM2LjM3MyAwIDExLjYzNS00Ljk4MiAxMS45ODItMTEuMzQ2bDcuNDE4LTEzNmMuMzc1LTYuODc0LTUuMDk4LTEyLjY1NC0xMS45ODItMTIuNjU0aC02My4zODNjLTYuODg0IDAtMTIuMzU2IDUuNzgtMTEuOTgxIDEyLjY1NHoiLz48L3N2Zz4=');
	background-repeat: no-repeat;
	width: 20px;
	height: 16px;
}

/********************* 表示項目 *************************/
/* 確認項目_項目インデント */
.description_item p {
	margin-right: 9px;
	margin-left: 9px;
	word-break: break-all;
}
/* 確認項目_項目間間隔 */
.description_item span:nth-of-type(n+2){
	margin-left: 15px;
}
/* 確認項目_文字改行 */
.description_item span {
	word-wrap: break-word;
}
/* 確認項目_改行項目 */
.description_item p + p {
	margin-top: .5em;
}
/* 確認項目_ハイフン */
.description_item span.hyphen:first-of-type,
.description_item span.hyphen + span {
	margin-left: 0;
}
.description_item .hyphen::after {
	content: "-";
	margin-right: 7px;
	margin-left: 7px;
}

@media print, screen and (min-width: 768px) {
	.description_item p {
		margin-right: 40px;
		margin-left: 40px;
	}
}

/********************* テキスト装飾 *************************/
/* メッセージ_オレンジ */
.message_type1 {
	margin-top: 38px;
}
.message_type1_text {
	color: #ff3c00;
	font-size: 2rem;
	line-height: 1.7;
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	.message_type1 {
		margin-top: 48px;
	}
}

/* メッセージ_青 */
.message_type2 {
	margin-top: 38px;
	text-align: center;
}
.message_type2_text {
	color: #024d99;
	font-size: 2rem;
	line-height: 1.7;
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	.message_type2 {
		margin-top: 48px;
	}
}

/* 先頭文言 */
.text li:nth-of-type(n+2) {
	margin-top: .5em;
}

/* 末尾文言 */
.note {
	font-size: 1.4rem;
}
/* 末尾文言_米印 */
.note_mark li{
	position: relative;
	padding-left: 1.1em;
}
.note_mark li span{
	left: 0;
	position: absolute;
	top: 0;
}
.note li:nth-of-type(n+2) {
	margin-top: .5em;
}
/* 末尾文言_スペース */
.note_space {
	margin-top: 18px;
}

/* 先頭文言・末尾文言_スペース */
.text + .note {
	margin-top: .5em;
}

@media print, screen and (min-width: 768px) {
	.note_space {
		margin-top: 24px;
	}
}

/* テキスト下線 */
.text-underline {
	text-decoration: underline;
}

/* 中点リスト */
.bullet_list li{
	padding-left: 1em;
	position: relative;
}
.text.bullet_list li {
	margin-top: 0;
}
.bullet_list li::before {
	background-color: #ff3c00;
	border-radius: 50%;
	content: '';
	height: 8px;
	left: 0;
	position: absolute;
	top: 8px;
	width: 8px;
}

@media print, screen and (min-width: 768px) {
	.bullet_list li {
		line-height: 2;
	}
	.bullet_list li::before {
		top: 11px;
	}
}

/* 数字リスト_タイトル有り */
.numberDescription {
	counter-reset: number;
}
.numberDescription > dt {
	counter-increment: number;
	font-size: 1.4rem;
	line-height: 1.8;
	padding-left: 30px;
	position: relative;
	margin-top: 30px;
}
.numberDescription > dt::before {
	content: counter(number) ".";
	display: inline-flex;
	left: 0;
	position: absolute;
	top: 0;
	width: 30px;
}
.numberDescription > dt ~ dd {
	font-size: 1.4rem;
	line-height: 1.8;
}
.numberDescription > dt ~ dd + .numberDescription > dt ~ dd {
	margin-top: 10px;
}
.numberDescription dd p:nth-of-type(n+2) {
	margin-top: .5em;
}

/* 数字リスト_タイトル無し */
.number_list {
	counter-reset: number;
	font-size: 1.4rem;
	line-height: 1.5;
}
.number_list p + li {
	margin-top: 18px;
}
.number_list li {
	counter-increment: number;
	padding-left: 1.5em;
	position: relative;
}
.number_list li::before {
	content: counter(number) ".";
	left: 0;
	position: absolute;
}
.number_list li:nth-of-type(n+2) {
	margin-top: 1em;
}

/* 数字リスト_括弧囲い */
.bracketed li::before {
	content: counter(number) ")";
}

/* 数字リスト_丸囲い */
.enclosed .number_list li {
	padding-left: 2em;
}
.enclosed li::before {
	content: counter(number);
	left: .4em;
	top: 0;
}
.enclosed li::after {
	border: 1px solid #333;
	border-radius: 50%;
	content: '';
	display: block;
	height: 1.5em;
	left: 0;
	position: absolute;
	top: 0;
	width: 1.5em;
}

/********************* ボタン *************************/
/* ボタン汎用 */
.button {
	align-content: center;
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	justify-content: center;
	text-decoration: none;
	width: 100%;
}
.button.is-disabled,
.button:disabled {
	opacity: 0.4;
}
.button.is-disabled:hover {
	opacity: 0.4!important;
}
.button:focus {
	outline: none;
}
a:hover.button	{
	text-decoration: none;
	outline: none;
}
a:link:focus.button {
	outline: none;
}
.button_width_half {
	width: 50%;
}
.button_width_quarter {
	width: 25%;
}
.button_width_auto {
	min-width: 80px;
	width: auto;
}

/* オレンジ_大 */
.button_type1 {
	display: flex;
	justify-content: center;
}
.button_type1 .button {
	background-image: linear-gradient(120deg, #ff0600, #ff7200);
	padding: 16px 15px;
}
.button_type1_text {
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}

@media print, screen and (min-width: 576px) {
	.button_type1 {
		margin-top: 74px;
	}
	.button_type1 .button {
		min-width: 334px;
		width: auto;
	}
	.button_type1 .button:not(:disabled):hover,
	.button_type1 .button:not(:disabled):focus {
		opacity: 1;
	}
}

/* オレンジ_小 */
.button_type2 .button {
	background-image: linear-gradient(120deg, #ff0600, #ff7200);
	margin-bottom: 4px;
	margin-top: 4px;
	padding: 10px;
}
.button_type2_text {
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

/* オレンジ枠白抜き */
.button_type3 .button{
	background-color: #fff;
	border: 2px solid #ff3c00;
	padding: 18px;
}
.button_type3 .button:not(:disabled):hover {
	background-color: #ffebe5;
	opacity: 1;
}
.button_type3_text {
	color: #ff3c00;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}
/* オレンジ枠白抜き_選択時 */
.button_type3 .button.selected {
	background-color: #ff3c00;
}
.button_type3 .button.selected:hover {
	background-color: #ff3c00;
	opacity: 0.8;
}
.button_type3 .button.selected span {
	color: #fff;
}

@media print, screen and (min-width: 768px) {
	.button_type3 .button:not(:disabled) {
		transition: background-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
		will-change: background-color;
	}
	.button_type3 .button:not(:disabled):hover,
	.button_type3 .button:not(:disabled):focus {
		opacity: 0.8;
	}
}

/* 頭文字ボタン */
.index {
	background-color: #e5edf5;
	border-radius: 4px;
	margin-top: 48px;
	padding: 26px 24px 24px;
}
.index_head {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.index_title {
	font-weight: bold;
	line-height: 2;
}
.index_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 22px;
}
.index_segment {
	display: flex;
	justify-content: space-between;
	max-width: 294px;
	width: 100%;
}
.index_segment + .index_segment {
	margin-top: 24px;
}
.index_list {
	display: flex;
	flex-basis: 44px;
	flex-direction: column;
	flex-shrink: 0;
	justify-content: space-between;
	max-width: 44px;
}
.index_list:nth-of-type(5n+1) {
	margin-left: 0;
}
.index_list li button {
	align-items: center;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	display: inline-flex;
	height: 45px;
	justify-content: center;
	width: 45px;
}
.index_list li button:disabled {
	background-color: #eee;
	color: #aaa;
}
.index_list li {
	margin-top: 8px;
}
/* 頭文字ボタン_選択時 */
.index_list li button.selected {
	background-color: #ff3c00;
	border-color: #ff3c00;
	color: #fff;
}
.index_list li button.selected:not(:disabled):hover {
	background-color: #ff3c00;
	opacity: 0.8;
}

@media print, screen and (min-width: 652px) {
	.index {
		margin-top: 64px;
		padding-bottom: 54px;
		padding-top: 54px;
	}
	.index_inner {
		flex-direction: row;
		margin-left: auto;
		margin-right: auto;
		margin-top: 34px;
		max-width: 568px;
	}
	.index_segment {
		flex-basis: 276px;
		max-width: 276px;
	}
	.index_segment + .index_segment {
		margin-left: 16px;
		margin-top: 0;
	}
	.index_list li button:not(:disabled) {
		transition: background-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
		will-change: background-color, border-color;
	}
	.index_list li > button:not(:disabled):hover,
	.index_list li > button:not(:disabled):focus {
		background-color: #ffebe5;
		border-color: #ff3c00;
		opacity: 1;
	}
	.index_list li {
		margin-top: 14px;
	}
}

/* リンクボタン */
.link {
	color: #333;
}
.link_navi .link {
	margin-top: 0px;
}
.link_navi {
	display: flex;
	justify-content: space-between;
	margin-top: 44px;
}
/* リンクボタン_複数行 */
.link_navi + .link_navi {
	margin-top: 20px;
}
/* リンクボタン_方向 */
.link_direction_right {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSI+PGNpcmNsZSBjeD0iNyIgY3k9IjciIHI9IjciIHN0eWxlPSJmaWxsOiNmZjNjMDAiLz48cG9seWdvbiBwb2ludHM9IjYuNCAxMSA0Ljk1IDkuNjIgNy40OCA2Ljk0IDQuOTYgNC40MSA2LjM4IDMgMTAuMjcgNi45IDYuNCAxMSIgc3R5bGU9ImZpbGw6I2ZmZiIvPjwvc3ZnPg==');
	background-repeat: no-repeat;
	background-size: 15px 15px;
}
.link_direction_left {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSI+PGNpcmNsZSBjeD0iNyIgY3k9IjciIHI9IjciIHN0eWxlPSJmaWxsOiNmZjNjMDAiLz48cG9seWdvbiBwb2ludHM9IjcuNjIgMTEgMy43MyA3LjEgNy42IDMgOS4wNSA0LjM4IDYuNTIgNy4wNiA5LjAzIDkuNTkgNy42MiAxMSIgc3R5bGU9ImZpbGw6I2ZmZiIvPjwvc3ZnPg==');
	background-repeat: no-repeat;
	background-size: 15px 15px;
}
/* リンクボタン_位置 */
.link_position_right {
	background-position: right center;
	padding-right: 1.5em;
}
.link_position_left {
	background-position: left center;
	padding-left: 1.5em;
}

/* 修正ボタンマーク */
.fix_pencil {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTQ5Ny45IDE0Mi4xbC00Ni4xIDQ2LjFjLTQuNyA0LjctMTIuMyA0LjctMTcgMGwtMTExLTExMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDQ2LjEtNDYuMWMxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMGw2MC4xIDYwLjFjMTguOCAxOC43IDE4LjggNDkuMSAwIDY3Ljl6TTI4NC4yIDk5LjhMMjEuNiAzNjIuNC40IDQ4My45Yy0yLjkgMTYuNCAxMS40IDMwLjYgMjcuOCAyNy44bDEyMS41LTIxLjMgMjYyLjYtMjYyLjZjNC43LTQuNyA0LjctMTIuMyAwLTE3bC0xMTEtMTExYy00LjgtNC43LTEyLjQtNC43LTE3LjEgMHpNMTI0LjEgMzM5LjljLTUuNS01LjUtNS41LTE0LjMgMC0xOS44bDE1NC0xNTRjNS41LTUuNSAxNC4zLTUuNSAxOS44IDBzNS41IDE0LjMgMCAxOS44bC0xNTQgMTU0Yy01LjUgNS41LTE0LjMgNS41LTE5LjggMHpNODggNDI0aDQ4djM2LjNsLTY0LjUgMTEuMy0zMS4xLTMxLjFMNTEuNyAzNzZIODh2NDh6Ii8+PC9zdmc+');
	background-repeat: no-repeat;
	height: 16px;
	width: 18px;
}

/********************* ボックス *************************/
/* 青 */
.box_type1 {
	background-color: #e5edf5;
	margin-top: 48px;
	margin-left: -16px;
	margin-right: -16px;
}
.box_type1_body {
	margin: auto 16px;
	padding: 24px 0 44px;
}
.box_type1 .bullet_list.row {
	margin-top: 0;
}

@media print, screen and (min-width: 768px) {
	.box_type1_body {
		padding: 42px 26px 44px;
	}
}

/* オレンジ */
.box_type2 {
	background-color: #fbffcc;
	border-radius: 4px;
	padding: 30px 16px;
}
.box_type2_body + .box_type2_body {
	border-top: 1px solid #333;
	margin-top: 20px;
	padding-top: 18px;
}

@media print, screen and (min-width: 768px) {
	.box_type2 {
		padding: 40px;
	}
}

/* お申込カード表示用 */
.box_type3 {
	border: 2px solid #f5f5f5;
	border-radius: 8px;
	padding: 20px 20px 34px;
}
.box_type3_head,
.box_type3_body {
	display: flex;
	justify-content: center;
}
.box_type3_head p {
	text-align: center;
}
.box_type3_body img {
	box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2);
}
@media print, screen and (min-width: 768px) {
	.box_type3 {
		padding-bottom: 38px;
		padding-top: 30px;
	}
}

/********************* コンテンツ *************************/
/* コンテンツ汎用 */
/* コンテンツ汎用_米印付きテキスト */
.contents li p{
	position: relative;
	padding-left: 1.1em;
}
.contents li p span{
	left: 0;
	position: absolute;
	top: 0;
}
.contents li p:nth-of-type(n+2) {
	margin-top: .5em;
}

/* コンテンツ汎用_リンクマーク */
.contents a svg {
	width: 10px; 
	height: 10px;
}
.contents a > div {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdib3g9IjAgMCAxMSAxMSIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiBmaWxsPSIjYWFhIj48cG9seWdvbiBwb2ludHM9IjEwIDAgMSAwIDAgMCAwIDEgMCA2IDEgNiAxIDEgMTAgMSAxMCAxMCA1IDEwIDUgMTEgMTAgMTEgMTEgMTEgMTEgMTAgMTEgMSAxMSAwIDEwIDAiPjwvcG9seWdvbj48cG9seWdvbiBwb2ludHM9IjggOCA4IDMgMyAzIDUuMTUgNS4xNSAwLjY1IDkuNjUgMS4zNSAxMC4zNSA1Ljg1IDUuODUgOCA4Ij48L3BvbHlnb24+PC9zdmc+');
	background-repeat: no-repeat;
	display: inline-flex;
	height: 11px;
	justify-content: center;
	margin-left: 7px;
	width: 11px;
}

/* コンテンツ汎用_カテゴリ */
.contents h2 {
	border-bottom: 2px solid #ff3c00;
	padding: 4px 0 6px 0;
	line-height: 1.5;
	margin-top: 30px;
}
.contents h2 span {
	font-size: 2rem;
}

@media print, screen and (min-width: 768px) {
	.contents h2 {
		margin-top: 56px;
	}
}

/* コンテンツ汎用_オレンジ中点リスト */
.contents ul li{
	padding-left: 1em;
	position: relative;
}
.contents ul li {
	margin-top: 0;
}
.contents ul li::before {
	background-color: #ff3c00;
	border-radius: 50%;
	content: '';
	height: 8px;
	left: 0;
	position: absolute;
	top: 8px;
	width: 8px;
}

@media print, screen and (min-width: 768px) {
	.contents ul li {
		line-height: 2;
	}
	.contents ul li::before {
		top: 11px;
	}
}

/* コンテンツ汎用_その他調整 */
.contents strong p {
	margin-top: 24px;
}

/* 今後の手続き */
/* 今後の手続き_数字リスト */
.contents.produres ol {
	counter-reset: number;
	font-size: 1.4rem;
	line-height: 1.5;
	margin-top: 18px;
}
.contents.produres ol li {
	counter-increment: number;
	padding-left: 1.5em;
	position: relative;
}
.contents.produres ol li::before {
	content: counter(number) ".";
	left: 0;
	position: absolute;
}
.contents.produres ol li:nth-of-type(n+2) {
	margin-top: 1em;
}

/* オンライン口座振替申込のご案内 */
.contents.online_apply h2 + div {
	margin-top: 24px;
}
.contents.online_apply div p:nth-of-type(n+2) {
	margin-top: .5em;
}
/* オンライン口座振替申込のご案内_ボタン */
.contents.online_apply ul + div {
	display: flex;
	justify-content: center;
	margin-top: 14px;
}
.contents.online_apply ul + div button {
	background-image: linear-gradient(120deg, #ff0600, #ff7200);
	padding: 16px 15px;
}
.contents.online_apply button {
	align-content: center;
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	justify-content: center;
	text-decoration: none;
	width: 100%;
}
.contents.online_apply button span {
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
}

@media print, screen and (min-width: 576px) {
	.contents.online_apply ul + div {
		margin-top: 74px;
	}
	.contents.online_apply ul + div button {
		min-width: 334px;
		width: auto;
	}
	.contents.online_apply ul + div button:not(:disabled):hover,
	.contents.online_apply ul + div button:not(:disabled):focus {
		opacity: 1;
	}
	.contents.online_apply + .container .button_type1 {
		margin-top: 24px;
	}
}

/* オンライン口座登録案内 */
.contents.online_entry > div {
	font-size: 1.4rem; 
	background-color: #e5edf5;
}
.contents.online_entry b + p {
	margin-top: .5em;
}
.contents.online_entry hr {
	border-top: 1px solid #333; 
	padding-top: 24px; 
	margin-top: 24px;
	margin-bottom: 0;
}
.contents.online_entry hr + div {
	padding: 0; 
	max-width: 600px;
}
.contents.online_entry hr + div ul {
	display: flex; 
	flex-wrap: wrap; 
	align-items: flex-end; 
	margin: 0 0 10px 0;
}
.contents.online_entry ul div {
	flex: 0 0 50%; 
	max-width: 50%;
}

/* オンライン口座登録案内（金融機関ごと） */
.contents.online_entry_bank h2 {
	margin-top: 0;
}
.contents.online_entry_bank li p {
	font-size: 1.4rem;
}

/********************* テーブル *************************/
/* テーブル汎用 */
.table {
	border-left: 1px solid #eee;
	border-top: 1px solid #eee;
	width: 100%;
}
.table th, .table td {
	padding: 8px 16px;
	border-top: none;
}
.table thead th,
.table thead td {
	vertical-align: middle;
	background-color: #eee;
	text-align: center;
	border-bottom: none;
	border-right: 1px solid #eee;
}
.table thead th:not(:last-child),
.table thead td:not(:last-child) {
	border-right: 1px solid #fff;
}
.table thead tr:last-child {
	border-color: #eee;
}
.table tbody th,
.table tbody td {
	border-right: 1px solid #eee;
}
.table tbody th {
	background-color: #eee;
	border-bottom: 1px solid #fff;
}
.table tbody td {
	border-bottom: 1px solid #eee;
}
.table tbody tr:last-child th {
	border-color: #eee;
}

@media (max-width: 767px) {
	.table_column .table,
	.table_column .table tbody,
	.table_column .table tr,
	.table_column .table th,
	.table_column .table td {
		display: block;
	}
	.table tbody th {
		border-bottom: none;
	}
	.table thead th {
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media print, screen and (min-width: 768px) {
	.table th, .table td {
		padding: 16px 24px;
	}
}

/*	実質支配者注釈テーブル	*/
.substantiallyRulerCaution {
	text-align: left;
	font-size: 14px;
	width: 1116px;
	margin-left: 14px;
	margin-right: 14px;
}
.substantiallyRulerCaution thead {
	background-color: transparent;
}
.substantiallyRulerCaution thead th {
	text-align: center;
}
.substantiallyRulerCaution tbody {
	background-color: white;
}
.substantiallyRulerCaution th,
.substantiallyRulerCaution td {
	border: 1px solid #ccc;
	border-collapse: collapse;
	padding: 1px 8px;
}
.substantiallyRulerCaution .noborder {
	border-style: none;
}
.substantiallyRulerCaution .dotborder {
	border-style: dotted;
}
.substantiallyRulerCaution .bgc {
	background-color: #e8f5f9;
}

/* 毎月返済希望額テーブル */
.ShoppingRepayments_table col:nth-child(1) {
	width: 260px;
}
.ShoppingRepayments_table col:nth-child(2),
.ShoppingRepayments_table col:nth-child(3),
.ShoppingRepayments_table col:nth-child(4) {
	width: 120px;
}
.ShoppingRepayments_table thead th {
	padding: 6px 12px;
	vertical-align: middle;
}
.ShoppingRepayments_nomi_table col {
	width: 240px;
}

@media (max-width: 767px) {
	.ShoppingRepayments_table th {
		padding: 4px 6px;
	}
	.ShoppingRepayments_nomi_table col:nth-child(2) {
		width: 160px;
	}
}

/* 金融機関一覧選択状態 */
.table tr.selected {
	background-color: #ffebe5; 
 border: solid medium #ff0600;
}
.table tr.selected td.text-center {
	color: #ff3c00;
	border-left: solid 1px #fff;
}
.table tr.selected td {
	border-right: solid 1px #fff; 
}
.table tr.selected .link {
	color: #ff3c00;
	background-color: #ffebe5;
}

/* 横スクロール */
.scroll_horizontal {
	margin: 14px 0px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}
.scroll_horizontal table {
	margin-bottom: 16px;
}

/* 縦スクロール */
.scroll_vertical {
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* 規約部 */
.kiyaku_layout {
	width: 100%;
	margin-top: 24px;
	margin-bottom: 4px;
	height: 240px;
	border-radius: 4px;
	border: 1px solid rgb(169, 169, 169);
	background-color: white;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.download {
	display: block;
	background-size: 30px 30px;
	height: 30px;
}
.download span {
	padding: 2px 0 2px 8px;
	text-decoration: underline;
	white-space: nowrap;
}

.attention {
	display: block;
	border: 1px solid rgb(169, 169, 169);
	border-radius: 4px;
	padding: 4px 8px;
	margin-top: 0px;
	margin-bottom: 9px;
}

@media print, screen and (max-width: 767px) {
	.kiyaku_layout {
		height: 175px;
	}
}

/********************* その他個別レイアウト *************************/
/* E-mail候補表示 */
.domain_complete {
	position: relative;
	width: 100%;
}
.domains {
	position: absolute;
	z-index: 1000;
	background-color: #FFFFFF;
	border: 1px solid #CCCCFF;
	border-radius: 4px;
	width: 100%;
	margin-top: 1px;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.domains div {
	display: block;
	width: 100%;
	padding: 6px;
	cursor: pointer;
	background-color: #fff;
	word-wrap: break-word;
}
.domains div:first-of-type {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}
.domains div:last-of-type {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}
.domains div.selected{
	color: #FFFFFF;
	background-color: #3366FF;
}
.domains div:hover{
	background-color: #99CCFF;
}

/* 住所送付表示用 */
.display_address {
	border:	2px solid #ff3c00;
	border-radius: 8px;
	font-weight: bold;
	padding: 24px 16px;
	border-radius: 10px;
	margin-bottom: 8px;
	word-wrap: break-word;
}

/* お勤め先表示用、法人情報表示用 */
.display_corp {
	padding: 24px 16px;
	background-color: #fbffcc;
	border-radius: 4px;
	word-wrap: break-word;
}

/* 受付番号表示用 */
.entryNumber {
	background-color: #ffebe5;
	margin-top: 38px;
	padding: 26px 16px 30px;
}
.entryNumber_title {
	color: #ff3c00;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}
.entryNumber_number {
	word-wrap: break-word;
	background-color: #fff;
	border: 1px solid #ff3c00;
	border-radius: 4px;
	font-size: 2.4rem;
	font-weight: bold;
	margin: 16px auto 0;
	padding: 14px 16px;
	text-align: center;
	word-break: break-all;
}

@media print, screen and (min-width: 768px) {
	.entryNumber {
		margin-top: 44px;
		padding: 50px 16px 56px;
	}
	.entryNumber_number {
		max-width: 540px;
		padding: 26px 16px;
	}
}

/* 問い合わせ先表示用 */
.contact {
	margin-top: 38px;
}
.contact_title {
	font-weight: bold;
	margin-top: 38px;
}

@media print, screen and (min-width: 768px) {
	.contact {
		margin-top: 45px;
	}
}

/* リンク先マーク */
.click_link {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdib3g9IjAgMCAxMSAxMSIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiBmaWxsPSIjYWFhIj48cG9seWdvbiBwb2ludHM9IjEwIDAgMSAwIDAgMCAwIDEgMCA2IDEgNiAxIDEgMTAgMSAxMCAxMCA1IDEwIDUgMTEgMTAgMTEgMTEgMTEgMTEgMTAgMTEgMSAxMSAwIDEwIDAiPjwvcG9seWdvbj48cG9seWdvbiBwb2ludHM9IjggOCA4IDMgMyAzIDUuMTUgNS4xNSAwLjY1IDkuNjUgMS4zNSAxMC4zNSA1Ljg1IDUuODUgOCA4Ij48L3BvbHlnb24+PC9zdmc+');
	background-repeat: no-repeat;
	display: inline-flex;
	height: 11px;
	justify-content: center;
	margin-left: 7px;
	width: 11px;
}

/* JS用 */
.ime_active {
	ime-mode:active;
}
.ime_disabled {
	ime-mode:disabled;
}
.ng {
	display: none;
}

/********************* モーダル *************************/
/* モーダル汎用 */
.fade-enter-active,
.fade-leave-active {
	transition: opacity 0.5s ease;
}
.fadeFast-enter-active,
.fadeFast-leave-active {
	transition: opacity 0.3s ease;
}
.fade-enter,
.fade-leave-to,
.fadeFast-enter,
.fadeFast-leave-to {
	opacity: 0;
}

.slide-enter-active,
.slide-leave-active {
	transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.slide-enter,
.slide-leave-to {
	opacity: 0;
	transform: translateY(-10%);
}

/* モーダル汎用_背景 */
.modal_background {
	position: fixed;
	z-index: 100;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.5);
}
.modal_overall {
	position: fixed;
	z-index: 110;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	outline: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.modal_visible {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 1.75rem auto;
	pointer-events: auto;
	background-color: #fff;
	border: 1px solid rgba(0,0,0,.2);
	border-radius: 0.3rem;
	outline: 0;
}

@media (max-width: 575px) {
	.modal_visible {
		margin: 0;
	}
}
@media (min-width: 576px) {
	.modal_visible {
		max-width: 576px;
	}
}
@media (min-width: 992px) {
	.modal_visible {
		max-width: 800px;
	}
}

/* モーダル汎用_ヘッダー */
.modal_header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 1rem;
	border-bottom: 2px solid #ff3c00;
}
.modal_title {
	font-size: 24px;
	font-weight: bold;
}
.modal_close {
	font-size: 24px;
	color: #888;
	padding: 0 6px;
}
[type="button"]:not(:disabled).modal_close:focus,
[type="button"]:not(:disabled).modal_close:hover {
	background: #666;
	color: white;
	border-radius: 4px;
	opacity: 0.8;
}

/* モーダル汎用_ボディ */
.modal_body {
	padding: 1rem;
}

/* モーダル汎用_フッター */
.modal_footer {
	display: flex;
	padding: 1rem;
	border-top: 1px solid #dee2e6;
}
.modal_back {
	margin-top: 0;
	margin-right: auto;
}
[type="button"]:not(:disabled).modal_back:hover,
[type="button"]:not(:disabled).modal_back:focus {
	opacity: 0.8;
}
.modal_clear {
	color: #888;
	margin-left: auto;
	padding: 2px 6px;
}
[type="button"]:not(:disabled).modal_clear:hover,
[type="button"]:not(:disabled).modal_clear:focus {
	background: #666;
	color: white;
	border-radius: 4px;
	opacity: 0.8;
}

/* モーダル汎用_選択ボタン */
.modal_button_type1 {
	background-color: #fff;
	border: 2px solid #ff3c00;
	padding: 16px 0;
	border-radius: 8px;
	text-align: center;
	width: 100%;
}
.modal_button_type1:not(:disabled) {
	transition: background-color 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
	will-change: background-color;
	cursor: pointer;
}
.modal_button_type1.selected {
	color: #fff;
	background-color: #ff3c00;
}
.modal_button_type1:not(:disabled):hover,
.modal_button_type1:not(:disabled):focus {
	background-color: #ffebe5;
	opacity: 1;
}
.modal_button_type1:not(:disabled).selected:hover,
.modal_button_type1:not(:disabled).selected:focus {
	background-color: #ff3c00;
	opacity: 0.8;
}
@media (pointer: coarse) {
	.modal_button_type1:not(:disabled):hover,
	.modal_button_type1:not(:disabled):focus {
		background-color: #fff;
	}
	.modal_button_type1:not(:disabled).selected:hover,
	.modal_button_type1:not(:disabled).selected:focus {
		opacity: 1;
	}
}

/* モーダル汎用_ページボタン */
.modal_button_paging {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 4px 0;
}
.modal_button_paging .button {
	padding-top: 6px;
	padding-bottom: 6px;
	box-shadow: 0 4px #999;
}
.modal_button_paging .button:not(:disabled):active {
	background-color: #ff0600;
	box-shadow: 0 2px #666;
	transform: translateY(2px);
}
.modal_button_paging .button:not(:disabled):hover,
.modal_button_paging .button:not(:disabled):focus {
	opacity: 1;
	background-image: linear-gradient(120deg, #ff0400e1, #ff5100);
}
.modal_button_paging .button:disabled {
	background-image: none;
	background-color: #666;
}

/* モーダル汎用_テーブル */
.modal_table {
	margin-top: 14px;
}
.modal_table th,
.modal_table td {
	padding: 12px;
}

/* モーダル汎用_その他 */
.freeze {
	overflow: hidden;
}

/* 個別設定:日付選択 */
.modal_calendar {
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}
.calendar {
	position: relative;
}
.calendar::after {
	content: '';
	width: 28px;
	height: 28px;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj4KCQkJPHBhdGggZmlsbD0iI2ZmM2MwMCIgZD0iTTE0OCAyODhoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ2LTQwYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEyem0xMDgtMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem05NiAwdi00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDk2di00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDB2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem0xOTIgMHYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ6bTk2LTI2MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDEyOFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2VjE2MEg0OHYyOThjMCAzLjMgMi43IDYgNiA2aDM0MGMzLjMgMCA2LTIuNyA2LTZ6Ii8+PC9zdmc+');
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	top: 22%;
	right: 3%;
	pointer-events: none;
}
.calendar_head {
	flex: 1;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	margin-right: 8px;
}
.calendar_head .year {
	flex: 0.6;
	margin-right: 5px;
	font-size: 20px;
	font-weight: 700;
}
.calendar_head .month {
	flex: 0.4;
	margin-left: 5px;
	font-size: 20px;
	font-weight: 700;
}
.calendar_body {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 14px;
}
.calendar_body .box {
	position: relative;
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 14.28%;
}
.calendar_body .box::after {
	content: "";
	display: block;
	padding-bottom: 85%;
}
.calendar_body .box .week,
.calendar_body .box .day {
	position: absolute;
	display: inline-block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.calendar_body .box .week {
	font-weight: bold;
	background-color: #ddd;
	border-top: 1px solid #ddd;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.calendar_body .box:nth-of-type(1) .week {
	border-left: 1px solid #ddd;
}
.calendar_body .box:nth-of-type(7) .week {
	border-right: 1px solid #ddd;
}
.calendar_body .box .day {
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.calendar_body .box:nth-of-type(7n+1) .day {
	border-left: 1px solid #ddd;
}
.calendar_body .box .day:not(.disabled) {
	cursor: pointer;
}
.calendar_body .box .day:hover:not(.disabled):not(.selected) {
	background-color: #ccc;
	font-size: 130%;
}
.calendar_body .box .day.selected {
	color: #fff;
	background: #ff3c00;
}
.calendar_body .box .day.selected:hover {
	font-size: 130%;
}
.calendar_body .box .day.today div{
	border: 3px solid lightblue;
}
.calendar_body .box .week div,
.calendar_body .box .day div  {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	transition: font-size 0.2s ease;
}
@media (min-width: 576px) {
	.calendar_head {
		margin-right: 32px;
	}
	.calendar_body .box::after {
		padding-bottom: 70%;
	}
}

/* 個別設定:業種選択 */
.modal_business .row {
	margin-left: 0;
	margin-right: 0;
}
.modal_business .row [class*="col-"] {
	padding: 4px;
	margin-bottom: 4px;
	display: flex;
	align-self: stretch;
}
.modal_business .modal_button_type1 {
	padding: 10px 2px;
	border: 1px solid #ccc;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media print, screen and (max-width: 991px) {
	.modal_business {
		font-size: 14px;
	}
}
@media print, screen and (max-width: 575px) {
	.modal_business .row [class*="col-"] {
		padding: 2px;
		font-size: 12px;
		margin-bottom: 2px;
	}
}

/* 個別設定:住所検索 */
.modal_address_head {
	background-color: #f1f3ee;
	text-align: left;
	border-left: 1px solid #ddd;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	margin: 0;
	font-weight: bold;
}
.modal_address_list {
	cursor: pointer;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	margin: 0;
}
.modal_address_list:last-child {
	border-bottom: 1px solid #ddd;
}
.modal_address_list:hover {
	background-color: #ccc;
}
.modal_address_head [class*="col-"],
.modal_address_list [class*="col-"] {
	margin-bottom: 0;
	padding: 6px 8px;
	display: flex;
	align-self: stretch;
}
.modal_address_list.selected {
	background-color: #ffebe5;
	outline: solid medium #ff0600;
}

@media print, screen and (max-width: 575px) {
	.modal_address_head [class*="col-"],
	.modal_address_list [class*="col-"] {
		padding-left: 1px;
		padding-right: 1px;
		font-size: 1.4rem;
	}
	.modal_address_head [class*="col-"]:first-of-type,
	.modal_address_list [class*="col-"]:first-of-type {
		padding-left: 5px;
	}
}

/* 個別設定:金融機関選択 */
.modal_kana {
	margin-top: 14px;
	padding: 0;
	background-color: #fff;
}
.modal_kana .index_inner {
	margin-top: 0;
}
.modal_kana .index_segment {
	margin-left: auto;
	margin-right: auto;
}
.modal_kana .index_list li button {
	background-color: #e5edf5;
}
.modal_kana .index_list li:first-of-type {
	margin-top: 0;
}
.modal_kana .index_list li button.selected {
	background-color: #ff3c00;
	border-color: #ff3c00;
	color: #fff;
}
@media print, screen and (min-width: 652px) {
	.modal_kana .index_segment + .index_segment{
		margin-left: 16px;
	}
}
.modal_kana .index_list li button:not(:disabled):focus,
.modal_kana .index_list li button:not(:disabled):hover {
	background-color: #ffebe5;
	border-color: #ff3c00;
	opacity: 1;
}
.modal_kana .index_list li button:not(:disabled).selected:hover,
.modal_kana .index_list li button:not(:disabled).selected:focus {
	background-color: #ff3c00;
	opacity: 0.8;
}
.modal_table [type="button"]:not(:disabled):hover,
.modal_table [type="button"]:not(:disabled):focus {
	opacity: 0.8;
}
@media (pointer: coarse) {
	.modal_kana .index_list li button:not(:disabled):hover,
	.modal_kana .index_list li button:not(:disabled):focus {
		background-color: #e5edf5;
		border: 1px solid #ccc;
	}
	.modal_kana .index_list li button:not(:disabled).selected:hover,
	.modal_kana .index_list li button:not(:disabled).selected:focus {
		opacity: 1;
	}
	.modal_table [type="button"]:not(:disabled):hover,
	.modal_table [type="button"]:not(:disabled):focus {
		opacity: 1;
	}
}

/* 個別設定:警告 */
.modal_warning {
	top: 25%;
	font-size: 14px;
}
@media print, screen and (min-width: 576px) {
	.modal_warning {
		width: 540px;
	}
}
@media print, screen and (max-width: 575px) {
	.modal_warning {
		margin-left: 5px;
		margin-right: 5px;
	}
}
.warning_messages {
	text-align: center;
	padding: 5px 0px 15px 0px;
}
.warning_buttons {
	padding: 15px 0px 5px 0px;
	display: flex;
	justify-content: center;
}
.warning_buttons .cancel,
.warning_buttons .accept {
	width: 200px;
	white-space: nowrap;
	text-align: center;
	padding: .375rem .75rem;
	line-height: 1.5;
	display: inline-block;
	font-size: inherit;
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.15);
	border-radius: 3px;
}
.warning_buttons .cancel {
	color: #333;	
	border: 1px solid rgb(204, 204, 204);
	background-color: white;
	margin-right: 2.5px;
}
.warning_buttons .cancel:hover {
	color: #333;
	background-color: #e6e6e6;
}
.warning_buttons .accept {
	color: #fff;
	background-color: #337ab7;
	border: 1px solid #2e6da4;
	margin-left: 2.5px;
}
.warning_buttons .accept:hover {
	color: #fff;
	background-color: #286090;
	border-color: #204d74;
}
.warning_buttons .cancel:hover,
.warning_buttons .cancel:focus,
.warning_buttons .accept:hover,
.warning_buttons .accept:focus {
	opacity: 1;
}

/* 個別設定:事前書面ご利用残高ご返済金額 */
.balance_td,
.payment_td {
  text-align: center;
}
.balance_td span:nth-child(2) {
	padding-left: 4px;
	padding-right: 4px;
}
.balance_td span,
.payment_td span {
  display: inline-block;
}
.balance_td {
  display: flex;
  justify-content: center;
}
@media print, screen and (max-width: 575px) {
  .balance_td {
    flex-direction: column;
  }
  .balance_td span {
    width: 100% !important;
    text-align: center !important;
  }
}

/* 個別設定:申込完了 */
.success {
	display: none;
}
.progressing {
	width: 50%;
	margin: 8px auto;
}
@media print, screen and (max-width: 767px) {
	.progressing {
		width: 75%;
	}
}
@media print, screen and (max-width: 575px) {
	.progressing {
		width: 100%;
	}
}
.progressing .percentage {
	text-align: center;
	font-size: 2em;
	color: #ff3c00;
}
.progressing .backdrop {
	height: 30px;
	background-color: #e9ecef;
	border-radius: 15px;
	box-shadow: inset 0 1px 2px #666;
	overflow: hidden;
}
.progressing .bar {
	width: 0;
	transition: width 0.06s linear;
	height: 100%;
	background-color: #ff3c00;
	border-radius: 15px;
	background-image: linear-gradient(135deg,
					rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,
					rgba(255,255,255,.15) 50%,
					rgba(255,255,255,.15) 75%,transparent 75%,transparent);
	background-size: 30px 30px;
	-webkit-animation: guruguru 1s linear infinite;
  	animation: guruguru 1s linear infinite;
}
@-webkit-keyframes guruguru {
	from { 
		background-position: 0 0;
	}
	to {
		background-position: 30px 0;
	}
}
@keyframes guruguru {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 30px 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.progressing .bar {
		-webkit-animation: none;
    	animation: none;
	}
}

/* 個別設定:システムエラー */
.sys_error .contact {
	min-width: 288px;
	margin-top: 10px;
	display: flex;
}
.sys_error .contact .contact_seg_1 {
	align-self: baseline;
	flex: 0 0 168px;
	position: relative;
	padding-left: 24px;
}
.sys_error .contact .contact_seg_2 {
	flex: 1 1 auto;
	padding-left: 24px;
}
.sys_error .contact .contact_seg_2 p.arrow {
	position: relative;
}
.sys_error .contact .contact_seg_1.circle::before {
	content: '';
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #ff3c00;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.sys_error .contact .contact_seg_1.arrow::after {
	content: '→';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.sys_error .contact_seg_2 .contact_detail {
	margin-top: 5px;
	font-size: 80%;
}
.sys_error .contact .contact_seg_1.arrow::before {
	content: '';
}
@media print, screen and (max-width: 575px) {
	.sys_error .contact {
		flex-direction: column;
	}
	.sys_error .contact .contact_seg_1.arrow::after {
		content: '';
	}
	.sys_error .contact .contact_seg_1 {
		flex: 1 1 auto;
		padding-left: 16px;
	}
	.sys_error .contact .contact_seg_2,
	.sys_error .contact .contact_seg_2 .contact_detail {
		padding-left: 16px;
	}
	.sys_error .contact p.arrow {
		padding-left: 16px;
	}
	.sys_error .contact p.arrow::before {
		content: '>';
		position: absolute;
		left: 0;
	}
}

/********************* 汎用項目 *************************/
/* 文字色 */
.color-primary {
	color: #ff3c00 !important;
}
.color-primary2 {
	color: #024d99 !important;
}
.color-white {
	color: #fff !important;
}

/* 文字サイズ */
@media (max-width: 767px) {
	.fontSize-xxSmall {
		font-size: 1rem !important;
	}
	.fontSize-xSmall {
		font-size: 1.2rem !important;
	}
	.fontSize-small {
		font-size: 1.4rem !important;
	}
	.fontSize-medium {
		font-size: 1.6rem !important;
	}
	.fontSize-large {
		font-size: 1.8rem !important;
	}
	.fontSize-xLarge {
		font-size: 2rem !important;
	}
	.fontSize-xxLarge {
		font-size: 2.2rem !important;
	}
}

@media print, screen and (min-width: 768px) {
	.fontSize-xxSmall {
		font-size: 1rem !important;
	}
	.fontSize-xSmall {
		font-size: 1.2rem !important;
	}
	.fontSize-small {
		font-size: 1.4rem !important;
	}
	.fontSize-medium {
		font-size: 1.6rem !important;
	}
	.fontSize-large {
		font-size: 1.8rem !important;
	}
	.fontSize-xLarge {
		font-size: 2rem !important;
	}
	.fontSize-xxLarge {
		font-size: 2.2rem !important;
	}
}

/* margin top */
.marginTop-0 {
	margin-top: 0;
}
.marginTop-5 {
	margin-top: 5px;
}
.marginTop-10 {
	margin-top: 10px;
}
.marginTop-15 {
	margin-top: 15px;
}
.marginTop-20 {
	margin-top: 20px;
}
.marginTop-25 {
	margin-top: 25px;
}
.marginTop-30 {
	margin-top: 30px;
}
.marginTop-35 {
	margin-top: 35px;
}
.marginTop-40 {
	margin-top: 40px;
}
.marginTop-45 {
	margin-top: 45px;
}
.marginTop-50 {
	margin-top: 50px;
}

/* margin right */
.marginRight-0 {
	margin-right: 0;
}
.marginRight-5 {
	margin-right: 5px;
}
.marginRight-10 {
	margin-right: 10px;
}
.marginRight-15 {
	margin-right: 15px;
}
.marginRight-20 {
	margin-right: 20px;
}
.marginRight-25 {
	margin-right: 25px;
}
.marginRight-30 {
	margin-right: 30px;
}
.marginRight-35 {
	margin-right: 35px;
}
.marginRight-40 {
	margin-right: 40px;
}
.marginRight-45 {
	margin-right: 45px;
}
.marginRight-50 {
	margin-right: 50px;
}

/* margin bottom */
.marginBottom-0 {
	margin-bottom: 0;
}
.marginBottom-5 {
	margin-bottom: 5px;
}
.marginBottom-10 {
	margin-bottom: 10px;
}
.marginBottom-15 {
	margin-bottom: 15px;
}
.marginBottom-20 {
	margin-bottom: 20px;
}
.marginBottom-25 {
	margin-bottom: 25px;
}
.marginBottom-30 {
	margin-bottom: 30px;
}
.marginBottom-35 {
	margin-bottom: 35px;
}
.marginBottom-40 {
	margin-bottom: 40px;
}
.marginBottom-45 {
	margin-bottom: 45px;
}
.marginBottom-50 {
	margin-bottom: 50px;
}

/* margin left */
.marginLeft-0 {
	margin-left: 0;
}
.marginLeft-5 {
	margin-left: 5px;
}
.marginLeft-10 {
	margin-left: 10px;
}
.marginLeft-15 {
	margin-left: 15px;
}
.marginLeft-20 {
	margin-left: 20px;
}
.marginLeft-25 {
	margin-left: 25px;
}
.marginLeft-30 {
	margin-left: 30px;
}
.marginLeft-35 {
	margin-left: 35px;
}
.marginLeft-40 {
	margin-left: 40px;
}
.marginLeft-45 {
	margin-left: 45px;
}
.marginLeft-50 {
	margin-left: 50px;
}

/* width */
.width-10 {
	width: 10%;
}
.width-20 {
	width: 20%;
}
.width-30 {
	width: 30%;
}
.width-40 {
	width: 40%;
}
.width-50 {
	width: 50%;
}
.width-60 {
	width: 60%;
}
.width-70 {
	width: 70%;
}
.width-80 {
	width: 80%;
}
.width-90 {
	width: 90%;
}
.width-100 {
	width: 100%;
}