@charset "UTF-8";

@media screen and (min-width:768px) {
  /* --------------------------------------
	top
  -------------------------------------- */
  .top-main-visual img {
    width: 100%;
    vertical-align: top;
  }

  .top-news {
    display: table;
    width: 100%;
    padding: 30px 0;
  }
  .top-news__ttl, .top-news__list {
    display: table-cell;
    vertical-align: top;
  }
  .top-news__ttl {
    padding-right: 20px;
  }
  .top-news__list {
    font-size: 17px;
    padding-left: 20px;
  }

  /* コンテンツ */
  .top-cont-box {
    padding-bottom: 65px;
  }
  .top-cont-box > .frame {
    overflow: hidden;
    width: 1164px;
  }
  .top-cont-box__sec > a {
    display: table;
    height: 440px;
    font-size: 17px;
    color: #fff;
    text-align: center;
    position: relative;
  }
  .top-cont-box__sec > a::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    -webkit-transform: skew(-14.6deg);
    -ms-transform: skew(-14.6deg);
    transform: skew(-14.6deg);
    position: absolute;
    top: 0;
  }
  .top-cont-box__sec > a:hover {
    text-decoration: none;
  }
  .top-cont-box__sec > a:hover::before {
    background: rgba(255, 255, 255, 0.3);
  }
  .top-cont-box__sec > a:hover .m-heading-001 {
    text-decoration: underline \9;
  }
  .top-cont-box__sec > a:hover img {
    opacity: 1;
  }
  .top-cont-box__sec--about {
    width: 636px;
  }
  .top-cont-box__sec--about > a {
    width: 100%;
    background: url(/recruit/careers/_shared/images/top/sec_about_img.jpg) no-repeat 0 0;
  }
  .top-cont-box__sec--about > a::before {
    left: -57px;
  }
  .top-cont-box__sec--about .top-cont-box__sec__inner {
    left: -29px;
  }
  .top-cont-box__sec--workstyle {
    width: 645px;
    position: absolute;
    top: 0;
    right: 0;
  }
  .top-cont-box__sec--workstyle > a {
    width: 100%;
    background: url(/recruit/careers/_shared/images/top/sec_workstyle_img.png) no-repeat 0 0;
  }
  .top-cont-box__sec--workstyle > a::before {
    left: 57px;
  }
  .top-cont-box__sec--workstyle .top-cont-box__sec__inner {
    right: -29px;
  }
  .top-cont-box__sec--hr-policy-system {
    width: 638px;
  }
  .top-cont-box__sec--hr-policy-system > a {
    width: 100%;
    height: 450px;
    background: url(/recruit/careers/_shared/images/top/sec_hr_policy_system_img.jpg) no-repeat 0 0;
  }
  .top-cont-box__sec--hr-policy-system > a::before {
    left: -58px;
  }
  .top-cont-box__sec--hr-policy-system .top-cont-box__sec__inner {
    left: -29px;
  }
  .top-cont-box__sec--hr-policy-system .m-heading-001 span {
    text-shadow: 0 0 5px #777;
    filter: glow(color=#777, strength=5px);
  }
  .top-cont-box__sec--job-opening {
    width: 645px;
    position: absolute;
    top: 0;
    right: 0;
  }
  .top-cont-box__sec--job-opening > a {
    width: 100%;
    height: 450px;
    background: url(/recruit/careers/_shared/images/top/sec_job_opening_img.png) no-repeat right center;
    cursor: default;
  }
  .top-cont-box__sec--job-opening > a::before {
    width: 0;
    height: 0;
  }
  .top-cont-box__sec--job-opening .top-cont-box__sec__inner {
    right: -29px;
  }
  .top-cont-box__sec--job-opening .button-wrapper {
    width: 460px;
    margin: 0 auto;
    position: absolute;
    right: 0;
    bottom: 40px;
    left: 0;
    z-index: 1;
  }
  .top-cont-box__sec--job-opening .button-wrapper .button {
    float: left;
    margin-left: 20px;
  }
  .top-cont-box__sec--job-opening .button-wrapper .button:first-child {
    margin-left: 40px;
  }
  .top-cont-box__sec--job-opening .button-wrapper .button a {
    width: 200px;
    color: #fff;
    background-position: 90% 50%;
  }
  .top-cont-box__sec__inner {
    display: table-cell;
    vertical-align: middle;
    position: relative;
  }

  /* ------------------------------------------
    ABOUT
  ------------------------------------------ */
  .about-cont {
    color: #fff;
    padding: 45px 60px 55px;
    margin-bottom: 5px;
  }
  .about-cont-top {
    background: #5bc2dc url(/recruit/careers/_shared/images/about/about_img_001.jpg) no-repeat 100% 50%;
    padding: 85px 50px;
    margin-bottom: 5px;
  }
  .about-cont-top__ttl {
    display: inline-block;
    font-weight: bold;
    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
    font-size: 40px;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 30px;
  }
  .about-cont-top__btn {
    width: 430px;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    background: #fdfa11 url(/recruit/careers/_shared/images/about/arrow_bk.png) no-repeat 374px 50%;
    padding: 20px 0;
  }
  .about-cont-top__btn:hover {
    text-decoration: none;
    opacity: .7;
  }
  .about-cont--002 {
    background: url(/recruit/careers/_shared/images/about/about_img_002.jpg) no-repeat 50% 50%;
  }
  .about-cont--003 {
    background: #a67831 url(/recruit/careers/_shared/images/about/about_img_003.png) no-repeat 100% 50%;
  }
  .about-cont--004 {
    background: url(/recruit/careers/_shared/images/about/about_img_004.jpg) no-repeat 50% 50%;
  }
  .about-cont__ttl {
    font-weight: bold;
    font-size: 40px;
    margin-bottom: 25px;
  }
  .about-cont__description {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 35px;
  }
  .about-cont__btn {
    width: 265px;
    font-size: 16px;
    text-align: center;
    background: url(/recruit/careers/_shared/images/about/arrow.png) no-repeat 233px 50%;
    border: 2px solid #fff;
    padding: 12px 0;
  }
  .about-cont__btn:hover {
    text-decoration: none;
    background-color: rgba(255, 255, 255, 0.25);
  }

  /* ------------------------------------------
    WORKSTYLE
  ------------------------------------------ */
  .workstyle-col {
    margin-bottom: 80px;
  }
  .workstyle-col__img {
    float: right;
    margin-left: 80px;
  }
  .workstyle-col__img--message {
    float: left;
    width: 345px;
    margin-left: 0;
  }
  .workstyle-col__txt--message {
    float: left;
    width: 740px;
    padding-right: 75px;
    margin: -65px 0 0 75px;
  }

  .workstyle-message__ttl {
    display: table;
    height: 127px;
    font-weight: bold;
    font-size: 34px;
    color: #5bc2dc;
    background: url(/recruit/careers/_shared/images/workstyle/speech_balloon.png) no-repeat 100% 100%;
    padding-right: 170px;
    margin-bottom: 40px;
  }
  .workstyle-message__ttl span {
    display: table-cell;
    vertical-align: bottom;
  }
  .workstyle-message .workstyle-col {
    margin-bottom: 215px;
  }

  /* ------------------------------------------
    HR POLICY&SYSTEM
  ------------------------------------------ */
  .policy-link {
    padding-bottom: 220px;
  }
  .policy-link__list {
    display: table;
  }
  .policy-link__item {
    display: table-cell;
    padding-right: 50px;
  }
  .policy-link__item a {
    display: inline-block;
    height: 26px;
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    color: #5bc2dc;
    background: url(/recruit/careers/_shared/images/policy/arrow.png) no-repeat 0 50%;
    padding-left: 35px;
  }

}
@media screen and (max-width:768px) {
  /* --------------------------------------
	top
  -------------------------------------- */
  .top-main-visual {
    margin-bottom: 20px;
  }
  .top-main-visual img {
    width: 100%;
    vertical-align: top;
  }

  .top-news {
    margin-bottom: 20px;
  }
  .top-news__heading {
    margin-bottom: 10px;
  }

  .top-category-article {
    text-align: center;
    margin-bottom: 10px;
  }
  .top-category-article > a:first-of-type {
    display: block;
  }
  .top-category-article__description {
    font-size: 1.083em;
  }

  .top-con-001 > a {
    background: url(/recruit/careers/_shared/images/top/con_001_img.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 25% 0;
  }

  .top-con-002 > a {
    background: url(/recruit/careers/_shared/images/top/con_002_img.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 25% 0;
  }

  .top-con-003 > a {
    background: url(/recruit/careers/_shared/images/top/con_003_img.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 19.6% 0;
  }
  .top-con-003 .m-heading-001 span {
    text-shadow: 0 0 6px #666;
  }

  .top-con-004 {
    position: relative;
  }
  .top-con-004 > a {
    display: block;
    background: url(/recruit/careers/_shared/images/top/con_004_img.jpg) no-repeat 50% 50%;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 25% 0 45%;
    cursor: default;
  }
  .top-con-004 .button-wrapper {
    width: 100%;
    position: absolute;
    bottom: 30px;
  }
  .top-con-004 .button-wrapper .button {
    margin-top: 10px;
  }
  .top-con-004 .button-wrapper .button:first-child {
    margin-top: 0;
  }
  .top-con-004 .button-wrapper .button a {
    color: #fff;
  }

  /* --------------------------------------
    about
  -------------------------------------- */
  .about-cont {
    color: #fff;
    padding: 18% 0;
    margin-bottom: 5px;
  }
  .about-cont-top {
    background: url(/recruit/careers/_shared/images/about/about_img_001.jpg) no-repeat 100% 50%;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 19% 0;
    margin-bottom: 5px;
  }
  .about-cont-top__ttl {
    text-align: center;
    margin-bottom: 20px;
  }
  .about-cont-top__btn {
    display: block;
    width: 65.625%;
    font-weight: bold;
    font-size: 1.083em;
    text-align: center;
    background: #fdfa11 url(/recruit/careers/_shared/images/about/arrow_bk.png) no-repeat 92% 50%;
    -webkit-background-size: 12px auto;
    background-size: 12px auto;
    padding: 15px 0;
    margin: 0 auto;
  }
  .about-cont--002 {
    background: url(/recruit/careers/_shared/images/about/about_img_002.jpg) no-repeat 50% 50%;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .about-cont--003 {
    background: url(/recruit/careers/_shared/images/about/about_img_003.jpg) no-repeat 100% 50%;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .about-cont--004 {
    background: url(/recruit/careers/_shared/images/about/about_img_004.jpg) no-repeat 50% 50%;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .about-cont__ttl {
    font-weight: bold;
    font-size: 1.583em;
    text-align: center;
    text-shadow: 0 0 5px #444, 0 0 6px #666;
    margin-bottom: 25px;
  }
  .about-cont__btn {
    display: block;
    width: 65.625%;
    font-size: 1.083em;
    text-align: center;
    background: url(/recruit/careers/_shared/images/about/arrow.png) no-repeat 92% 50%;
    -webkit-background-size: 12px auto;
    background-size: 12px auto;
    border: 1px solid #fff;
    padding: 15px 0;
    margin: 0 auto;
  }

  /* --------------------------------------
    workstyle
  -------------------------------------- */
  .workstyle-message {
    background: url(/recruit/careers/_shared/images/workstyle/speech_balloon.png) no-repeat 100% 0;
    -webkit-background-size: 83px auto;
    background-size: 83px auto;
    margin: 40px 0 90px;
  }
  .workstyle-message__ttl {
    font-weight: bold;
    font-size: 1.916em;
    color: #5bc2dc;
    padding-top: 20px;
    margin-bottom: 10px;
  }
  .workstyle-message__img {
    float: right;
    margin-left: 20px;
  }

  /* --------------------------------------
    policy
  -------------------------------------- */
  .policy-link {
    margin-bottom: 90px;
  }
  .policy-link__item {
    margin-bottom: 20px;
  }
  .policy-link__item a {
    display: inline-block;
    font-weight: bold;
    font-size: 1.083em;
    color: #5bc2dc;
    background: url(/recruit/careers/_shared/images/policy/arrow.png) no-repeat 0 50%;
    -webkit-background-size: 16px auto;
    background-size: 16px auto;
    padding-left: 22px;
  }
}