.first {
	margin-top:150px;
}
@media (max-width:764px) {
.first {
    margin-top: 60px;
  }
}


.title-wrapper {
    position: relative;
    text-align: center;
}
.title-wrapper img {
    width: max(7vw, 100px);
}
h2.ttl {
    font-size: 30px;
    text-align: center;
    margin: 30px 10px 100px; /* 上のスペースを広げる */
    letter-spacing: 2px;
    position: relative; /* 疑似要素の基準 */
    color: #666; /* グレーの文字色 */
    font-weight: 500;
}
h2.ttl::first-letter {
    color: #ea80a1; /* ピンク */
}
.title-wrapper img {
    width: max(7vw, 100px);
}

.section.contents.first {
  margin-top: 100px;
}
main.sub-main {
    margin-bottom: 100px;
}

p.text {
    line-height: 1.8;
    margin-bottom: 20px;
	text-align: left;
}

section.contents.first.greeting{
	background: linear-gradient(to top, #faeaee 30%, #ffffff 70%);
}



@media (max-width:764px) {
  .section.contents.first {
    margin-top: 60px;
  }
h2.ttl {
    font-size: 24px;
    margin: 15px 10px 60px; /* 上のスペースを広げる */
}
p.text {
    line-height: 1.9;
    margin-bottom: 15px;
}	
}

/*採用情報*/
.recruit {
	position: relative;
	margin-bottom: 100px;
}
h2.recruit-ttl {
    font-size: 75px;
    position: absolute;
    top: -11%;
    z-index: 10;
    font-weight: 600;
    color: #ff9eaf;
    mix-blend-mode: exclusion;
	left: -35%;
}
.image-container {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.parallax-img {
    width: 30%;
    height: auto;
    border-radius: 10px;
    transform: translateY(50px);
}
.recruit .img02 {
    position: absolute;
    position: absolute;
    left: -20%;
    top: 55%;
}
.recruit p.text {
    line-height: 3;
}
.recruit .colum40 {
	margin-top: 100px;
	margin-bottom: 100px;
}



@media (max-width:1200px) {
h2.recruit-ttl {
    font-size: 55px;
    position: absolute;
    top: -18%;
}
.recruit {
	margin-bottom: 0px;
}
.recruit .colum40 {
    margin-bottom: 30px;
}
.recruit .img02 {
    top: 60%;
}	
}

@media (max-width:767px) {
.recruit .img01 {
    width: 80%;
}
.recruit .img02 {
    width: 70%;
	right: 0%;
	left:unset;
    top:50%;
}
.recruit {
	margin-top: 100px;
    margin-bottom: 50px;
}
.recruit p.text {
	font-size: 14px;
	line-height: 3;
    width: 90%;
    margin: 0 auto;
	margin-bottom: 20px;
}
h2.recruit-ttl {
    font-size: 40px;
    position: absolute;
    left: 0%;
    top: -40%;
	line-height: 1.1;
}
 .recruit .colum50 {
   margin-top: 40px;
}
.recruit .colum40 {
	margin-top: 130px;
	margin-bottom: 40px;
}	
}


.box01 {
    background-color:#c3e5c5; /* 青の背景 */
	padding: 40px 60px;
    border-radius: 20px; /* 角丸 */
    position: relative;
}

/* 内側の点線枠 */
.box01::before {
    content: "";
    position: absolute;
    top: 10px; /* 内側の位置調整 */
    left: 10px;
    right: 10px;
    bottom: 10px;
    border-radius: 15px; /* 角丸 */
    border: 5px dotted #ffffff; /* 点線の枠 */
}

.steps {
    display: flex;
    flex-direction: column;
    gap: 0px;
    padding: 0px 60px;
}

.rec-step {
    display: flex;
    align-items: flex-start;
    border-left: 3px dotted #ffcdcd;
    padding-left: 20px;
    position: relative;
}

.rec-step::before {
    content: "";
    position: absolute;
    left: -17px;
    top: 0;
    width: 30px;
    height: 30px;
    background-color: #dadada;
    border-radius: 50%;
}
.rec-step-icon {
    position: absolute;
    left: -15px;
    top: 20px;
}
.rec-step-icon img {
    width: 30px;
    height: 30px;
}

.rec-step-content {
    flex: 1;
	padding-left: 3rem;
    padding-bottom: 2rem;
}

.rec-step-content h3 {
    font-size: 20px;
    color: #f86d97;
	background: #eeeeee;
    margin: 0;
	font-weight: 500;
	display: inline-block;
    padding: 3px 15px;
    border-radius: 5px;
}
h3.lunch-time {
    color: #e58fac;
}
.rec-step-content h4 {
    font-size: 20px;
    margin: 5px 0;
	font-weight: 500;
}

@media only screen and (max-width: 764px) {
.rec-step-content h3 {
    font-size: 15px;
    margin: 0;
}
.rec-step-content h4 {
    font-size: 18px;
    margin: 5px 0px 20px 0px;
}
.rec-steps {
    padding: 30px 0px 30px 30px;
}	
.rec-step-content {
    padding-left: 1rem;
    padding-bottom: 0rem;
}
.steps {
    padding: 0px 20px;
}
.box01 {
	padding: 40px 30px;
}	
}


.cp_button10 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;	
  padding: 2em 3rem;
  cursor: pointer;
  color: #ffffff;
  background: #06c755;
  border: 1px solid #6cd195;
  border-radius: 0.25rem;
  overflow: hidden;
  margin: 0 auto;
}
.cp_button10:after {
  position: absolute;
  display: block;
  content: '';
  margin-bottom: -100%;
  margin-left: -120%;
  padding-top: 240%;
  padding-left: 240%;
  border-radius: 50%;
  background: rgba(108,209,149,0.3);
  transition: all 1s;
  opacity: 0;
}
.cp_button10:hover {
  color: #ffffff;
  border-color: #19ac56;
  background-color: #19ac56;
}
.cp_button10:active:after {
  margin-top: 0;
  margin-left: 0;
  padding-top: 0;
  padding-left: 0;
  transition: 0s;
  opacity: 1;
}
.cp_button10:focus {
  color: #ffffff;
  border: 1px solid #19ac56;
}