@charset "UTF-8";
/*===============================================
共通
===============================================*/
:root {
  --colorMainPt: #009B3A;
  --colorSubPt: #FEDF00;
}

@media screen and (max-width: 769px) {
  #container {
    padding: 60px 0 168px;
  }
}
@media screen and (min-width: 770px) {
  #container {
    padding: 90px 0 295px;
  }
}

#switchLanguage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 769px) {
  #switchLanguage {
    gap: 6px;
    margin-right: 16px;
  }
}
@media screen and (min-width: 770px) {
  #switchLanguage {
    gap: 12px;
    margin-right: 48px;
  }
}
#switchLanguage::after {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  content: "/";
  display: block;
  font-weight: bold;
}
@media screen and (max-width: 769px) {
  #switchLanguage::after {
    font-size: 1.4em;
  }
}
@media screen and (min-width: 770px) {
  #switchLanguage::after {
    font-size: 2.3em;
  }
}
#switchLanguage .language:first-of-type {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
#switchLanguage .language:last-of-type {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
#switchLanguage .language a {
  font-weight: bold;
  font-family: "proxima-nova", sans-serif;
  text-decoration: none;
}
@media screen and (max-width: 769px) {
  #switchLanguage .language a {
    font-size: 1.4em;
  }
}
@media screen and (min-width: 770px) {
  #switchLanguage .language a {
    font-size: 2.3em;
  }
}
#switchLanguage .language.current a {
  border-bottom: 1px solid #000000;
}

/*===============================================
日本語ページをベースにスタイル作成
===============================================*/
/* メインビジュアル
-----------------------------------------------*/
#mainVisual {
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}
@media screen and (max-width: 769px) {
  #mainVisual {
    height: calc(100svh - 60px);
    min-height: 667px;
  }
}
@media screen and (min-width: 770px) {
  #mainVisual {
    height: calc(100svh - 90px);
    min-height: 880px;
  }
}
#mainVisual .mainVisualContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
@media screen and (max-width: 769px) {
  #mainVisual .mainVisualContainer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 770px) {
  #mainVisual .mainVisualContainer {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 769px) {
  #mainVisual .mainVisualContainer .mainText {
    position: relative;
    z-index: 1;
  }
}
@media screen and (min-width: 770px) {
  #mainVisual .mainVisualContainer .mainText {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 769px) {
  #mainVisual .mainVisualContainer .mainText::before {
    content: "";
    position: absolute;
    background: url(../../images/common/bgRed.png) repeat center center/35px auto;
    height: 12em;
    width: 13em;
    bottom: 0;
    left: 0;
  }
}
#mainVisual .mainVisualContainer .mainText h1 {
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  line-height: 1.4;
}
@media screen and (max-width: 769px) {
  #mainVisual .mainVisualContainer .mainText h1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 2.8em;
    padding: 0.7em;
    -webkit-transform: translate(0.7em, 2em);
            transform: translate(0.7em, 2em);
    background-color: #FFFFFF;
  }
}
@media screen and (min-width: 770px) {
  #mainVisual .mainVisualContainer .mainText h1 {
    font-size: clamp(2rem, -0.0994127517rem + 4.3624161074vw, 3.625rem);
  }
}
@media screen and (min-width: 1366px) {
  #mainVisual .mainVisualContainer .mainText h1 {
    font-size: clamp(3.625rem, 0.9078726968rem + 3.1825795645vw, 6rem);
  }
}
#mainVisual .mainVisualContainer .imageWrap {
  position: relative;
}
@media screen and (max-width: 769px) {
  #mainVisual .mainVisualContainer .imageWrap {
    width: 100%;
    height: 73%;
  }
}
@media screen and (min-width: 770px) {
  #mainVisual .mainVisualContainer .imageWrap {
    width: 62%;
    height: 100%;
  }
}
#mainVisual .mainVisualContainer .imageWrap picture {
  display: block;
  width: 100%;
  height: 100%;
}
#mainVisual .mainVisualContainer .imageWrap .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
}
#mainVisual .mainVisualContainer .imageWrap .image.show {
  opacity: 1;
}
#mainVisual .mainVisualContainer .imageWrap .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 769px) {
  #mainVisual .subTextWrap {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 64px auto 0;
    padding-left: 2em;
    padding-right: 2em;
  }
}
@media screen and (min-width: 770px) {
  #mainVisual .subTextWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    gap: 0.5em;
    left: 6.4%;
    bottom: 4%;
  }
}
#mainVisual .subTextWrap .subText {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 769px) {
  #mainVisual .subTextWrap .subText {
    color: #000000;
    font-size: 1.8em;
    text-align: center;
    line-height: 1.8;
  }
}
@media screen and (min-width: 770px) {
  #mainVisual .subTextWrap .subText {
    color: #FFFFFF;
    background-color: #000000;
    font-size: 2.5em;
    padding: 0.25em 0.5em;
  }
}
@media screen and (min-width: 1366px) {
  #mainVisual .subTextWrap .subText {
    font-size: clamp(1.5625rem, 1.0619765494rem + 0.5862646566vw, 2rem);
  }
}

/* ぱんくず
-----------------------------------------------*/
#recruitRoadNavWrap {
  background-color: #FFFFFF;
}
#recruitRoadNavWrap .inner {
  padding: 0 9.7%;
}
#recruitRoadNavWrap #roadNav {
  padding: 24px 0;
  font-size: 12px;
}
#recruitRoadNavWrap #roadNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#recruitRoadNavWrap #roadNav ul li {
  color: #BABBC4;
  line-height: 1.5;
}
#recruitRoadNavWrap #roadNav ul li a {
  color: inherit;
  display: inline-block;
  text-decoration: none;
}

/* 外国の方が働きやすい理由
-----------------------------------------------*/
@media screen and (max-width: 769px) {
  #reason {
    padding-top: calc(128px + 12.96em);
  }
}
#reason .reasonTtl {
  padding: 0 2em;
}
@media screen and (min-width: 770px) {
  #reason .reasonTtl {
    padding: 0 9.7%;
  }
}
#reason .reasonTtl h2.ttl {
  padding: 2em 0 2em;
  text-align: left;
}
@media screen and (min-width: 770px) {
  #reason .reasonTtl h2.ttl {
    padding: 9% 0 9.1%;
  }
}
@media screen and (min-width: 770px) {
  #reason #reasonContainer {
    padding: 0 9.7%;
  }
}
@media screen and (max-width: 769px) {
  #reason #reasonContainer #reasonBox {
    margin: 0 2em 2em;
  }
}
#reason #reasonContainer .boxList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 769px) {
  #reason #reasonContainer .boxList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}
@media screen and (min-width: 770px) {
  #reason #reasonContainer .boxList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 60px;
  }
}
#reason #reasonContainer .boxList .boxListItem {
  background-color: #FFFFFF;
}
@media screen and (min-width: 770px) {
  #reason #reasonContainer .boxList .boxListItem {
    width: calc((100% - 60px) / 2);
  }
}
#reason #reasonContainer .boxList .boxListItem .image img {
  width: 100%;
}
@media screen and (max-width: 769px) {
  #reason #reasonContainer .boxList .boxListItem .detail {
    padding: 32px 20px;
  }
}
@media screen and (min-width: 770px) {
  #reason #reasonContainer .boxList .boxListItem .detail {
    padding: 32px 24px;
  }
}
#reason #reasonContainer .boxList .boxListItem .detail .boxTitle {
  position: relative;
  font-weight: bold;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-bottom: 0.72em;
  margin-bottom: 0.72em;
}
@media screen and (max-width: 769px) {
  #reason #reasonContainer .boxList .boxListItem .detail .boxTitle {
    font-size: 2.2em;
  }
}
@media screen and (min-width: 770px) {
  #reason #reasonContainer .boxList .boxListItem .detail .boxTitle {
    font-size: 2.5em;
  }
}
#reason #reasonContainer .boxList .boxListItem .detail .boxTitle::after {
  content: "";
  display: block;
  width: 3em;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #E60012;
}
#reason #reasonContainer .boxList .boxListItem .detail p {
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 769px) {
  #reason #reasonContainer .boxList .boxListItem .detail p {
    font-size: 1.6em;
  }
}
@media screen and (min-width: 770px) {
  #reason #reasonContainer .boxList .boxListItem .detail p {
    font-size: 1.8em;
  }
}

/* 先輩社員の声
-----------------------------------------------*/
#voice .voiceTtl {
  padding: 0 2em;
}

#voice .voiceTtl h2.ttl {
  padding: 2em 0 2em;
  text-align: left;
}

#voice .box {
  width: 100%;
  position: relative;
  margin: 0 0 5.5%;
}

#voice .box .boxInner {
  padding: 0 2em;
}

#voice .box .boxInner .boxContainer {
  width: 100%;
  background-image: url("../../images/common/bgRed.png");
  color: #fff;
  padding: 2em 2em 2em;
}

#voice .box .boxInner .boxContainer .count {
  font-family: "proxima-nova", sans-serif;
  font-size: 9em;
  line-height: 1.22em;
  font-weight: 700;
  text-align: center;
}

#voice .box .boxInner .boxContainer .voiceHead {
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-top: 0.9em;
}

#voice .box .boxInner .boxContainer .comment {
  padding: 4.8% 0 7.3%;
  font-size: 1.8em;
  line-height: 1.67em;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-align: left;
}

#voice .box .boxInner .boxContainer .profile {
  position: relative;
  padding: 6% 0 0;
}

#voice .box .boxInner .boxContainer .profile:before {
  position: absolute;
  top: 0;
  left: 24.9%;
  content: "";
  width: 48.5%;
  border-top: 1px solid #fff;
}

#voice .box .boxInner .boxContainer .profile p {
  text-align: center;
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.67em;
  letter-spacing: 0.1em;
}

#voice .box .boxInner .boxContainer .profile p.name {
  padding: 2.8% 0 0;
}

#voice .box .boxInner .boxContainer .profile p.name span {
  display: block;
  font-size: 0.875em;
  font-family: "proxima-nova", sans-serif;
  font-weight: 700;
}

#voice .box .img {
  position: relative;
  width: 100%;
  padding: 0 2em;
}

#voice .box .img img {
  width: 100%;
  height: auto;
}

#voice .box:nth-of-type(even) .boxInner .boxContainer {
  width: 100%;
  background-image: url("../../images/common/bgBlue.png");
}

@media screen and (max-width: 769px) {
  #voice {
    margin-top: 6em;
  }
  #voice .box .boxInner .boxContainer .voiceHead {
    font-size: 2.2em;
  }
  #voice .box .boxInner .boxContainer .comment {
    font-size: 1.6em;
  }
}
@media screen and (min-width: 770px) {
  #voice {
    margin-top: 12em;
  }
  #voice .voiceTtl {
    padding: 0 9.7%;
  }
  #voice .voiceTtl h2.ttl {
    padding: 9% 0 9.1%;
  }
  #voice .box .boxInner {
    padding: 0 9.7%;
  }
  #voice .box .boxInner .boxContainer {
    padding: 7.4% 8.7% 7.7% 53.6%;
  }
  #voice .box .boxInner .boxContainer .voiceHead {
    font-size: 3.5em;
  }
  #voice .box .img {
    position: absolute;
    left: 0;
    top: 100px;
    width: 45.7%;
    padding: 0;
  }
  #voice .box:nth-of-type(even) .boxInner .boxContainer {
    padding: 7.4% 53.6% 7.7% 8.7%;
  }
  #voice .box:nth-of-type(even) .img {
    left: auto;
    right: 0;
  }
}
/* 募集要項
-----------------------------------------------*/
#recruitJobContainer {
  max-width: 1366px;
  width: 100vw;
  margin: 0 auto;
}

#recruitJobBox {
  background-color: #FFF;
}

#recruitJobBox {
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
}

#recruitJobBox .ttl {
  text-align: left;
}

#recruitJobBox dt {
  font-size: 1.7em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-left: 0.5em;
}

#recruitJobBox dd {
  font-size: 1.7em;
  line-height: 2.3em;
  margin-left: 0.8em;
  word-break: break-all;
}

#recruitJobBox dl {
  border-top: solid 1px #c6c3c3;
}

@media screen and (max-width: 769px) {
  #recruitJobContainer {
    padding: 112px 2em 8em;
  }
  #recruitJobBox .ttl {
    padding-bottom: 4.8em;
  }
  #recruitJobBox dt {
    margin-top: 1em;
  }
  #recruitJobBox dd {
    padding: 1em 0;
  }
  #recruitJobContainer .pageContentsBox {
    padding: 5em 2em;
  }
}
@media screen and (min-width: 770px) {
  #recruitJobContainer {
    padding: 191px 50px 0;
  }
  #recruitJobBox .ttl {
    padding-bottom: 8.4em;
  }
  #recruitJobBox dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #recruitJobBox dt {
    width: 100%;
    max-width: 7.5em;
    font-size: 2.35em;
    text-align: center;
  }
  #recruitJobBox dd {
    font-size: 1.8em;
    padding: 2.75em 0;
  }
  #recruitJobContainer .pageContentsBox {
    padding: 9.8em 8em 17em;
  }
}
/* まずはお電話でご応募ください
-----------------------------------------------*/
@media screen and (max-width: 769px) {
  .contactTel {
    padding: 0 2em;
  }
}
@media screen and (min-width: 770px) {
  .contactTel {
    padding: 0 9.7%;
    margin-top: 132px;
  }
}
.contactTel .contactTelBox {
  background-color: #FFFFFF;
}
@media screen and (max-width: 769px) {
  .contactTel .contactTelBox {
    padding: 4em 2em;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .contactTelBox {
    min-height: 132px;
    padding: 40px;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .contactTelBox::before, .contactTel .contactTelBox::after {
    width: 17em;
    height: 17em;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .contactTelBox::before {
    top: -4em;
    right: -4em;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .contactTelBox::after {
    bottom: -4em;
    left: -4em;
  }
}
.contactTel .contactTelText {
  font-weight: bold;
  text-align: center;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  line-height: 1.25;
}
@media screen and (max-width: 769px) {
  .contactTel .contactTelText {
    font-size: 2.3em;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .contactTelText {
    font-size: 3em;
  }
}
.contactTel .telLinkBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-top: 24px;
}
@media screen and (max-width: 769px) {
  .contactTel .telLinkBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .telLinkBox {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
.contactTel .telLinkBox .telLink a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #E60012;
  font-weight: bold;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  line-height: 1;
  text-decoration: none;
}
@media screen and (max-width: 769px) {
  .contactTel .telLinkBox .telLink a {
    gap: 8px;
    font-size: 3.2em;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .telLinkBox .telLink a {
    gap: 16px;
    font-size: 4.7em;
  }
}
.contactTel .telLinkBox .telLink a::before {
  content: "";
  display: block;
  background-image: url(../../images/recruit_toyota/iconTel_jp.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 769px) {
  .contactTel .telLinkBox .telLink a::before {
    width: 32px;
    height: 32px;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .telLinkBox .telLink a::before {
    width: 40px;
    height: 40px;
  }
}
.contactTel .telLinkBox sub {
  color: #E60012;
  font-weight: bold;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
}
@media screen and (max-width: 769px) {
  .contactTel .telLinkBox sub {
    font-size: 1.8em;
  }
}
@media screen and (min-width: 770px) {
  .contactTel .telLinkBox sub {
    font-size: 2.3em;
  }
}

/*===============================================
ポルトガル語ページ用 別途スタイル
===============================================*/
.languagePt {
  /* 共通
  -----------------------------------------------*/
  /* コンテンツの枠表示部分 */
  /* 外国の方が働きやすい理由
  -----------------------------------------------*/
  /* 先輩社員の声
  -----------------------------------------------*/
  /* 募集要項
  -----------------------------------------------*/
  /* まずはお電話でご応募ください
  -----------------------------------------------*/
}
.languagePt .ttl .title01Eg,
.languagePt h2.ttl .enText {
  color: var(--colorMainPt);
}
.languagePt .pageContentsBox:before {
  background: var(--colorMainPt);
}
.languagePt .pageContentsBox:after {
  background: var(--colorSubPt);
}
@media screen and (max-width: 769px) {
  .languagePt #reason {
    padding-top: calc(128px + 19.44em);
  }
}
.languagePt #reason #reasonContainer .boxList .boxListItem .detail .boxTitle::after {
  border-bottom: 1px solid var(--colorMainPt);
}
.languagePt #voice .box .boxInner .boxContainer {
  background-image: none;
  background-color: var(--colorMainPt);
}
.languagePt #voice .box:nth-of-type(even) .boxInner .boxContainer {
  background-color: var(--colorSubPt);
  color: var(--colorMainPt);
}
.languagePt #voice .box:nth-of-type(even) .boxInner .boxContainer .profile:before {
  border-top: 1px solid var(--colorMainPt);
}
@media screen and (min-width: 770px) {
  .languagePt #recruitJobBox dt {
    width: 14em;
    max-width: unset;
  }
}
@media screen and (min-width: 770px) {
  .languagePt #recruitJobBox dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.languagePt .contactTel .telLinkBox .telLink a {
  color: var(--colorMainPt);
}
.languagePt .contactTel .telLinkBox .telLink a::before {
  background-image: url(../../images/recruit_toyota/iconTel_pt.svg);
}
.languagePt .contactTel .telLinkBox sub {
  color: var(--colorMainPt);
}/*# sourceMappingURL=recruit_toyota.css.map */