.hidden-pc {
	display: none;
}

.p-pagetitle {
	position: relative;
	display: -ms-grid;
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 269px;
	padding-top: 90px;
	overflow: hidden;
	text-align: center;
	background: #1d2379;
}

.p-pagetitle__image {
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	transform: translate(0, -50%);
}

.p-pagetitle__image img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-animation: pagetitleImg 1.5s ease 0.1s both;
	animation: pagetitleImg 1.5s ease 0.1s both;
}

.p-pagetitle__texts {
	position: relative;
	z-index: 2;
	width: 100%;
	color: #fff;
}

.p-pagetitle__text01 {
	display: block;
	font-size: clamp(2.6rem, 0.8222rem + 3vw, 3.6rem);
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

.p-breadcrumbs {
	position: relative;
	z-index: 2;
	width: 100%;
	margin-bottom: 0;
	color: #000;
	text-align: left;
	background: #fdfbef;
}

.p-breadcrumbs__inner {
	position: relative;
	z-index: 1;
	width: min(100%, 1600px);
	padding: 6px min(5vw, 50px) 8px;
	margin: 0 auto;
	background: #fdfbef;
}

.p-breadcrumbs ol {
	display: block;
	line-height: 1;
}

.p-breadcrumbs li {
	display: inline;
	line-height: 1;
	vertical-align: text-top;
}

.p-breadcrumbs a, .p-breadcrumbs span {
	color: rgba(77, 77, 77, 0.5);
	position: relative;
	display: inline;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
}

.p-breadcrumbs a {
	color: #4d4d4d;
	text-decoration: none;
}

.p-breadcrumbs a:after {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.2em;
	content: "";
	background: url(data:image/svg+xml;charset=utf8,%3Csvg%20enable-background%3D%22new%200%200%2024%2024%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m8.8%205.5%206.5%206.5-6.5%206.5%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E) no-repeat center center/contain;
}

.p-breadcrumbs a:hover {
	color: #166fff;
	text-decoration: underline !important;
}

main form {
	width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

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

.p-pagetitle {
	padding-top: 90px;
}

.output-header {
	font-size: 36px;
	margin: 60px 0 70px;
	color: #0e488b;
}

.output-flex {
	display: flex;
	align-items: center;
}

.output-flex-1 {
	flex: 1;
}

.output-box {
	display: flex;
	border-top: 1px #ccc solid;
	align-items: center;
}

.output-box.no-line {
	border-top: none;
}

main form *::selection {
	background-color: #ccc;
	border-color: #ccc;
}

main input[type="text"], main input[type="password"], .output-box select {
	background-color: #fff;
	color: #333;
	outline: none;
	border: 1px #ccc solid;
	padding: 13px;
	border-radius: 5px;
	font-size: 16px;
}

.output-box input[type="text"]::placeholder {
	color: #bdbdbd;
}

.output-box select {
	padding: 15px;
}

.output-box input[type="text"].output-max,
.output-box input[type="password"].output-max {
	width: 100%;
}

.output-box .output-title {
	max-width: 280px;
	width: 25%;
	font-size: 16px;
	font-weight: bold;
	text-align: right;
	padding: 24px 80px 32px 0;
	align-self: start;
}

.output-box.output-title-top {
	align-items: normal;
}

.output-box .output-content {
	flex: 1;
	text-align: left;
	word-break: break-all;
}

.section-general .output-content {
	padding: 30px 0 30px 30px;
}

.case-screen .output-content {
	padding: 30px 0 30px 20px;
}

.container-padding {
	padding: 30px 0 30px 20px;
	border-top: 1px solid #ccc;
}

.container-padding._adjust {
	padding: 25px 0 25px 20px;
}

.container-padding._adjust-textarea {
	padding: 25px 0 20px 20px;
}

.container-padding.no-line {
	border: none;
}

.output-box select {
	width: 150px;
}

.output-required {
	background-color: #ea0000;
	color: #fff;
	padding: 2px 5px;
	font-size: 13px;
	margin-left: 10px;
	font-weight: normal;
	white-space: nowrap;
}

.output-optional {
	background-color: #0e488b;
	color: #fff;
	padding: 2px 5px;
	font-size: 13px;
	margin-left: 10px;
	font-weight: normal;
	white-space: nowrap;
}

.output-step {
	justify-content: space-between;
	display: flex;
	font-weight: bold;
	max-width: 690px;
	width: 100%;
	margin: 50px auto;
	position: relative;
}

.step-width {
	width: 250px;
}

.output-step-circle {
	border: 1px #0e488b solid;
	background-color: #fff;
	border-radius: 50%;
	padding: 8px 10px 10px 12px;
	font-size: 22px;
}

.output-step-circle-active {
	background-color: #0e488b;
	color: #fff;
}

.output-step-explain {
	margin-top: 20px;
	font-size: 18px;
	color: #0e488b;
}

.output-step-border {
	position: absolute;
	border-top: 2px #d4dce2 solid;
	width: 210px;
	top: 13px;
	z-index: -1;
}

.output-step-border.active {
	border-color: #0e488b;
}

.output-step-border._left {
	left: 50%;
	transform: translateX(-100%);
}

.output-step-border._right {
	left: 50%;
}

.output-smaller {
	font-size: 16px !important;
	font-weight: normal !important;
}

.output-submit {
	padding: 22px;
	width: 370px;
	border: none;
	border-radius: 5px;
	font-weight: bold;
	font-size: 20px;
	outline: none;
	cursor: pointer;
	color: #fff;
	background-color: #0e488b;
	transition: background-color 0.3s;
}

.output-submit[name="send"], .output-submit.submit-top {
	background-color: #5084d7;
}

.output-submit:hover {
	background-color: #1d2379;
}

.output-submit-back {
	background-color: transparent;
	border: none;
	padding-left: 30px;
	font-weight: bold;
	text-decoration: underline;
	margin-top: 20px;
	cursor: pointer;
	transition: opacity 0.3s;
}

.output-submit-back:hover {
	opacity: 0.5;
}

.output-arrow, .output-arrow-reverse {
	white-space: nowrap;
}

.output-arrow a, .output-arrow-reverse a {
	text-decoration: none;
}

.output-arrow::after {
	background-image: url(/aosign/assets/img/form/arrow.png);
	background-size: contain;
	content: '';
	width: 24px;
	height: 24px;
	display: inline-block;
	position: relative;
	right: 36px;
	top: 4px;
}

.output-arrow-reverse::before {
	background-image: url(/aosign/assets/img/form/arrow.png);
	background-size: contain;
	content: '';
	width: 24px;
	height: 24px;
	display: inline-block;
	position: relative;
	left: 36px;
	top: 6px;
	rotate: 180deg;
}

.output-arrow-reverse.output-arrow-reverse-invert::before {
	filter: invert();
}

.output-submit[disabled] {
	background-color: #ccc;
	color: #fff;
	border: none;
	font-weight: bold;
	cursor: not-allowed;
}

main input[readonly], main select[readonly],
main input[disabled], main select[disabled] {
	background-color: #f6f6f6 !important;
}

.output-section {
	margin: 20px 300px;
}

.output-button {
	display: flex;
	justify-content: center;
	gap: 40px;
	text-align: center;
	margin-top: 55px;
}

.output-note {
	margin-top: 20px;
	font-size: 14px;
	line-height: 180%;
}

.output-error {
	color: red;
	display: none;
}

.output-error-field {
	background-color: #fee !important;
	border-color: #ea0000 !important;
}

.output-confirm .output-title {
	padding: 30px 10px 10px;
	width: 18%;
}

.output-confirm .output-content {
	padding: 30px 0 30px 80px;
	font-size: 16px;
	width: 82%;
}

.output-confirm .output-section {
	margin: 20px auto;
	width: 780px;
	font-size: 16px;
}

.output-arrow-space {
	margin: 50px 40px;
	display: inline-block;
}

.output-confirm form {
	margin-bottom: 100px;
}

.border-bottom {
	border-bottom: 1px dotted #ccc;
	align-items: center;
}

.border-top-none {
	border-top: none;
}

.output-confirm .output-high-margin, .output-high-margin {
	margin-top: 55px;
	line-height: 180%;
}

.border-bottom .output-title {
	padding: 30px 10px;
}

.output-bottom-margin {
	margin-bottom: 70px;
}

.output-gray .output-step-explain, .output-gray .output-step-circle {
	color: #d4dce2;
	border-color: #d4dce2;
}

.output-spacer {
	margin: 0 10px;
}

.output-spacer-right {
	margin-right: 50px;
}

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

.output-alert {
	color: #ea0000;
}

.output-pdf-link {
	color: #5084d7;
}

.output-pdf-link:hover {
	color: #166fff;
}

.color-normal {
	color: #333;
}

.output-pdf-link:after {
	background-image: url(/aosign/assets/img/form/pdf.png);
	background-size: contain;
	content: '';
	width: 20px;
	height: 20px;
	display: inline-block;
	position: relative;
	top: 4px;
}

main label:not(.label-checkbox) {
	position: relative;
	cursor: pointer;
	padding-left: 50px;
}

main label:not(.label-checkbox)::before,
main label:not(.label-checkbox)::after {
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}

main label:not(.label-checkbox)::before {
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 50%;
	width: 34px;
	height: 34px;
	left: 0;
}

main label:not(.label-checkbox)::after {
	background-color: #5084d7;
	border-radius: 50%;
	opacity: 0;
	width: 14px;
	height: 14px;
	left: 10px
}

main input:checked + label:not(.label-checkbox)::after {
	opacity: 1;
}

.output-radio {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	padding: 0;
}

.output-left-margin {
	margin-left: 50px;
}

.output-left-margin-checkbox {
	margin-left: 202px;
}

.output-radio-margin {
	margin: 20px 0;
}

.output-radio + label {
	margin-right: 90px;
}

.output-section-2 {
	margin: 20px 150px;
}

.prefecture_select2 + .select2-container {
	width: 177px !important;
}

.select2-selection, .select2-selection__arrow, .select2-selection__rendered {
	height: 40px !important;
	line-height: 36px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: #eee !important;
	color: #333 !important;
}

.output-margin-top {
	margin-top: 10px;
}

h2 .output-required {
	margin-bottom: 5px;
	vertical-align: 3px;
}

h2 {
	font-size: 22px;
	border-bottom: 2px rgba(134, 134, 134, 0.5) solid;
	padding-bottom: 5px;
	text-align: left;
	position: relative;
}

h2::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100px;
	height: 2px;
	background-color: #fee23b;
}

main input[type="checkbox"] {
	position: relative;
	width: 34px;
	height: 34px;
	border: 1px solid #ccc;
	border-radius: 3px;
	vertical-align: -11px;
	margin-right: 5px;
	appearance: none;
}

main input[type="checkbox"]:checked:before {
	position: absolute;
	top: 2px;
	left: 9px;
	transform: rotate(43deg);
	width: 14px;
	height: 24px;
	border-right: 3px solid #5084d7;
	border-bottom: 3px solid #5084d7;
	content: '';
}

.output-card input[type="text"] {
	width: 140px;
}

input[type="text"]:focus {
	border: 1px #5084d7 solid;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	background-image: url(/aosign/assets/img/form/select-arrow.png);
	background-size: contain;
	border: none !important;
	height: 24px !important;
	width: 24px !important;
	top: 18px !important;
	left: -10px !important;
}

.select2-container--open .select2-selection__arrow b {
	transform: rotate(180deg) !important;
}

.select2-container--default .select2-selection--single {
	border-color: #ccc !important;
}

.select2-selection__rendered {
	line-height: 55px !important;
	text-align: center;
}

.select2-container .select2-selection--single {
	height: 55px !important;
}

.select2-selection__arrow {
	height: 54px !important;
}

.output-text {
	font-size: 16px;
	line-height: 28px;
}

.section-general .output-content {
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
	width: 100%;
}

.checkbox-general {
	max-width: 270px;
	width: 100%;
}

.note-text {
	width: 100%;
	font-size: 14px;
}

.text-red {
	color: #ea0000;
}

.checkbox-error-text,
.radio-error-flex,
.checkbox-error-flex {
	gap: 20px 0;
	flex-wrap: wrap;
	display: flex;
	align-items: center;
}

.checkbox-error-flex._textarea {
	align-items: normal;
}

.checkbox-error-flex._textarea .checkbox-error-symptoms {
	margin-top: 10px;
}

.case-symptoms .checkbox-error-flex,
.checkbox-error-text {
	margin-top: 20px;
}

.radio-error-environment,
.case-symptoms .checkbox-error-flex {
	margin-left: -10px;
}

.radio-error-flex .radio-error-environment {
	width: 33%;
	margin-left: 0;
}

.case-environment .radio-error-flex {
	margin-top: 10px;
}

.checkbox-error-screen {
	max-width: 270px;
	width: 100%;
}

.checkbox-error-text .checkbox-error-screen {
	max-width: 155px;
	width: 100%;
}

.checkbox-error-screen-text {
	flex: 1;
}

.checkbox-error-symptoms {
	margin-right: 20px;
	font-size: 16px;
}

.radio-error-environment,
.checkbox-error-environment {
	font-size: 16px;
	font-weight: bold;
}

.radio-error-environment label {
	font-weight: normal;
}

.checkbox-error-symptoms-code {
	max-width: 430px;
	width: 100%;
}

.textarea-error-symptoms,
.checkbox-error-symptoms-text {
	flex: 1;
}

textarea {
	background-color: #fff;
	width: 100%;
	border-radius: 5px;
	padding: 5px 8px;
	font-size: 16px;
	border: 1px #ccc solid;
}

textarea:focus {
	outline: none;
	border: 1px #5084d7 solid;
}

.label-checkbox {
	font-size: 16px;
}

.section-content,
.section-information,
.section-error {
	border-bottom: 1px solid #ccc;
}

.textarea-contact-contents {
	padding-left: 20px;
	margin-top: 30px;
	margin-bottom: 17px;
}

.font-bold {
	font-weight: bold;
}

.information-text {
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0;
}

.information-ic {
	width: 140px;
}

.text-information-flex {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
}

.section-information-deadline .text-information-flex {
	margin-top: 25px;
}

.section-information-ic .output-content,
.section-information-system .output-content,
.section-information-deadline .output-content,
.section-information-address .output-content,
.section-information-post-number .output-content,
.section-information-mail-confirm .output-content,
.section-information-telephone .output-content,
.section-information-ruby .output-content,
.section-information-manager .output-content,
.section-information-department .output-content,
.section-information-company .output-content,
.section-information-mail .output-content,
.section-information-password .output-content,
.section-information-password-confirm .output-content {
	padding: 25px 0 25px 20px;
}

.output-title._required,
.section-information-address .output-title,
.section-information-post-number .output-title,
.section-information-telephone .output-title,
.section-information-mail-confirm .output-title,
.section-information-mail .output-title,
.section-information-password .output-title,
.section-information-ruby .output-title,
.section-information-manager .output-title,
.section-information-department .output-title,
.section-information-company .output-title,
.section-contact .output-title {
	padding-top: 35px;
	position: relative;
}

.case-environment .output-title {
	padding-top: 22px;
}

.section-information-mail .output-title {
	padding-top: 20px;
}

.section-information-ic .output-title {
	padding-top: 25px;
}

.section-information-mail-confirm .output-title {
	padding-top: 20px;
}

.output-title._required::before,
.section-information-password .output-title::before,
.section-information-mail-confirm .output-title::before,
.section-information-mail .output-title::before,
.section-information-ruby .output-title::before,
.section-information-manager .output-title::before,
.section-information-company .output-title::before,
.section-contact .output-title::before {
	content: "必須";
	font-size: 13px;
	color: #fff;
	line-height: 1;
	background-color: #ea0000;
	position: absolute;
	top: 38px;
	right: 25px;
	padding: 5px;
}

.section-information-mail .output-title::before {
	top: 24px;
}

.information-mail,
.information-system {
	width: 100%;
}

.input-deadline-child-flex {
	display: flex;
	align-items: center;
	gap: 10px;
}

.input-deadline-flex {
	display: flex;
	align-items: center;
	gap: 15px;
}

.input-deadline-child {
	width: 80px;
}

._year .input-deadline-child {
	width: 98px;
}

.section-information-deadline .output-radio + label {
	margin-right: 40px;
	font-size: 16px;
}

.section-information-ruby input,
.section-information-manager input {
	max-width: 430px;
}

.telephone-flex {
	max-width: 430px;
	display: flex;
	gap: 10px;
	align-items: center;
}

.telephone-flex input {
	flex: 1;
	text-align: center;
}

.section-information-post-number input {
	max-width: 210px;
}

.output-high-margin.title-error {
	margin-top: 10px;
}

.output-high-margin.title-content {
	margin-top: 45px;
}

.output-high-margin.title-information {
	margin-top: 50px;
}

.checkbox-error-browser-others,
.checkbox-error-os-others {
	flex: 1;
}

.mt-0 {
	margin-top: 0 !important;
}

.padding-vertical {
	padding: 25px 20px;
}

.p-pagetitle {
	background: transparent;
}

.p-breadcrumbs {
	margin-bottom: 100px;
}

.p-breadcrumbs li > span {
	opacity: 0.5;
}

.c-pagetop {
	margin-bottom: 0 !important;
}

.area-note {
	background-color: #fdfbef;
	text-align: left;
	padding: 30px;
	margin-top: 60px;
}

.title-note {
	font-size: 18px;
	font-weight: bold;
	background-color: rgba(193, 189, 164, 0.2);
	padding: 5px 20px;
}

.list-note {
	font-size: 14px;
	line-height: 28px;
	margin-top: 15px;
}

.list-note li {
	position: relative;
	padding-left: 18px;
}

.list-note li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.radio-flex {
	display: flex;
	align-items: center;
	padding-left: 20px;
}

.input-short {
	max-width: 430px;
}

.flex-input-checkbox {
	display: flex;
	align-items: center;
	gap: 50px;
}

.text-note {
	font-size: 14px;
	line-height: 28px;
	padding-left: 17px;
	position: relative;
	margin-top: 15px;
}

.text-note::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
	color: #ea0000;
}

.output-content.padding-form-text {
	padding: 25px 0 20px 20px
}

.output-content.padding-form {
	padding: 25px 0 25px 20px
}

.section-prefectures {
	margin-top: 10px;
	padding: 20px 0 20px 40px;
	background-color: #fdfbef;
	display: flex;
	gap: 50px;
}

.area-prefectures {
	width: 210px;
	border-right: 1px solid #cbcbcb;
}

.prefectures {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
}

.prefectures div {
	width: 35%;
}

.prefectures div:nth-of-type(3n) {
	width: 30%;
}

.section-prefectures input[type="checkbox"] {
	background-color: #fff;
}

.section-prefectures .label-checkbox input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 0;
}

.section-prefectures .label-checkbox {
	position: relative;
	padding-left: 50px;
	display: block;
	padding-top: 3px;
}

.output-content.padding-text-textarea {
	padding: 20px 0 20px 20px;
}

.output-title.pt-checkbox {
	padding-top: 25px;
}

.output-title.pt-checkbox::before {
	top: 30px;
}

.output-title.pt-text {
	padding-top: 20px;
}

.output-title.pt-text::before {
	top: 24px;
}

.output-title.py-text {
	padding-top: 20px;
	padding-bottom: 20px;
}

.output-title.py-text::before {
	top: 24px;
}

.flex-form-short-text {
	display: flex;
	align-items: center;
	gap: 15px;
}

.flex-number {
	display: flex;
	align-items: center;
	gap: 10px;
}

.form-mini {
	width: 140px;
}

.form-mini-2 {
	width: 100px;
}

.form-mini-3 {
	width: 80px;
}

.form-mini-4 {
	width: 209px;
}

.output-content.padding-text-form {
	padding: 20px 0 20px 20px
}

.border-b {
	border-bottom: 1px solid #ccc
}

.output-title.py-center {
	padding-top: 35px;
}

.flex-1 {
	flex: 1;
}

.gap-90 {
	gap: 90px;
}

.pl-0 {
	padding-left: 0 !important;
}

.mt-20 {
	margin-top: 20px !important;
}

.mt-25 {
	margin-top: 25px !important;
}

.mt-30 {
	margin-top: 30px !important;
}
