@charset "UTF-8";
/*==================TOPページ*/
/*FV*/
#fv{width: 100%;max-width: inherit;}
.fv__image{
width: 100%;
height: 80vh;
min-height: 768px;
display: flex;
overflow: hidden;
background-image: url(../../images/recruit/recruit_fv.webp);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
filter: brightness(0.8);
}
.fv__copy {
position: absolute;
bottom: 10%;
left: 0;
right: 0;
width: 90%;
max-width: 1440px;
height: auto;
/*font-family: "Shippori Mincho B1", serif;*/
font-family: Zen Kaku Gothic New, sans-serif;
font-weight: 600;
color: #ffffff;
font-size: 56px;
line-height: 1.2;
letter-spacing: 0.1em;
margin: auto;
text-shadow: #333 0 0 5px;
}

/*メッセージ*/
#top-message {
width: 100%;
max-width: 1440px;
height: 740px;
display: flex;
justify-content: flex-end;
align-items: center;
}
.picture {
position: absolute;
width: 50%;
top: 5px;
left: 50%;
height: 740px;
overflow: hidden;
  display: flex;
align-items: center;
justify-content: center;
}
.picture img {width: auto;height: 100%;}
.container {
position: absolute;
width: 45%;
  min-width: 660px;
top: 20%;
left: 10%;
height:auto;
background-color: #ffffff;
margin-left: 3em;
text-decoration: none;
}
.container .title-box {
width: calc(100% + 3em);
box-sizing: border-box;
padding: 0 0 2em 0;
margin-left: -3em;
}
main #top-message .title {white-space:initial;}
.top-message__caption{
width: 100%;
font-weight: 400;
letter-spacing: 0.32px;
line-height: 32px;
padding: 0 2em;
}
.container .arrow {float: right;margin: 0 2em 2em 0;}

/*採用情報 リスト*/
.recruitment-list{
width:100%;
height:auto;
display: flex;
flex-wrap: wrap;
gap:1.5em;
}
.recruitment-list__item{
width: calc(50% - 1.5em);
height: auto;
/*aspect-ratio: 97 / 71;*/
aspect-ratio: 3 / 2;
background-color: #ffffff;
box-shadow: 0px 3.38px 11.27px #0000001a;
position: relative;
overflow: hidden;
}

.recruitment-list__item-thumbnail{
width: 100%;
height: auto;
background-color: #ddd;
display: block;
}
.recruitment-list__item-title {
width: 100%;
height: 40px;
font-weight: 500;
color: #ffffff;
font-size: 14px;
letter-spacing: 1.01px;
line-height: 40px;
position: absolute;
bottom: 0;
background-color: #44596fb2;
padding-left: 1em;
}
#top-recruitment .recruitment-list__item-title {font-size: 16px;}
.recruitment-list__item .arrow{
position: absolute;
right: 15px;
top: 0;
bottom: 0;
margin: auto;
display: inline-block;
width: 20px;
height: 40px;
}
.recruitment-list__item .arrow::before,
.recruitment-list__item .arrow::after {
content: "";
position: absolute;
top: calc(50% - 2px);
right: 0;
width: 20px;
height: 2px;
border-radius: 9999px;
background-color: #fff;
transform-origin: calc(100% - 1px) 50%;
}
.recruitment-list__item .arrow::before {transform: rotate(45deg);}
.recruitment-list__item .arrow::after {transform: rotate(-45deg);}

/*採用情報hover*/
.recruitment-list__info {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #44596fb2;
opacity: 0;
transition: 0.2s;
}
.recruitment-list__info:hover{opacity: 1;}
.recruitment-list__info-wrapper {
width: 100%;
height: 100%;
display: grid;
align-content: center;
gap: 1em;
padding: 2em;
}

.recruitment-list__item img {width:auto;height:100%;}
.recruitment-list__info-title{
font-weight: 500;
color: #ffffff;
font-size: 16px;
}
#top-recruitment .recruitment-list__item-title {font-size: 1.5em;}
.recruitment-list__info__catlist {
width: 100%;
height: auto;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: flex-start;
gap: 0.2em;
}
.recruitment-cat {
width: auto;
border-radius: 5.63px;
border: 1.13px solid;
border-color: #ececec;
text-decoration: none;
}
.recruitment-cat p {
font-weight: 500;
color: #000;
font-size: 10px;
padding: 0 5px;
}
.recruitment-list__info .recruitment-cat p {color: #ffffff;}
#top-recruitment .recruitment-cat p{font-size: 12px;}
#top-recruitment .recruitment__overview-item p {font-size: 12px;}
#top-recruitment .recruitment-list__item-title {font-size: 1.5em;}
#top-recruitment .recruitment-cat p{font-size: 12px;}

/*会社を知る*/
#top-aboutus .about-us__item {width: calc(25% - 1.5em);}

/*お知らせ*/
.archive-parts__list{
width: 100%;
height: auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 1em;
margin-bottom: 3em;
}
.archive-parts__item{
height:auto;
width: 100%;
max-width: 800px;
position: relative;
background-color: #ffffff;
border: 0px none;
box-shadow: 0px 3px 10px #00000026;
display: grid;
align-items: center;
}
.archive-parts__item-wrapper {display: flex;justify-content: space-between;margin: 0;}
.archive-parts__item-wrapper dt{
width: 135px;
height: 110px;
display: flex;
justify-content: center;
align-items: center;
}
.archive-parts__item-wrapper dt img{display:block;}
.archive-parts__item-wrapper dd{
margin: 0;
display: flex;
align-items: center;
width: 100%;
gap: 1em;
padding-right: 1em;
}
.archive-parts__item-right{grid-area: right;}
.archive-parts__item-title{
font-weight: 500;
color: #333333;
font-size: 14px;
text-align: left;
}
.archive-parts__item-caption{
font-weight: 500;
color: #333333;
font-size: 12px;
letter-spacing: 0.32px;
}
.archive-parts__item-cat {
width: auto;
display: flex;
gap: 1em;
flex-wrap: wrap;
margin-bottom: 5px;
}
.archive-parts__item-cat__item {
width: auto;
height: auto;
font-weight: 500;
color: #333333;
font-size: 12px;
line-height: 1em;
white-space: nowrap;
border-radius: 5px;
border: 1px solid;
border-color: #ececec;
padding: 5px;
}
.archive-parts__item-date{
grid-area: bottom;
font-weight: 500;
color: #333333;
font-size: 12px;
letter-spacing: 0.70px;
line-height: 17px;
white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .fv__image {min-height: inherit;}
  .fv__copy {font-size: 10vw;}
  #top-message {height: auto;padding-bottom: 15vw;padding-left: 5%;}
  .picture {
  width: 85vw;
  height: 90vw;
  left: inherit;
  right: 0;
  }
  .container {
  width: 85%;
  min-width: inherit;
  margin: 55vw auto 0 auto;
  position: static;
  z-index: 1;
  }
  .top-message__caption {  padding: 0 1em;  font-size: 14px;  line-height: 1.8em;  }
  main #top-message .title {top: 16%;line-height: 1.3em;}
  .archive-parts__item-wrapper dd {width: calc(100% - 135px);flex-wrap: wrap;padding: 1em;}
  .recruitment-list__item{width:100%;}
  #top-aboutus .about-us__item {width: calc(52% - 2em);}
}