@charset "UTF-8";
/*--------------------------------------------------------------- */
/* index page */
/*--------------------------------------------------------------- */
.sec-slide-wrap .js-ss, .sec-recruit-wrap .sec-lead {
  display: block;
  overflow: hidden;
  text-indent: -9999px;
  background-repeat: no-repeat;
}

.sec-recruit-wrap #js-slide-ticker li a {
  transition: opacity .2s linear;
}

.sec-recruit-wrap #js-slide-ticker li a:hover {
  opacity: 0.7;
}

/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}

Example usage in HTML:

`display: block` sprite:
<div class="icon-home"></div>

To change `display` (e.g. `display: inline-block;`), we suggest using a common CSS class:

// CSS
.icon {
  display: inline-block;
}

// HTML
<i class="icon icon-home"></i>
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
/*-------------------------------------------> ページ共通スタイル */
#contents .block-sec-inner .txt {
  font-size: 14px;
  /* legacy */
  font-size: 0.875rem;
  /* modern */
  line-height: 2.14286em;
}

/*-------------------------------------------> フェードスライダー */
.sec-slide-wrap {
  width: 100%;
  height: 620px;
  position: relative;
  overflow: hidden;
  margin-bottom: 50px;
}

.sec-slide-wrap .block-op-wrap {
  width: 100%;
  height: 620px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}

.sec-slide-wrap .block-op-wrap #icon-logo {
  width: 216px;
  height: 120px;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 100;
}

.sec-slide-wrap .block-op-wrap #icon-logo svg .path {
  fill: rgba(255, 255, 255, 0);
  stroke: white;
  stroke-width: 1;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

.sec-slide-wrap .block-op-wrap #icon-logo.is-anim svg .path {
  -webkit-animation: DASH-W 2.5s ease-in-out .5s alternate forwards;
          animation: DASH-W 2.5s ease-in-out .5s alternate forwards;
}

body.ie .sec-slide-wrap .block-op-wrap #icon-logo.is-anim svg .path {
  opacity: 0;
  fill: white;
  -webkit-animation: ie-fadein 3s ease-in-out 1s alternate forwards;
          animation: ie-fadein 3s ease-in-out 1s alternate forwards;
}

.sec-slide-wrap .block-op-wrap figure {
  width: 100%;
  height: 620px;
  position: absolute;
  left: 0;
  top: 0;
}

.sec-slide-wrap .block-op-wrap figure img {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -1000px;
}

.sec-slide-wrap .block-slide-list {
  width: 100%;
  height: 620px;
  margin: auto;
  position: relative;
}

.sec-slide-wrap .block-slide-list li {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -1000px;
}

.sec-slide-wrap .js-ss {
  position: absolute;
  z-index: 20;
  bottom: 8px;
  left: 0;
  right: 0;
  margin: auto;
  width: 100px;
  height: 100px;
  display: block;
  background: url(/common/img/btn_pagetop.png) no-repeat center center;
  background-size: 70px auto;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-animation: scroll 3s ease infinite;
          animation: scroll 3s ease infinite;
}

.sec-slide-wrap .slide-lead {
  width: 650px;
  position: absolute;
  left: 0;
  right: 0;
  top: 250px;
  margin: auto;
  z-index: 20;
  height: 36px;
  overflow: hidden;
  color: #fff;
  font-size: 36px;
  /* legacy */
  font-size: 2.25rem;
  /* modern */
  line-height: 1em;
  font-style: italic;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  opacity: 0;
  letter-spacing: 1em;
}

.sec-slide-wrap .slide-lead.is-anim {
  -webkit-animation: lead 1.5s ease-in-out 1.5s forwards;
          animation: lead 1.5s ease-in-out 1.5s forwards;
}

/*-------------------------------------------> ABOUT TOSHIMA DENKI */
.sec-about-wrap {
  padding-top: 45px;
  margin-bottom: 76px;
}

.sec-about-wrap .block-sec-inner > h1 {
  margin-bottom: 57px;
}

.sec-about-wrap .block-sec-inner ul:after {
  content: "";
  display: block;
  clear: both;
}

.sec-about-wrap .block-sec-inner ul li {
  width: 300px;
  float: left;
  padding-right: 59px;
  margin-right: 60px;
  position: relative;
}

.sec-about-wrap .block-sec-inner ul li::after {
  content: '';
  width: 1px;
  height: 461px;
  position: absolute;
  right: 0;
  top: 13px;
  background: #d9d9d9;
}

.sec-about-wrap .block-sec-inner ul li:nth-child(3n) {
  width: 240px;
  padding-right: 0;
  margin-right: 0;
}

.sec-about-wrap .block-sec-inner ul li:nth-child(3n)::after {
  display: none;
}

.sec-about-wrap .block-sec-inner ul li figure svg {
  padding: 1px;
}

.sec-about-wrap .block-sec-inner ul li figure svg .path {
  fill: rgba(217, 22, 22, 0);
  stroke: #d91616;
  stroke-width: 1;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

body.ie .sec-about-wrap .block-sec-inner ul li figure svg .path {
  fill: #d91616;
  -webkit-animation: ie-fadein 3s ease-in-out 1s alternate forwards;
          animation: ie-fadein 3s ease-in-out 1s alternate forwards;
}

.sec-about-wrap .block-sec-inner ul li figure.is-anim svg .path {
  -webkit-animation: DASH-R 3s ease-in-out 1s alternate forwards;
          animation: DASH-R 3s ease-in-out 1s alternate forwards;
}

.sec-about-wrap .block-sec-inner ul li .txt {
  text-align: justify;
  height: 185px;
}

.sec-about-wrap .block-sec-inner ul li .txt span {
  margin-left: -0.5em;
}

.sec-about-wrap .block-sec-inner ul li:first-child {
  letter-spacing: 0;
}

/*-------------------------------------------> NEWS */
.sec-news-wrap {
  padding: 40px 0;
  background: #f5f5f7;
  margin-bottom: 96px;
}

.sec-news-wrap .block-sec-inner {
  padding: 0 30px;
}

.sec-news-wrap .block-sec-inner > h1 {
  margin-bottom: 22px;
}

.sec-news-wrap .block-sec-inner dl dt, .sec-news-wrap .block-sec-inner dl dd {
  font-size: 12px;
  /* legacy */
  font-size: 0.75rem;
  /* modern */
  line-height: 3em;
  letter-spacing: 0.06em;
}

.sec-news-wrap .block-sec-inner dl dt {
  color: #969799;
  width: 90px;
}

/*-------------------------------------------> RECRUIT */
.sec-recruit-wrap .sec-lead {
  width: 895px;
  height: 42px;
  margin: 0 auto 36px;
  background: url(/img/lead_recruit.png) no-repeat left top;
  background-size: 100% auto;
}

.sec-recruit-wrap #js-slide-ticker {
  width: 100%;
  height: 334px;
  overflow: hidden;
}

.sec-recruit-wrap #js-slide-ticker:after {
  content: "";
  display: block;
  clear: both;
}

.sec-recruit-wrap #js-slide-ticker li {
  float: left;
  margin-left: 10px;
  background: #ddd;
  width: 484px;
  height: 334px;
  -webkit-transform: skew(-6deg);
      -ms-transform: skew(-6deg);
          transform: skew(-6deg);
  overflow: hidden;
}

.sec-recruit-wrap #js-slide-ticker li a {
  height: 334px;
  display: block;
  opacity: 1;
}

.sec-recruit-wrap #js-slide-ticker li a img {
  width: auto;
  height: 100%;
  margin-left: -18px;
  -webkit-transform: skew(6deg);
      -ms-transform: skew(6deg);
          transform: skew(6deg);
}

.sec-recruit-wrap .block-sec-inner {
  display: table;
  position: relative;
  top: -78px;
}

.sec-recruit-wrap .block-sec-inner h2 {
  margin-bottom: 0;
}

.sec-recruit-wrap .m-cate-title {
  display: table-cell;
  vertical-align: bottom;
  padding-bottom: 35px;
}

.sec-recruit-wrap .m-cate-title figure {
  position: relative;
}

.sec-recruit-wrap .m-cate-title figure::before {
  content: '';
  width: 100px;
  height: 100px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: auto;
  opacity: 0;
  transition: opacity .1s linear;
  transition-delay: 2.8s;
}

.sec-recruit-wrap .m-cate-title figure svg {
  position: relative;
  z-index: 2;
}

.sec-recruit-wrap .m-cate-title figure svg .path {
  fill: rgba(217, 22, 22, 0);
  stroke: #d91616;
  stroke-width: 1;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

body.ie .sec-recruit-wrap .m-cate-title figure svg .path {
  fill: #d91616;
  -webkit-animation: ie-fadein 3s ease-in-out 1s alternate forwards;
          animation: ie-fadein 3s ease-in-out 1s alternate forwards;
}

.sec-recruit-wrap .m-cate-title figure.is-anim::before {
  opacity: 1;
}

.sec-recruit-wrap .m-cate-title figure.is-anim svg .path {
  -webkit-animation: DASH-R 3s ease-in-out alternate forwards;
          animation: DASH-R 3s ease-in-out alternate forwards;
}

.sec-recruit-wrap .m-cate-title::after {
  content: '';
  width: 1px;
  height: 110px;
  position: absolute;
  left: 300px;
  bottom: 22px;
  background: #d9d9d9;
}

.sec-recruit-wrap .txt-wrap {
  display: table-cell;
  vertical-align: bottom;
  padding-left: 120px;
}

.sec-recruit-wrap .txt-wrap .txt {
  padding-bottom: 22px;
}

/*-------------------------------------------> CONTACT */
.sec-contact-wrap {
  border-top: 1px solid #d9d9d9;
  position: relative;
  padding-top: 60px;
}

.sec-contact-wrap::before {
  content: '';
  width: 20px;
  height: 17px;
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  margin: auto;
  background: url(/img/ar_contact.png) no-repeat center top;
  background-size: 100% auto;
}

.sec-contact-wrap .btn-rd {
  width: 240px;
  margin: 0 auto 60px;
  text-align: left;
}

.sec-contact-wrap .ph-ft {
  position: relative;
  height: 300px;
  overflow: hidden;
}

.sec-contact-wrap .ph-ft img {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -1000px;
}

/*-------------------------------------------> アニメーション */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
  10% {
    -webkit-transform: translateY(10px) rotate(180deg);
            transform: translateY(10px) rotate(180deg);
  }
  20% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
  30% {
    -webkit-transform: translateY(10px) rotate(180deg);
            transform: translateY(10px) rotate(180deg);
  }
  40% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
  10% {
    -webkit-transform: translateY(10px) rotate(180deg);
            transform: translateY(10px) rotate(180deg);
  }
  20% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
  30% {
    -webkit-transform: translateY(10px) rotate(180deg);
            transform: translateY(10px) rotate(180deg);
  }
  40% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(180deg);
            transform: translateY(0) rotate(180deg);
  }
}

@-webkit-keyframes DASH-W {
  0% {
    stroke-dashoffset: 1000;
  }
  80% {
    stroke-dashoffset: 500;
    fill: rgba(255, 255, 255, 0);
    stroke: white;
  }
  100% {
    stroke-dashoffset: 0;
    fill: white;
    stroke: rgba(255, 255, 255, 0);
  }
}

@keyframes DASH-W {
  0% {
    stroke-dashoffset: 1000;
  }
  80% {
    stroke-dashoffset: 500;
    fill: rgba(255, 255, 255, 0);
    stroke: white;
  }
  100% {
    stroke-dashoffset: 0;
    fill: white;
    stroke: rgba(255, 255, 255, 0);
  }
}

@-webkit-keyframes DASH-R {
  0% {
    stroke-dashoffset: 1000;
  }
  80% {
    stroke-dashoffset: 500;
    fill: rgba(217, 22, 22, 0);
    stroke: #d91616;
  }
  100% {
    stroke-dashoffset: 0;
    fill: #d91616;
    stroke: rgba(217, 22, 22, 0);
  }
}

@keyframes DASH-R {
  0% {
    stroke-dashoffset: 1000;
  }
  80% {
    stroke-dashoffset: 500;
    fill: rgba(217, 22, 22, 0);
    stroke: #d91616;
  }
  100% {
    stroke-dashoffset: 0;
    fill: #d91616;
    stroke: rgba(217, 22, 22, 0);
  }
}

@-webkit-keyframes lead {
  0% {
    opacity: 0;
    letter-spacing: 1em;
  }
  100% {
    opacity: 1;
    letter-spacing: 0;
  }
}

@keyframes lead {
  0% {
    opacity: 0;
    letter-spacing: 1em;
  }
  100% {
    opacity: 1;
    letter-spacing: 0;
  }
}

@-webkit-keyframes ie-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes ie-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*
 * simplyScroll 2 - a scroll-tastic jQuery plugin
 * http://logicbox.net/jquery/simplyscroll
 * Copyright (c) 2009-2012 Will Kelly - http://logicbox.net
 * Dual licensed under the MIT and GPL licenses.
 * Last revised: 31/01/2012
 */
/*-------------------------------------------> プラグイン：simplyScroll.js */
.simply-scroll-container {
  /* Container DIV - automatically generated */
  position: relative;
}

.simply-scroll-clip {
  /* Clip DIV - automatically generated */
  position: relative;
  overflow: hidden;
}

.simply-scroll-list {
  /* UL/OL/DIV - the element that simplyScroll is inited on */
  overflow: hidden;
  margin: 0;
  padding: 0;
  list-style: none;
}

.simply-scroll-list li {
  padding: 0;
  margin: 0;
  list-style: none;
}

.simply-scroll-list li img {
  border: none;
  display: block;
}
