.first-view {
   display: grid;
   grid-template-columns: 0.55fr 1.6fr;
   align-items: center;
   height: 85vh;
   position: relative;
}
.image-area {
   height: 100%;
   background: url('https://morita-industry.jp/wp-content/uploads/2025/04/works-4.png') no-repeat center/cover;
   grid-column: 2;
}
.image-area::after {        
   content: "";
   position: absolute;
   grid-column: 2;
   top: 0;
   width: 100%;
   height: 100%;
   background: radial-gradient(circle, rgba(0, 0, 0, 0.1) 30%, transparent 10%);
   background-size: 5px 5px;
   pointer-events: none;
   left: 0;
}
.text-area {
   position: absolute;
   right: 55%;
   max-width: 40%;
   background: rgb(255 255 255 / 75%);
   padding: 1rem;
   border-radius: 1px;
   /* box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); */
}
.sub-title {
   font-size: 0.8rem;
   color: #888;
   letter-spacing: 2px;
}
.main-title {
   font-size: 2.2rem;
   font-weight: 400;
   margin: 10px 0;
   letter-spacing: 9px;
   white-space: nowrap;
   display: flex;
}
.animated-char {
   display: inline-block;
   position: relative;
   font-size: 2rem;
   opacity: 0;
   transform: scale(2) rotate(0deg) translate(calc(-100vw * var(--x)), calc(-100vh * var(--y)));
   transition: opacity 1s ease, transform 2s ease;
}
.animated-char.show {
   opacity: 1;
   transform: scale(1) rotate(0deg) translate(0, 0);
}
.description {
   font-size: 1rem;
	font-style: italic;
	color: #101010;
   margin-bottom: 20px;
   letter-spacing: 1.5px;
   line-height: 1.7;
   text-indent: -1em;
   
   text-shadow: 0 0 20px #ffffff;
}
.apply-button {
   padding: 10px 50px;
   letter-spacing: 2px;
   /* font-size: 1.2rem; */
   border: 1px solid #b4b4b4;
   background: #fff;
   color: #000;
   cursor: pointer;
   border-radius: 1px;
   transition: all 0.3s ease-in-out;
   box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
   position: relative;
   overflow: hidden;
}
.apply-button:hover {
   background: #000;
   color: #fff;
   transform: scale(1.05);
   box-shadow: 0px 6px 15px rgba(0, 0, 0, 0.2);
}
.white-space {
   height: 15vh;
}
.top-space {
   height: 10vh;
}

.gray-space {
   height: 10vh;
	background-color: gray;
}
@media (max-width: 768px) {
   .white-space {
   height: 0vh;
}
   .top-space {
   height: 5vh;
}
	.animated-char {
   font-size: 1.6rem; !important
}
   .first-view {
       display: flex;
       flex-direction: column;
       text-align: center;
   }
   .image-area {
       width: 100%;
       height: 50vh;
   }
   .text-area {
       position: relative;
       right: 0;
       max-width: 90%;
       padding: 1.5rem;
   }
   .main-title {
       justify-content: center;
   }
}
