div#pagetitle > div {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div#pagetitle > div > p {
  color: #f5f5f5;
  font-family: 'Century Gothic';
}

div#contents {
  color: #3c3c3c;
}

div#contents h1 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
  font-weight: bold;
  line-height: 1em;
}

div#contents h1::before {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #f3a83b;
  content: "";
}

div#contents h2 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: bold;
  text-decoration: underline;
}

div#contents div.groupWrapper {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  border-collapse: collapse;
  background-color: #fff;
}

div#contents div.groupWrapper > h3 {
  font-weight: bold;
}

div#contents div.groupWrapper > hr {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  border: none;
  border-bottom: 1px solid #efefef;
}

div#contents div.groupWrapper > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  list-style-type: none;
}

div#contents div.groupWrapper > ul > li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

div#contents div.groupWrapper > ul > li > a {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background-color: #3c3c3c;
  color: #f4f4f4;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

div#contents ol.tableLayout {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  flex-direction: column;
  width: 100%;
  height: auto;
  border-radius: 10px;
  border-collapse: collapse;
  list-style-type: none;
}

div#contents ol.tableLayout > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
}

div#contents ol.tableLayout > li > div {
  position: relative;
}

div#contents ol.tableLayout > li > div:nth-child(1) {
  background-color: #e6f5ff;
}

div#contents ol.tableLayout > li > div:nth-child(1) > p {
  color: #3c3c3c;
  font-weight: bold;
}

div#contents ol.tableLayout > li > div:nth-child(2) {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  background-color: #fff;
}

div#contents ol.tableLayout > li > div:nth-child(2) a {
  -webkit-text-decoration-color: #8fe7ff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  padding-bottom: .1em;
  color: #64c8ff;
  text-decoration: underline;
  text-decoration-color: #8fe7ff;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}

div#contents ol.tableLayout > li > div:nth-child(2) h3 {
  font-weight: bold;
}

div#contents ol.tableLayout > li > div:nth-child(2) h3::before {
  display: inline-block;
  content: "\25A0";
}

div#contents a.box_arrow {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  margin-right: auto;
  margin-left: auto;
  border-radius: 5px;
  background-color: #3c3c3c;
  color: #f4f4f4;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

div#contents h3 {
  font-weight: bold;
}

div#contents h3::before {
  margin-right: .5em;
  content: "\25A0";
}

div#contents table.table_layout {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

div#contents table.table_layout th {
  padding-right: 1.5em;
}

div#contents table.table_layout td {
  padding-bottom: 1em;
}

@media all and (min-width: 768px) {
  div#pagetitle {
    background-image: url("//media.fromsoftware.jp/careers/en/resources/images/top/pc/pagetitle.png");
  }
  div#pagetitle > div {
    right: 0;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 60px;
  }
  div#pagetitle > div > p {
    font-size: 90px;
    line-height: 1.4em;
    letter-spacing: 4.6px;
  }
  div#contents h1 {
    padding-bottom: 29px;
    font-size: 30px;
  }
  div#contents h1::before {
    width: 100px;
    height: 2px;
  }
  div#contents h2 {
    padding-bottom: 14px;
    font-size: 20px;
    text-decoration-thickness: 6px;
    text-underline-offset: 8px;
  }
  div#contents div.groupWrapper {
    max-width: 1200px;
    padding: 26px 50px 45px;
    border-radius: 10px;
  }
  div#contents div.groupWrapper > h3 {
    font-size: 24px;
  }
  div#contents div.groupWrapper > hr {
    margin-top: 26px;
  }
  div#contents div.groupWrapper > ul {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  div#contents div.groupWrapper > ul > li {
    padding-top: 38px;
    padding-left: 38px;
  }
  div#contents div.groupWrapper > ul > li > a {
    -webkit-transition: background-color .4s ease;
    width: 360px;
    height: 86px;
    font-size: 18px;
    transition: background-color .4s ease;
  }
  div#contents div.groupWrapper > ul > li > a:hover {
    background-color: #64c8ff;
  }
  div#contents ol.tableLayout {
    margin-top: 58px;
  }
  div#contents ol.tableLayout > li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  div#contents ol.tableLayout > li > div {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  div#contents ol.tableLayout > li > div::before {
    position: absolute;
    bottom: 0;
    width: calc( 100% - 50px);
    height: 1px;
    background-color: #9b9b9b;
    content: "";
    opacity: 0.15;
  }
  div#contents ol.tableLayout > li > div:nth-child(1) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
  }
  div#contents ol.tableLayout > li > div:nth-child(1)::before {
    right: 0;
  }
  div#contents ol.tableLayout > li > div:nth-child(1) > p {
    font-size: 18px;
  }
  div#contents ol.tableLayout > li > div:nth-child(2) {
    width: 70%;
    padding: 46px 50px 46px 53px;
  }
  div#contents ol.tableLayout > li > div:nth-child(2)::before {
    left: 0;
  }
  div#contents a.box_arrow {
    -webkit-transition: background-color .4s ease;
    width: 360px;
    height: 86px;
    font-size: 18px;
    transition: background-color .4s ease;
  }
  div#contents a.box_arrow:hover {
    background-color: #64c8ff;
  }
}

@media all and (max-width: 767px) {
  div#pagetitle {
    background-image: url("//media.fromsoftware.jp/careers/en/resources/images/top/sp/pagetitle.png");
  }
  div#pagetitle > div {
    padding-top: 4.2vw;
    padding-left: 4.8vw;
  }
  div#pagetitle > div > p {
    font-size: 9vw;
    line-height: 1.2em;
    letter-spacing: 0.6vw;
  }
  div#contents h1 {
    padding-bottom: 6.7vw;
    font-size: 5.6vw;
  }
  div#contents h1::before {
    width: 18.5vw;
    height: 0.4vw;
  }
  div#contents h2 {
    padding-bottom: 3vw;
    font-size: 4.1vw;
    text-decoration-thickness: 1.1vw;
    text-underline-offset: 1.9vw;
  }
  div#contents div.groupWrapper {
    padding: 5.9vw 4vw 6.3vw;
    border-radius: 1vw;
  }
  div#contents div.groupWrapper > h3 {
    font-size: 3.9vw;
  }
  div#contents div.groupWrapper > hr {
    margin-top: 5.6vw;
  }
  div#contents div.groupWrapper > ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    flex-direction: column;
    justify-content: center;
  }
  div#contents div.groupWrapper > ul > li {
    padding-top: 9vw;
  }
  div#contents div.groupWrapper > ul > li > a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 78vw;
    padding: 7.0vw 5.6vw;
    font-size: 3.7vw;
  }
  div#contents ol.tableLayout {
    margin-top: 2em;
  }
  div#contents ol.tableLayout > li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  div#contents ol.tableLayout > li > div:nth-child(1) {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1em 0 1em 1em;
  }
  div#contents ol.tableLayout > li > div:nth-child(1) > p {
    font-size: 1.1em;
  }
  div#contents ol.tableLayout > li > div:nth-child(2) {
    padding: 2em 1em;
  }
  div#contents a.box_arrow {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 78vw;
    padding: 7.0vw 5.6vw;
    font-size: 3.7vw;
  }
}
