﻿@keyframes pressed {
	30% {
		box-shadow: none;
		text-shadow: none;
		transform: scale(0.98)
	}

	100% {
		box-shadow: 2px 2px 2px #b2b2b2;
		transform: scale(1)
	}
}

@keyframes error {
	30% {
		transform: translateX(6px)
	}

	50% {
		width: calc(100% - 4px);
		height: calc(50px - 4px);
		border: 2px solid red;
		transform: translateX(-3px)
	}

	100% {
		transform: translateX(0)
	}
}

body {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
	font-size: 16px;
	width: 100vw;
	margin: 0;
	overflow-x: hidden
}

body.block-scroll {
	overflow: hidden;
	touch-action: none;
	overscroll-behavior: none
}

.no-display {
    display: none;
}

.orange {
	color: #ff6b03
}

.label {
	margin-top: 20px;
	font-weight: bold
}

.label .opt {
	background-color: #0099FF;
	border-radius: 5px;
	padding: 0px 5px;
	font-size: 0.9rem;
	color: #FFFFFF;
	margin: 0px 10px 0px 0px;
}

.label-comment,
.label-explaination {
	position: relative;
	width: 100%;
	font-size: .7rem;
	color: #272727;
	user-select: none;
	-ms-user-selec: none;
	-moz-user-select: none;
	-webkit-user-select: none
}

.label-comment i,
.label-explaination i {
	font-size: 1rem;
	cursor: pointer
}

.label-comment .mail-explanation,
.label-explaination .mail-explanation {
	position: absolute;
	max-width: calc(100% - 20px);
	width: 280px;
	text-align: left;
	background: black;
	color: white;
	padding: 10px;
	top: -100px;
	right: 0;
	z-index: 10;
	display: block;
	transition: .3s;
	cursor: pointer
}

.label-explaination .mail-explanation-2,
.label-explaination .mail-explanation-3 {
	position: absolute;
	max-width: calc(100% - 20px);
	width: 280px;
	text-align: left;
	background: black;
	color: white;
	padding: 10px;
	top: -100px;
	right: 0;
	z-index: 10;
	display: block;
	transition: .3s;
	cursor: pointer
}

.label-comment .mail-explanation::after,
.mail-explanation-2::after,
.mail-explanation-3::after,
.label-explaination .mail-explanation::after {
	content: '';
	position: absolute;
	bottom: -14px;
	right: 45%;
	right: 10%;
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 15px solid black;
	display: inline-block;
	user-select: none;
	-ms-user-selec: none;
	-moz-user-select: none;
	-webkit-user-select: none
}

.label-comment .mail-explanation.hide,
.label-explaination .mail-explanation.hide,
.label-explaination .mail-explanation-2.hide,
.label-explaination .mail-explanation-3.hide {
	display: none
}

.label-comment.center,
.label-explaination.center {
	text-align: center
}

.label-comment {
	margin-top: 5px
}

.label-explaination {
	text-align: right
}

.comment-box {
	margin: 30px 0;
	font-size: .75rem
}

.attension {
	font-size: 14px;
}

.margin-bottom {
	margin-bottom: 10px !important
}

input,
textarea,
.input,
select {
	box-sizing: border-box;
	width: 100%;
	font-size: 1.2rem;
	margin: 0;
	background-color: #d7ecf8;
	box-shadow: inset 2px 2px 2px #b2b2b2;
	border: 2px inset #d7ecf8;
	transition-duration: .3s
}

select:invalid { color: #757575 }

#prefecture,
option {
	color:black;
}

input:focus,
textarea:focus,
.input:focus {
	border: 2px solid #5175fc;
	box-shadow: 2px 2px 2px #b2b2b2;
	outline: none
}

input.error,
textarea.error,
.input.error {
	border: 2px solid red
}

input,
textarea {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif
}

img {
	max-width: 100%
}

input,
.input,
select {
	height: 50px;
	padding: 0 10px
}

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

.input.empty {
	color: #757575
}

textarea {
	height: 200px;
	padding: 10px;
	resize: none
}

#swapper {
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	overflow: hidden;
	min-height: calc(100vh - (120px + 20px))
}

.swapper-container {
	position: relative;
  display: none;
}

#step-1 #swapper {
	min-height: calc(100vh - (120px + 100px))
}

#step-1 .label-explaination {
	margin-top: 5px
}

header {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 10px;
	height: 100px
}

header .logo {
	width: 150px;
	padding: 10px 10px 5px
}

footer {
	box-sizing: border-box;
	padding: 20px 0;
	height: 120px
}

footer .logo-container {
	display: flex;
	justify-content: center
}

footer .logo-container .logo-1 {
	margin-right: 10px
}

footer .logo-container img {
	height: 40px
}

footer .copyright {
	text-align: center;
	font-size: .6rem
}

#loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 1000000;
	transform: scale(0);
	transition: .1s
}

#loader.active {
	transform: scale(1)
}

#loader.close {
	animation: .2s close linear;
	transform: scale(0)
}

#loader .container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 20px 20px 100px;
	box-sizing: border-box;
	width: 100%;
	min-height: 200px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 20%, rgba(255, 255, 255, 0) 100%)
}

#loader .logo {
	padding: 20px;
	box-sizing: border-box;
	max-width: 200px
}

#loader .anim {
	transform: rotateZ(45deg);
	perspective: 1000px;
	border-radius: 50%;
	width: 60px;
	height: 60px
}

#loader .anim::before,
#loader .anim::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: inherit;
	height: inherit;
	border-radius: 50%;
	transform: rotateX(70deg);
	animation: 1s spin linear infinite
}

#loader .anim::before {
	color: #4f7db4
}

#loader .anim::after {
	color: #00a8e0;
	transform: rotateY(70deg);
	animation-delay: .4s
}

#loader .text {
	padding: 20px;
	animation: 4s blink linear infinite;
	font-size: .8rem
}

@keyframes rotate {
	0% {
		transform: translate(-50%, -50%) rotateZ(0deg)
	}

	100% {
		transform: translate(-50%, -50%) rotateZ(360deg)
	}
}

@keyframes rotateccw {
	0% {
		transform: translate(-50%, -50%) rotate(0deg)
	}

	100% {
		transform: translate(-50%, -50%) rotate(-360deg)
	}
}

@keyframes spin {

	0%,
	100% {
		box-shadow: .2em 0px 0 0px currentcolor
	}

	12% {
		box-shadow: .2em .2em 0 0 currentcolor
	}

	25% {
		box-shadow: 0 .2em 0 0px currentcolor
	}

	37% {
		box-shadow: -.2em .2em 0 0 currentcolor
	}

	50% {
		box-shadow: -.2em 0 0 0 currentcolor
	}

	62% {
		box-shadow: -.2em -.2em 0 0 currentcolor
	}

	75% {
		box-shadow: 0px -.2em 0 0 currentcolor
	}

	87% {
		box-shadow: .2em -.2em 0 0 currentcolor
	}
}

@keyframes blink {
	0% {
		opacity: 0.2
	}

	60% {
		opacity: 1
	}

	100% {
		opacity: .2
	}
}

@keyframes close {
	0% {
		transform: scale(1);
		opacity: 1
	}

	20% {
		transform: scale(1.1)
	}

	80% {}

	100% {
		transform: scale(0);
		opacity: 0.2
	}
}

.modal {
	position: fixed;
	z-index: 10000;
	left: 10px;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: calc(100vw - 20px);
	background-color: rgba(255, 255, 255, 0.8);
	box-shadow: 3px 3px 15px 0px #999999;
	border-radius: 5px;
	font-weight: bold;
	transition-duration: .4s;
	transition-timing-function: ease-out
}

.modal_header {
	min-height: 25px;
	padding: 0 20px;
	position: relative
}

.modal_header.text {
	min-height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1.2rem
}

.modal_header::after {
	content: '\00d7';
	position: absolute;
	height: 20px;
	font-size: 1.5rem;
	right: 5px;
	top: -5px;
	color: black;
	display: block;
	text-shadow: 2px 2px #cbcbcb
}

.modal_container {
	padding: 0 20px;
	overflow-y: scroll;
	max-height: calc(100% - 75px)
}

.modal_container .inner {
	display: flex;
	flex-direction: column;
	font-size: .8rem
}

.modal_footer {
	min-height: 25px;
	padding: 0 20px
}

.modal.error,
.modal.warning,
.modal.info {
	top: -100vh;
	opacity: 0
}

.modal.error.active,
.modal.warning.active,
.modal.info.active {
	top: 15px;
	opacity: 1
}

.modal.error .modal_footer_button,
.modal.warning .modal_footer_button,
.modal.info .modal_footer_button {
	display: none
}

.modal.error {
	border: 3px outset #ff7676;
	background-color: rgba(255, 237, 237, 0.9);
	color: red
}

.modal.warning {
	border: 3px outset orange;
	background-color: #fff7e7;
	color: orange
}

.modal.info {
	border: 3px outset #00c000;
	background-color: #eeffee;
	color: green
}

.modal.overlay {
	bottom: 15px;
	max-height: calc(100vh - 30px);
	height: 100vh;
	border: 3px outset #585858;
	background-color: #f6f6f6;
	color: #000;
	transform: scale(0);
	transition-duration: .2s;
	opacity: 0
}

.modal.overlay.select {
	height: auto
}

.modal.overlay .modal_container {
	background-color: #f2f2f2
}

.modal.overlay .modal_footer {
	min-height: 50px
}

.modal.overlay .modal_footer_button {
	min-height: 50px;
	display: flex;
	justify-content: center;
	align-items: center
}

.modal.overlay.active {
	transform: scale(1);
	opacity: 1
}

.modal.overlay .inner {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	font-size: .8rem;
	font-weight: 100;
	justify-content: space-between
}

.modal.overlay .inner .button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(50% - 6px);
	padding: 0 10px;
	height: 50px;
	margin: 8px 0;
	background-color: #d7ecf8;
	box-shadow: 2px 2px 2px #b2b2b2;
	font-weight: bold;
	box-sizing: border-box;
	text-align: center;
	font-size: 0.9rem;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

.modal.overlay .inner .button.pressed {
	animation-name: pressed;
	animation-duration: .6s
}

.modal.overlay .inner .button.selected {
	border: 2px solid #4f7db4
}

.modal.overlay .inner span {
	width: 100%
}

.modal.overlay h3 {
	border-bottom: 2px solid #0f3675;
	font-size: 1.2rem;
	color: #0f3675;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 0.5em;
	font-weight: normal
}

.modal.overlay ol {
	list-style: none;
	padding: 0;
	margin-top: 30px
}

.modal.overlay ul {
	list-style: none;
	padding: 0;
	margin-left: 14px;
	margin-top: 1em
}

.modal.overlay figure {
	display: flex;
	margin: 0
}

.modal.overlay figure figcaption {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-left: 10px
}

.back-filter {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #95beff54
}

.back-filter.hide {
	display: none
}

@media (min-width: 991.01px) {
	.sp-view {
		display: none;
	}
}

@media (max-width: 991px) {
	.pc-view {
		display: none;
	}
	.resume-box .upload-box .inner .file-list {
		font-size: .6rem !important;
	}
}

.visible_off {
	visibility: hidden;
}

.visible_on {
	visibility: visible;
}

.pc-view {
    width: 480px;
    position: absolute;
    right: 0;
	box-sizing: border-box;
}

#clearDate1, #clearDate2, #clearDate3 {
	position: absolute;
	height: 28px;
	width: 78px;
	margin-left: -85px;
	margin-top: 11px;
	border: solid 1px grey;
	border-radius: 3px;
	background-color: #F0F0F0;
	font-size: 14px;
	box-shadow: none;
}

.pc-view dl {
	width: 434px;
	margin: 0 auto;
	padding: 0px 23px 0px 24px;
	font-size: 0.67em;
	color: #777777;
}

.sp-view {
	width: 100%;
	max-width: 460px;
	box-sizing: border-box;
	padding: 20px 0;
	padding: 0px 0px 25px 0px;
}

.sp-view dl{
	width: 100%;
	margin: 0 auto;
	font-size: 0.8em;
	color: #777777;
}

.sp-view dt{
	font-size: 0.8em;
}

.sp-view dl, .pc-view dl {
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: nowrap
}

.progBarPc {
	width: 400px;
	height: 50px;
	background-color: #ececec;
	position: relative;
	overflow: hidden;
	width: 90%;
	margin: 0 auto;
	height: 10px;
	border-radius: 0px;
	max-width: 500px;
}

.progBarSp{
	width: 100%;
	margin: 0 auto;
	height: 10px;
	border-radius: 0px;
	background-color: #ececec;
	position: relative;
	border-radius: 0px;
	overflow: hidden;
}

/*step.jsでlinear-gradientの%の増減してます*/
#barPc, #barSp {
	position: absolute;
	height: 100%;
	animation: progress 0s normal;
	animation-fill-mode: forwards;
}

#barPc {
	background-image: linear-gradient(to right, #00a9e0 10%, #f5f5f5 0%, #f5f5f5 77%, #DCDCDC 50%);
}

#barSp {
	background-image: linear-gradient(to right, #00a9e0 10%, #f5f5f5 0%, #f5f5f5 72%, #DCDCDC 50%);
}

@keyframes progress {
	0% {
		width: 0
	}

	100% {
		width: 100%
	}
}

.data-container {
	width: 100%;
	position: relative;
	left: 0;
	transition: .2s
}

.data-container.previous,
.data-container.next {
	position: absolute;
	top: 0;
	left: calc(-100% - 50px)
}

.data-container.previous {
	left: calc(-100% - 50px)
}

.data-container.next {
	left: calc(100% + 50px)
}

.data-container_title {
	margin: 0 0 20px;
	text-align: center;
	font-size: 1.5rem
}

.data-container_reference {
	background: #fef0bd;
	font-size: 1.1rem;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0
}

.data-container_reference span {
	margin: 0 5px
}

.data-container_explaination {
	padding: 0 0 10px;
	margin: 0;
	font-size: .9rem
}

.data-container_box .data-volume {
	margin-bottom: 15px;
	box-shadow: 2px 2px 2px #b2b2b2
}

.data-container_box .data-volume.language {
	margin-bottom: 5px
}

.data-container_box .skill:nth-last-of-type(n+2) {
	margin-bottom: 10px
}

.data-container_button .comment {
	margin: 10px 0;
	text-align: center;
	font-size: 0.8rem
}

.data-container_button .button-eeasy,
.data-container_button .button {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	text-decoration: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

.data-container_button.next,
.data-container_button.confirm,
.data-container_button.ccc {
	margin: 50px 0
}

.data-container_button.continue {
	margin: 50px 0 5px 0
}

.data-container_button.next .button,
.data-container_button.confirm .button,
.data-container_button.confirm .button-eeasy,
.data-container_button.ccc .button {
	-webkit-appearance: none;
	background: #4f7db4;
	color: white;
	box-shadow: 2px 2px 2px #b2b2b2;

	transition-duration: .6s
}

.data-container_button.next .button.pressed,
.data-container_button.confirm .button.pressed {
	animation-name: pressed;
	animation-duration: .6s
}

.data-container_button.next .button.error,
.data-container_button.confirm .button.error {
	animation-name: error;
	animation-duration: .4s;
	width: calc(100% - 4px);
	height: calc(50px - 4px);
	border: 2px solid red;
	transform: translateX(0)
}

.data-container_button.previous,
.data-container_button.add {
	margin: 20px 0
}

.data-container_button.previous .button,
.data-container_button.add .button {
	color: #4f7db4;
	font-size: 0.9rem;
	text-decoration-line: underline
}

.data-container_button.previous .button span,
.data-container_button.add .button span {
	position: relative
}

.data-container_button.previous .button span {
	padding-left: 10px
}

.data-container_button.previous .button span::before {
	content: '';
	border: solid #4f7db4;
	border-width: 0 2px 2px 0;
	display: inline-block;
	padding: 3px;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	position: absolute;
	left: -5px;
	top: 7px
}

.data-container_button.add .button {
	justify-content: start
}

.data-container_button.add .button.error {
	color: red
}

.data-container_button.add .button span::before {
	content: '\2b';
	display: inline-block;
	margin-right: 5px;
	font-size: 1rem
}

.data-container_button.link {
	margin: 30px 0 20px
}

.data-container_button.link .button {
	color: #4f7db4;
	font-size: 0.9rem;
	text-decoration-line: underline
}

.data-container_button.link .button span {
	position: relative;
	padding-left: 10px
}

#step-1 .confirm {
	margin: 20px 0 50px
}

.data-volume.select.pressed {
	animation-name: pressed;
	animation-duration: .6s
}

.data-volume.select .button {
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none;
	background-color: #d7ecf8;
	height: 50px;
	display: flex;
	align-items: center;
	padding-left: 10px;
	position: relative;
	font-weight: bold
}

.data-volume.select .button .arrow {
	border: solid #4f7db4;
	border-width: 0 4px 4px 0;
	display: inline-block;
	padding: 4px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	position: absolute;
	right: 20px;
	transition-duration: .2s
}

.data-volume.select .button.selected {
	border: 2px solid #4f7db4
}

.data-volume.select .button.error {
	animation-name: error;
	animation-duration: .4s;
	width: calc(100% - 4px);
	height: calc(50px - 4px);
	border: 2px solid red;
	transform: translateX(0)
}

.data-volume_header {
	background-color: #d7ecf8;
	height: 50px;
	display: flex;
	align-items: center;
	padding-left: 10px;
	position: relative;
	font-weight: bold
}

.data-volume_header .arrow {
	border: solid #4f7db4;
	border-width: 0 4px 4px 0;
	display: inline-block;
	padding: 4px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	position: absolute;
	right: 20px;
	transition-duration: .2s
}

.data-volume_header .plus {
	position: absolute;
	right: 15px;
	width: 25px;
	height: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 25px;
	background: #4f7db4;
	color: white;
	transition-duration: .2s;
	font-size: 1.2rem
}

.data-volume_header .plus::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: '\2b'
}

.data-volume_box {
	max-height: 0;
	overflow: hidden;
	transition-duration: .4s
}

.data-volume_box .button {
	position: relative;
	height: 50px;
	display: flex;
	align-items: center;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

.data-volume_box .button:not(:last-child) {
	border-bottom: solid 1px #d1d1d1
}

.data-volume_box .button .radio {
	width: 50px;
	height: 50px
}

.data-volume_box .button .radio::before,
.data-volume_box .button .radio::after {
	content: '';
	border-radius: 30px;
	position: absolute
}

.data-volume_box .button .radio::before {
	width: 25px;
	height: 25px;
	left: 12px;
	top: 12px;
	background-color: white;
	border: 1px solid black
}

.data-volume_box .button .radio::after {
	width: 17px;
	height: 17px;
	left: 17px;
	top: 17px
}

.data-volume_box .button .checkbox {
	width: 50px;
	height: 50px
}

.data-volume_box .button .checkbox::before,
.data-volume_box .button .checkbox::after {
	position: absolute
}

.data-volume_box .button .checkbox::before {
	content: '';
	border-radius: 5px;
	width: 25px;
	height: 25px;
	left: 12.5px;
	top: 12.5px;
	background: white;
	border: 1px solid black
}

.data-volume_box .button .checkbox::after {
	font-family: "Font Awesome 6 Free";
	content: "\f00c";
	font-size: 2rem;
	font-weight: bold;
	color: #4f7db4;
	top: 5px;
	left: 15px;
	opacity: 0;
	transform: scale(0);
	transition-duration: .2s
}

.data-volume_box .button .text {
	width: calc(100% - 50px)
}

.data-volume_box .button.checked .radio::after {
	background-color: #4f7db4
}

.data-volume_box .button.checked .checkbox::after {
	transform: scaleY(1.5);
	opacity: 1
}

.opened .data-volume_header .arrow {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg)
}

.opened .data-volume_header .plus::before {
	content: '\f068'
}

.opened .data-volume_box {
	max-height: 1600px
}

.element-group {
	display: flex
}

.element-group.job-change {
	flex-wrap: wrap;
}

.element-group.job-change .button {
	margin-top: 6px;
}

.element-group.column-1 {
	justify-content: space-between
}

.element-group.column-1 .button {
	width: 100%
}

.element-group.column-2 {
	justify-content: space-between
}

.element-group.column-2 .button {
	width: 48%
}

.element-group .button {
	position: relative;
	height: 50px;
	display: flex;
	align-items: center;
	background-color: #d7ecf8;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

.element-group .button .radio {
	width: 50px;
	height: 50px
}

.element-group .button .radio::before,
.element-group .button .radio::after {
	content: '';
	border-radius: 30px;
	position: absolute
}

.element-group .button .radio::before {
	width: 25px;
	height: 25px;
	left: 12px;
	top: 12px;
	background-color: white;
	border: 1px solid black
}

.element-group .button .radio::after {
	width: 17px;
	height: 17px;
	left: 17px;
	top: 17px
}

.element-group .button .checkbox {
	width: 50px;
	height: 50px
}

.element-group .button .checkbox::before,
.element-group .button .checkbox::after {
	position: absolute
}

.element-group .button .checkbox::before {
	content: '';
	border-radius: 5px;
	width: 25px;
	height: 25px;
	left: 12.5px;
	top: 12.5px;
	background: white;
	border: 1px solid black
}

.element-group .button .checkbox::after {
	font-family: "Font Awesome 6 Free";
	content: "\f00c";
	font-size: 2rem;
	font-weight: bold;
	color: #4f7db4;
	top: 5px;
	left: 15px;
	opacity: 0;
	transform: scale(0);
	transition-duration: .2s
}

.element-group .button.checked .radio::after {
	background-color: #4f7db4
}

.element-group .button.checked .checkbox::after {
	transform: scaleY(1.5);
	opacity: 1
}

.grid-suffixe {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr)
}

.grid-suffixe .label {
	grid-column: 1 / 4;
	grid-row: 1
}

.grid-suffixe .main {
	grid-column: 1 / 3;
	grid-row: 2
}

.grid-suffixe .right-comment {
	grid-column: 4;
	grid-row: 2;
	padding: 0 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2rem;
	font-weight: bold
}

.grid-suffixe .label-comment {
	grid-column: 1 / 5;
	grid-row: 3
}

.example-box {
	margin-top: 5px;
	margin-bottom: 15px;
	border: 1px solid #6e6e6e
}

.example-box .header {
	position: relative;
	background-color: #e5e5e5;
	height: 50px;
	display: flex;
	align-items: center;
	padding-left: 10px;
	position: relative;
	font-weight: bold
}

.example-box .header::after {
	content: '';
	border: solid black;
	border-width: 0 4px 4px 0;
	display: inline-block;
	padding: 4px;
	transform: rotate(-45deg);
	position: absolute;
	right: 20px;
	transition-duration: .2s
}

.example-box .main {
	position: relative;
	padding: 15px;
	max-height: 160px;
	overflow: hidden;
	font-size: .9rem;
	color: #2d2d2d;
	transition-duration: .2s
}

.example-box .main .title {
	font-weight: bold;
	font-size: 1.1rem;
	color: #4f7db4
}

.example-box .main::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 30%;
	min-height: 70px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 25%, #fff 100%);
	transition-duration: .1s;
	transition-delay: .2s
}

.example-box.opened .header::after {
	transform: rotate(45deg)
}

.example-box.opened .main {
	max-height: 3000px
}

.example-box.opened .main::after {
	display: none
}

.resume-box {
	padding: 20px;
	background: #f9f9f9;
	box-shadow: inset 2px 2px 2px #b2b2b2
}

.resume-box .button {
	padding: 8px 25px;
	background: #4f7db4;
	color: white;
	box-shadow: 2px 2px 2px #b2b2b2;
	text-shadow: 1px 1px 1px black;
	transition-duration: .6s;
	text-align: center;
	cursor: pointer;
	font-size: 0.8rem;
	font-weight: bold;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

.resume-box .button.pressed {
	animation-name: pressed;
	animation-duration: .6s
}

.resume-box .button.loading {
	position: relative
}

.resume-box .button.loading::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5)
}

.resume-box .button.loading::after {
	content: '';
	position: absolute;
	top: 5px;
	left: 50%;
	margin-left: -15px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 3px solid #fff;
	border-color: #fff transparent #fff transparent;
	animation: lds-dual-ring 1.2s linear infinite
}

.resume-box .open-button {
	display: flex;
	justify-content: center;
	padding: 20px
}

.resume-box .open-button .button {
	text-shadow: none
}

.resume-box .upload-box {
	max-height: 0;
	overflow: hidden;
	background: white;
	transition-duration: .6s
}

.resume-box .upload-box.opened {
	max-height: 200px
}

.resume-box .upload-box .inner {
	padding: 0 0 20px;
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap
}

.resume-box .upload-box .inner .file-list {
	display: flex;
	justify-content: space-around;
	width: 100%;
	padding: 10px;
	margin-bottom: 20px;
	font-size: .7rem;
	font-weight: bold;
	border-bottom: 1px solid #27272787
}

.resume-box .upload-box .inner .file-list span {
	display: flex;
	align-items: center;
	height: 30px
}

.resume-box .upload-box .inner .file-list span::before {
	content: '';
	width: 20px;
	height: 20px;
	background-size: 100%
}

.resume-box .upload-box .inner .file-list span.word::before {
	background-image: url("doc.png")
}

.resume-box .upload-box .inner .file-list span.excel::before {
	background-image: url("xls.png")
}

.resume-box .upload-box .inner .file-list span.pp::before {
	background-image: url("ppt.png")
}

.resume-box .upload-box .inner .file-list span.pdf::before {
	background-image: url("pdf.png")
}

.resume-box .upload-box .inner .file-list span.text::before {
	background-image: url("txt.png")
}

.resume-box .upload-box .inner .upload-button {
	width: 135px;
	display: flex;
	flex-direction: column
}

.resume-box .upload-box .inner .upload-button span {
	min-height: 15px;
	font-size: 0.5rem;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden
}

.sub-service {
	margin-bottom: 20px;
	background-color: #f9f9f9
}

.sub-service .data-container_button.link {
	margin-top: 5px;
	margin-bottom: 10px
}

.sub-service-box {
	display: flex;
	align-items: center
}

.sub-service-box .logo {
	height: 40px;
	padding: 10px
}

.sub-service-box .logo img {
	width: auto;
	max-width: none;
	height: 100%
}

.sub-service-box .name {
	width: calc(100% - 20px);
	padding-left: 10px;
	line-height: 20px;
	text-align: center;
	font-weight: bold;
	font-size: 1.2rem
}

.sub-service-text {
	padding: 0 20px
}

@keyframes lds-dual-ring {
	0% {
		transform: rotate(0deg)
	}

	100% {
		transform: rotate(360deg)
	}
}

#thanks .big {
	padding: 20px 0;
	text-align: center;
	font-size: 1.5rem
}

#thanks .big.contrast {
	background-color: #4f7db4;
	color: white
}

#thanks .big .sub {
	font-size: .8em
}

#thanks .comment {
	margin: 30px 0;
	font-size: .8rem
}

#thanks .comment.add-response {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex: auto;
	gap: 15px;
	position: relative
}

#thanks .comment.add-response span {
	padding: 5px;
	background-color: #d8d8d8;
	font-weight: bold
}

#thanks .comment.add-response::after {
	content: '';
	border-color: #000000 #fff0 #fff0 #fff0;
	border-width: 30px 50px 0 50px;
	border-style: solid;
	height: 0;
	width: 0;
	position: absolute;
	bottom: -40px
}

#thanks .mail-check {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	text-align: center;
	font-weight: bold;
	background-color: #f6f6f6
}

#thanks .mail-check .text {
	max-width: calc(100% - 100px);
	padding: 0 20px;
	animation-name: arrow-moving;
	animation-duration: 2s;
	animation-iteration-count: infinite;
	word-wrap: break-word
}

#thanks .mail-check .before,
#thanks .mail-check .after {
	content: '';
	border: solid #4f7db4;
	border-width: 0 4px 4px 0;
	display: inline-block;
	padding: 4px
}

#thanks .mail-check .before {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg)
}

#thanks .mail-check .after {
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg)
}

#thanks .link {
	margin: 30px 0
}

#thanks .link .button {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	color: #4f7db4;
	font-size: 0.9rem;
	text-decoration-line: underline;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

#thanks .link .button a {
	color: #4f7db4
}

#thanks .button-confirm,
#thanks .button-side {
	margin: 50px 0
}

#thanks .button-confirm .button,
#thanks .button-side .button {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	box-shadow: 2px 2px 2px #b2b2b2;
	transition-duration: .6s;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

#thanks .button-confirm .button.pressed,
#thanks .button-side .button.pressed {
	animation-name: pressed;
	animation-duration: .6s
}

#thanks .button-confirm .button {
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none;
	background: #4f7db4;
	color: white;
	text-shadow: 1px 1px 1px black
}

#thanks .button-side .button {
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none;
	background: #d8d8d8;
	text-shadow: 1px 1px 1px white
}

@keyframes arrow-moving {
	0% {
		padding: 0 20px
	}

	80% {
		padding: 0 25px
	}

	100% {
		padding: 0 20px
	}
}

#container {
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	overflow: hidden;
	min-height: calc(100vh - (120px + 100px))
}

#container button {
	background: none;
	border: none;
	width: 100%;
	padding: 0;
	font-size: 1rem;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	user-select: none
}

#container .data-container_button.link {
	margin-top: 0
}

@media (min-width: 992px) {
	body {
		background-color: #f9f9f9
	}

	header,
	#swapper,
	#container {
		padding-left: 20px;
		padding-right: 20px
	}

	header,
	footer,
	#swapper,
	#container {
		max-width: 1000px;
		margin: auto;
		background-color: white;
		box-shadow: 2px 5px 10px #fbfbfb
	}

	.data-container_button,
	.button-eeasy,
	.button {
		cursor: pointer
	}

	.modal {
		max-width: 800px;
		margin: auto;
		left: 50%;
		margin-left: -400px
	}

	.label-comment .mail-explanation::after,
	.mail-explanation-2::after,
	.mail-explanation-3::after,
	.label-explaination .mail-explanation::after {
		right: 45%
	}

	.sub-service-box .logo {
		padding: 20px
	}

	.sub-service-box .name {
		padding-left: 20px;
		text-align: left
	}

	#step-1 .data-container {
		max-width: 60%;
		margin: auto
	}

	#step-1 .data-container_button.confirm {
		max-width: 60%;
		margin: auto;
	}

	#step-2 .data-container_box,
	#step-3 .data-container_box {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 20px
	}

	#step-2 .data-container_box .data-volume:not(.language),
	#step-3 .data-container_box .data-volume:not(.language) {
		width: calc(50% - 10px);
		height: max-content
	}

	#step-2 .data-container_button,
	#step-3 .data-container_button {
		max-width: 60%;
		margin-left: auto;
		margin-right: auto
	}

	#step-2 .data-container_button.add,
	#step-3 .data-container_button.add {
		margin-left: 0
	}

	#step-2 .group .data-container_explaination,
	#step-3 .group .data-container_explaination {
		max-width: 60%;
		margin: auto
	}

	#step-2 .group .data-container_box,
	#step-3 .group .data-container_box {
		justify-content: center
	}

	#step-2 .group .data-container_box>div,
	#step-3 .group .data-container_box>div {
		width: 60%
	}

	#thanks {
		max-width: 60%;
		margin: auto
	}

	.center {
		max-width: 60%;
		margin: auto
	}

	#page {
		margin: auto
	}

	#page .data-container {
		max-width: 60%;
		margin: auto
	}

	.attension {
		margin-left: 10px;
	}
}

#consultationDesiredDate1:disabled,
#consultationDesiredDate2:disabled,
#consultationDesiredDate3:disabled,
#consultationStartTime1:disabled,
#consultationStartTime2:disabled,
#consultationStartTime3:disabled,
#consultationEndTime1:disabled,
#consultationEndTime2:disabled,
#consultationEndTime3:disabled {
	background-color: #cccccc;
}

@media (min-width: 1001px) {

	header,
	footer,
	#swapper,
	#container {
		width: 1000px
	}
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n + 1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n + 1) {
	color: red;
}

/* 土曜日：青 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
	color: blue;
}

.flatpickr-calendar .nextMonthDay:not(.flatpickr-disabled),
.flatpickr-calendar .prevMonthDay:not(.flatpickr-disabled) {
    color: #484848;
}

.numInput.cur-year {
	box-shadow: none;
	color: rgba(255,255,255,1) !important;
	font-weight: bold !important;
}

.logo-center {
	justify-content: center;
}

@media screen and (max-width: 480px) {
	.logo-ccc {
		height: 32px !important;
	  }
}