/*------------------------------------------------------------
	careers
------------------------------------------------------------*/
#main .pageTitle {
  margin-bottom: 1px;
  border: none;
}
#main .mv {
  margin-bottom: 87px;
  position: relative;
}
@media all and (max-width: 896px) {
  #main .mv {
    margin-bottom: 0;
  }
}
#main .mv img {
  width: 100%;
}
#main .mv .textBox {
  padding: 69px 120px 64px 150px;
  width: 750px;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
}
#main .mv .textBox .title {
  margin-top: 5%;
  margin-bottom: 19px;
  font-size: 3.1rem;
  font-weight: 500;
  line-height: 1.64;
  font-family: "Noto Serif JP", serif;
}
#main .mv .textBox p {
  margin-bottom: -4px;
  font-size: 1.6rem;
  line-height: 1.94;
  letter-spacing: 0.05em;
}
#main .mv .btn {
  width: 262px;
  position: absolute;
  bottom: -47px;
  right: 150px;
}
#main .mv .btn a {
  display: block;
  outline: none;
  overflow: hidden;
  position: relative;
  border-radius: 50%;
}
#main .mv .btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.3)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  -webkit-transform: skewX(-25deg);
          transform: skewX(-25deg);
}
#main .mv .btn a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(/img/index/recruit_btn_img01_animate.png) center/96% no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: 35s linear infinite rotation01;
          animation: 35s linear infinite rotation01;
}
@-webkit-keyframes rotation01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotation01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@media all and (min-width: 897px) {
  #main .mv .btn a:hover::before {
    -webkit-animation: shine 0.7s;
            animation: shine 0.7s;
  }
}
@media all and (max-width: 896px) {
  #main .mv .textBox {
    margin-bottom: 20px;
    padding: 20px;
    width: auto;
    position: static;
  }
  #main .mv .textBox .title {
    font-size: 2.2rem;
  }
  #main .mv .btn {
    margin: 0 auto;
    width: 40%;
    top: 25%;
    right: 5%;
    bottom: 0;
    position: absolute;
  }
}
#main .sec01 {
  margin-bottom: 60px;
  padding: 150px 0 99px;
  position: relative;
  background: url(/img/careers/sec01_bg01.jpg) no-repeat center center/cover;
}
#main .sec01 .textBox {
  margin: 0 auto;
  width: 552px;
}
#main .sec01 .textBox .title {
  margin-bottom: 40px;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.01em;
}
#main .sec01 .textBox .title span {
  margin-right: 8px;
  padding: 3px 17px 6px;
  display: inline-block;
  vertical-align: 0;
  color: #302F31;
  font-weight: 400;
  line-height: 1.1;
  background-color: #fff;
}
#main .sec01 .textBox p {
  color: #fff;
  font-size: 1.7rem;
  line-height: 2.12;
}
#main .sec01 .txt {
  width: 200px;
  position: absolute;
  left: 23px;
  bottom: 10px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.73;
  letter-spacing: 0;
}
#main .sec01 .photo {
  width: 400px;
  position: absolute;
  top: -40px;
  left: 0;
}
#main .sec01 .photo01 {
  top: auto;
  bottom: -40px;
  left: auto;
  right: 0;
}
@media all and (max-width: 896px) {
  #main .sec01 {
    margin-bottom: 80px;
    padding: 31vw 20px 36vw;
    max-height: 961px;
  }
  #main .sec01 .photo {
    width: 50%;
    bottom: 0;
    right: 0;
  }
  #main .sec01 .textBox {
    margin: 0 auto;
    width: auto;
  }
  #main .sec01 .textBox .title {
    font-size: 1.7rem;
  }
}
#main .sec02,
#main .sec03 {
  margin-bottom: 199px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#main .sec02 .headLine09,
#main .sec03 .headLine09 {
  z-index: 1;
}
#main .sec02 .textBox,
#main .sec03 .textBox {
  margin-top: 162px;
  width: 520px;
  position: relative;
  z-index: 1;
}
#main .sec02 .textBox h3,
#main .sec03 .textBox h3 {
  margin-bottom: 27px;
  padding-bottom: 22px;
  position: relative;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.39;
  letter-spacing: 0.03em;
}
#main .sec02 .textBox h3::before,
#main .sec03 .textBox h3::before {
  width: 32px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#E52362), color-stop(#624089), to(#1B519F));
  background: linear-gradient(to right, #E52362, #624089, #1B519F);
  content: "";
}
#main .sec02 .textBox p,
#main .sec03 .textBox p {
  margin-bottom: 32px;
  font-size: 1.6rem;
  line-height: 1.93;
}
#main .sec02 .textBox p:last-child,
#main .sec03 .textBox p:last-child {
  margin-bottom: 0;
}
#main .sec02 .textBox .text,
#main .sec03 .textBox .text {
  margin-bottom: 26px;
}
#main .sec02 .photoBox,
#main .sec03 .photoBox {
  margin-right: 80px;
  width: calc(50% + 1px);
  margin-top: 80px;
  position: relative;
  z-index: 1;
}
#main .sec02::after,
#main .sec03::after {
  width: calc(50% + 374px);
  height: 810px;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #F2F3F9;
  content: "";
}
#main .sec02.taLeft,
#main .sec03.taLeft {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#main .sec02.taLeft .headLine09,
#main .sec03.taLeft .headLine09 {
  right: auto;
  left: 0;
}
#main .sec02.taLeft .photoBox,
#main .sec03.taLeft .photoBox {
  margin: 108px 0 0 80px;
}
#main .sec02.taLeft .textBox,
#main .sec03.taLeft .textBox {
  margin-top: 81px;
}
#main .sec02.taLeft .textBox .comBtn02,
#main .sec03.taLeft .textBox .comBtn02 {
  width: 305px;
}
#main .sec02.taLeft::after,
#main .sec03.taLeft::after {
  right: auto;
  left: 0;
  height: 716px;
}
@media all and (max-width: 896px) {
  #main .sec02,
  #main .sec03 {
    margin-bottom: 70px;
    padding: 0 20px;
    display: block;
  }
  #main .sec02::after,
  #main .sec03::after {
    width: calc(50% + 119px);
  }
  #main .sec02 .textBox,
  #main .sec03 .textBox {
    margin: 0 auto 30px;
    width: auto;
  }
  #main .sec02 .textBox h3,
  #main .sec03 .textBox h3 {
    font-size: 2rem;
  }
  #main .sec02 .textBox p,
  #main .sec03 .textBox p {
    font-size: 1.3rem;
  }
  #main .sec02 .photoBox,
  #main .sec03 .photoBox {
    margin: 0 auto;
    width: auto;
  }
  #main .sec02.taLeft .textBox .comBtn02,
  #main .sec03.taLeft .textBox .comBtn02 {
    max-width: 300px;
    width: 100%;
  }
  #main .sec02.taLeft .textBox .comBtn02 a,
  #main .sec03.taLeft .textBox .comBtn02 a {
    background-position: right 13px center;
  }
  #main .sec02.taLeft .photoBox,
  #main .sec03.taLeft .photoBox {
    margin: 0 auto;
  }
}
#main .sec03 {
  margin-bottom: 170px;
}
@media all and (max-width: 896px) {
  #main .sec03 {
    margin-bottom: 70px;
  }
}
#main .sec04 .voiceBox {
  margin-bottom: 90px;
  padding-top: 114px;
  background: url(/img/careers/sec04_bg.jpg) no-repeat top left/100% auto;
}
#main .sec04 .voiceBox .comBox .headLine10 {
  margin-bottom: 60px;
}
#main .sec04 .voiceBox .comBox .ulBox {
  margin-bottom: 120px;
  position: relative;
}
#main .sec04 .voiceBox .comBox .ulBox .headLine09 {
  top: -37px;
}
#main .sec04 .voiceBox .comBox .ulBox ul {
  margin-bottom: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#main .sec04 .voiceBox .comBox .ulBox ul li {
  width: 560px;
}
#main .sec04 .voiceBox .comBox .ulBox ul li .photoBox {
  position: relative;
}
#main .sec04 .voiceBox .comBox .ulBox ul li .photoBox .txtBox {
  padding: 30px 25px 26px 30px;
  width: 357px;
  position: absolute;
  left: 0;
  bottom: -30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: rgba(37, 85, 157, 0.9);
}
#main .sec04 .voiceBox .comBox .ulBox ul li .photoBox .txtBox p {
  color: #fff;
  font-size: 1.4rem;
}
#main .sec04 .voiceBox .comBox .ulBox ul li .photoBox .txtBox p span {
  margin-top: 5px;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
}
#main .sec04 .voiceBox .comBox .ulBox ul li .photoBox .txtBox .ttl {
  margin-bottom: 16px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
#main .sec04 .voiceBox .comBox .ulBox ul li .textBox {
  padding: 57px 30px 26px;
  background-color: #F2F3F9;
}
#main .sec04 .voiceBox .comBox .ulBox ul li .textBox p {
  font-size: 1.6rem;
  line-height: 1.93;
  min-height: 123.5px;
}
#main .sec04 .voiceBox .comBox .ulBox ul li:last-child {
  margin-top: 60px;
}
#main .sec04 .voiceBox .comBox .ulBox ul li:last-child .txtBox {
  width: 399px;
}
#main .sec04 .voiceBox .comBox .ulBox .comBtn02 {
  margin: 0 auto;
  width: 337px;
}
#main .sec04 .voiceBox .comBox .textArea {
  padding: 60px;
  background-color: #F5F5F8;
}
#main .sec04 .voiceBox .comBox .textArea .imgBox {
  margin-bottom: 57px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#main .sec04 .voiceBox .comBox .textArea .imgBox .textBox {
  width: 800px;
}
#main .sec04 .voiceBox .comBox .textArea .imgBox .textBox p {
  font-size: 1.6rem;
  line-height: 1.93;
}
#main .sec04 .voiceBox .comBox .textArea .imgBox .photoBox {
  width: 240px;
}
#main .sec04 .voiceBox .comBox .textArea ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#main .sec04 .voiceBox .comBox .textArea ul li {
  width: 270px;
}
#main .sec04 .product {
  margin-bottom: 93px;
}
@media all and (max-width: 896px) {
  #main .sec04 .product {
    margin-bottom: 60px;
  }
}
#main .sec04 .product h2 {
  color: #302F31;
}
#main .sec04 .product h2::before {
  background: linear-gradient(135deg, #FF4B7B, #A966A3, #3E8AD6);
}
#main .sec04 .product .photoList {
  margin-bottom: 51px;
  font-size: 0;
}
#main .sec04 .product .photoList li {
  margin-right: 14px;
  width: 391px;
  display: inline-block;
  vertical-align: top;
}
#main .sec04 .product .photoList li:nth-of-type(2n) {
  margin-top: 38px;
}
@media all and (max-width: 896px) {
  #main .sec04 .product .photoList li {
    width: 200px;
  }
}
#main .sec04 .product .comBtn02 {
  margin: 0 auto;
  width: 337px;
}
@media all and (max-width: 896px) {
  #main .sec04 .product .comBtn02 {
    width: auto;
    max-width: 337px;
  }
}
#main .sec04 .subBox,
#main .sec04 .bgBox {
  padding: 80px 20px;
  background-color: #F2F3F9;
}
#main .sec04 .subBox .comBox,
#main .sec04 .bgBox .comBox {
  padding: 67px 70px 66px;
  max-width: 1340px;
  width: auto;
  border-radius: 5px;
  background: #fff;
}
#main .sec04 .subBox .comBox .headLine01,
#main .sec04 .bgBox .comBox .headLine01 {
  margin-bottom: 35px;
}
#main .sec04 .subBox .comBox .headLine01 span,
#main .sec04 .bgBox .comBox .headLine01 span {
  font-size: 3.6rem;
  letter-spacing: 0.02em;
}
#main .sec04 .subBox .comBox .comLinkList li a .txtBox .ttl,
#main .sec04 .bgBox .comBox .comLinkList li a .txtBox .ttl {
  margin-bottom: 18px;
  padding: 18px 30px 16px 0;
  min-height: 53px;
  display: block;
  line-height: 1.73;
  background-position: right 8px top 34px;
}
#main .sec04 .subBox .comBox .comLinkList li a .txtBox p,
#main .sec04 .bgBox .comBox .comLinkList li a .txtBox p {
  line-height: 1.66;
}
#main .sec04 .subBox .comBox .comLinkList li.list01,
#main .sec04 .bgBox .comBox .comLinkList li.list01 {
  margin-top: 55px;
  width: 100%;
}
@media all and (max-width: 896px) {
  #main .sec04 .subBox .comBox .comLinkList li.list01,
  #main .sec04 .bgBox .comBox .comLinkList li.list01 {
    margin-top: 0;
  }
}
#main .sec04 .subBox .comBox .comLinkList li.list01 a .txtBox,
#main .sec04 .bgBox .comBox .comLinkList li.list01 a .txtBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media all and (max-width: 896px) {
  #main .sec04 .subBox .comBox .comLinkList li.list01 a .txtBox,
  #main .sec04 .bgBox .comBox .comLinkList li.list01 a .txtBox {
    display: block;
  }
}
#main .sec04 .subBox .comBox .comLinkList li.list01 a .txtBox .ttl,
#main .sec04 .bgBox .comBox .comLinkList li.list01 a .txtBox .ttl {
  padding: 35px 30px 30px 0;
  width: 306px;
  background-position: right 6px top 47px;
}
@media all and (max-width: 896px) {
  #main .sec04 .subBox .comBox .comLinkList li.list01 a .txtBox .ttl,
  #main .sec04 .bgBox .comBox .comLinkList li.list01 a .txtBox .ttl {
    padding: 18px 30px 16px 0;
    width: auto;
    background-position: right 8px top 34px;
  }
}
#main .sec04 .subBox .comBox .comLinkList li.list01 a .txtBox p,
#main .sec04 .bgBox .comBox .comLinkList li.list01 a .txtBox p {
  margin-top: 3px;
  width: calc(100% - 370px);
}
@media all and (max-width: 896px) {
  #main .sec04 .subBox .comBox .comLinkList li.list01 a .txtBox p,
  #main .sec04 .bgBox .comBox .comLinkList li.list01 a .txtBox p {
    margin-top: 0;
    width: auto;
  }
}
#main .sec04 .bgBox {
  position: relative;
}
#main .sec04 .bgBox::before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #FF4B7B, #A966A3, #3E8AD6);
  -webkit-animation: bggradient 10s ease infinite;
          animation: bggradient 10s ease infinite;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#main .sec04 .bgBox .comBox {
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}
#main .sec04 .bgBox .comBox .headLine01 {
  margin-bottom: 33px;
}
#main .sec04 .bgBox .comBox .tableTitle {
  padding: 10px 0;
  text-align: left;
  font-weight: bold;
}
#main .sec04 .bgBox .comBox .text {
  margin-bottom: 37px;
  font-size: 1.6rem;
}
#main .sec04 .bgBox .comBox .comLinkList {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#main .sec04 .bgBox .comBox .comLinkList li {
  width: 568px;
}
#main .sec04 .bgBox .imgBox {
  margin: 0 auto;
  padding: 70px;
  max-width: 1340px;
  position: relative;
  z-index: 1;
  display: block;
  border-radius: 5px;
  background-color: #fff;
}
#main .sec04 .bgBox .imgBox .photoBox {
  width: 580px;
}
#main .sec04 .bgBox .imgBox .textBox {
  width: 580px;
}
#main .sec04 .bgBox .imgBox .textBox p {
  line-height: 1.66;
}
@media all and (max-width: 896px) {
  #main .sec04 .bgBox .comBox03 {
    margin: 0 10px;
  }
}
#main .sec04 .bgBox .comBox03 .conts {
  margin-top: 35px;
}
#main .sec04 .bgBox .comBox03 .conts .tableTitle {
  padding: 10px 0;
  text-align: left;
  font-weight: 600;
}
@media all and (max-width: 896px) {
  #main .sec04 .bgBox .comBox03 .conts {
    margin-top: 20px;
  }
}
#main .sec04 .bgBox .comBox03 .tableBox {
  text-align: center;
  max-width: 100%;
  padding-bottom: 10px;
  overflow-x: auto;
}
#main .sec04 .bgBox .comBox03 .tableBox table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  #main .sec04 .bgBox .comBox03 .tableBox {
    display: block; /* flexを解除 */
    overflow-x: hidden; /* 横スクロールしない */
  }

  #main .sec04 .bgBox .comBox03 .tableBox table {
    width: 100%; /* テーブルを画面幅に合わせる */
    table-layout: auto; /* 固定幅を解除して縮小を許可 */
  }

  #main .sec04 .bgBox .comBox03 .tableBox table th,
  #main .sec04 .bgBox .comBox03 .tableBox table td {
    width: auto; /* 固定幅を解除 */
    padding: 5px 8px; /* スマホ用に余白も調整 */
    font-size: 14px;  /* 必要に応じて文字サイズも調整 */
  }
}
#main .sec04 .bgBox .comBox03 .tableBox table th {
  width: 120px;
  background-color: #f4f4fc;
  border: 1px solid #a9a9ac;
  padding: 0 20px;
}
#main .sec04 .bgBox .comBox03 .tableBox table td {
  width: 120px;
  border: 1px solid #a9a9ac;
  padding: 5px 15px;
}
@media all and (max-width: 896px) {
  #main .sec04 .voiceBox {
    padding-top: 15px;
  }
  #main .sec04 .voiceBox .comBox .headLine10 {
    margin-bottom: 22px;
  }
  #main .sec04 .voiceBox .comBox .ulBox {
    margin-bottom: 70px;
  }
  #main .sec04 .voiceBox .comBox .ulBox .headLine09 {
    margin-bottom: 14px;
    top: 0;
  }
  #main .sec04 .voiceBox .comBox .ulBox ul {
    display: block;
  }
  #main .sec04 .voiceBox .comBox .ulBox ul li {
    width: auto;
  }
  #main .sec04 .voiceBox .comBox .ulBox ul li .photoBox .txtBox {
    padding: 15px;
    width: auto;
    position: static;
  }
  #main .sec04 .voiceBox .comBox .ulBox ul li .photoBox .txtBox .ttl {
    font-size: 1.6rem;
  }
  #main .sec04 .voiceBox .comBox .ulBox ul li .textBox {
    padding: 20px;
  }
  #main .sec04 .voiceBox .comBox .ulBox .comBtn02 {
    max-width: 300px;
    width: 100%;
  }
  #main .sec04 .voiceBox .comBox .ulBox .comBtn02 a {
    font-size: 1.2rem;
    background-position: right 12px center;
  }
  #main .sec04 .voiceBox .comBox .textArea {
    padding: 20px;
  }
  #main .sec04 .voiceBox .comBox .textArea .imgBox {
    display: block;
  }
  #main .sec04 .voiceBox .comBox .textArea .imgBox .textBox {
    margin-bottom: 30px;
    width: auto;
  }
  #main .sec04 .voiceBox .comBox .textArea .imgBox .photoBox {
    width: auto;
  }
  #main .sec04 .voiceBox .comBox .textArea .imgBox .photoBox img {
    width: 100%;
  }
  #main .sec04 .voiceBox .comBox .textArea ul {
    display: block;
  }
  #main .sec04 .voiceBox .comBox .textArea ul li {
    margin: 0 auto 30px;
    width: auto;
  }
  #main .sec04 .voiceBox .comBox .textArea ul li:last-child {
    margin-bottom: 0;
  }
  #main .sec04 .voiceBox .comBox .textArea ul li img {
    width: 100%;
  }
  #main .sec04 .subBox {
    padding: 40px 0;
  }
  #main .sec04 .subBox .comBox {
    padding: 20px;
    max-width: inherit;
  }
  #main .sec04 .subBox .comBox .headLine01 span {
    font-size: 2.7rem;
    line-height: 1.5;
  }
  #main .sec04 .bgBox {
    padding: 40px 0;
  }
  #main .sec04 .bgBox .comBox {
    padding: 20px;
  }
  #main .sec04 .bgBox .comBox .headLine01 span {
    font-size: 2.7rem;
    line-height: 1.5;
  }
  #main .sec04 .bgBox .imgBox {
    margin: 0 10px;
    padding: 20px;
    max-width: inherit;
    display: block;
  }
  #main .sec04 .bgBox .imgBox .textBox {
    margin: 0 auto 30px;
    width: auto;
  }
  #main .sec04 .bgBox .imgBox .photoBox {
    width: auto;
  }
}
	.recruitBanner {
  margin: 40px auto 0;
  text-align: center;
  }
.recruitBanner img {
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  transition: opacity 0.3s ease;
  }
.recruitBanner a:hover img {
  opacity: 0.85;
  }
/* スマホ */
@media all and (max-width: 896px) {
  .recruitBanner {
    margin: 20px 10px 0;
  }
  .recruitBanner img {
    border-radius: 6px;
  }
}
/* 初期状態では非表示 */
 .pc-only { display: none!important; }
 .sp-only { display: none!important; }

/* PC表示用（例：幅897px以上） */
@media screen and (min-width: 897px) {
 .pc-only { display: inline!important; }
}

/* SP表示用（例：幅896px以下） */
@media screen and (max-width: 896px) {
 .sp-only { display: inline!important; }
}