@charset "UTF-8";

#job-description {
	width: 100%;
	max-width: 100%;
	.description-table {
		width: 100%;
		border-spacing: 0 0.5rem;
		border-collapse: separate;
		overflow-x: hidden !important;
		@media screen and (max-width: 767px) {
			display: block;
			width: 100%;
			max-width: 100%;
		}
		tbody {
			width: 100%;
			overflow-x: hidden !important;
			@media screen and (max-width: 767px) {
				display: block;
				width: 100%;
				max-width: 100%;
			}
		}
		& tr {
			width: 100%;
			@media screen and (max-width: 767px) {
				display: block;
				width: 100%;
				max-width: 100%;
			}
			& th {
				width: 18.6rem;
				padding: 3rem 2rem;
				box-sizing: border-box;
				background-color: #e6d4c7;
				font-family: var(--zenkaku);
				font-style: normal;
				font-weight: 700;
				font-size: 1.8rem;
				line-height: 3.3rem;
				letter-spacing: 0.06em;
				color: #000000;
				text-align: left;
				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
					line-height: 1.6;
					vertical-align: top;
					padding: 2rem;
					display: block;
					width: 100%;
					max-width: 100%;
					box-sizing: border-box;
				}
			}
		}
		& td {
			width: calc(100% - 18.6rem);
			padding: 3rem 2rem;
			box-sizing: border-box;
			background-color: #fff;
			font-family: var(--zenkaku);
			font-style: normal;
			font-weight: 400;
			font-size: 1.8rem;
			line-height: 3.3rem;
			letter-spacing: 0.06em;
			color: #000000;
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 1.6;
				padding: 2rem;
				vertical-align: top;
				display: block;
				width: 100%;
				max-width: 100%;
				box-sizing: border-box;
				overflow: hidden;
			}
			& span {
				font-size: 1.2rem;
				color: #f08300;
				line-height: 3rem;
				@media screen and (max-width: 767px) {
					font-size: 1rem;
					line-height: 1.6;
				}
			}
			.table-img-wrapper {
				width: 100%;
				max-width: 112.2rem;
				margin-top: 2rem;
				
				@media screen and (max-width: 767px) {
					position: relative;
					margin-top: 1rem;
					margin-left: -2rem;
					margin-right: -2rem;
					padding-left: 2rem;
					padding-right: 2rem;
					width: 100vw;
					max-width: 100vw;
					overflow-x: auto;
					-webkit-overflow-scrolling: touch;
					&::before {
						content: '←';
						position: absolute;
						left: 2rem;
						bottom: 1rem;
						animation: moveArrow 3s linear infinite;
						font-size: 2rem;
						color: #ddd;
						border: 0.4rem solid #ddd;
						border-radius: 50%;
						width: 4rem;
						height: 4rem;
						display: flex;
						align-items: center;
						justify-content: center;
						transition: opacity 0.5s ease-in-out;
						opacity: 1;
						pointer-events: none;
						z-index: 10;
					}
					&.scrolling::before {
						opacity: 0;
					}
				}
				.nested-table {
					width: 100%;
					@media screen and (max-width: 767px) {
						width: 66.3rem;
						max-width: none;
						display: block;
						height: auto;
					}
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
    @keyframes moveArrow {
        0% {
            left: 100%;
        }
        100% {
            left: 0;
        }
    }
}