@charset "utf-8";
/* ---------------------
  - informationArticle
    - informationArticle__header
    - informationArticle__main

  - accessMap

  - messageHero

  - messageHeroImage
    - messageHeroImage--pc
    - messageHeroImage--sp

  - messageHeroDetail
    - messageHeroDatail__catch
    - messageHeroDatail__break
  - messageHeroDatail__group
    - messageHeroHeader
    - messageHeroDatail__managerialposition
    - messageHeroDatail__name

  - message

  - messageContents
    - messageContents--inline

  - messageBefore
  - messageAfter

  - messageImg
    - messageImg__img

  - messageTitle
      - messageTitle__sp

  - messageText
  - messageContainer
  - messageBox

  - occupationTitle
    - occupationTitle__main

  - occupationContents
    - occupationContents__inner
  - occupationContentsTitle

  - occupationAbout
    - occupationAbout__title
    - occupationAbout__body

  - occupationPost
  - occupationPostContainer
    - occupationPostContainer__item

  - occupationPostTab
    - occupationPostTab__item

  - occupationPostTabContents
    - occupationPostTabContents__item
      - occupationPostTabContents__item--isOpen

  -  occupationPostDetails
    - occupationPostDetails__title
    - occupationPostDetails__body
      - occupationPostDetails__body--isOpen
    - occupationPostText
    - occupationPostNumber

  - occupationCareer

  - occupationCareerContainer
    - occupationCareerContainer__item

  - occupationCareerContents
    - occupationCareerContents__title
    - occupationCareerContents__body

  - occupationCareerDetail
    - occupationCareerDetail__item

  - occupationCareerList
    - occupationCareerList__item

  - occupationCareerText
  - occupationCareerNotes

  - occupationInterview
    - occupationInterview__item

  - occupationInterviewContents

  - occupationInterviewImg
  - occupationInterviewDetails

  - occupationInterviewProfile
    - occupationInterviewProfile__item

  - occupationInterviewBelong
  - occupationInterviewName
  - occupationInterviewJoin
  - occupationInterviewButton

  - occupationInterview--flex

  - occupationFooter

  - occupationFooterMenu
    - occupationFooterMenu__title
    - occupationFooterMenuBody

  - toRequirements
  - toRequirementsButton

  - interviewHead
    - interviewHead__main
    - interviewHead__sub

  - interviewSlogan
    - interviewSlogan--short

  - interviewInfo

  - interviewPerson
    - interviewPerson__main
    - interviewPerson__sub

  - interviewHistory
    - interviewHistory__main
    - interviewHistory__sub

  - interviewSubHeading

  - interviewSection
    - interviewSection__title
    - interviewSection__titleIcon
    - interviewSection__titleMark
    - interviewSection__body

  - dailySchedule
    - dailySchedule__title
    - dailySchedule__item
    - dailySchedule__time
    - dailySchedule__symbol
    - dailySchedule__body
    - dailySchedule__detail
  - dailyScheduleText
    - dailyScheduleText__title

  - interviewPhoto
    - interviewPhoto--full
    - interviewPhoto--left
    - interviewPhoto--right

  - workstyle

  - workstyleTitle
    - workstyleTitle__main

  - workstyleAbout

  - workstyleContainer
    - workstyleContainer__item

  - workstyleContents
    - workstyleContents__item

  - workstyleSubTitle
    - workstyleSubTitle__main
      - workstyleSubTitle__main--stretch
      - workstyleSubTitle__main--new

  - workstyleList
    - workstyleList__item

  - workstyleDetail
    - workstyleDetail__title
    - workstyleDetail__body

  - workstyleText

  - requirements
  - regularRecruitment
    - regularRecruitment__Text
  - requirementsContents
    - requirementsContents__header

  - entry
  - entryAttention
  - entryContents
    - entryContents__title
    - entryContents__text

  - entryTable
    - entryTable__wideHead
    - entryTable__wideCell
  - entryTableAnnotation

  - entryFlowContents
    - entryFlowContents__title
    - entryFlowContents__flow

  - recruitmentFlow

  - recruitmentFlow__header
    - recruitmentFlow__header--other

  - recruitmentFlow__title

  - recruitmentFlow__list
    - recruitmentFlow__item

  - recruitmentFlow__flow
    - recruitmentFlow__flow--other

  - recruitmentFlow__flowList
    - recruitmentFlow__flowItem

  - recruitmentFlow__group
    - recruitmentFlow__label
      - recruitmentFlow__label--end

  - recruitmentFlow__text
  - recruitmentFlow__innerList

  - entryHightlight
    - entryHightlight__text
    - entryHightlight__link

    entryLink

  - faq

  - faqTab
    - faqTab__item
    - faqTab__link
      - faqTab__link--active

  - faqTabBox
    - faqTabBox__group
    - faqTabBox__question
    - faqTabBox__question / faqTabBox__answer
    - faqTabBox__initial
    - faqTabBox__textLink

  - faqTabBox__answerChild
  - faqTabBox__answerChild--test

  - faqTabBox__testGroup
    - testTitle

  - faqTabBox__testList
    - faqTabBox__testItem
    - faqTabBox__testLink

  - faqTabBox__answerChild--occupationList
    - faqTabBox__occupationItem
    - faqTabBox__occupationLink
--------------------- */



/* =====================
  informationArticle
===================== */
/*  informationArticle__header
------------------------*/
.informationArticle__header {
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 2px solid #ddd;
}
@media screen and (max-width:768px) {
  .informationArticle__header {
    margin-bottom: 20px;
  }
}
@media screen and (max-width:600px) {
  .informationArticle__header {
    margin-bottom: 10px;
  }
}

.informationArticle__header .informationTitle {
  font-size: 20px;
}
@media screen and (max-width:768px) {
  .informationArticle__header .informationTitle {
    font-size: 18px;
  }
}
@media screen and (max-width:600px) {
  .informationArticle__header .informationTitle {
    font-size: 16px;
  }
}

.informationArticleAttribute {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-bottom: 3px;
  justify-content: flex-start;
  -ms-align-items: center;
      align-items: center;
}

.informationArticleAttribute__item + .informationArticleAttribute__item {
  margin-left: 10px;
}

.informationArticleAttribute .informationDate {
  color: #b5b5b5;
  font-weight: 400;
  font-size: 14px;
}
@media screen and (max-width:600px) {
  .informationArticleAttribute .informationDate {
    font-size: 12px;
  }
}

.informationArticleAttribute .informationType {
  margin-bottom: 0;
  font-size: 12px;
}
@media screen and (max-width:768px) {
  .informationArticleAttribute .informationType {
    position: static;
  }
}
@media screen and (max-width:600px) {
  .informationArticleAttribute .informationType {
    font-size: 10px;
  }
}


/*  informationArticle__main
------------------------*/
.informationArticle__main {
  font-size: 16px;
}
@media screen and (max-width:768px) {
  .informationArticle__main {
    font-size: 14px;
  }
}
@media screen and (max-width:600px) {
  .informationArticle__main {
    font-size: 12px;
  }
}

.informationArticle .backLink {
  margin: 0;
  margin-top: 50px;
}
@media screen and (max-width:768px) {
  .informationArticle .backLink {
    margin-top: 30px;
  }
}



/* =====================
  accessMap
===================== */
.accessMap {
  max-width: 100%;
  margin-top: 5px;
}



/* =====================
  messageHero
===================== */
.messageHero {
  position: relative;
  background-color: #f4fcfc;
}
@media (max-width: 768px) {
  .messageHero {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
}



/* =====================
  messageHeroImage
===================== */
.messageHeroImage {
  width: 100%;
}

.messageHeroImage--pc {
  display: block;
  max-width: 1024px;
  margin: 0 auto;
}


/*  messageHeroImage--pc
------------------------*/
@media (max-width: 768px) {
  .messageHeroImage--pc {
    display: none;
  }
}


/*  messageHeroImage--sp
------------------------*/
.messageHeroImage--sp {
  display: none;
}
@media (max-width: 768px) {
  .messageHeroImage--sp {
    display: table-cell;
  }
}
@media (max-width: 600px) {
  .messageHeroImage--sp {
    display: block;
  }
}



/* =====================
  messageHeroDetail
===================== */
.messageHeroDetail {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  width: 1000px;
  transform: translateY(-50%);
}

@media (max-width: 1040px) {
  .messageHeroDetail {
    padding-left: 60px;
    width: auto;
  }
}

@media (max-width: 768px) {
  .messageHeroDetail {
    display: table-cell;
    position: static;
    top: auto;
    right: auto;
    left: auto;
    transform: none;
    width: 40%;
    padding-left: 0;
    background-color: rgba(68,65,65,0.7);
    color: #fff;
    text-align: center;
    vertical-align: middle;
  }
}
@media (max-width: 600px) {
  .messageHeroDetail {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 8px 20px;
    box-sizing: border-box;
  }
}


/*  messageHeroDatail__catch
------------------------*/
.messageHeroDatail__catch {
  display: inline-block;
  font-size: 48px;
  line-height: 1.4;
  letter-spacing: .3em;
  text-align: center;
}
@media (max-width: 768px) {
  .messageHeroDatail__catch {
    padding-left: .3em;
    color: #fff;
    font-size: 30px;
  }
}
@media (max-width: 600px) {
  .messageHeroDatail__catch {
    font-size: 18px;
  }
}


/*  messageHeroDatail__break
------------------------*/
@media (max-width: 600px) {
  .messageHeroDatail__break {
    display: none;
  }
}



/* =====================
  messageHeroDatail__group
===================== */
.messageHeroDatail__group {
  color: #7E7E7E;
  letter-spacing: .08em;
  font-size: 16px;
}
@media (max-width: 768px) {
  .messageHeroDatail__group {
    padding-left: .08em;
    color: #fff;
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .messageHeroDatail__group {
    font-size: 12px;
  }
}



/*  messageHeroHeader
------------------------*/
.messageHeroHeader {
  padding: 4.5em 0 0;
  font-weight: normal;
  font-size: inherit;
}
@media (max-width: 600px) {
  .messageHeroHeader {
    display: inline-block;
    margin-right: 1em;
    padding-top: 0;
  }
}


/*  messageHeroDatail__managerialposition
------------------------*/
.messageHeroDatail__managerialposition {
  display: inline-block;
  position: relative;
  margin-top: .5em;
  padding-top: .5em;
}
@media (max-width: 600px) {
  .messageHeroDatail__managerialposition {
    margin: 0;
  }
}

.messageHeroDatail__managerialposition::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ccc;
  content: "";
}
@media (max-width: 600px) {
  .messageHeroDatail__managerialposition::before {
    content: none;
  }
}


/*  messageHeroDatail__name
------------------------*/
.messageHeroDatail__name {
  padding-left: 0.5em;
}



/* =====================
  message
===================== */
#main__inner.message {
  padding: 0 0 70px;
}

@media (max-width: 768px) {
  #main__inner.message {
    padding: 0 60px 50px;
  }
}
@media (max-width: 600px) {
  #main__inner.message {
    padding: 0 60px 30px;
  }
}
@media (max-width: 414px) {
  #main__inner.message {
    padding: 0 20px 30px;
  }
}



/* =====================
  messageContents
===================== */
.messageContents {
  padding: 60px 0;
  border-bottom: 1px solid #ccc;
}
@media (max-width: 768px) {
  .messageContents {
    padding: 30px 0 0;
    border-bottom: none;
  }
}

.messageContents:last-child {
  border-bottom: none;
  text-align: center;
}
@media (max-width: 768px) {
  .messageContents:last-child {
    margin-top: 30px;
    border-top: 1px solid #ccc;
    text-align: left;
  }
}


/*  messageContents--inline
------------------------*/
.messageContents--inline {
  display: flex;
}
@media (max-width: 768px) {
  .messageContents--inline {
    display: block;
  }
}

.messageContents--inline:nth-of-type(odd) {
  flex-flow: row-reverse;
}



/* =====================
  messageBefore
===================== */
.messageContents--inline .messageBefore {
  width: 48%;
  padding-right: 4%;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .messageContents--inline .messageBefore {
    width: 100%;
  }
}



/* =====================
  messageAfter
===================== */
.messageContents--inline .messageAfter {
  width: 52%;
}
@media (max-width: 768px) {
  .messageContents--inline .messageAfter {
    width: 100%;
  }
}



/* =====================
  messageImg
===================== */
@media (max-width: 768px) {
  .messageContents--inline .messageImg {
    width: 70%;
    margin: 0 auto 30px;
    padding-right: 0;
  }
}
@media (max-width: 600px) {
  .messageContents--inline .messageImg {
    width: 100%;
  }
}


/*  messageImg__img
------------------------*/
.messageImg__img {
  width: 100%;
}



/* =====================
  messageTitle
===================== */
.messageTitle {
  font-weight: 500;
  font-size: 30px;
  letter-spacing: .08em;
}
@media (max-width: 768px) {
  .messageTitle {
    font-size: 20px;
  }
}


/*  messageTitle__sp
------------------------*/
@media (max-width: 768px) {
  .messageTitle__sp {
    display: none;
  }
}



/* =====================
  messageText
===================== */
.messageText {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .02em;
}
@media (max-width: 768px) {
  .messageText {
    margin-top: 16px;
    font-size: 14px;
  }
}



/* =====================
  messageContainer
===================== */
.messageContainer {
  align-self: center;
}
@media (max-width: 768px) {
  .messageContainer {
    align-self: auto;
  }
}



/* =====================
  messageBox
===================== */
.messageBox {
  padding-bottom: 60px;
}
@media (max-width: 768px) {
  .messageBox {
    padding-bottom: 30px;
  }
}

.messageBox:last-child {
  padding-bottom: 0;
}



/* =====================
  occupationTitle
===================== */
#occupationTitle {
  position: relative;
  height: 300px;
  background-position: 50%;
  -webkit-background-size: cover;
          background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width:768px) {
  #occupationTitle {
    height: 250px;
  }
}
@media screen and (max-width:600px) {
  #occupationTitle {
    height: 200px;
  }
}

.occupation--general #occupationTitle {
  background-image: url("/assets/recruit/images/main/occupation/general/title/bg.jpg");
}

.occupation--english #occupationTitle {
  background-image: url("/assets/recruit/images/main/occupation/english/title/bg.jpg");
}

.occupation--photo #occupationTitle {
  background-image: url("/assets/recruit/images/main/occupation/photo/title/bg.jpg");
}

.occupation--system #occupationTitle {
  background-image: url("/assets/recruit/images/main/occupation/system/title/bg.jpg");
}

.occupation--business #occupationTitle {
  background-image: url("/assets/recruit/images/main/occupation/business/title/bg.jpg");
}

.occupation--admin #occupationTitle {
  background-image: url("/assets/recruit/images/main/occupation/admin/title/bg.jpg");
}


/*  occupationTitle__main
------------------------*/
#occupationTitle__main {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
       -o-transform: translateY(-100%);
          transform: translateY(-100%);
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  color: #fff;
  font-weight: 500;
  font-size: 36px;
  letter-spacing: .32em;
}
@media screen and (max-width:768px) {
  #occupationTitle__main {
    right: 40px;
    left: 40px;
    font-size: 26px;
    width: auto;
    max-width: none;
  }
}
@media screen and (max-width:600px) {
  #occupationTitle__main {
    font-size: 21px;
  }
}



/* =====================
  occupationContents
===================== */
.occupationContents {
  position: relative;
  padding: 70px 0;
}
@media screen and (max-width:768px) {
  .occupationContents {
    padding: 50px 20px;
  }
}
@media screen and (max-width:600px) {
  .occupationContents {
    padding: 30px 20px;
  }
}


/*  occupationContents__inner
------------------------*/
.occupationContents__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}



/* =====================
  occupationContentsTitle
===================== */
.occupationContentsTitle {
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: .08em;
  text-align: center;
  text-indent: .08em;
}
@media screen and (max-width:768px) {
  .occupationContentsTitle {
    margin-bottom: 30px;
    font-size: 28.5px;
  }
}
@media screen and (max-width:600px) {
  .occupationContentsTitle {
    font-size: 25px;
  }
}

.occupationContentsTitle span {
  display: block;
  font-size: .45em;
  letter-spacing: .02em;
  text-indent: .02em;
}



/* =====================
  occupationAbout
===================== */
#occupationAbout {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: -50px;
  padding: 70px 110px;
  padding-top: 60px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
}
@media screen and (max-width:768px) {
  #occupationAbout {
    margin-top: -32.5px;
    padding: 50px 20px;
    padding-top: 55px;
  }
}
@media screen and (max-width:600px) {
  #occupationAbout {
    margin-top: -15px;
    padding: 30px 20px;
    padding-top: 50px;
  }
}

#occupationAbout:before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 95px;
  height: 95px;
  margin: auto;
  border: 1px solid #00b0e3;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-position: 50%;
  -webkit-background-size: 95px;
          background-size: 95px;
  background-repeat: no-repeat;
  background-color: #fff;
  content: " ";
}
@media screen and (max-width:768px) {
  #occupationAbout:before {
    width: 85px;
    height: 85px;
    -webkit-background-size: contain;
            background-size: contain;
  }
}
@media screen and (max-width:600px) {
  #occupationAbout:before {
    width: 75px;
    height: 75px;
  }
}

.occupation--general #occupationAbout:before {
  background-image: url("/assets/recruit/images/main/index/job/general.svg");
}

.occupation--english #occupationAbout:before {
  background-image: url("/assets/recruit/images/main/index/job/english.svg");
}

.occupation--photo #occupationAbout:before {
  background-image: url("/assets/recruit/images/main/index/job/photo.svg");
}

.occupation--system #occupationAbout:before {
  background-image: url("/assets/recruit/images/main/index/job/system.svg");
}

.occupation--business #occupationAbout:before {
  background-image: url("/assets/recruit/images/main/index/job/business.svg");
}

.occupation--admin #occupationAbout:before {
  background-image: url("/assets/recruit/images/main/index/job/admin.svg");
}



/*  occupationAbout__title
------------------------*/
#occupationAbout__title {
  font-size: 32px;
  letter-spacing: .08em;
  text-align: center;
  text-indent: .08em;
}
@media screen and (max-width:768px) {
  #occupationAbout__title {
    font-size: 28.5px;
  }
}
@media screen and (max-width:600px) {
  #occupationAbout__title {
    font-size: 25px;
  }
}


/*  occupationAbout__body
------------------------*/
#occupationAbout__body {
  margin-top: 20px;
  font-size: 16px;
  line-height: 2.125;
  letter-spacing: .02em;
}
@media screen and (max-width:768px) {
  #occupationAbout__body {
    font-size: 14px;
  }
}



/* =====================
  occupationPost
===================== */
#occupationPost:before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 300px;
  background-position: 50% 0;
  -webkit-background-size: cover;
          background-size: cover;
  background-repeat: no-repeat;
  content: " ";
}
@media screen and (max-width:768px) {
  #occupationPost:before {
    height: 39.0625vw;
  }
}

.occupation--general #occupationPost:before {
  background-image: url("/assets/recruit/images/main/occupation/general/post/bg.jpg");
}

.occupation--english #occupationPost:before {
  background-image: url("/assets/recruit/images/main/occupation/english/post/bg.jpg");
}

.occupation--photo #occupationPost:before {
  background-image: url("/assets/recruit/images/main/occupation/photo/post/bg.jpg");
}

.occupation--system #occupationPost:before {
  background-image: url("/assets/recruit/images/main/occupation/system/post/bg.jpg");
}

.occupation--business #occupationPost:before {
  background-image: url("/assets/recruit/images/main/occupation/business/post/bg.jpg");
}

.occupation--admin #occupationPost:before {
  background-image: url("/assets/recruit/images/main/occupation/admin/post/bg.jpg");
}

#occupationPost .occupationContentsTitle {
  color: #fff;
}



/* =====================
  occupationPostContainer
===================== */
/*  occupationPostContainer__item
------------------------*/
.occupationPostContainer__item + .occupationPostContainer__item {
  margin-top: 20px;
}



/* =====================
  occupationPostTab
===================== */
.occupationPostTab {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  -ms-align-items: center;
      align-items: center;
}
@media screen and (max-width:768px) {
  .occupationPostTab {
    display: none;
  }
}


/*  occupationPostTab__item
------------------------*/
.occupationPostTab__item {
  -webkit-flex: 1;
     -moz-flex: 1;
      -ms-flex: 1;
       -o-flex: 1;
          flex: 1;
}

.occupationPostTab__item:only-child {
  max-width: -webkit-calc( ( 100% - ( 20px * 2 ) ) / 3 );
  max-width: calc( ( 100% - ( 20px * 2 ) ) / 3 );
}

.occupationPostTab__item + .occupationPostTab__item {
  margin-left: 20px;
}

.occupationPostTab__item a ,
.occupationPostTab__item > div {
  display: block;
  position: relative;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  padding: 25px 40px;
  border: 1px solid #00b0e3;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #00b0e3;
  color: #fff;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: .08em;
  text-decoration: none;
}

.occupationPostTab__item a:hover {
  color: #00b0e3;
}

.occupationPostTab__item a:after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
  left: 0;
  width: 0;
  background-color: #fff;
  content: " ";
  -webkit-transition: all .25s;
       -o-transition: all .25s;
          transition: all .25s;
}

.occupationPostTab__item a:hover:after {
  width: 100%;
}

.occupationPostTab__item a > span ,
.occupationPostTab__item > div > span {
  display: block;
  position: relative;
  -webkit-transform: skewX(10deg);
      -ms-transform: skewX(10deg);
       -o-transform: skewX(10deg);
          transform: skewX(10deg);
  padding-left: 80px;
}



/* =====================
  occupationPostTabContents
===================== */
/*  occupationPostTabContents__item
------------------------*/
.occupationPostTabContents__item {
  display: none;
}
@media screen and (max-width:768px) {
  .occupationPostTabContents__item {
    display: block;
  }
}

@media screen and (max-width:768px) {
  .occupationPostTabContents__item + .occupationPostTabContents__item {
    margin-top: 20px;
  }
}

/* occupationPostTabContents__item--isOpen */
.occupationPostTabContents__item--isOpen {
  display: block;
}



/* =====================
  occupationPostDetails
===================== */
/*  occupationPostDetails__title
------------------------*/
.occupationPostDetails__title {
  position: relative;
  z-index: 9;
  width: 85%;
  margin: 0 auto;
  padding: 20px 40px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .08em;
}
@media screen and (max-width:600px) {
  .occupationPostDetails__title {
    padding: 20px 32.5px;
    font-size: 16px;
  }
}
@media screen and (max-width:425px) {
  .occupationPostDetails__title {
    padding: 20px 25px;
  }
}

.occupationPostDetails__title {
  display: none;
}
@media screen and (max-width:768px) {
  .occupationPostDetails__title {
    display: block;
  }
}

.occupationPostDetails__title.JS-toggleMenu:hover {
  cursor: pointer;
}

.occupationPostDetails__title:after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  background-color: #00b0e3;
  content: " ";
}

.occupationPostDetails__title > span {
  display: block;
  position: relative;
  padding-left: 65px;
}
@media screen and (max-width:600px) {
  .occupationPostDetails__title > span {
    padding-left: 50px;
  }
}


/*  occupationPostDetails__body
------------------------*/
.occupationPostDetails__body {
  padding: 0 40px;
  padding-top: 20px;
}
@media screen and (max-width:768px) {
  .occupationPostDetails__body {
    display: none;
    margin-top: -30px;
    padding: 0;
  }
}

/* occupationPostDetails__body--isOpen */
.occupationPostDetails__body--isOpen {
  display: block;
}



/* =====================
  occupationPostText
===================== */
.occupationPostText {
  position: relative;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  border: 3px solid #fff;
  background-color: #ecf865;
}
@media screen and (max-width:768px) {
  .occupationPostText {
    -webkit-transform: skewX(0);
        -ms-transform: skewX(0);
         -o-transform: skewX(0);
            transform: skewX(0);
    border: none;
  }
}

.occupationPostText:before ,
.occupationPostText:after {
  display: block;
  position: absolute;
  -webkit-transform: skewX(10deg) translate(-50%, -100%);
      -ms-transform: skewX(10deg) translate(-50%, -100%);
       -o-transform: skewX(10deg) translate(-50%, -100%);
          transform: skewX(10deg) translate(-50%, -100%);
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  content: " ";
}
@media screen and (max-width:768px) {
  .occupationPostText:before ,
  .occupationPostText:after {
    content: none;
  }
}

.occupationPostText:before {
  border-width: 0 14px 14px;
  border-color: transparent transparent #fff transparent;
}

.occupationPostText:after {
  border-width: 0 10px 10px;
  border-color: transparent transparent #ecf865 transparent;
}

.occupationPostTabContents__item:nth-of-type(1) .occupationPostText:before ,
.occupationPostTabContents__item:nth-of-type(1) .occupationPostText:after {
  left: 11.5%;
}

.occupationPostTabContents__item:nth-of-type(2) .occupationPostText:before ,
.occupationPostTabContents__item:nth-of-type(2) .occupationPostText:after {
  left: 48%;
}

.occupationPostTabContents__item:nth-of-type(3) .occupationPostText:before ,
.occupationPostTabContents__item:nth-of-type(3) .occupationPostText:after {
  left: 85%;
}

.occupationPostTabContents__item:first-child:nth-last-child(2) + .occupationPostTabContents__item .occupationPostText:before ,
.occupationPostTabContents__item:first-child:nth-last-child(2) + .occupationPostTabContents__item .occupationPostText:after {
  left: 66.5%;
}

.occupationPostText > p {
  -webkit-transform: skewX(10deg);
      -ms-transform: skewX(10deg);
       -o-transform: skewX(10deg);
          transform: skewX(10deg);
  padding: 40px 85px;
  font-size: 15px;
  line-height: 1.867;
}
@media screen and (max-width:768px) {
  .occupationPostText > p {
    -webkit-transform: skewX(0);
        -ms-transform: skewX(0);
         -o-transform: skewX(0);
            transform: skewX(0);
    padding: 50px 40px 30px;
  }
}
@media screen and (max-width:600px) {
  .occupationPostText > p {
    padding: 50px 30px 30px;
    font-size: 14px;
  }
}
@media screen and (max-width:425px) {
  .occupationPostText > p {
    padding: 50px 20px 30px;
  }
}



/* =====================
  occupationPostNumber
===================== */
.occupationPostNumber {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  font-style: italic;
  font-weight: 100;
  font-size: 49px;
  line-height: 1.24;
  font-family: 'Roboto', sans-serif;
  vertical-align: middle;
}
@media screen and (max-width:768px) {
  .occupationPostNumber {
    font-size: 39px;
  }
}
@media screen and (max-width:600px) {
  .occupationPostNumber {
    font-size: 29px;
  }
}



/* =====================
  occupationCareer
===================== */
#occupationCareer {
  background-color: #eee;
}



/* =====================
  occupationCareerContainer
===================== */
#occupationCareerContainer {
  position: relative;
  padding-left: -webkit-calc( ( 1em * 3 ) + 1.5em );
  padding-left: calc( ( 1em * 3 ) + 1.5em );
  font-size: 20px;
}
@media screen and (max-width:600px) {
  #occupationCareerContainer {
    font-size: 18px;
  }
}
@media screen and (max-width:425px) {
  #occupationCareerContainer {
    font-size: 16px;
  }
}

#occupationCareerContainer:before ,
#occupationCareerContainer:after {
  position: absolute;
  left: -webkit-calc( ( 1em * 3 ) + 1.5em );
  left: calc( ( 1em * 3 ) + 1.5em );
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
       -o-transform: translateX(-50%);
          transform: translateX(-50%);
  content: " ";
}

#occupationCareerContainer:before {
  top: 15px;
  bottom: 30px;
  width: 4px;
  background-color: #9b9b9b;
}
@media screen and (max-width:600px) {
  #occupationCareerContainer:before {
    width: 2px;
  }
}

#occupationCareerContainer:after {
  bottom: 5px;
  width: 0;
  height: 20px;
  border-left: 4px dotted #9b9b9b;
}
@media screen and (max-width:600px) {
  #occupationCareerContainer:after {
    border-left: 2px dotted #9b9b9b;
  }
}


/*  occupationCareerContainer__item
------------------------*/
.occupationCareerContainer__item {
  margin-left: -webkit-calc( ( ( 1em * 3 ) + 1.5em ) * -1 );
  margin-left: calc( ( ( 1em * 3 ) + 1.5em ) * -1 );
}



/* =====================
  occupationCareerContents
===================== */
.occupationCareerContents {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  -ms-align-items: stretch;
      align-items: stretch;
}


/*  occupationCareerContents__title
------------------------*/
.occupationCareerContents__title {
  position: relative;
  width: 1em;
  padding: 1.25em 1em;
  padding-bottom: 2em;
  border-radius: 2px;
  background-color: #9b9b9b;
  color: #fff;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  -webkit-flex: none;
     -moz-flex: none;
      -ms-flex: none;
       -o-flex: none;
          flex: none;
}

.occupationCareerContents__title:after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1em;
  background-image: url("/assets/recruit/images/main/occupation/career/arrow.svg");
  background-position: 50%;
  -webkit-background-size: contain;
          background-size: contain;
  background-repeat: no-repeat;
  content: " ";
}

.occupationCareerContents__title--tilde {
  display: inline-block;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
       -o-transform: rotate(90deg);
          transform: rotate(90deg);
}

.occupationCareerContents__title--digit {
  display: inline-block;
  width: 2em;
  margin: 0 -.5em;
}

.occupationCareerContainer__item:nth-of-type(1) .occupationCareerContents__title {
  background-color: #00b0e3;
}

.occupationCareerContainer__item:nth-of-type(2) .occupationCareerContents__title {
  background-color: #24bdcf;
}

.occupationCareerContainer__item:nth-of-type(3) .occupationCareerContents__title {
  background-color: #4fcdb7;
}

.occupationCareerContainer__item:nth-of-type(4) .occupationCareerContents__title {
  background-color: #6dd69a;
}


/*  occupationCareerContents__body
------------------------*/
.occupationCareerContents__body {
  margin-left: 1.5em;
  padding-left: 3.5em;
  -webkit-flex: 1;
     -moz-flex: 1;
      -ms-flex: 1;
       -o-flex: 1;
          flex: 1;
}
@media screen and (max-width:425px) {
  .occupationCareerContents__body {
    padding-left: 1.5em;
  }
}



/* =====================
  occupationCareerDetail
===================== */
.occupationCareerDetail {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding-bottom: 2.5em;
  justify-content: flex-start;
  -ms-align-items: stretch;
      align-items: stretch;
}
@media screen and (max-width:768px) {
  .occupationCareerDetail {
    display: block;
  }
}

.occupationCareerContainer__item:last-of-type .occupationCareerDetail {
  padding-bottom: 0;
}


/*  occupationCareerDetail__item
------------------------*/
.occupationCareerDetail__item {
  -webkit-flex: none;
     -moz-flex: none;
      -ms-flex: none;
       -o-flex: none;
          flex: none;
}

.occupationCareerDetail__item + .occupationCareerDetail__item {
  margin-left: 1.25em;
  -webkit-flex: 1;
     -moz-flex: 1;
      -ms-flex: 1;
       -o-flex: 1;
          flex: 1;
}
@media screen and (max-width:768px) {
  .occupationCareerDetail__item + .occupationCareerDetail__item {
    margin-top: 1.25em;
    margin-left: 0;
  }
}



/* =====================
  occupationCareerList
===================== */
/*  occupationCareerList__item
------------------------*/
.occupationCareerList__item {
  position: relative;
  min-width: 156px;
  padding: 5px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #9b9b9b;
  color: #fff;
  font-weight: 700;
  font-size: .75em;
  letter-spacing: .08em;
  text-align: center;
  text-indent: .08em;
}
@media screen and (max-width:425px) {
  .occupationCareerList__item {
    width: 100%;
  }
}

.occupationCareerContainer__item:nth-of-type(1) .occupationCareerList__item {
  background-color: #00b0e3;
}

.occupationCareerContainer__item:nth-of-type(2) .occupationCareerList__item {
  background-color: #24bdcf;
}

.occupationCareerContainer__item:nth-of-type(3) .occupationCareerList__item {
  background-color: #4fcdb7;
}

.occupationCareerContainer__item:nth-of-type(4) .occupationCareerList__item {
  background-color: #6dd69a;
}

.occupationCareerList__item:before ,
.occupationCareerList__item:after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #9b9b9b;
  content: " ";
}

.occupationCareerContainer__item:nth-of-type(1) .occupationCareerList__item:before ,
.occupationCareerContainer__item:nth-of-type(1) .occupationCareerList__item:after {
  background-color: #00b0e3;
}

.occupationCareerContainer__item:nth-of-type(2) .occupationCareerList__item:before ,
.occupationCareerContainer__item:nth-of-type(2) .occupationCareerList__item:after {
  background-color: #24bdcf;
}

.occupationCareerContainer__item:nth-of-type(3) .occupationCareerList__item:before ,
.occupationCareerContainer__item:nth-of-type(3) .occupationCareerList__item:after {
  background-color: #4fcdb7;
}

.occupationCareerContainer__item:nth-of-type(4) .occupationCareerList__item:before ,
.occupationCareerContainer__item:nth-of-type(4) .occupationCareerList__item:after {
  background-color: #6dd69a;
}

.occupationCareerList__item:before {
  left: -4.666667em;
  z-index: 9;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
       -o-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 22px;
  height: 22px;
  border: 3px solid #eee;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width:600px) {
  .occupationCareerList__item:before {
    width: 20px;
    height: 20px;
  }
}
@media screen and (max-width:425px) {
  .occupationCareerList__item:before {
    left: -2em;
  }
}

.occupationCareerList__item:after {
  left: -4.666667em;
  width: 4.666667em;
  height: 3px;
}
@media screen and (max-width:600px) {
  .occupationCareerList__item:after {
    height: 2px;
  }
}
@media screen and (max-width:425px) {
  .occupationCareerList__item:after {
    left: -2em;
    width: 2em;
  }
}

.occupationCareerList__item + .occupationCareerList__item {
  margin-top: 10px;
}
@media screen and (max-width:425px) {
  .occupationCareerList__item + .occupationCareerList__item {
    margin-top: 5px;
  }
}

.occupationCareerList__item + .occupationCareerList__item:before ,
.occupationCareerList__item + .occupationCareerList__item:after {
  content: none;
}



/* =====================
  occupationCareerText
===================== */
.occupationCareerText {
  padding: 1.875em;
  border: 3px solid #9b9b9b;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  font-size: .8em;
  line-height: 1.875;
  letter-spacing: .02em;
}
@media screen and (max-width:425px) {
  .occupationCareerText {
    border-width: 2px;
  }
}

.occupationCareerContainer__item:nth-of-type(1) .occupationCareerText {
  border-color: #00b0e3;
}

.occupationCareerContainer__item:nth-of-type(2) .occupationCareerText {
  border-color: #24bdcf;
}

.occupationCareerContainer__item:nth-of-type(3) .occupationCareerText {
  border-color: #4fcdb7;
}

.occupationCareerContainer__item:nth-of-type(4) .occupationCareerText {
  border-color: #6dd69a;
}



/* =====================
  occupationCareerNotes
===================== */
.occupationCareerNotes {
  margin-top: .7692307692307692em;
  color: #777;
  font-size: .65em;
  letter-spacing: .02em;
  text-align: right;
}
@media screen and (max-width:600px) {
  .occupationCareerNotes {
    text-align: left;
  }
}



/* =====================
  occupationInterview
===================== */
/*  occupationInterview__item
------------------------*/
.occupationInterview__item + .occupationInterview__item {
  margin-top: 50px;
}



/* =====================
  occupationInterviewContents
===================== */
.occupationInterviewContents {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  -ms-align-items: stretch;
      align-items: stretch;
}

.occupationInterview__item:nth-of-type(2n+0) .occupationInterviewContents {
  -webkit-flex-direction: row-reverse;
     -moz-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
       -o-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width:600px) {
  .occupationInterview__item:nth-of-type(2n+0) .occupationInterviewContents {
    -webkit-flex-direction: row;
       -moz-flex-direction: row;
        -ms-flex-direction: row;
         -o-flex-direction: row;
            flex-direction: row;
  }
}



/* =====================
  occupationInterviewImg
===================== */
.occupationInterviewImg {
  width: 62%;
  max-width: 620px;
}
@media screen and (max-width:600px) {
  .occupationInterviewImg {
    width: 45.16129%;
    max-width: 210px;
  }
}

.occupationInterviewImg img {
  width: 100%;
}



/* =====================
  occupationInterviewDetails
===================== */
.occupationInterviewDetails {
  -webkit-flex: 1;
     -moz-flex: 1;
      -ms-flex: 1;
       -o-flex: 1;
          flex: 1;
}



/* =====================
  occupationInterviewProfile
===================== */
.occupationInterviewProfile {
  padding: 50px 0;
  padding-left: 40px;
}
@media screen and (max-width:768px) {
  .occupationInterviewProfile {
    padding: 35px 0;
    padding-left: 25px;
  }
}
@media screen and (max-width:600px) {
  .occupationInterviewProfile {
    padding: 50px 0;
    padding-left:  30px;
  }
}
@media screen and (max-width:425px) {
  .occupationInterviewProfile {
    padding: 45px 0;
    padding-left: 20px;
  }
}


/*  occupationInterviewProfile__item
------------------------*/
.occupationInterviewProfile__item + .occupationInterviewProfile__item {
  margin-top: 3px;
}



/* =====================
  occupationInterviewBelong
===================== */
.occupationInterviewBelong {
  display: table;
  padding: 2px 10px;
  border-radius: 2px;
  background-color: #00b0e3;
  color: #fff;
  font-weight: 500;
  font-size: 13px;
  text-align: center;
}
@media screen and (max-width:425px) {
  .occupationInterviewBelong {
    font-size: 11px;
  }
}



/* =====================
  occupationInterviewName
===================== */
.occupationInterviewName {
  font-weight: 700;
  font-size: 26px;
  letter-spacing: .02em;
}
@media screen and (max-width:768px) {
  .occupationInterviewName {
    font-size: 24px;
  }
}
@media screen and (max-width:600px) {
  .occupationInterviewName {
    font-size: 22px;
  }
}
@media screen and (max-width:425px) {
  .occupationInterviewName {
    font-size: 20px;
  }
}



/* =====================
  occupationInterviewJoin
===================== */
.occupationInterviewJoin {
  font-size: 14px;
  letter-spacing: .02em;
}
@media screen and (max-width:425px) {
  .occupationInterviewJoin {
    font-size: 12px;
  }
}



/* =====================
  occupationInterviewButton
===================== */
.occupationInterviewButton {
  margin: 0 -40px;
}
@media screen and (max-width:768px) {
  .occupationInterviewButton {
    margin: 0 -120px;
  }
}
@media screen and (max-width:600px) {
  .occupationInterviewButton {
    margin: 0 -60px;
  }
}

.occupationInterview__item:nth-of-type(2n+1) .occupationInterviewButton {
  margin-right: -20px;
}
@media screen and (max-width:768px) {
  .occupationInterview__item:nth-of-type(2n+1) .occupationInterviewButton {
    margin-right: 0;
  }
}

.occupationInterview__item:nth-of-type(2n+0) .occupationInterviewButton {
  margin-left: -20px;
}
@media screen and (max-width:768px) {
  .occupationInterview__item:nth-of-type(2n+0) .occupationInterviewButton {
    margin-left: 0;
  }
}
@media screen and (max-width:600px) {
  .occupationInterview__item:nth-of-type(2n+0) .occupationInterviewButton {
    margin: 0 -60px;
    margin-right: 0;
  }
}

.occupationInterviewButton a {
  display: block;
  position: relative;
  z-index: 0;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  padding: 25px 40px;
  padding-bottom: 50px;
  background: #00b0e3;
  background: -moz-linear-gradient(left,  #00b0e3 0%, #75dca1 100%);
  background: -webkit-linear-gradient(left,  #00b0e3 0%,#75dca1 100%);
  background: linear-gradient(to right,  #00b0e3 0%,#75dca1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00b0e3', endColorstr='#75dca1',GradientType=1 );
  text-decoration: none;
}
@media screen and (max-width:425px) {
  .occupationInterviewButton a {
    padding: 20px 30px;
    padding-bottom: 50px;
  }
}

.occupationInterviewButton a:after {
  display: block;
  position: absolute;
  right: 30px;
  bottom: 20px;
  -webkit-transform: skewX(50deg);
      -ms-transform: skewX(50deg);
       -o-transform: skewX(50deg);
          transform: skewX(50deg);
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  width: 50px;
  height: 12px;
  content: " ";
  -webkit-transition: all .25s;
       -o-transition: all .25s;
          transition: all .25s;
}
@media screen and (max-width:425px) {
  .occupationInterviewButton a:after {
    right: 25px;
    width: 45px;
    height: 10px;
  }
}

.occupationInterviewButton a:hover:after {
  right: 25px;
}
@media screen and (max-width:425px) {
  .occupationInterviewButton a:hover:after {
    right: 20px;
  }
}

.occupationInterviewButton a > span {
  display: block;
  -webkit-transform: skewX(10deg);
      -ms-transform: skewX(10deg);
       -o-transform: skewX(10deg);
          transform: skewX(10deg);
  color: #fff;
  font-weight: 500;
  font-size: 19px;
  line-height: 1.789474;
  letter-spacing: .07em;
}
@media screen and (max-width:768px) {
  .occupationInterviewButton a > span {
    font-size: 17px;
  }
}
@media screen and (max-width:425px) {
  .occupationInterviewButton a > span {
    font-size: 15px;
  }
}



/* =====================
  occupationInterview--flex
===================== */
.occupationInterview--flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: -50px 0 0 -50px;
  -webkit-flex-wrap: wrap;
     -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
       -o-flex-wrap: wrap;
          flex-wrap: wrap;
  justify-content: flex-start;
  -ms-align-items: stretch;
      align-items: stretch;
}
@media screen and (max-width:768px) {
  .occupationInterview--flex {
    display: block;
    margin: 0;
  }
}

.occupationInterview--flex .occupationInterview__item {
  width: -webkit-calc( ( 100% - ( 50px * 2 ) ) / 2 );
  width: calc( ( 100% - ( 50px * 2 ) ) / 2 );
  margin: 50px 0 0 50px;
}
@media screen and (max-width:768px) {
  .occupationInterview--flex .occupationInterview__item {
    width: auto;
    max-width: 480px;
    margin: 0 auto;
  }
}
@media screen and (max-width:600px) {
  .occupationInterview--flex .occupationInterview__item {
    max-width: none;
  }
}

.occupationInterview--flex .occupationInterview__item + .occupationInterview__item {
  margin-top: 50px;
}

.occupationInterview--flex .occupationInterview__item:nth-of-type(2n+0) .occupationInterviewContents {
  -webkit-flex-direction: row;
     -moz-flex-direction: row;
      -ms-flex-direction: row;
       -o-flex-direction: row;
          flex-direction: row;
}

.occupationInterview--flex .occupationInterviewImg {
  max-width: 210px;
}

@media screen and (max-width:768px) {
  .occupationInterview--flex .occupationInterviewProfile {
    padding: 50px 0;
    padding-left: 40px;
  }
}
@media screen and (max-width:600px) {
  .occupationInterview--flex .occupationInterviewProfile {
    padding: 50px 0;
    padding-left: 30px;
  }
}
@media screen and (max-width:425px) {
  .occupationInterview--flex .occupationInterviewProfile {
    padding: 45px 0;
    padding-left: 20px;
  }
}

.occupationInterview--flex .occupationInterviewButton {
  margin: 0 -60px;
}

.occupationInterview--flex .occupationInterview__item:nth-of-type(2n+1) .occupationInterviewButton {
  margin-right: -20px;
}
@media screen and (max-width:768px) {
  .occupationInterview--flex .occupationInterview__item:nth-of-type(2n+1) .occupationInterviewButton {
    margin-right: 0;
  }
}

.occupationInterview--flex .occupationInterview__item:nth-of-type(2n+0) .occupationInterviewButton {
  margin: 0 -60px;
  margin-right: -20px;
}
@media screen and (max-width:768px) {
  .occupationInterview--flex .occupationInterview__item:nth-of-type(2n+0) .occupationInterviewButton {
    margin-right: 0;
  }
}



/* =====================
  occupationFooter
===================== */
#occupationFooter {
  padding: 50px 0;
  background-color: #00b0e3;
}
@media screen and (max-width:768px) {
  #occupationFooter {
    padding: 30px 20px;
  }
}



/* =====================
  occupationFooterMenu
===================== */
/*  occupationFooterMenu__title
------------------------*/
.occupationFooterMenu__title {
  display: table;
  position: relative;
  z-index: 0;
  padding: 3px 40px;
  color: #00b0e3;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: .1em;
  text-indent: .1em;
}
@media screen and (max-width:768px) {
  .occupationFooterMenu__title {
    font-size: 15px;
  }
}

.occupationFooterMenu__title:before ,
.occupationFooterMenu__title:after {
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  content: " ";
}

.occupationFooterMenu__title:before {
  bottom: 1px;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
       -o-transform: translateY(100%);
          transform: translateY(100%);
  width: 0;
  height: 0;
  margin: auto;
  border-width: 7px 7px 0;
  border-style: solid;
  border-color: #ecf865 transparent transparent transparent;
}

.occupationFooterMenu__title:after {
  top: 0;
  bottom: 0;
  z-index: -1;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  background-color: #ecf865;
}


/*  occupationFooterMenuBody
------------------------*/
.occupationFooterMenuBody {
  margin-top: 10px;
}

.occupationFooterMenuBody .headerMenuList {
  margin-top: 0;
}

.occupationFooterMenuBody .headerMenuList__item {
  margin-top: 0;
  border-bottom: 1px solid rgba(255,255,255,.5);
}



/* =====================
  toRequirements
===================== */
.toRequirements {
  position: relative;
  padding: 45px 20px;
  background-image: url("/assets/recruit/images/main/toRequirements/bg.jpg");
  background-position: 50%;
  -webkit-background-size: cover;
          background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width:768px) {
  .toRequirements {
    padding: 40px 20px;
  }
}
@media screen and (max-width:600px) {
  .toRequirements {
    padding: 35px 20px;
  }
}
@media screen and (max-width:425px) {
  .toRequirements {
    padding: 30px 20px;
  }
}

.toRequirements:before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-width: 20px 20px 0;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  content: " ";
}
@media screen and (max-width:768px) {
  .toRequirements:before {
    border-width: 18px 20px 0;
  }
}
@media screen and (max-width:600px) {
  .toRequirements:before {
    border-width: 16px 20px 0;
  }
}
@media screen and (max-width:425px) {
  .toRequirements:before {
    border-width: 14px 20px 0;
  }
}


/*  toRequirementsButton
------------------------*/
.toRequirementsButton a {
  display: block;
  position: relative;
  max-width: 480px;
  margin: 0 auto;
  padding: 22px 44px;
  border-radius: 6px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #19b8e6;
  color: #fff;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: .16em;
  text-decoration: none;
  text-align: center;
  text-indent: .16em;
}
@media screen and (max-width:768px) {
  .toRequirementsButton a {
    padding: 20px 40px;
    font-size: 22px;
  }
}
@media screen and (max-width:600px) {
  .toRequirementsButton a {
    font-size: 20px;
  }
}
@media screen and (max-width:425px) {
  .toRequirementsButton a {
    font-size: 18px;
  }
}

.toRequirementsButton a:after {
  display: block;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  content: " ";
  -webkit-transition: all .25s;
       -o-transition: all .25s;
          transition: all .25s;
}
@media screen and (max-width:768px) {
  .toRequirementsButton a:after {
    right: 18px;
    width: 8px;
    height: 8px;
  }
}

.toRequirementsButton a:hover:after {
  right: 15px;
}
@media screen and (max-width:768px) {
  .toRequirementsButton a:hover:after {
    right: 13px;
  }
}



/* =====================
  interviewHead
===================== */
.interviewHead {
  display: -webkit-flex;
  display:     -ms-flex;
  display:         flex;
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  -webkit-flex-flow: row-reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -ms-align-items: stretch;
      align-items: stretch;
}
@media screen and (max-width:700px) {
  .interviewHead {
    padding-bottom: 20px;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-flow: column-reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
  }
}

@media screen and (max-width:700px) {
  .interviewHead::before {
    display: block;
    position: absolute;
    top: 20px;
    right: 0;
    bottom: 0;
    left: 20px;
    z-index: -5;
    background-color: #eee;
    content: "";
  }
}


/*  interviewHead__main
------------------------*/
.interviewHead__main {
  display: -webkit-flex;
  display:     -ms-flex;
  display:         flex;
  position: relative;
  width: 100%;
  margin-left: -15%;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
@media screen and (max-width:768px) {
  .interviewHead__main {
    margin-left: -13%;
  }
}
@media screen and (max-width:700px) {
  .interviewHead__main {
    margin-left: 0;
  }
}


/*  interviewHead__sub
------------------------*/
.interviewHead__sub {
  width: 75%;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
}
@media screen and (max-width:768px) {
  .interviewHead__sub {
    width: 70%;
  }
}
@media screen and (max-width:700px) {
  .interviewHead__sub {
    width: auto;
    padding-right: 20px;
  }
}

.interviewHead__sub > img {
  display: block;
  width: 100%;
  -webkit-box-shadow: 20px 20px 0 #eee;
          box-shadow: 20px 20px 0 #eee;
}



/* =====================
  interviewSlogan
===================== */
.interviewSlogan {
  margin-top: 4em;
  padding: 0 0.3em 0 0.35em;
  font-size: 31px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width:768px) {
  .interviewSlogan {
    margin-top: 2.5em;
    font-size: 28px;
  }
}
@media screen and (max-width:700px) {
  .interviewSlogan {
    margin-top: -2.5em !important;
    padding-left: 40px;
  }
}
@media screen and (max-width:600px) {
  .interviewSlogan {
    font-size: 26px;
  }
}
@media screen and (max-width:400px) {
  .interviewSlogan {
    font-size: 22px;
  }
}

.interviewSlogan > span {
  display: table;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  padding: 0 10px;
  background-color: #fff;
  line-height: 1.6;
  white-space: nowrap;
}

.interviewSlogan > span + span {
  margin-top: 5px;
}


/*  interviewSlogan--short
------------------------*/
.interviewSlogan--short {
  margin-top: 3.5em;
  font-size: 44px;
  letter-spacing: 0.1em;
}
@media screen and (max-width:768px) {
  .interviewSlogan--short {
    margin-top: 2em;
    font-size: 38px;
  }
}
@media screen and (max-width:600px) {
  .interviewSlogan--short {
    font-size: 36px;
  }
}
@media screen and (max-width:400px) {
  .interviewSlogan--short {
    font-size: 30px;
  }
}



/* =====================
  interviewInfo
===================== */
.interviewInfo {
  -webkit-align-self: flex-end;
      -ms-align-self: flex-end;
          align-self: flex-end;
  margin-top: 2em;
  padding-left: 10px;
  text-shadow: 1px 0px 2px rgba(255,255,255,0.6),
               0px 1px 2px rgba(255,255,255,0.6),
              -1px 0px 2px rgba(255,255,255,0.6),
               0px -1px 2px rgba(255,255,255,0.6);
}
@media screen and (max-width:768px) {
  .interviewInfo {
    margin-top: 1.5em;
    margin-right: 10px;
  }
}
@media screen and (max-width:700px) {
  .interviewInfo {
    margin-right: 20px;
    text-shadow: none;
  }
}



/* =====================
  interviewPerson
===================== */
/*  interviewPerson__main
------------------------*/
.interviewPerson__main {
  font-weight: 500;
  font-size: 30px;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width:768px) {
  .interviewPerson__main {
    font-size: 27px;
  }
}
@media screen and (max-width:600px) {
  .interviewPerson__main {
    font-size: 24px;
  }
}
@media screen and (max-width:400px) {
  .interviewPerson__main {
    font-size: 20px;
  }
}

.interviewPerson__main > span {
  display: table;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  min-width: 3em;
  padding: 1px 1em;
  background-color: #00b0e3;
  color: #fff;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: normal;
  text-align: center;
}
@media screen and (max-width:400px) {
  .interviewPerson__main > span {
    font-size: 11px;
  }
}

.interviewPerson__main > span > span {
  display: block;
  -webkit-transform: skewX(10deg);
      -ms-transform: skewX(10deg);
       -o-transform: skewX(10deg);
          transform: skewX(10deg);
  text-shadow: none;
}


/*  interviewPerson__sub
------------------------*/
.interviewPerson__sub {
  font-size: 14px;
  letter-spacing: -0.05em;
}
@media screen and (max-width:768px) {
  .interviewPerson__sub {
    font-size: 13px;
  }
}
@media screen and (max-width:700px) {
  .interviewPerson__sub {
    letter-spacing: normal;
  }
}
@media screen and (max-width:500px) {
  .interviewPerson__sub {
    font-size: 11px;
  }
}



/* =====================
  interviewHistory
===================== */
.interviewHistory {
  margin-top: 1.5em;
}


/*  interviewHistory__main
------------------------*/
.interviewHistory__main {
  display: table;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  margin-right: 0.6em;
  margin-bottom: 3px;
  padding: 1px 0 0 1em;
  background-color: #444141;
  color: #fff;
  font-size: 12px;
  letter-spacing: 1em;
  text-align: center;
  text-shadow: none;
}
@media screen and (max-width:400px) {
  .interviewHistory__main {
    font-size: 11px;
  }
}

.interviewHistory__main > span {
  display: block;
  -webkit-transform: skewX(10deg);
      -ms-transform: skewX(10deg);
       -o-transform: skewX(10deg);
          transform: skewX(10deg);
}


/*  interviewHistory__sub
------------------------*/
.interviewHistory__sub {
  font-size: 14px;
  letter-spacing: -0.05em;
}
@media screen and (max-width:768px) {
  .interviewHistory__sub {
    font-size: 13px;
  }
}
@media screen and (max-width:700px) {
  .interviewHistory__sub {
    letter-spacing: normal;
  }
}
@media screen and (max-width:500px) {
  .interviewHistory__sub {
    font-size: 11px;
  }
}



/* =====================
  interviewSubHeading
===================== */
.interviewSubHeading {
  display: table;
  -webkit-transform: skewX(-10deg);
      -ms-transform: skewX(-10deg);
       -o-transform: skewX(-10deg);
          transform: skewX(-10deg);
  margin: 30px auto 60px;
  background-color: #00b0e3;
  color: #fff;
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
  -webkit-backface-visibility: hidden;
}

.interviewSubHeading span {
  display: block;
  position: relative;
  -webkit-transform: skewX(10deg);
      -ms-transform: skewX(10deg);
       -o-transform: skewX(10deg);
          transform: skewX(10deg);
  padding: 10px 3em;
  -webkit-backface-visibility: hidden;
}
@media screen and (max-width:400px) {
  .interviewSubHeading span {
    padding-right: 2em;
    padding-left: 2em;
  }
}

.interviewSubHeading span::before {
  display: block;
  position: absolute;
  top: calc(100% - 1px);
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-width: 10px 8px 0 8px;
  border-style: solid;
  border-color: #00b0e3 transparent transparent transparent;
  content: "";
}



/* =====================
  interviewSection
===================== */
.interviewSection {
  letter-spacing: 0.1em;
}


/*  interviewSection__title
------------------------*/
.interviewSection__title {
  display: table;
  position: relative;
  margin-bottom: 30px;
  padding-left: 3em;
  font-size: 28.5px;
}
@media screen and (max-width:768px) {
  .interviewSection__title {
    font-size: 25px;
  }
}
@media screen and (max-width:600px) {
  .interviewSection__title {
    padding-left: 3.5em;
    font-size: 22px;
  }
}


/*  interviewSection__titleIcon
------------------------*/
.interviewSection__titleIcon {
  display: block;
  position: absolute;
  top: -0.4em;
  left: 0;
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  border-radius: 50%;
  background: #00b0e3;
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  font-family: 'Roboto', sans-serif;
  line-height: 2;
  letter-spacing: normal;
  text-align: center;
}

.interviewSection__titleIcon::before {
  position: absolute;
  right: -14%;
  bottom: -14%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border: 0.4em solid transparent;
  border-left: 0.4em solid #00b0e3;
  content: "";
}


/*  interviewSection__titleMark
------------------------*/
.interviewSection__titleMark {
  background: linear-gradient(transparent 70%, #ecf865 70%);
  color: inherit;
}


/*  interviewSection__body
------------------------*/
.interviewSection__body {
  margin-bottom: 100px;
  font-size: 18px;
  line-height: 2.2;
}
@media screen and (max-width:768px) {
  .interviewSection__body {
    font-size: 16px;
    line-height: 2;
  }
}



/* =====================
  dailySchedule
===================== */
.dailySchedule {
  padding: 20px 30px 30px;
  background: #00b0e3;
  background: -webkit-linear-gradient(left, #00b0e3 25%,#75dca1 100%);
  background:    -moz-linear-gradient(left, #00b0e3 25%, #75dca1 100%);
  background:         linear-gradient(to right, #00b0e3 25%,#75dca1 100%);
  line-height: 1.6;
}
@media screen and (max-width:768px) {
  .dailySchedule {
    padding: 20px;
  }
}


/*  dailySchedule__title
------------------------*/
.dailySchedule__title {
  position: relative;
  margin-bottom: 15px;
  padding-top: calc(3em + 10px);
  color: #fff;
  line-height: 1.3;
  text-align: center;
}

.dailySchedule__title::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 3em;
  height: 3em;
  margin: 0 auto;
  border: 1px solid #fff;
  -webkit-border-radius: 3em;
          border-radius: 3em;
  content: "";
}

.dailySchedule__title::after {
  display: block;
  position: absolute;
  top: 0.5em;
  right: 1em;
  left: 0;
  width: 1em;
  height: 1em;
  margin: 0 auto;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: "";
}


/*  dailySchedule__item
------------------------*/
.dailySchedule__item {
  display: -webkit-flex;
  display:     -ms-flex;
  display:         flex;
  position: relative;
  padding: 20px;
  border-radius: 2px;
  background-color: #fff;
  -webkit-align-items: flex-start;
          align-items: flex-start;
}
@media screen and (max-width:768px) {
  .dailySchedule__item {
    display: block;
  }
}

.dailySchedule__item + .dailySchedule__item {
  margin-top: 4px;
}

.dailySchedule__item:not(:last-of-type)::before {
  position: absolute;
  top: 100%;
  left: calc(2.5em + 20px);
  z-index: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  margin: 0 auto;
  border-width: 12px 12px 0 12px;
  border-style: solid;
  border-color: #00b0e3 transparent transparent transparent;
  content: "";
}

.dailySchedule__item:not(:last-of-type)::after {
  position: absolute;
  top: calc(100% - 6px);
  left: calc(2.5em + 20px);
  z-index: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  margin: 0 auto;
  border-width: 12px 12px 0 12px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  content: "";
}


/*  dailySchedule__time
------------------------*/
.dailySchedule__time {
  border-radius: 2px;
  width: 3em;
  padding: 0 1em;
  background-color: #00b0e3;
  color: #fff;
  font-weight: 700;
  font-family: 'Roboto', sans-serif;
  letter-spacing: normal;
  text-align: center;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
}
@media screen and (max-width:768px) {
  .dailySchedule__time {
    display: inline-block;
    width: auto;
    min-width: 3em;
  }
}


/*  dailySchedule__symbol
------------------------*/
.dailySchedule__symbol {
  display: block;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  width: 1em;
  margin: 0 auto;
  line-height: 1;
}
@media screen and (max-width:768px) {
  .dailySchedule__symbol {
    display: inline;
    -webkit-transform: none;
        -ms-transform: none;
         -o-transform: none;
            transform: none;
    line-height: inherit;
  }
}


/*  dailySchedule__body
------------------------*/
.dailySchedule__body {
  padding-left: 20px;
  width: 100%;
  -ms-align-self: center;
      align-self: center;
}
@media screen and (max-width:768px) {
  .dailySchedule__body {
    clear: left;
    padding-top: 10px;
    padding-left: 0;
  }
}


/*  dailySchedule__detail
------------------------*/
.dailySchedule__detail {
  margin-top: 10px;
  padding: 15px;
  border-radius: 2px;
  background-color: #eee;
  font-size: 15px;
}
@media screen and (max-width:768px) {
  .dailySchedule__detail {
    font-size: 13px;
  }
}



/* =====================
  dailyScheduleText
===================== */
.dailyScheduleText + .dailyScheduleText,
.dailyScheduleText__body + .dailyScheduleText__title {
  margin-top: 0.6em;
}


/*  dailyScheduleText__title
------------------------*/
.dailyScheduleText__title {
  font-weight: 700;
}



/* =====================
  interviewPhoto
===================== */
.interviewPhoto {
  -webkit-box-shadow: 20px 20px 0 #eee;
          box-shadow: 20px 20px 0 #eee;
}


/*  interviewPhoto--full
------------------------*/
.interviewPhoto--full {
  width: 100%;
  margin-top: 30px;
  margin-bottom: 120px;
}

.interviewSection__body + .interviewPhoto--full {
  margin-top: -60px;
}


/*  interviewPhoto--left/interviewPhoto--right
------------------------*/
.interviewPhoto--left {
  float: left;
  margin: 0 60px 40px 0;
}
@media screen and (max-width:768px) {
  .interviewPhoto--left {
    margin-right: 40px;
  }
}

.interviewPhoto--right {
  float: right;
  margin: 0 0 40px 40px;
}
@media screen and (max-width:768px) {
  .interviewPhoto--right {
    margin-left: 20px;
  }
}

.interviewPhoto--left ,
.interviewPhoto--right {
  width: 45%;
}
@media screen and (max-width:600px) {
  .interviewPhoto--left,
  .interviewPhoto--right {
    display: block;
    float: none;
    width: 100%;
    max-width: 320px;
    margin: 0 auto 70px;
  }

  .interviewSection__body + .interviewPhoto--left,
  .interviewSection__body + .interviewPhoto--right {
    margin-top: -60px;
  }
}



/* =====================
  workstyle
===================== */
#workstyle #main__inner {
  padding-top: 0;
}



/* =====================
  workstyleTitle
===================== */
#workstyleTitle {
  position: relative;
  height: 300px;
  background-image: url("/assets/recruit/images/main/workstyle/title/bg.jpg");
  background-position: 50%;
  -webkit-background-size: cover;
          background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width:768px) {
  #workstyleTitle {
    height: 250px;
  }
}
@media screen and (max-width:600px) {
  #workstyleTitle {
    height: 200px;
  }
}


/*  workstyleTitle__main
------------------------*/
#workstyleTitle__main {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
       -o-transform: translateY(-100%);
          transform: translateY(-100%);
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  color: #fff;
  font-weight: 500;
  font-size: 36px;
  letter-spacing: .32em;
}
@media screen and (max-width:768px) {
  #workstyleTitle__main {
    right: 40px;
    left: 40px;
    font-size: 26px;
    width: auto;
    max-width: none;
  }
}
@media screen and (max-width:600px) {
  #workstyleTitle__main {
    font-size: 21px;
  }
}



/* =====================
  workstyleAbout
===================== */
#workstyleAbout {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: -50px;
  padding: 70px 110px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  font-size: 16px;
  line-height: 2.125;
  letter-spacing: .02em;
}
@media screen and (max-width:768px) {
  #workstyleAbout {
    margin-top: -32.5px;
    padding: 50px 20px;
    font-size: 14px;
  }
}
@media screen and (max-width:600px) {
  #workstyleAbout {
    margin-top: -15px;
    padding: 30px 20px;
  }
}



/* =====================
  workstyleContainer
===================== */
/*  workstyleContainer__item
------------------------*/
.workstyleContainer__item + .workstyleContainer__item {
  margin-top: 70px;
}
@media screen and (max-width:768px) {
  .workstyleContainer__item + .workstyleContainer__item {
    margin-top: 50px;
  }
}
@media screen and (max-width:600px) {
  .workstyleContainer__item + .workstyleContainer__item {
    margin-top: 30px;
  }
}



/* =====================
  workstyleContents
===================== */
.workstyleContents {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
  -ms-align-items: stretch;
      align-items: stretch;
}
@media screen and (max-width:768px) {
  .workstyleContents {
    display: block;
  }
}


/*  workstyleContents__item
------------------------*/
.workstyleContents__item + .workstyleContents__item {
  margin-left: 50px;
  -webkit-flex: 1;
     -moz-flex: 1;
      -ms-flex: 1;
       -o-flex: 1;
          flex: 1;
}
@media screen and (max-width:768px) {
  .workstyleContents__item + .workstyleContents__item {
    margin-top: 30px;
    margin-left: 0;
  }
}
@media screen and (max-width:600px) {
  .workstyleContents__item + .workstyleContents__item {
    margin-top: 20px;
  }
}



/* =====================
  workstyleSubTitle
===================== */
.workstyleSubTitle {
  position: relative;
  width: 32%;
  padding: 30px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background-position: 50%;
  -webkit-background-size: cover;
          background-size: cover;
  background-repeat: no-repeat;
  -webkit-flex: none;
     -moz-flex: none;
      -ms-flex: none;
       -o-flex: none;
          flex: none;
}
@media screen and (max-width:768px) {
  .workstyleSubTitle {
    width: auto;
    height: 200px;
    padding: 20px;
  }
}
@media screen and (max-width:600px) {
  .workstyleSubTitle {
    height: 150px;
  }
}

.workstyleContents--training .workstyleSubTitle {
  background-image: url("/assets/recruit/images/main/workstyle/training/bg.jpg");
}

.workstyleContents--welfare .workstyleSubTitle {
  background-image: url("/assets/recruit/images/main/workstyle/welfare/bg.jpg");
}

.workstyleContents--childcare .workstyleSubTitle {
  background-image: url("/assets/recruit/images/main/workstyle/childcare/bg.jpg");
}

.workstyleContents--workplace .workstyleSubTitle {
  background-image: url("/assets/recruit/images/main/workstyle/workplace/bg.jpg");
}
@media screen and (max-width:768px) {
  .workstyleContents--workplace .workstyleSubTitle {
    background-position: 50% 75%;
  }
}


/*  workstyleSubTitle__main
------------------------*/
.workstyleSubTitle__main {
  width: 1em;
  color: #fff;
  font-size: 32px;
  line-height: 1.2;
}
@media screen and (max-width:768px) {
  .workstyleSubTitle__main {
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: auto;
    padding-bottom: 4px;
    border-bottom: 3px solid #fff;
    font-size: 22px;
    letter-spacing: .08em;
    line-height: 1.5;
  }
}
@media screen and (max-width:600px) {
  .workstyleSubTitle__main {
    padding-bottom: 3px;
    font-size: 20px;
  }
}


/* workstyleSubTitle__main--stretch */
.workstyleSubTitle__main--stretch {
  display: inline-block;
  width: 1em;
  margin-top: .08em;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
       -o-transform: rotate(90deg);
          transform: rotate(90deg);
  text-align: center;
}
@media screen and (max-width:768px) {
  .workstyleSubTitle__main--stretch {
    display: inline;
    width: auto;
    margin-top: 0;
    -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
         -o-transform: rotate(0);
            transform: rotate(0);
  }
}


/* workstyleSubTitle__main--new */
.workstyleSubTitle__main--new {
  display: block;
  margin-bottom: 10px;
  background-color: #05b2e1;
  font-size: 11px;
  line-height: 22px;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (max-width:768px) {
  .workstyleSubTitle__main--new {
    display: table;
    width: 4em;
    margin-bottom: 5px;
    letter-spacing: .08em;
    text-indent: .08em;
  }
}



/* =====================
  workstyleList
===================== */
/*  workstyleList__item
------------------------*/
.workstyleList__item + .workstyleList__item {
  margin-top: 50px;
}
@media screen and (max-width:768px) {
  .workstyleList__item + .workstyleList__item {
    margin-top: 30px;
  }
}



/* =====================
  workstyleDetail
===================== */
/*  workstyleDetail__title
------------------------*/
.workstyleDetail__title {
  position: relative;
  padding: 10px 15px;
  padding-left: -webkit-calc( .8em + ( 15px + 12px ) );
  padding-left: calc( .8em + ( 15px + 12px ) );
  border-radius: 2px;
  background-color: #3bc6c2;
  color: #fff;
  font-size: 18px;
  letter-spacing: .08em;
}
@media screen and (max-width:768px) {
  .workstyleDetail__title {
    font-size: 16px;
  }
}

.workstyleDetail__title:before {
  display: block;
  position: absolute;
  top: 12px;
  bottom: 10px;
  left: 15px;
  margin: auto;
  content: " ";
}

.workstyleContents--training .workstyleDetail__title:before {
  width: .8em;
  height: .8em;
  border-radius: 50%;
  background-color: #fff;
}

.workstyleContents--welfare .workstyleDetail__title:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .5em 0 .5em .8em;
  border-color: transparent transparent transparent #fff;
}

.workstyleContents--childcare .workstyleDetail__title:before {
  width: .8em;
  height: .8em;
  background-color: #fff;
}


/*  workstyleDetail__body
------------------------*/
.workstyleDetail__body {
  margin-top: 15px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: .02em;
}
@media screen and (max-width:768px) {
  .workstyleDetail__body {
    margin-top: 10px;
    font-size: 14px;
  }
}



/* =====================
  workstyleText
===================== */
.workstyleText {
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: .02em;
}
@media screen and (max-width:768px) {
  .workstyleText {
    font-size: 14px;
  }
}



/* =====================
  requirements
===================== */
@media (max-width: 600px) {
  #main__inner.requirements {
    padding: 15px 20px 50px;
  }
}
@media (max-width: 374px) {
  #main__inner.requirements {
    padding: 15px 0 50px;
  }
}

@media screen and (max-width: 374px) {
  .requirements .pageTitle{
    padding: 0 20px;
  }
}

@media screen and (max-width: 374px) {
  .requirements .pageNotice {
    padding: 0 20px;
  }
}



/* =====================
  regularRecruitment
===================== */
.regularRecruitment {
  display:block;
  margin-top: 24px;
  color: #7e7e7e;
  font-size: 20px;
  letter-spacing: .08em;
}
@media screen and (max-width: 768px) {
  .regularRecruitment {
    font-size: 16px;
  }
}
@media screen and (max-width: 500px) {
  .regularRecruitment {
    margin-top: 10px;
  }
}


/*  regularRecruitment__Text
------------------------*/
.regularRecruitment__Text {
  display: inline-block;
  margin-right: 6px;
  padding: 0  .5em 0 .58em ;
  border: 1px solid #00b0e3;
  color: #00b0e3;
  font-size: 16px;
  letter-spacing: .08em;
}



/* =====================
  requirementsContents
===================== */
.requirementsContents {
  margin: 50px 0 0;
}
@media (max-width: 768px) {
  .requirementsContents {
    margin: 30px 0 0;
  }
}

.requirementsContents .doubleTable th
{
  width: 6.8em;
}

/*  requirementsContents__header
------------------------*/
.requirementsContents__header {
  display: inline-block;
  position: relative;
  z-index: -1;
  margin-bottom: 10px;
  padding: .5em 6em .5em 1em;
  /*padding: .5em 3em .5em 1em;*/
  background-color: #0099c6;
  color: #fff;
  font-weight: normal;
  font-size: 18px;
  letter-spacing: .08em;
}
@media (max-width: 768px) {
  .requirementsContents__header{
    margin-bottom: 8px;
    font-size:16px
  }
}

.requirementsContents__header::after {
  position: absolute;
  top: 0;
  z-index: -1;
  right: 0;
  width: 0;
  height: 0;
  border: none;
  border-top: solid 2.5em #fff;
  border-left: solid 25px transparent;
  content: "";
}

.requirementsContents__header span {
  font-size: .75em;
}



/* =====================
  entry
===================== */
@media (max-width: 374px) {
  .entry .pageTitle__text {
    letter-spacing: .06em;
  }
}



/* =====================
  entryAttention
===================== */
.entryAttention {
  padding: 20px;
  background: #eee;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .02em;
}



/* =====================
  entryContents
===================== */
.entryContents {
  margin-top: 70px;
}
@media (max-width: 768px) {
  .entryContents {
    margin-top: 50px;
    overflow: hidden;
  }
}
@media (max-width: 500px) {
  .entryContents {
    overflow: visible;
  }
}


/*  entryContents__title
------------------------*/
.entryContents__title {
  margin-bottom: .6em;
  font-size: 24px;
  letter-spacing: .08em;
}
@media (max-width: 768px) {
  .entryContents__title {
    font-size: 20px;
  }
}


/*  entryContents__text
------------------------*/
.entryContents__text {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .02em;
}



/* =====================
  entryTable
===================== */
@media (max-width: 768px) {
 .doubleTable.entryTable {
   margin-right: -1px;
 }
}
@media (max-width: 500px) {
 .doubleTable.entryTable {
   margin: 0 -21px 0 -20px;
 }
}

.doubleTable.entryTable table {
  font-size: 16px;
  table-layout: auto;
}
@media (max-width: 768px) {
 .doubleTable.entryTable table {
   font-size: 14px;
 }
}

@media (max-width: 768px) {
 .doubleTable.entryTable tr {
   display: flex;
   flex-wrap: wrap;
 }
}

.doubleTable.entryTable th {
  background: #00b0e3;
  color: #fff;
  font-weight: 500;
}

.doubleTable.entryTable td {
  letter-spacing: .02em;
}

@media (max-width: 768px) {
  .doubleTable.entryTable td {
    border-right: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
  }
}

.doubleTable.entryTable th,
.doubleTable.entryTable td {
  width: auto;
  min-width: 9em;
  padding: 30px 1.6em;
}
@media (max-width: 768px) {
  .doubleTable.entryTable th,
  .doubleTable.entryTable td {
    display: flex;
    width: calc(100% / 3);
    min-width: auto;
    padding: 16px 20px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
  }
}
@media (max-width: 374px) {
  .doubleTable.entryTable th,
  .doubleTable.entryTable td {
    padding: 16px 8px;
  }
}


/*  entryTable__wideHead
------------------------*/
@media (max-width: 768px) {
  .doubleTable.entryTable .entryTable__wideHead {
    display: none;
  }
}


/*  entryTable__wideCell
------------------------*/
.doubleTable.entryTable .entryTable__wideCell {
  width: auto;
  min-width: 300px;
  text-align: left;
  white-space: normal;
}
@media (max-width: 768px) {
  .doubleTable.entryTable .entryTable__wideCell {
    width: 100%;
    min-width: auto;
    border-bottom: 4px solid #fff;
    justify-content: left;
  }

  .doubleTable.entryTable .entryTable__wideCell:empty {
    height: calc(1.5em + 32px);
  }
}



/* =====================
  entryTableAnnotation
===================== */
.entryTableAnnotation {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .02em;
}



/* =====================
  entryFlowContents
===================== */
.entryFlowContents {
  position: relative;
  margin-top: 0;
}

.entryFlowContents::before {
  position: absolute;
  left: 0;
  bottom: -140px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #eee;
  content: "";
}
@media (max-width: 768px) {
 .entryFlowContents::before {
    bottom: -100px;
 }
}

.entryFlowContents--simple::before {
  bottom: -80px;
}
@media (max-width: 768px) {
 .entryFlowContents--simple::before {
    bottom: -40px;
 }
}
@media (max-width: 374px) {
 .entryFlowContents--simple::before {
    bottom: -75px;
 }
}

/*  entryFlowContents__title
------------------------*/
.entryFlowContents__title {
  margin-bottom: 50px;
  padding-left: .08em;
  font-size: 24px;
  letter-spacing: .08em;
  text-align: center;
}
@media (max-width: 768px) {
 .entryFlowContents__title {
   font-size: 20px;
   margin: 20px 0;
 }
}


/*  entryFlowContents__flow
------------------------*/
.entryFlowContents__flow {
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 30px;
  font-size: 16px;
}
@media (max-width: 768px) {
  .entryFlowContents__flow {
    display: block;
    padding: 0 20px;
  }
}
@media (max-width: 374px) {
  .entryFlowContents__flow {
    padding: 0;
  }
}



/* =====================
  recruitmentFlow__header
===================== */
.recruitmentFlow__header {
  display: flex;
  flex-wrap: wrap;
  order: 1;
  width: calc(50% - 20px);
  margin-right: 40px;
  padding: 1.5em 20px;
  border-radius: 2px;
  box-sizing: border-box;
  background: #00b0e3;
  color: #fff;
  text-align: center;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .recruitmentFlow__header {
    width: 100%;
  }
}
@media (max-width: 425px) {
  .recruitmentFlow__header {
    padding: 1.5em 10px;
  }
}
@media (max-width: 375px) {
  .recruitmentFlow__header {
    border-radius: 0;
  }
}


/*  recruitmentFlow__header--other
------------------------*/
.recruitmentFlow__header--other {
  order: 2;
  margin-right: 0;
  background: #6dd69a;
}



/* =====================
  recruitmentFlow__title
===================== */
.recruitmentFlow__title {
  width: 100%;
  padding-left: .08em;
  font-size: 20px;
  letter-spacing: .08em;
}
@media (max-width: 500px) {
  .recruitmentFlow__title {
    font-size: 18px;
  }
}



/* =====================
  recruitmentFlow__list
===================== */
.recruitmentFlow__list {
  margin-top: 1em;
}
@media (max-width: 500px) {
  .recruitmentFlow__list {
    font-size: 14px;
  }
}


/*  recruitmentFlow__item
------------------------*/
.recruitmentFlow__item {
  display: inline-block;
  margin: 0 .2em;
}

.recruitmentFlow__item::before {
  margin-right: .4em;
  content: "/";
}

.recruitmentFlow__item:first-child::before {
  content: none;
}



/* =====================
  recruitmentFlow__flow
===================== */
.recruitmentFlow__flow {
  counter-reset: count;
  order: 3;
  width: calc(50% - 20px);
  margin: 40px 40px 0 0;
}
.entryFlowContents--simple .recruitmentFlow__flow {
  width: 86%;
  margin: 40px 7% 0 7%;
}

@media (max-width: 768px) {
  .recruitmentFlow__flow {
    width: 100% !important;
    margin: 30px 0 !important;
  }
}
@media (max-width: 374px) {
  .recruitmentFlow__flow {
    padding: 0 20px !important;
    box-sizing: border-box;
  }
}


/*  recruitmentFlow__flow--other
------------------------*/
.recruitmentFlow__flow--other {
  order: 4;
  margin-right: 0;
}



/* =====================
  recruitmentFlow__flowList
===================== */
.recruitmentFlow__flowList {
  list-style: none;
}


/*  recruitmentFlow__flowItem
------------------------*/
.recruitmentFlow__flowItem {
  position: relative;
  padding-bottom: 40px;
  font-size: 34px;
}
@media (max-width: 768px) {
  .recruitmentFlow__flowItem {
    padding-bottom: 30px;
  }
}
@media (max-width: 500px) {
  .recruitmentFlow__flowItem {
    font-size: 28px;
  }
}
@media (max-width: 374px) {
  .recruitmentFlow__flowItem {
    padding: 40px 0 30px;
  }
}

.recruitmentFlow__flowItem::before {
  display: block;
  position: absolute;
  left: 0;
  bottom: .2em;
  width: calc(2.4em + 4px);
  height: calc(100% - (2.8em + 4px));
  background-image: linear-gradient(to bottom, #00b0e3, #00b0e3 2px, transparent 2px, transparent 4px);
  background-size: 1px 4px;
  background-repeat: repeat-y;
  font-family: 'Roboto', sans-serif;
  background-position: center;
  content: "";
}
@media (max-width: 374px) {
  .recruitmentFlow__flowItem::before {
    content: none;
  }
}

.recruitmentFlow__flowItem::after {
  counter-increment: count;
  content: counter(count, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  width: 2.4em;
  border: 2px solid #00b0e3;
  border-radius: 50%;
  background: #dff8ff;
  color: #00b0e3;
  line-height: 2.4em;
  text-align: center;
  font-weight: 100;
  font-style: italic;
  font-family: 'Roboto', sans-serif;
  vertical-align: baseline;
}
@media (max-width: 374px) {
  .recruitmentFlow__flowItem::after {
    top: -20px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
}

.recruitmentFlow__flow--other .recruitmentFlow__flowItem::before  {
  background-image: linear-gradient(to bottom, #6DD69A, #6DD69A 2px, transparent 2px, transparent 4px);
}

.recruitmentFlow__flow--other .recruitmentFlow__flowItem::after  {
  border: 2px solid #6dd69a;
  color: #6dd69a;
  background: #f0fff6;
}



/* =====================
  recruitmentFlow__group
===================== */
.recruitmentFlow__group {
  margin-left: calc(2.4em + 20px);
}
@media (max-width: 374px) {
  .recruitmentFlow__group {
    margin-left: 0;
  }
}


/*  recruitmentFlow__label
------------------------*/
.recruitmentFlow__label {
  position: relative;
  margin-bottom: 10px;
  padding: 1em 1em 1em 1.08em;
  border-radius: 4px;
  background: #fff;
  color: #00b0e3;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .08em;
  text-align: center;
}
@media (max-width: 500px) {
  .recruitmentFlow__label {
    font-size: 16px;
  }
}

.recruitmentFlow__flow--other .recruitmentFlow__label {
  color: #6dd69a;
}

/* recruitmentFlow__label--end */
@media (max-width: 374px) {
  .recruitmentFlow__label--end::before,
  .recruitmentFlow__label--end::after {
    position: absolute;
    top: -4px;
    right: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #00b0e3 transparent transparent transparent;
    content: "";
  }
}

@media (max-width: 374px) {
  .recruitmentFlow__label--end::after {
    top: -20px;
  }
}

@media (max-width: 374px) {
  .recruitmentFlow__flow--other .recruitmentFlow__label--end::before,
  .recruitmentFlow__flow--other .recruitmentFlow__label--end::after {
    border-color: #6dd693 transparent transparent transparent;
  }
}



/* =====================
  recruitmentFlow__text
===================== */
.recruitmentFlow__text {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .02em;
}

.recruitmentFlow__text::before {
  position: absolute;
  top: .4em;
  left: 0;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #bdbdbd;
  content: "";
}



/* =====================
  recruitmentFlow__innerList
===================== */
.recruitmentFlow__innerList {
  padding: 6px 0 0 20px;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: .08em;
}



/* =====================
  entryHightlight
===================== */
.entryHightlight {
  padding: 70px 0;
  background: -moz-linear-gradient(left,  #00b0e3 0%, #75dca1 100%);
  background: -webkit-linear-gradient(left,  #00b0e3 0%,#75dca1 100%);
  background: linear-gradient(to right,  #00b0e3 0%,#75dca1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00b0e3', endColorstr='#75dca1',GradientType=1 );
  color: #fff;
  font-size: 20px;
  text-align: center;
}
@media (max-width: 768px) {
  .entryHightlight {
    padding: 50px 20px;
  }
}


/*  entryHightlight__text
------------------------*/
.entryHightlight__text {
  max-width: 1000px;
  margin: 0 auto 50px;
  padding: 2em;
  border: 1px solid #fff;
  box-sizing: border-box;
  line-height: 1.8;
  letter-spacing: .02em;
}
@media (max-width: 768px) {
  .entryHightlight__text {
    font-size: 16px;
    text-align: left;
  }
}

@media (max-width: 768px) {
  .entryHightlight__text br {
    display: none;
  }
}

/*  entryHightlight__link
------------------------*/
.entryHightlight__link {
  display: block;
  width: 12em;
  margin: 0 auto;
  padding: 1em 2em 1em 2.08em;
  border: 1px solid #fff;
  border-radius: calc(1.5em + 2px);
  background: #fff;
  color: #02b1e3;
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  letter-spacing: .08em;
  text-decoration: none;
  transition: all .5s;
}
@media (max-width: 500px) {
  .entryHightlight__link {
    font-size: 17px;
  }
}
@media (max-width: 374px) {
  .entryHightlight__link {
    width: 100%;
    box-sizing: border-box;
  }
}

.entryHightlight__link:hover {
  background-color: transparent;
  color: #fff;
}

/*  entryButtonWrapper(ボタンリンク2個の場合の補正用)
------------------------*/
.entryButtonWrapper .entryHightlight__link {
  display: inline-block;
}

.entryButtonWrapper .entryHightlight__link + .entryHightlight__link {
  margin-top: 10px;
}

.entryButtonWrapper .entryHightlight__link:last-child {
  color: #5bd2b0;
}

.entryButtonWrapper .entryHightlight__link:last-child:hover {
  color: #fff;
}

/* =====================
  entryLink
===================== */
.entryLink {
  padding: 0 20px 50px;
  text-align: center;
  background: #eee;
}

.entryLink .jobButton a {
  max-width: 430px;
}

.entryLink__sub {
  margin-top: 20px;
  font-size: 16px;
}

/* =====================
  faq
===================== */
#main__inner.faq {
  max-width: 860px;
}
@media (max-width: 374px) {
  #main__inner.faq {
    padding: 15px 8px 14px;
  }
}

@media (max-width: 374px) {
  .faq .pageTitle {
    padding: 0 12px;
  }
}



/* =====================
  faqTab
===================== */
.faqTab {
  display: flex;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: .08em;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .faqTab {
    font-size: 14px;
  }
}


/*  faqTab__item
------------------------*/
.faqTab__item {
  display: flex;
  width: 100%;
  margin-right: 10px;
}
@media (max-width: 374px) {
  .faqTab__item {
    margin-right: 8px;
  }
}

.faqTab__item:last-of-type {
  margin-right: 0;
}


/*  faqTab__link
------------------------*/
.faqTab__link {
  display: flex;
  width: 100%;
  padding: 14px .5em 14px .58em;
  border: 1px solid #00b0e3;
  border-radius: 2px;
  color: #00b0e3;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  transition: all .5s;
}

/* faqTab__link--active */
.faqTab__link--active ,
.faqTab__link:hover {
  position: relative;
  background-color: #00b0e3;
  color: #fff;
}

.faqTab__link--active::after {
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-width: 10px 20px 0 20px;
  border-style: solid;
  border-color: #00b0e3 transparent transparent transparent;
  content: "";
}
@media (max-width: 768px) {
  .faqTab__link--active::after {
    border-width: 8px 16px 0 16px;
  }
}



/* =====================
  faqTabBox
===================== */
.faqTabBox {
  margin: 34px auto 0;
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .faqTabBox {
    margin: 14px auto 0;
    font-size: 14px;
  }
}


/*  faqTabBox__group
------------------------*/
.faqTabBox__group {
  border-bottom: 1px solid #ccc;
  margin-bottom: 14px;
  padding-bottom: 14px;
}
@media (max-width: 374px) {
  .faqTabBox__group {
    margin-bottom: 4px;
    padding-bottom: 4px;
  }
}

.faqTabBox__group:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}


/*  faqTabBox__question
------------------------*/
.faqTabBox__question {
  font-size: 18px;
}
@media (max-width: 768px) {
  .faqTabBox__question {
    font-size: 14px;
  }
}


/*  faqTabBox__question / faqTabBox__answer
------------------------*/
.faqTabBox__question ,
.faqTabBox__answer {
  position: relative;
  padding: 16px 0 16px 60px;
  letter-spacing: .02em;
}
@media (max-width: 374px) {
  .faqTabBox__question ,
  .faqTabBox__answer {
    padding: 16px 0 16px 46px;
  }
}


/*  faqTabBox__initial
------------------------*/
.faqTabBox__initial {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 40px;
  border-radius: 50%;
  background: linear-gradient(90deg, #00b0e3, #75dca1);
  color: #fff;
  font-weight: normal;
  font-size: 20px;
  line-height: 40px;
  text-align: center;
}
@media (max-width: 374px) {
  .faqTabBox__initial {
    width: 38px;
    font-size: 18px;
    line-height: 38px;
  }
}

.faqTabBox__answer .faqTabBox__initial {
  color: #00b0e3;
}

.faqTabBox__answer .faqTabBox__initial::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #fff;
  content: "";
}
@media (max-width: 374px) {
  .faqTabBox__answer .faqTabBox__initial::before{
    width: 34px;
    height: 34px;
    font-size: 18px;
  }
}



/*  faqTabBox__textLink
------------------------*/
.faqTabBox__textLink {
  display: inline-block;
  position: relative;
  padding: 0 .2em;
  color: #00b0e3;
  text-decoration: none;
  cursor: pointer;
}

.faqTabBox__textLink:hover {
  text-decoration: underline;
}



/* =====================
  faqTabBox__answerChild
===================== */
.faqTabBox__answerChild {
  padding: 0 0 12px 60px;
}
@media (max-width: 374px) {
  .faqTabBox__answerChild {
    padding: 0 0 12px 46px;
  }
}



/* =====================
  faqTabBox__answerChild--test
===================== */
.faqTabBox__answerChild--test {
  margin: 14px 0 0;
  padding: 0 0 0 60px;
}



/* =====================
  faqTabBox__testGroup
===================== */
.faqTabBox__testGroup {
  display: table;
  width: 100%;
  margin-bottom: 8px;
  table-layout: fixed;
}


/*  testTitle
------------------------*/
.testTitle {
  display: table-cell;
  width: 100px;
  font-weight: 500;
  letter-spacing: .08em;
}
@media (max-width: 768px) {
  .testTitle{
    display: block;
  }
}



/* =====================
  faqTabBox__testList
===================== */
.faqTabBox__testList {
  display: table-cell;
  list-style: none;
}
@media (max-width: 768px) {
  .faqTabBox__testList {
    display: block;
    margin-top: 10px;
  }
}


/*  faqTabBox__testItem
------------------------*/
.faqTabBox__testItem {
  display: inline-block;
  width: 7em;
  margin: 0 10px 12px 0;
  text-align: center;
}
@media (max-width: 768px) {
  .faqTabBox__testItem {
    margin: 0 8px 10px 0;
  }
}


/*  faqTabBox__testLink
------------------------*/
.faqTabBox__testLink {
  display: block;
  border: 1px solid #00b0e3;
  border-radius: 20px;
  background-color: rgba(0,176,227, .1);
  color: #00b0e3;
  line-height: 38px;
  text-decoration: none;
  transition: all .5s;
}

.faqTabBox__testLink:hover {
  background-color: rgba(0,176,227, 1);
  color: #fff;
}

.faqTabBox__testGroup--answer .faqTabBox__testLink {
  border: 1px solid #6dd69a;
  background-color: rgba(109,221,105, .1);
  color: #6dd69a;
}

.faqTabBox__testGroup--answer .faqTabBox__testLink:hover {
  background-color: rgba(109,221,105, 1);
}



/* =====================
  faqTabBox__answerChild--occupationList
===================== */
.faqTabBox__answerChild--occupationList {
  display: flex;
  margin-right: -4px;
  flex-wrap: wrap;
}
@media (max-width: 374px) {
  .faqTabBox__answerChild--occupationList {
    padding: 0 0 12px 46px;
  }
}


/*  faqTabBox__occupationItem
------------------------*/
.faqTabBox__occupationItem {
  display: flex;
  flex-grow: 1;
  position: relative;
  width: calc(100% / 3);
  padding: 0 4px 4px 0;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .faqTabBox__occupationItem{
    width: calc(100% / 2);
    min-width: 200px;
  }
}


/*  faqTabBox__occupationLink
------------------------*/
.faqTabBox__occupationLink {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 14px 32px 14px 14px;
  background-color: #eee;
  color: #00b0e3;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: .08em;
  text-decoration: none;
}

.faqTabBox__occupationLink::after {
  position: absolute;
  top: 0;
  right: 14px;
  bottom: 0;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 2px solid #00b0e3;
  border-right: 2px solid #00b0e3;
  content: "";
  transition: all .25s;
}

.faqTabBox__occupationLink:hover::after {
  right: 9px;
}






























