@charset "UTF-8";
*{font-family:"Zen Kaku Gothic Antique", sans-serif;color: #333;box-sizing: border-box;}
dl,dd{margin: 0;}
p{font-size: 16px;margin: 0;line-height: 1.5em;}
main{
width: 100%;
height: auto;
background-color: #fcfcfc;
display: grid;
gap: 100px;
margin-bottom: 200px;
padding-top: 100px;
}
main#recruit-top{padding-top: 0;}
main section{width: 90%;max-width: 1040px;height: auto;margin: 0 auto;position:relative;}
.link-blk.dark{
background-color:#113F67;
margin: 0;
width: 220px;
}
.link-blk.dark .text-wp .button-text,.link-blk.dark svg path{color:#fff;}
#recruit__info,.table {width: 100%;}
#recruit__info tr th, #recruit__info tr td,
.table tr th, .table tr td{padding: 1em;text-align: left;border:1px solid #ECECEC;}
#recruit__info tr th,.table tr th{background-color: #F5F5F5;width: 150px;}
#recruit__info tr td,.table tr td{background-color: #fff;}

/*タイトル*/
#page-title{width: 100%;text-align: center;}
.title-box, .title-box__2{
display: inline-block;
position: relative;
width: auto;
height: auto;
padding: 0 3em 1em 0;
margin-bottom:0;
}
.title-box__2 {margin-left: -5em;}
.title-en{
font-family:"Allura", cursive;
font-weight: 400;
color: #fdf5aa;
font-size: 101.2px;
letter-spacing: 0.95px;
line-height: 1em;
white-space: nowrap;
}
.title-box__2 .title-en{color:#58A0C8;font-size: 80px;opacity: 0.13;}
.title-box__2 .title {color: #58A0C8;}
main .title {
font-family: "Shippori Mincho B1", serif;
font-weight: 700;
color: #113f67;
font-size: 34px;
line-height: 1.5em;
text-align: left;
letter-spacing: 8.00px;
white-space: nowrap;
margin: 0;
position: absolute;
bottom:0.5em;
left: 2em;
}
.title__caption{
font-weight: 400;
color: #333333;
letter-spacing: 0.1em;
margin-bottom: 2em;
}

/*ボタン*/
.btn{
width: 200px;
height: auto;
background-color: #113f67;
border-radius: 50px;
overflow: hidden;
display: block;
margin: 80px auto 0 auto;
padding: 2em 1em;
}
.btn p{
font-weight: 500;
color: #ffffff;
font-size: 1em;
text-align: center;
letter-spacing: 0.1em;
margin: 0;
line-height: 1em;
}

/*CTA*/
#cta{
max-width: 960px;
background-image: url(../images/recruit/cta__back.png);
background-position:left top;
background-size: cover;
margin-top: 100px;
}
.cta__wrapper {
width: 100%;
height: 100%;
margin: 0;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: center;
gap: 2em;
padding: 2em;
}
.cta__wrapper dt, .cta__wrapper dd {
display: grid;
gap: 1em;
align-content: center;
margin: 0;
}
.cta-btn{
width: 266px;
height: auto;
padding: 1.5em 1em;
border-bottom-width: 1px;
border-bottom-style: solid;
border-color: #ffffff;
display: flex;
align-items: center;text-decoration: none;
}
.cta-btn svg path{color:#fff;}
.cta-btn p{
width: 219px;
height: 18px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
color: #ffffff;
font-size: 18px;
letter-spacing: 2.80px;
white-space: nowrap;
}
.cta__copy{
width: 100%;
font-weight: 500;
color: #ffffff;
font-size: 14px;
letter-spacing: 2.00px;
line-height: 24px;
}
.cta__caption{
font-family:"Shippori Mincho B1", serif;
font-weight: 700;
color: #ffffff;
font-size: 30px;
letter-spacing: 8.00px;
line-height: 47px;
}

/*矢印*/
.arrow {
position: relative;
display: inline-block;
width: 29px;
height: 54px;
}
.arrow::before,.arrow::after {
content: "";
position: absolute;
top: calc(50% - 1px);
right: 0;
width: 35px;
height: 2px;
border-radius: 9999px;
background-color: #113f67;
transform-origin: calc(100% - 1px) 50%;
}
.arrow::before {transform: rotate(45deg);}
.arrow::after {transform: rotate(-45deg);}

/*会社を知る ボタン群*/
.about-us__list{
width:100%;
height:auto;
display:flex;
gap: 2em;
flex-wrap: wrap;
justify-content: center;
}
.about-us__item{/*
width: calc(34% - 2em);*/
width: calc(26% - 2em);
height: auto;
aspect-ratio: 1 / 1;
background-color: #dddddd;
overflow: hidden;
position: relative;
cursor: pointer;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
transition: 0.2s;
}
.about-us__item:after{
content: "";
position: absolute;
top:0;
left:0;
width:100%;
height:100%;
background-color: #44596fb2;
opacity: 0.5;
transition: 0.2s;
}
.about-us__item:hover:after{opacity: 1;}
  .about-us__item.about-us__item-management-philosophy{background-image: url(../images/about-us/about-item__management-philosophy.png);}
  .about-us__item.about-us__item-corporate-philosophy{background-image: url(../images/about-us/about-item__corporate-philosophy.png);}
  .about-us__item.about-us__item-message{background-image: url(../images/about-us/about-item__message.png);}
  .about-us__item.about-us__item-company{background-image: url(../images/about-us/about-item__company.png);}
  .about-us__item.about-us__item-support{background-image: url(../images/about-us/about-item__support.png);}
  .about-us__item.about-us__item-service{background-image: url(../images/about-us/about-item__service.png);}
  .about-us__item.about-us__item-interview{background-image: url(../images/about-us/about-item__human.png);}
.about-us__item a {width: 100%;height: 100%;display: block;}
.about-us__item-text {
width: 100%;
height: 100%;
display: flex;
font-weight: 500;
color: #ffffff;
font-size:1.85em;
text-align: center;
align-items: center;
justify-content:space-around;
position: absolute;
z-index:1;
padding: 0.5em;
}
.about-us__item-text .arrow::before,.about-us__item-text .arrow::after{background-color: #fff;}

/*サイドバー*/
aside{width:30%;display: grid;gap: 2em;align-items: start;}
aside .cta-btn {
margin-top: 0;
width: 100%;
display: flex;
justify-content: center;
}
.sidebar-contents{
width: 100%;
height: auto;
display: grid;
gap: 2em;
}
.sidebar-contents__item{
border-radius: 10px;
background-color: #fff;
padding: 1em;
box-shadow: 0px 3px 10px #00000026;
}
.recruitment-list__info__wrapper iframe {width: 100%;height: auto;aspect-ratio: 1 / 1;}
.sidebar-contents__item-recruiting{padding: 0;}
.sidebar-contents__item-title{
font-size: 16px;
font-weight: 700;
color:#113F67;
margin-bottom: 1em;
}
.sidebar-contents__item.recruit-side-list-wrapper {padding: 0;}
.recruit-side-list{
text-decoration: none;
border-bottom: 1px solid #ECECEC;
padding: 1em;
height: auto;
overflow: hidden;
display: block;
}
.recruit-side-list-title{font-size: 17px;color:#113F67;font-weight: 500;}
aside .recruitment__overview {display: grid;width: 100%;}

/*採用情報一覧*/
.recruitment-list__item img {width:auto;height:100%;}
.recruitment-list__info-title{
font-weight: 500;
color: #ffffff;
font-size: 16px;
}
.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;}

.recruitment__overview{
width: 100%;
height: auto;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: flex-start;
gap: 0.5em;
}
.recruitment__overview-item {display: flex;align-items: center;gap: 0.5em;}
.recruitment__overview-item p {font-size: 10px;color: #fff;}
.recruitment__overview-item img {width: auto;height: 20px;}
.recruitment__overview-item.recruitment__overview-salary img {height: 20px;padding-left: 4px;}

.recruitment-archive{
width: 100%;
height: auto;
display: flex;
flex-direction: column;
align-items: center;
gap:1.5em;
margin-bottom: 3em;
}
#template__job_list .recruitment-archive {padding: 0 5%;}
.recruitment-h2{
font-family: "Shippori Mincho B1", serif;
font-weight: 700;
font-size: 32px;
color: #58A0C8;
margin-bottom: 20px;
}
.recruitment-archive__contents{
height:auto;
width: 100%;/*
max-width: 630px;*/
max-width: 920px;
position: relative;
background-color: #ffffff;
border: 0px none;
box-shadow: 0px 3px 10px #00000026;
display: grid;
align-items: center;
text-decoration: none;
}
.recruitment-archive__item{display: flex;justify-content: space-between;margin: 0;}
.recruitment-archive__item dt{
flex: /*1*/0.7;
display: flex;
justify-content: center;
align-items: center;
}
.recruitment-archive__item dt img {
width: 100%;
height: 100%;
max-width: inherit;
display: block;
object-fit: cover;
}
.recruitment-archive__item dd {
flex: 2;
margin: 0;
display: grid;
gap: 0.5em;
padding: 1em 1em 1em 2em;
align-content: center;
}
.recruitment-archive__info-title{font-size: 1.5em;color: #113F67;}
.recruitment-archive__item .recruitment__overview-item p{color: #333;}
#template__job_list .btn{margin-top: 40px;}

@media screen and (max-width: 1039px) {
  .about-us__item-text{font-size: 2.5vw;padding:1.3vw;}
  .arrow {width: 3vw;}
  .arrow::before, .arrow::after {width: 3.8vw;}
}

@media screen and (max-width: 768px) {
  main{gap: 80px 0;padding-top: 40px;}
  .recruitment-list__item {width: 100%;height: 320px;}
  .recruitment-archive__item dt{flex:1.5;}
  .recruitment-archive__item dd {padding-left: 1em;}
  .recruitment-archive__info-title {font-size: 1.2em;line-height: 1.5em;}
  .recruitment__overview {gap: 0;}

  .about-us__item {width: calc(52% - 2em);}
  .about-us__item-text {font-size: 5vw;}
  .btn{margin-top: 40px;}
  #cta{margin-top: 80px;}
  .cta__wrapper dt, .cta__wrapper dd {width: 100%;}
  .cta__wrapper dd {justify-content: center;}
  .cta__caption {font-size: 1.8em;line-height: 1.5em;}
  main .title-box {
  margin-left: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  }
  main .title {
  left: 0;
  text-align: center;
  white-space: pre-wrap;
  font-size: 1.8em;
  letter-spacing: 0.08em;
  width: 100%;
  display: block;
  margin-bottom: 0.5em;
  }
  .title-en {font-size: 17vw;}
  .title-box__2 {
  width: 100%;
  padding-right: 0;
  text-align: center;
  margin: 0;
  }
  .title-box__2 .title{margin-bottom: 0;}
  .arrow::before, .arrow::after {width: 20px;}
  .table tr {display: grid;}
  #recruit__info tr th, .table tr th {width: 100%;}
  .table tr th {padding: 0.5em 1em;}
}