@charset "UTF-8";
/* -----------------------------------------------------------------
reset
----------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* -----------------------------------------------------------------
Base
----------------------------------------------------------------- */
html {
  height: 100%;
  min-height: 100%;
  width: 100%;
  font-size: 62.5%;
}

body {
  background: #ffffff;
  width: 100%;
  height: 100%;
  min-height: 100%;
  color: #142c41;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  font-size: 16px;
}

a {
  color: #142c41;
  text-decoration: none;
}

a:visited {
  color: #142c41;
}

a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
}

/* -----------------------------------------------------------------
layout
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
768px以下 スマホ表示
769px以上 PC表示
----------------------------------------------------------------- */
body {
  line-height: 1.5;
}

.break--pc {
  display: none;
}

.break--sp {
  display: block;
}

.display--pc {
  display: none;
}

.display--sp {
  display: block;
}

main {
  position: relative;
}

.btnBase {
  position: relative;
  display: block;
  background-color: #ffffff;
  width: 240px;
  padding: 12px 40px;
  border: solid 1px #4f4f4f;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.4rem;
}

.btnBase.btn--arrow {
  position: relative;
  width: 240px;
  margin: 0 auto;
}

.btnBase.btn--arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  width: 12px;
  height: 7px;
  margin: auto;
  display: block;
  background: url(../img/icon_arrow_01.png) no-repeat;
  background-size: auto 7px;
  content: "";
}

.btnBase.btn--external {
  position: relative;
  width: 240px;
  margin: 0 auto;
}

.btnBase.btn--external::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  width: 15px;
  height: 12px;
  margin: auto;
  display: block;
  background: url(../img/icon_external_01.png) no-repeat;
  background-size: auto 12px;
  content: "";
}

.btnBase--windowRevers {
  padding: 14px 40px;
}

.btnBase--windowRevers.btn--external::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  width: 15px;
  height: 12px;
  margin: auto;
  display: block;
  background: url(../img/icon_external_02.png) no-repeat;
  background-size: auto 12px;
  content: "";
}

.link--external {
  position: relative;
  word-wrap: break-word;
  word-break: break-all;
}

.link--external::after {
  position: absolute;
  bottom: 5px;
  right: -20px;
  width: 15px;
  height: 12px;
  display: block;
  background: url(../img/icon_external_01.png) no-repeat;
  background-size: auto 12px;
  content: "";
}

/* header
----------------------------------------------------------------- */
.logo {
  margin: 20px 10px 0;
  font-family: 'Poppins';
  font-weight: normal;
  font-size: 1.6rem;
}

.logo .bold {
  font-weight: bold;
  font-size: 1.2rem;
}

.message {
  margin: 90px 0 0 10px;
  line-height: 1.4;
  font-weight: bold;
  font-size: 3.2rem;
}

.highlight {
  display: inline-block;
  background: url(../img/markline.png) repeat-x left 30px;
  background-size: auto 12px;
}

.heading__lv2 {
  line-height: 1.2;
  font-family: 'Poppins';
  font-weight: bold;
  font-size: 3.2rem;
}

.heading .subscript {
  display: inline-block;
  margin-top: 10px;
  font-family: inherit;
  font-weight: bold;
  font-size: 1.4rem;
}

/* what We Do
----------------------------------------------------------------- */
.whatWeDo {
  margin-top: 40px;
}

.whatWeDo__inner {
  margin: 0 20px;
}

.whatWeDo .heading {
  position: absolute;
  top: 118%;
  margin: 0 20px;
  text-align: center;
}

.whatWeDo__lead {
  text-align: left;
  margin-top: 20px;
  line-height: 1.6;
}

.whatWeDo__visual {
  position: relative;
  background: url(../img/top_visual_sp.png) no-repeat center center;
  background-size: cover;
  padding-top: 53%;
  margin: 0 -20px;
}

/* Design it Together
----------------------------------------------------------------- */
.together {
  margin-top: 220px;
}

.together__title {
  background: url(../img/icon_bar.png) no-repeat center 25px;
  background-size: auto 3px;
  padding-top: 45px;
  text-align: center;
  font-weight: bold;
  font-family: 'Poppins';
  font-size: 2.4rem;
}

.together__lead {
  margin-top: 25px;
  line-height: 1.6;
}

.service__category {
  padding-top: 120px;
}

.service__category + .service__category {
  padding-top: 110px;
}

.service__title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
}

.service--serviceDesign {
  background: url(../img/icon_service_design.png) no-repeat center 40px;
  background-size: auto 64px;
}

.service--uxDesign {
  background: url(../img/icon_ux_design.png) no-repeat center 30px;
  background-size: auto 64px;
}

.service--uiDesign {
  background: url(../img/icon_ui_design.png) no-repeat center 30px;
  background-size: auto 64px;
}

.service--artDirection {
  background: url(../img/icon_art_direction.png) no-repeat center 30px;
  background-size: auto 64px;
}

.serviceList__item + .serviceList__item {
  margin-top: 20px;
}

.serviceList__item__lead {
  margin-top: 15px;
  line-height: 1.71;
  font-size: 1.4rem;
}

.serviceList__item__detail {
  opacity: 0.75;
  font-size: 1.2rem;
}

/* Inhouse Product
----------------------------------------------------------------- */
.inhouse {
  background-color: #f1f5f8;
  margin-top: 40px;
}

.inhouse__title {
  background: url(../img/icon_bar.png) no-repeat center 5px;
  background-size: auto 3px;
  padding-top: 25px;
  text-align: center;
  font-family: 'Poppins';
  font-weight: bold;
  font-size: 1.8rem;
}

.inhouse__lead {
  margin-top: 10px;
  font-size: 1.4rem;
}

.inhouse__inner {
  padding: 20px;
}

.inhouse__image {
  margin: 0 -20px;
}

.inhouseService {
  margin-top: 30px;
}

.inhouseService__title {
  font-weight: bold;
  font-size: 1.4rem;
}

.inhouseService__detail {
  margin-top: 10px;
  font-size: 1.4rem;
}

/* works
----------------------------------------------------------------- */
.works {
  background-color: #f1f5f8;
  margin-top: 95px;
  padding-bottom: 60px;
}

.works__inner {
  padding: 10px;
}

.works .heading {
  position: relative;
  top: -2.8rem;
  text-align: center;
}

.worksArea + .worksArea {
  margin-top: 60px;
}

.worksArea__title {
  line-height: 1.3;
  font-weight: bold;
  font-size: 2.4rem;
}

.worksArea__body {
  padding: 0 30px;
}

.worksArea__inCharge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
  font-size: 1.0rem;
}

.worksArea__lead {
  margin-top: 20px;
  font-size: 1.4rem;
}

.worksArea__btn {
  margin-top: 20px;
  text-align: center;
}

.inCharge__detail {
  display: inline-block;
  background-color: #dae1e7;
  padding: 5px 10px;
  margin: 10px 10px 0 0;
  text-align: center;
  border-radius: 32.5px;
  font-family: 'Poppins';
}

.inCharge__detail:nth-child(3n) {
  margin-right: 0;
}

/* client
----------------------------------------------------------------- */
.client__title {
  text-align: center;
  font-family: 'Poppins';
  font-weight: bold;
  font-size: 1.8rem;
}

.client__inner {
  padding: 40px 10px;
}

.client__inner::after {
  content: "";
  display: table;
  clear: both;
}

.clientList {
  text-align: center;
}

.clientList__item {
  float: left;
  width: 50%;
  margin-top: 20px;
}

.clientList__item img {
  height: 48px;
}

.clientList__item:nth-child(2n+1) {
  clear: left;
}

.clientList::after {
  content: "";
  display: table;
  clear: both;
}

/* freeCheck
----------------------------------------------------------------- */
.freeCheck {
  position: relative;
  background: url(../img/free_check_sp.png) no-repeat center center;
  background-size: cover;
  color: #ffffff;
}

.freeCheck__inner {
  position: relative;
  padding: 40px 20px;
  z-index: 2;
}

.freeCheck .heading__lv2 {
  line-height: 1.2;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 3.0rem;
}

.freeCheck .heading__lv2 span {
  font-weight: normal;
}

.freeCheck__lead {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: bold;
}

.freeCheck .note {
  margin-top: 25px;
  font-size: 1.2rem;
}

.freeCheck .note li + li {
  margin-top: 25px;
}

.freeCheck__btn {
  text-align: center;
}

.freeCheck .btnBase {
  background-color: #15b7f2;
  border: 0;
  margin-top: 30px;
  color: #ffffff;
}

.freeCheck::after {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 4, 31, 0.6);
  width: 100%;
  height: 100%;
  content: "";
  z-index: 1;
}

/* recruit
----------------------------------------------------------------- */
.recruit__inner {
  padding: 30px 10px;
}

.recruit__lead {
  margin-top: 30px;
  font-size: 1.8rem;
}

.recruit__text {
  margin-top: 15px;
  font-size: 1.4rem;
}

.recruit__btn {
  margin-top: 40px;
  text-align: center;
}

.jobCategory {
  margin-top: 40px;
  border-bottom: 1px solid #dae1e7;
}

.jobCategory__title {
  border-top: 1px solid #dae1e7;
  padding: 14px 0;
  font-size: 1.4rem;
}

.jobCategory__title span {
  position: relative;
  display: inline-block;
  width: 100%;
}

.jobCategory__title span::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  display: block;
  background: url(../img/icon_toggle.png) no-repeat right 0;
  background-size: 16px auto;
  width: 16px;
  height: 16px;
  content: "";
}

.jobCategory__title.active {
  font-weight: bold;
}

.jobCategory__title.active span::after {
  background: url(../img/icon_toggle.png) no-repeat right -30px;
  background-size: 16px auto;
}

.jobCategory__detail {
  display: none;
  padding: 20px 0;
}

.jobCategory__detail + .jobCategory__detail {
  border-top: 1px solid #dae1e7;
}

.jobCategory__detailText {
  font-size: 1.4rem;
}

.detailInfo__title {
  margin-top: 30px;
  font-weight: bold;
  font-size: 1.4rem;
}

.detailInfo__text {
  font-size: 1.4rem;
}

.discList__item {
  line-height: 2;
  list-style: disc;
  margin-left: 35px;
}

/* other
----------------------------------------------------------------- */
.other {
  margin: 35px 10px 0;
}

.other__inner {
  padding-bottom: 40px;
}

/* about
----------------------------------------------------------------- */
.about {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #dae1e7;
}

.about__btn, .contact__btn {
  margin-top: 30px;
  text-align: center;
}

.about .detailInfo {
  margin-top: 20px;
}

.about .detailInfo__title {
  margin-top: 0;
}

/* contact
----------------------------------------------------------------- */
.contact__lead {
  margin-top: 30px;
  font-size: 1.8rem;
}

.contact__text {
  margin-top: 25px;
  font-size: 1.4rem;
}

/* TOPへ戻るボタン
----------------------------------------------------------------- */
.btnTop {
  position: fixed;
  bottom: 10px;
  right: 20px;
  display: none;
  background-color: #000000;
  width: 48px;
  height: 48px;
  padding-top: 13px;
  text-align: center;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 10;
}

.btnTop img {
  width: 10px;
}

/* frontend
----------------------------------------------------------------- */
.frontend {
  text-align: center;
  padding-top: 30px;
  border-top: 1px solid #dae1e7;
}

.frontend__btn {
  text-align: center;
}

/* footer
----------------------------------------------------------------- */
.copyright {
  padding: 15px 0 100px;
  margin-top: 30px;
  border-top: 1px solid #dae1e7;
  text-align: center;
  color: #9b9b9b;
  font-size: 1.2rem;
}

/* margin
---------------------------------*/
.mgb0--pc {
  margin-bottom: 0px !important;
}

.mgb5--pc {
  margin-bottom: 5px !important;
}

.mgb10--pc {
  margin-bottom: 10px !important;
}

.mgb15--pc {
  margin-bottom: 15px !important;
}

.mgb20--pc {
  margin-bottom: 20px !important;
}

.mgb25--pc {
  margin-bottom: 25px !important;
}

.mgb30--pc {
  margin-bottom: 30px !important;
}

.mgb35--pc {
  margin-bottom: 35px !important;
}

.mgb40--pc {
  margin-bottom: 40px !important;
}

.mgb45--pc {
  margin-bottom: 45px !important;
}

.mgb50--pc {
  margin-bottom: 50px !important;
}

.mgb55--pc {
  margin-bottom: 55px !important;
}

.mgb60--pc {
  margin-bottom: 60px !important;
}

@media screen and (min-width: 769px) {
  .break--pc {
    display: block;
  }
  .break--sp {
    display: none;
  }
  .display--pc {
    display: block;
  }
  .display--sp {
    display: none;
  }
  body {
    position: relative;
    max-width: 1920px;
    line-height: 1.5;
  }
  .btnBase {
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
  }
  .btnBase:hover {
    background: #000000;
    color: #ffffff;
  }
  .btnBase.btn--arrow:hover::after {
    background: url(../img/icon_arrow_02.png) no-repeat;
    background-size: auto 7px;
  }
  .btnBase.btn--external:hover::after {
    background: url(../img/icon_external_02.png) no-repeat;
    background-size: auto 12px;
  }
  /* アンカー停止位置調整
    ----------------------------------------------------------------- */
  #ancWhatWeDo,
  #ancRecruit {
    margin-top: -85px;
    padding-top: 85px;
  }
  #ancWorks {
    margin-top: -125px;
    padding-top: 125px;
  }
  /* header
    ----------------------------------------------------------------- */
  header {
    width: 1420px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .logo {
    margin: 40px 0 0;
    font-size: 2.8rem;
  }
  .logo .bold {
    font-size: 2.2rem;
  }
  .logo a:hover {
    text-decoration: none;
  }
  .message {
    width: 1420px;
    margin: 265px auto 130px;
    padding: 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    line-height: 1.6;
    font-size: 6.4rem;
  }
  .highlight {
    background: url(../img/markline.png) repeat-x left 64px;
    background-size: auto 17px;
  }
  .heading__lv2 {
    font-size: 4.8rem;
  }
  .heading .subscript {
    margin-top: 0;
  }
  .localNav {
    position: fixed;
    right: 215px;
    margin-top: -20px;
    z-index: 40;
  }
  .localNavList {
    background-color: #ffffff;
    width: 185px;
    padding: 40px 50px 40px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    opacity: .7;
  }
  .localNavList__item {
    text-align: right;
    font-size: 1.4rem;
  }
  .localNavList__item a {
    position: relative;
    font-family: 'Poppins';
  }
  .localNavList__item a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -20px;
    border: 1px solid #142c41;
    background-color: #ffffff;
    margin: auto 0;
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    content: "";
  }
  .localNavList__item a.active::after {
    background-color: #142c41;
  }
  .localNavList__item + .localNavList__item {
    margin-top: 15px;
  }
  .localNav.fixed {
    top: 120px;
  }
  /* what We Do
    ----------------------------------------------------------------- */
  .whatWeDo {
    width: 100%;
    margin: 0;
  }
  .whatWeDo__inner {
    margin: 0;
  }
  .whatWeDo .heading {
    position: relative;
    top: 124px;
    width: 1420px;
    margin: 0 auto;
    padding: 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: left;
  }
  .whatWeDo .heading__lv2 {
    margin-top: 0;
  }
  .whatWeDo__lead {
    margin-top: 20px;
    font-size: 2.6rem;
  }
  .whatWeDo__lead span {
    display: inline-block;
    background-color: #ffffff;
    padding: 10px 5px;
    line-height: 1.2;
  }
  .whatWeDo__visual {
    background: url(../img/top_visual_pc.png) no-repeat center center;
    background-size: cover;
    padding-top: 0;
    min-height: 480px;
    margin: 0;
  }
  /* Design it Together
    ----------------------------------------------------------------- */
  .together {
    width: 1420px;
    margin: 90px auto 190px;
    padding: 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .together__title {
    background: url(../img/icon_bar.png) no-repeat left center;
    background-size: auto 3px;
    padding: 0 0 0 50px;
    text-align: left;
    font-size: 3.0rem;
  }
  .together__lead {
    margin: 20px 0 0 45px;
    line-height: 1.9;
    font-size: 2.6rem;
  }
  .together::after {
    content: "";
    display: table;
    clear: both;
  }
  .service {
    float: right;
    width: 570px;
    margin: 90px 55px 0 0;
  }
  .service__category {
    padding: 0 0 0 80px;
  }
  .service__category + .service__category {
    margin-top: 50px;
    padding-top: 0;
  }
  .service__title {
    text-align: left;
  }
  .service--serviceDesign {
    background: url(../img/icon_service_design.png) no-repeat left top;
    background-size: auto 48px;
  }
  .service--uxDesign {
    background: url(../img/icon_ux_design.png) no-repeat left top;
    background-size: auto 48px;
  }
  .service--uiDesign {
    background: url(../img/icon_ui_design.png) no-repeat left top;
    background-size: auto 48px;
  }
  .service--artDirection {
    background: url(../img/icon_art_direction.png) no-repeat left top;
    background-size: auto 48px;
  }
  .service::after {
    content: "";
    display: table;
    clear: both;
  }
  .serviceList__item + .serviceList__item {
    margin-top: 5px;
  }
  .serviceList__item__lead {
    margin-top: 20px;
    line-height: 1.6;
    font-size: 1.6rem;
  }
  /* Inhouse Product
    ----------------------------------------------------------------- */
  .inhouse {
    position: relative;
    float: left;
    width: 570px;
    margin: 45px 0 0 45px;
  }
  .inhouse__title {
    background: url(../img/icon_bar.png) no-repeat left center;
    background-size: auto 2px;
    padding: 0 0 0 30px;
    text-align: left;
    font-size: 2.0rem;
  }
  .inhouse__lead {
    margin: 15px 0 0 30px;
    font-size: 1.6rem;
  }
  .inhouse__inner {
    padding: 50px 50px 120px;
  }
  .inhouse__image {
    position: absolute;
    top: 295px;
    left: -45px;
    margin: 0;
  }
  .inhouse__image img {
    width: 570px;
  }
  .inhouse::after {
    content: "";
    display: table;
    clear: both;
  }
  .inhouseService {
    margin: 40px 0 0 30px;
  }
  .inhouseService__title {
    font-size: 1.8rem;
  }
  .inhouseService__detail {
    margin-top: 10px;
    font-size: 1.6rem;
  }
  /* works
    ----------------------------------------------------------------- */
  .works {
    position: relative;
    margin-top: 0;
    padding-bottom: 455px;
  }
  .works__inner {
    width: 1420px;
    margin: 0 auto;
    padding: 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .works .heading {
    position: relative;
    top: -2.0em;
    text-align: left;
  }
  .worksArea {
    margin-top: 45px;
  }
  .worksArea + .worksArea {
    margin-top: 90px;
  }
  .worksArea__title {
    font-family: 'Poppins';
    margin-top: 0;
    font-weight: 600;
    font-size: 3.0rem;
  }
  .worksArea__body {
    width: 300px;
    padding: 0;
    margin-top: 50px;
  }
  .worksArea__lead {
    font-size: 1.6rem;
  }
  .worksArea__btn {
    margin-top: 35px;
    text-align: center;
  }
  .worksArea .btnBase.btn--arrow {
    margin: 0;
  }
  .worksArea:last-child {
    position: absolute;
    bottom: -128px;
    width: 1340px;
  }
  .worksArea--imageRight .worksArea__image {
    float: right;
  }
  .worksArea--imageRight .worksArea__body {
    float: left;
  }
  .worksArea--imageLeft .worksArea__image {
    float: left;
  }
  .worksArea--imageLeft .worksArea__body {
    float: right;
  }
  .worksArea::after {
    content: "";
    display: table;
    clear: both;
  }
  /* client
    ----------------------------------------------------------------- */
  .client {
    width: 1420px;
    margin: 0 auto;
  }
  .client__title {
    margin-bottom: 20px;
    font-weight: bold;
  }
  .client__inner {
    width: 1340px;
    margin: 0 auto;
    padding: 210px 0 90px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .clientList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .clientList__item {
    float: none;
    width: auto;
  }
  .clientList__item + .clientList__item {
    margin-left: 50px;
  }
  .clientList__item + .clientList__item:nth-child(5n+1) {
    margin-left: 0;
  }
  .clientList__item img {
    height: 80px;
  }
  /* freeCheck
    ----------------------------------------------------------------- */
  .freeCheck {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: url(../img/free_check_pc.png) no-repeat center center;
    background-size: cover;
    height: 402px;
  }
  .freeCheck__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: none;
    width: 1240px;
    margin: 0 auto;
  }
  .freeCheck__lead {
    margin-top: 30px;
    line-height: 2;
    font-size: 1.8rem;
  }
  .freeCheck .note {
    margin-top: 30px;
    font-size: 1.4rem;
  }
  .freeCheck .note li + li {
    margin-top: 0;
  }
  .freeCheck .btnBase:hover {
    background-color: #006ed1;
  }
  /* recruit
    ----------------------------------------------------------------- */
  .recruit .heading__lv2 {
    font-size: 3.0rem;
  }
  .recruit__inner {
    width: 1240px;
    margin: 0 auto;
    padding: 90px 0 50px;
    -webkit-box-shadow: border-box;
            box-shadow: border-box;
  }
  .recruit__btn {
    margin-top: 50px;
  }
  .jobCategory {
    margin-top: 20px;
  }
  .jobCategory__title {
    padding: 25px 0;
    cursor: pointer;
    font-size: 1.6rem;
  }
  .jobCategory__title span::after {
    background: url(../img/icon_toggle.png) no-repeat right 0;
    background-size: 24px auto;
    width: 24px;
    height: 24px;
  }
  .jobCategory__title.active span::after {
    background: url(../img/icon_toggle.png) no-repeat right -45px;
    background-size: 24px auto;
  }
  .jobCategory__title:hover {
    background-color: #e3ebf1;
  }
  .jobCategory__detail {
    padding: 10px 0 30px;
  }
  .jobCategory__detailText {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .jobCategory .detailInfo {
    margin-left: 50px;
  }
  .jobCategory .detailInfo__title {
    margin-top: 20px;
  }
  /* other
    ----------------------------------------------------------------- */
  .other {
    width: 1240px;
    margin: 0 auto;
  }
  .other .heading__lv2 {
    font-size: 3.0rem;
  }
  .other__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 50px 0;
  }
  /* about
    ----------------------------------------------------------------- */
  .about {
    width: 620px;
    margin-bottom: 0;
    border-bottom: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .about__inner {
    min-height: 200px;
    padding: 30px 100px 30px 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .about__btn, .contact__btn {
    margin-top: 50px;
  }
  .about .detailInfo {
    margin-top: 30px;
  }
  .about .detailInfo__title {
    float: left;
  }
  .about .detailInfo__text {
    margin-left: 90px;
  }
  /* contact
    ----------------------------------------------------------------- */
  .contact {
    width: 620px;
    border-left: 1px solid #dae1e7;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .contact__inner {
    min-height: 200px;
    padding: 30px 0 30px 100px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .contact__lead {
    margin-top: 30px;
  }
  .contact__text {
    margin-top: 30px;
  }
  /* TOPへ戻るボタン
    ----------------------------------------------------------------- */
  .btnTop {
    bottom: 20px;
    right: 70px;
    width: 72px;
    height: 72px;
    padding-top: 20px;
    cursor: pointer;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
  }
  .btnTop img {
    width: 15px;
  }
  .btnTop:hover {
    background-color: #555555;
  }
  /* frontend
    ----------------------------------------------------------------- */
  .frontend {
    padding-top: 40px;
  }
  .frontend .btnBase {
    width: 480px;
    padding: 22px 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  /* footer
    ----------------------------------------------------------------- */
  .copyright {
    padding: 20px 0 60px;
    margin-top: 40px;
  }
}

@media all and (-ms-high-contrast: none) {
  :root .localNav.fixed {
    right: 215px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1440px) {
  .localNav {
    right: 30px;
  }
}

/* -----------------------------------------------------------------
works
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
768px以下 スマホ表示
769px以上 PC表示
----------------------------------------------------------------- */
/* header and nav
----------------------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 50%;
  width: 100%;
  border-bottom: 1px solid #dae1e7;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 50;
}

.header__nav__inner {
  position: relative;
  background-color: #ffffff;
  height: 50px;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.header__nav .logo {
  position: absolute;
  top: 7px;
  left: 10px;
  margin: 0;
  font-size: 2.4rem;
  z-index: 10;
}

.header__nav .logo .bold {
  font-size: 1.8rem;
}

.header__nav .menu {
  position: relative;
  width: 30px;
  height: 20px;
}

.header__nav .menu__wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  width: 30px;
  height: 20px;
  margin: auto 0;
}

.header__nav .menu span {
  position: absolute;
  left: 0;
  display: inline-block;
  background-color: #455a64;
  width: 100%;
  height: 2px;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.header__nav .menu span:nth-of-type(1) {
  top: 0;
}

.header__nav .menu span:nth-of-type(2) {
  top: 9px;
}

.header__nav .menu span:nth-of-type(3) {
  bottom: 0;
}

.header__nav .menu--close span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
      -ms-transform: translateY(10px) rotate(-45deg);
          transform: translateY(10px) rotate(-45deg);
}

.header__nav .menu--close span:nth-of-type(2) {
  opacity: 0;
}

.header__nav .menu--close span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
      -ms-transform: translateY(-8px) rotate(45deg);
          transform: translateY(-8px) rotate(45deg);
}

.header__nav .menuList {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 60;
  margin: 0 -10px;
}

.header__nav .menuList__inner {
  position: relative;
  background-color: #ffffff;
  padding: 50px 10px 10px;
}

.header__nav .menuList__inner .menu {
  position: absolute;
  top: 14px;
  right: 10px;
}

.header__nav .menuCategory {
  border-bottom: 1px solid #dae1e7;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.header__nav .menuCategory__title {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 3.0rem;
}

.header__nav .menuCategory__page {
  margin-top: 10px;
}

.header__nav .menuCategory .discList__item {
  margin-left: 27px;
  font-size: 1.6rem;
}

.header__nav .menuCategory .discList__item + .pageList__item {
  margin-top: 15px;
}

.worksDetail .heading {
  margin: 15px 10px 0;
}

.worksDetail .heading__lv2 {
  font-size: 1.8rem;
}

.worksDetail .heading__lv3 {
  margin-top: 30px;
  line-height: 1.3;
  font-weight: bold;
  font-size: 2.4rem;
}

.worksDetail .heading__lv4 {
  margin-top: 20px;
  font-weight: bold;
  font-size: 1.4rem;
}

.worksDetail .heading .subscript {
  position: relative;
  top: -1.0em;
  font-size: 1.0rem;
}

.worksDetail__content {
  margin: 0 20px;
}

.worksDetail__company .heading__lv3 {
  margin: 10px 10px 0;
  line-height: 1.3;
  font-family: 'Poppins';
  font-weight: normal;
  font-size: 3.0rem;
}

.worksDetail__company .heading__lv3 .bold {
  font-weight: bold;
}

.worksDetail__company__lead {
  margin: 15px 10px 0;
  line-height: 1.6;
  font-weight: bold;
  font-size: 1.4rem;
}

.worksDetail__company__visual {
  margin-top: 25px;
  padding-top: 80%;
}

.worksDetail__company__visual--ana {
  background: url(../../works/img/works_visual_ana_sp.png) no-repeat center center;
  background-size: cover;
}

.worksDetail__company__visual--user {
  background: url(../../works/img/works_visual_user_sp.png) no-repeat center center;
  background-size: cover;
}

.worksDetail__company__visual--catalog {
  background: url(../../works/img/works_visual_catalog_sp.png) no-repeat center center;
  background-size: cover;
}

.worksDetail__solution {
  margin-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #dae1e7;
}

.worksDetail__solution .heading__lv3 {
  font-size: 2.0rem;
  line-height: 1.6;
}

.worksDetail__solution__lead {
  margin-top: 20px;
  line-height: 1.6;
}

.worksDetail__solution .note {
  margin-top: 20px;
  font-size: 1.2rem;
  color: #777777;
}

.worksDetail .solutionInCharge {
  margin-top: 30px;
}

.worksDetail .solutionInCharge__title {
  font-weight: bold;
  font-size: 1.2rem;
}

.worksDetail .solutionInCharge__text {
  margin-top: 5px;
  font-size: 1.2rem;
}

.worksDetail .solutionInCharge + .solutionInCharge {
  margin-top: 10px;
}

.worksDetail__process {
  margin-top: 30px;
}

.worksDetail__process p {
  margin-top: 10px;
  line-height: 1.8;
  font-size: 1.4rem;
}

.worksDetail__process + .worksDetail__process {
  margin-top: 35px;
}

.worksDetail .process__explanation {
  padding-left: 25px;
}

.worksDetail .process__explanation__title {
  position: relative;
  margin-top: 15px;
  font-weight: bold;
  font-size: 1.4rem;
}

.worksDetail .process__explanation__title::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -15px;
  background-color: #142c41;
  width: 5px;
  height: 5px;
  margin: auto 0;
  content: "";
  border-radius: 50%;
}

.worksDetail .process__explanation__detail {
  margin-top: 5px;
  font-size: 1.4rem;
}

.pageLinkList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
      -ms-flex-align: top;
          align-items: top;
  padding: 30px 20px;
  margin-top: 30px;
  border-top: 1px solid #dae1e7;
}

.pageLinkList__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
      -ms-flex-align: top;
          align-items: top;
  width: 50%;
  min-height: 42px;
}

.pageLinkList__item--prev a {
  background: url(../../works/img/pagelink_arrow_prev_sp.png) no-repeat left 7px;
  background-size: auto 7px;
  padding: 0 20px;
}

.pageLinkList__item--next a {
  background: url(../../works/img/pagelink_arrow_next_sp.png) no-repeat right 7px;
  background-size: auto 7px;
  padding: 0 20px;
  text-align: right;
}

.pageLinkList__item a {
  display: inline-block;
  width: 100%;
  font-family: Hiragino Sans;
  font-weight: bold;
  font-size: 1.4rem;
}

.pageLinkList--right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

/* menu modal
----------------------------------------------------------------- */
.overlay {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  z-index: 40;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

@media screen and (min-width: 769px) {
  /* header and nav
    ----------------------------------------------------------------- */
  header {
    background-color: #ffffff;
    width: 100%;
    max-width: 1920px;
    border-bottom: 0;
  }
  header.fixed {
    width: 100%;
    border-bottom: 1px solid #dae1e7;
  }
  header.fixed .header__nav {
    border-bottom: 0;
  }
  .header__nav {
    width: 1420px;
    margin: 0 auto;
    border-bottom: 1px solid #dae1e7;
  }
  .header__nav__inner {
    height: 85px;
    padding: 25px 0;
  }
  .header__nav .heading {
    position: absolute;
    top: 13px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }
  .header__nav .heading__lv2 {
    font-size: 3.0rem;
  }
  .header__nav .logo {
    top: 20px;
    font-size: 2.8rem;
  }
  .header__nav .logo .bold {
    font-size: 2.2rem;
  }
  .header__nav .menu {
    cursor: pointer;
  }
  .header__nav .menu__wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 30px;
    height: 20px;
    margin: auto 0;
  }
  .header__nav .menuList {
    display: none;
    background-color: #ffffff;
    width: 1420px;
    margin: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .header__nav .menuList__inner {
    width: 980px;
    margin: 0 auto;
    padding: 150px 0 0;
  }
  .header__nav .menuList__inner .menu {
    top: 32px;
    right: -210px;
  }
  .header__nav .menuCategory {
    margin-bottom: 45px;
    padding-bottom: 45px;
  }
  .header__nav .menuCategory__title {
    font-size: 4.8rem;
  }
  .header__nav .menuCategory .discList__item {
    margin: 10px 0 0 27px;
    font-size: 2.0rem;
  }
  .header__nav .menuCategory .discList__item + .pageList__item {
    margin-top: 10px;
  }
  .worksDetail {
    width: 1420px;
    margin: 0 auto;
  }
  .worksDetail .heading__lv2 {
    font-size: 3.0rem;
  }
  .worksDetail .heading__lv3 {
    margin-top: 45px;
    font-size: 3.0rem;
  }
  .worksDetail .heading__lv4 {
    margin-top: 30px;
    font-size: 1.8rem;
  }
  .worksDetail .heading .subscript {
    font-size: 1.4rem;
  }
  .worksDetail__content {
    width: 800px;
    margin: 0 auto;
  }
  .worksDetail__company .heading__lv3 {
    margin: 180px 0 0 230px;
    font-family: 'Poppins';
    font-size: 4.8rem;
  }
  .worksDetail__company__lead {
    margin: 25px 0 0 230px;
    line-height: 1.6;
    font-weight: bold;
    font-size: 1.8rem;
  }
  .worksDetail__company__visual {
    margin-top: 40px;
    padding-top: 0;
    min-height: 640px;
  }
  .worksDetail__company__visual--ana, .worksDetail__company__visual--user {
    background: none;
  }
  .worksDetail__solution {
    margin-top: 45px;
    padding-bottom: 35px;
    border-bottom: 1px solid #dae1e7;
  }
  .worksDetail__solution .heading__lv3 {
    line-height: 1.3;
    font-size: 3.0rem;
  }
  .worksDetail__solution__lead {
    margin-top: 35px;
    font-size: 1.8rem;
  }
  .worksDetail__solution .note {
    margin-top: 20px;
    text-align: right;
  }
  .worksDetail .solutionInCharge {
    margin-top: 40px;
  }
  .worksDetail .solutionInCharge__title {
    float: left;
    font-size: 1.4rem;
  }
  .worksDetail .solutionInCharge__text {
    margin-left: 100px;
    font-size: 1.4rem;
  }
  .worksDetail .solutionInCharge::after {
    content: "";
    display: table;
    clear: both;
  }
  .worksDetail__process + .worksDetail__process {
    margin-top: 90px;
  }
  .worksDetail__process + .worksDetail__process p {
    margin-top: 15px;
    font-size: 1.6rem;
  }
  .worksDetail__process + .worksDetail__process p + .heading__lv4 {
    margin-top: 50px;
  }
  .worksDetail__process p {
    margin-top: 30px;
    font-size: 1.8rem;
  }
  .worksDetail .process__explanation__title {
    margin-top: 10px;
    font-size: 1.6rem;
  }
  .worksDetail .process__explanation__detail {
    font-size: 1.6rem;
  }
  .pageLinkList {
    margin: 0;
    margin-top: 100px;
    padding: 55px 30px;
  }
  .pageLinkList__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: auto;
  }
  .pageLinkList__item--prev a {
    background: url(../../works/img/pagelink_arrow_prev_pc.png) no-repeat left center;
    background-size: auto 16px;
    padding: 0 50px;
  }
  .pageLinkList__item--next a {
    background: url(../../works/img/pagelink_arrow_next_pc.png) no-repeat right center;
    background-size: auto 16px;
    padding: 0 50px;
  }
  .pageLinkList__item a {
    padding-top: 0;
    font-size: 1.8rem;
  }
}
