@charset "UTF-8";
.clfl:after {
  content: ".";
  display: block;
  clear: left;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.clfr:after {
  content: ".";
  display: block;
  clear: right;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.clf:after, body.top #slide #slider .slide:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.clf, body.top #slide #slider .slide {
  min-height: 1px;
}

* html .clf, * html body.top #slide #slider .slide, body.top #slide #slider * html .slide {
  height: 1px;
  /*¥*/
   /*/
height: auto;
overflow: hidden;
/**/
}

@keyframes flash {
  50% {
    opacity: 0;
  }
}
body.top #slide {
  position: relative;
  padding: 0;
  animation: fadeIn 3s ease 0s 1 normal;
  -webkit-animation: fadeIn 3s ease 0s 1 normal;
  background-color: #f9f9f9;
}
body.top #slide #scroll {
  display: none;
}
body.top #slide #slider {
  width: 100%;
}
body.top #slide #slider {
  width: 100%;
}
body.top #slide #slider {
  width: 100%;
}
body.top #slide #slider .slide {
  height: 100%;
  background-position: center;
  background-size: cover;
  background-position: center 0;
}
/* JS 初期化前のチラつき防止: 2 枚目以降は最初から重ねて非表示。
   JS の initSlider() がインラインスタイルで同じ状態を上書きする。 */
body.top #slide #slider .slide:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}
body.top #slide #slider .slide img.person {
  opacity: 1;
  width: 100%;
}
body.top #slide #slider .slide#miyokawa .copy {
  top: 50%;
  left: 20%;
}
body.top #slide #slider .slide#kureya .copy {
  left: 15%;
}
body.top #slide #slider .slide#tadauchi .copy {
  left: 58%;
}
body.top #slide #slider .slide#wada .copy {
  left: 20%;
}
body.top #slide .copy {
  position: absolute;
  height: 30%;
  width: auto;
  top: 35%;
}
body.top #contents > section:not(#slide) {
  padding-bottom: 40px;
}
body.top #features {
  display: -webkit-flex;
  display: flex;
}
body.top #features .feature {
  width: 300px;
}
body.top #features .feature:not(:first-child) {
  margin-left: 20px;
}
body.top #features .feature > img {
  width: 300px;
  height: auto;
}
body.top #features .feature h3 {
  margin-top: 37px;
  margin-bottom: 28px;
  font-size: 18px;
  line-height: 32px;
  font-weight: 300;
  color: #4c4c4c;
  text-align: center;
}
body.top #features .feature p {
  text-align: justify;
}
body.top #service {
  background-color: #e9f8ff;
}
body.top #client {
  text-align: center;
}
body.top #client .button {
  margin-top: 20px;
}
body.top #topics {
  background-color: #e9f8ff;
}
body.top #topics h2 {
  padding-bottom: 30px;
}
body.top #topics .wrap > p {
  text-align: center;
  margin-bottom: 45px;
}
body.top #topics .topics {
  display: -webkit-flex;
  display: flex;
}
body.top #topics a.topic {
  display: block;
  float: left;
  background: #fff;
  padding: 20px;
  width: 260px;
  position: relative;
}
body.top #topics a.topic .new_icon {
  position: absolute;
  top: -32px;
  right: -20px;
}
body.top #topics a.topic .category {
  position: absolute;
  top: 20px;
  left: 20px;
  float: right;
  display: inline-block;
  line-height: 28px;
  height: 28px;
  color: #92b3ef;
  background: #e9f1ff;
  border-radius: 3px;
  width: 105px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}
body.top #topics a.topic .date {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 15px;
  color: #92b3ef;
  line-height: 28px;
}
body.top #topics a.topic .title {
  font-size: 14px;
  line-height: 2em;
  font-weight: 600;
  color: #808080;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  margin-top: 69px;
  margin-bottom: 37px;
}
body.top #topics a.topic .body {
  height: 113px;
  overflow: hidden;
}
body.top #topics a.topic:not(:nth-child(3n)) {
  margin-right: 20px;
}
body.top #news .wrap > p {
  text-align: center;
  margin-bottom: 45px;
}
body.top #news a.unit {
  display: block;
  padding: 20px 0;
  border-bottom: 1px solid #e3e3e5;
  display: -webkit-flex;
  display: flex;
}
body.top #news a.unit > * {
  transition-duration: 0.2s;
}
body.top #news a.unit:hover {
  opacity: 1;
}
body.top #news a.unit:hover > * {
  opacity: 0.8;
  transition-duration: 0.2s;
}
body.top #news a.unit .new_icon {
  top: -30px;
}
body.top #news a.unit .category {
  color: #333;
  background: #e9f1ff;
  border-radius: 14px;
  width: 105px;
  min-width: 105px;
  max-width: 105px;
  text-align: center;
  font-size: 12px;
  line-height: 28px;
  height: 28px;
}
body.top #news a.unit .date {
  font-size: 12px;
  line-height: 28px;
  height: 28px;
  width: 85px;
  min-width: 85px;
  max-width: 85px;
  margin-left: 4px;
}
body.top #news a.unit .title {
  width: auto;
  font-size: 14px;
  line-height: 28px;
  height: 28px;
  margin-left: 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body.top #news a.unit:first-child {
  border-top: 1px solid #e3e3e5;
}

footer {
  border-top: 1px solid #e3e3e5;
}

@media (max-width: 970px) and (orientation: portrait) {
  body.top #slide {
    position: relative;
  }
  body.top #slide[data-full=true] #scroll {
    display: block;
    z-index: 10;
    position: absolute;
    bottom: 20px;
    left: calc(50% - 25px);
    animation: flash 1.3s infinite;
  }
  body.top #slide #slider {
    height: 388px;
  }
  body.top #slide #slider {
    height: 100%;
  }
  body.top #slide #slider {
    height: 100%;
  }
  body.top #slide #slider .slide {
    height: 100%;
    background-position: center;
    background-size: cover;
  }
  body.top #slide #slider .slide img.person {
    display: none;
  }
  body.top #slide #slider .slide#miyokawa {
    background-image: url("../image/top/slide/miyokawa-sp.jpg");
  }
  body.top #slide #slider .slide#miyokawa .copy {
    left: 23px;
  }
  body.top #slide #slider .slide#kureya {
    background-image: url("../image/top/slide/kureya-sp.jpg");
  }
  body.top #slide #slider .slide#kureya .copy {
    left: 23px;
  }
  body.top #slide #slider .slide#tadauchi {
    background-image: url("../image/top/slide/tadauchi-sp.jpg");
  }
  body.top #slide #slider .slide#tadauchi .copy {
    left: auto;
    right: 23px;
  }
  body.top #slide #slider .slide#wada {
    background-image: url("../image/top/slide/wada-sp.jpg");
  }
  body.top #slide #slider .slide#wada .copy {
    left: 23px;
  }
  body.top #slide #slider .slide .copy {
    width: 50%;
    max-width: 540px;
    top: auto;
    bottom: 67px;
    height: auto;
    position: absolute;
  }
}
@media (max-width: 970px) and (orientation: landscape) {
  body.top #slide #slider .slide .copy {
    width: auto;
    height: 50%;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  body.top #slide #slider .slide#miyokawa {
    background-image: url("../image/top/slide/miyokawa.jpg");
  }
  body.top #slide #slider .slide#miyokawa .copy {
    left: 23px;
  }
  body.top #slide #slider .slide#kureya {
    background-image: url("../image/top/slide/kureya.jpg");
  }
  body.top #slide #slider .slide#kureya .copy {
    left: 23px;
  }
  body.top #slide #slider .slide#tadauchi {
    background-image: url("../image/top/slide/tadauchi.jpg");
  }
  body.top #slide #slider .slide#tadauchi .copy {
    right: 23px;
  }
  body.top #slide #slider .slide#wada {
    background-image: url("../image/top/slide/wada.jpg");
  }
}
@media (max-width: 970px) {
  body.top #features {
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 250px;
    margin: 0 auto;
  }
  body.top #features .feature {
    width: 100%;
    text-align: center;
    margin-bottom: 45px;
  }
  body.top #features .feature:not(:first-child) {
    margin-left: 0;
  }
  body.top #features .feature > img {
    width: 200px;
    height: auto;
  }
  body.top #features .feature h3 {
    margin-top: 18.5px;
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 26.5px;
  }
  body.top #topics .wrap {
    margin-left: 20px;
    margin-right: 20px;
    width: calc(100% - 40px);
  }
  body.top #topics .topics {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  body.top #topics a.topic {
    width: calc(100% - 40px);
    margin-right: 0;
  }
  body.top #topics a.topic:not(:first-child) {
    margin-top: 5px;
  }
  body.top #topics a.topic .title {
    margin-top: 50px;
    margin-bottom: 20px;
  }
  body.top #topics a.topic .body {
    height: 48px;
  }
  body.top #news a.unit .title {
    font-size: 12px;
    margin-left: 0;
  }
  body.top #news a.unit .category {
    display: none;
  }
}

/*# sourceMappingURL=index.css.map */
