@charset "UTF-8";
.commonWidth {
  min-width: 1020px;
  max-width: 1020px;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 480px) {
    .commonWidth {
      min-width: inherit;
      max-width: inherit;
      width: auto;
      margin: auto; } }

.commonW720 {
  min-width: 780px;
  max-width: 780px;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 480px) {
    .commonW720 {
      min-width: inherit;
      max-width: inherit;
      width: auto;
      margin: auto; } }

.inCont {
  margin-left: auto;
  margin-right: auto;
  max-width: 780px;
  min-width: 720px;
  overflow: hidden; }
  @media screen and (max-width: 480px) {
    .inCont {
      min-width: 100%; } }

.commonPadding {
  padding-left: 60px;
  padding-right: 60px; }
  @media screen and (max-width: 480px) {
    .commonPadding {
      padding-left: 40px;
      padding-right: 40px; } }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  font-style: normal; }

table {
  border-collapse: separate;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: 400; }

a img {
  border: none; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, form, input, textarea, button, table, tr, th, td, article, aside, footer, header, hgroup, nav, section, img, a, p {
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-appearance: button;
  appearance: button;
  border: none; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px; }

body, html {
  height: 100%; }

html {
  font-size: 62.5%; }

body {
  color: #111;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 1px;
  overflow-y: scroll; }

a {
  color: #000;
  word-wrap: break-word;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease; }

a:hover {
  color: #FF02BE;
  text-decoration: none; }

.clear {
  clear: both; }

::selection {
  color: #000;
  background-color: #d3d3d3; }

::-moz-selection {
  color: #000;
  background-color: #d3d3d3; }

.br {
  display: inline-block; }

.sr, .sr-seq {
  visibility: hidden; }

#backTop {
  cursor: pointer;
  position: absolute;
  width: 160px;
  right: 0;
  top: 0;
  bottom: 0;
  height: 60px;
  margin: auto;
  transform: translate(20px, 0);
  transition: 0.3s all;
  -webkit-transition: 0.3s all; }
  #backTop:hover {
    transform: translate(0, 0px); }
  @media screen and (max-width: 480px) {
    #backTop {
      width: 30%;
      right: -8%;
      bottom: 0px; }
      #backTop:hover {
        transform: translate(20px, 0); } }

.border {
  border: 1px solid #333;
  background-color: #000;
  box-shadow: 0px 0px 4px #333;
  margin-right: 2px;
  margin-left: 2px; }

.enFont {
  font-family: "Prompt", "FP-こぶりなゴシック StdN W6", sans-serif; }

#all, .sm-slider, .sm-slider:after, body.fixed header.global {
  width: 100%;
  overflow: hidden; }
  @media screen and (max-width: 480px) {
    #all, .sm-slider, .sm-slider:after, body.fixed header.global {
      min-width: inherit; } }

#all {
  position: relative;
  z-index: 10; }

hr {
  border: none;
  border-top: 1px solid #333;
  margin-top: 40px;
  margin-bottom: 0px;
  padding-bottom: 40px; }

.brSmp {
  display: none; }

@media screen and (max-width: 480px) {
  .brSmp {
    display: inline; }

  .smpNon {
    display: none; } }
.flex {
  display: flex; }

/* ///////////////////////////////////////////////////
ローディング
/////////////////////////////////////////////////// */
#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background: #fff; }
  #loading span {
    font-size: 12px;
    display: block;
    margin: 5px;
    color: #a20000;
    font-weight: bold;
    text-align: right; }
  #loading .bar {
    height: 80px;
    background-color: #E6E382;
    width: 0%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition: 0.3s all; }
    #loading .bar.on {
      width: 400px !important;
      right: 0; }
  #loading img {
    width: 300px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto; }
  @media screen and (max-width: 480px) {
    #loading {
      top: 0;
      height: 100%; }
      #loading .bar {
        bottom: inherit;
        height: 60px; }
      #loading .bar.on {
        width: 100% !important; }
      #loading img {
        width: 70%;
        padding: 0px 0px; } }

/* //////////////////////////////////////////////////////////////////
ヘッダー
//////////////////////////////////////////////////////////////////*/
/**見出し*********************/
h2 {
  width: 280px;
  text-align: center;
  margin: auto;
  font-size: 2.4rem;
  letter-spacing: 3px; }
  h2 span {
    border-top: 2px solid #F9F6A3;
    padding-top: 4px;
    display: block;
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 2px; }
  @media screen and (max-width: 480px) {
    h2 {
      width: 60%;
      font-size: 5.2vw;
      letter-spacing: 1px; }
      h2 span {
        font-size: 3.0vw; } }

/********************************************************************************
レスポンシブ用スマホナビ
*********************************************************************************/
#smpNavi {
  display: none;
  position: fixed;
  top: 0px;
  right: 0px;
  font-size: 30px;
  line-height: 1;
  padding: 8px 10px;
  color: #ffffff;
  background-color: #747474;
  z-index: 1000;
  cursor: pointer; }
  @media screen and (max-width: 480px) {
    #smpNavi {
      display: block; } }
  #smpNavi span:before {
    content: "\2261"; }
  #smpNavi.selected {
    background-color: #fff;
    color: #000; }
    #smpNavi.selected span:before {
      content: "\D7"; }

/* グーグルマップ ******************************/
.gmap {
  padding-top: 50%;
  border: 1px solid #337039;
  overflow: hidden;
  width: 100%;
  height: 400px;
  position: relative; }

/*大きな地図で見る*/
small.gmapS {
  word-break: break-all;
  float: right;
  width: 28%; }

small.gmapS a {
  display: block;
  text-align: center;
  text-decoration: none;
  font-size: 11px;
  color: #525252;
  background-color: rgba(255, 255, 255, 0.4);
  border: 1px solid #fff;
  line-height: 1;
  margin-top: 2px;
  margin-bottom: 15px;
  padding: 5px 2% 6px; }

small.gmapS a:hover {
  color: #000;
  background-color: #fff; }

/* //////////////////////////////////////////////////////////////////
フッターナビ
////////////////////////////////////////////////////////////////// */
footer.global {
  padding-top: 40px;
  padding-bottom: 20px;
  background: #F4F4F4;
  position: relative; }
  footer.global .contact {
    display: none; }
  footer.global .logo {
    text-align: center;
    width: 200px;
    margin: 0 auto 0; }
  footer.global small {
    margin-top: 50px;
    font-size: 1.0rem;
    text-align: center;
    display: block; }
  @media screen and (max-width: 480px) {
    footer.global {
      padding-top: 0;
      padding-bottom: 40px; }
      footer.global .contact {
        width: 100%;
        font-size: 1.3rem;
        display: block;
        background: #000;
        color: #fff;
        text-decoration: none;
        font-weight: bold;
        text-align: center;
        line-height: 1;
        padding: 10px 0;
        transition: 0.3s all;
        -webkit-transition: 0.3s all;
        cursor: pointer; }
        footer.global .contact:hover {
          opacity: 0.8; }
      footer.global .logo {
        margin-top: 40px; } }

/*********************************************************

top専用CSS

/*********************************************************/
.topArea {
  height: 100vh;
  position: relative; }
  @media screen and (max-width: 480px) {
    .topArea {
      height: inherit; } }
  .topArea .logo {
    background: rgba(230, 227, 130, 0.9);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 400px;
    height: 80px;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px; }
    .topArea .logo img {
      display: block;
      width: 300px;
      padding: 20px 0px; }
    @media screen and (max-width: 480px) {
      .topArea .logo {
        position: fixed;
        bottom: inherit;
        padding: 10px;
        width: 100%;
        height: 60px; }
        .topArea .logo img {
          width: 70%;
          padding: 0px 20px; } }
  .topArea .photo {
    min-height: 780px;
    flex-wrap: wrap;
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      .topArea .photo {
        height: calc(100vh - 60px);
        min-height: inherit;
        margin-top: 60px; } }
    .topArea .photo .in {
      width: 50%;
      background-size: cover;
      background-position: center;
      background-color: #000;
      float: left; }
    .topArea .photo .p_1, .topArea .photo .p_2, .topArea .photo .p_3, .topArea .photo .p_4, .topArea .photo .p_5, .topArea .photo .p_6 {
      opacity: 0;
      transition: 0.4s cubic-bezier(0.55, 0.33, 0.69, 0.81); }
    .topArea .photo .p_1 {
      transition-delay: 0.4s;
      transform: translate(0, 10px); }
    .topArea .photo .p_2 {
      transition-delay: 0.7s;
      transform: translate(0, 10px); }
    .topArea .photo .p_3 {
      transition-delay: 1.0s;
      transform: translate(0, 10px); }
    .topArea .photo .p_4 {
      transition-delay: 0.0s;
      transform: translate(0, 10px); }
    .topArea .photo .p_5 {
      transition-delay: 0.6s;
      transform: translate(0, 10px); }
    .topArea .photo .p_6 {
      transition-delay: 0.8s;
      transform: translate(0, 10px); }
    .topArea .photo.on .p_1, .topArea .photo.on .p_2, .topArea .photo.on .p_3, .topArea .photo.on .p_4, .topArea .photo.on .p_5, .topArea .photo.on .p_6 {
      opacity: 1;
      transform: translate(0, 0); }
    .topArea .photo.on .p_3 .txt {
      opacity: 1 !important; }
    .topArea .photo.off .p_1, .topArea .photo.off .p_2, .topArea .photo.off .p_3, .topArea .photo.off .p_4, .topArea .photo.off .p_5, .topArea .photo.off .p_6 {
      transition-delay: 0s; }
    .topArea .photo .bl1, .topArea .photo .bl2 {
      width: 100%;
      height: 100vh;
      display: flex; }
    .topArea .photo .bl1 .sq1 {
      height: 35vh;
      width: 45%;
      display: flex;
      flex-wrap: wrap; }
      .topArea .photo .bl1 .sq1 .p_1 {
        width: calc(50% - 5px);
        height: 100%; }
      .topArea .photo .bl1 .sq1 .p_2 {
        width: calc(50% - 5px);
        height: 100%;
        margin-left: 10px; }
    .topArea .photo .bl1 .p_4 {
      width: calc(55% - 10px);
      margin-left: 10px;
      height: calc(80vh - 10px);
      margin-bottom: 10px; }
    .topArea .photo .bl2 {
      align-items: flex-end;
      margin-top: -100vh; }
      .topArea .photo .bl2 .p_3 {
        width: 45%;
        height: calc(65vh - 10px);
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end; }
        .topArea .photo .bl2 .p_3 .txt {
          padding: 60px;
          opacity: 0;
          transition: 0.6s all;
          transition-delay: 1.4s; }
          .topArea .photo .bl2 .p_3 .txt img {
            width: 240px; }
          .topArea .photo .bl2 .p_3 .txt p {
            width: 100%;
            display: block;
            color: #fff;
            font-weight: bold;
            line-height: 2;
            letter-spacing: 2px;
            font-size: 1.4rem;
            margin-top: 20px; }
      .topArea .photo .bl2 .sq2 {
        width: calc(55% - 10px);
        margin-left: 10px;
        height: 20vh;
        display: flex;
        flex-wrap: wrap; }
        .topArea .photo .bl2 .sq2 .p_5 {
          width: calc(50% - 5px);
          height: 100%; }
        .topArea .photo .bl2 .sq2 .p_6 {
          width: calc(50% - 5px);
          height: 100%;
          margin-left: 10px; }
    @media screen and (max-width: 480px) {
      .topArea .photo .bl1 {
        height: 33%; }
        .topArea .photo .bl1 .sq1 {
          height: 100%;
          width: 30%; }
          .topArea .photo .bl1 .sq1 .p_1, .topArea .photo .bl1 .sq1 .p_2 {
            width: 100%;
            height: calc(50% - 5px); }
          .topArea .photo .bl1 .sq1 .p_2 {
            margin-top: 10px;
            margin-left: 0; }
        .topArea .photo .bl1 .p_4 {
          width: calc(70% - 10px);
          margin-left: 10px;
          height: 100%;
          margin-bottom: 0; }
      .topArea .photo .bl2 {
        display: block;
        margin-top: 10px;
        height: calc(67% - 10px); }
        .topArea .photo .bl2 .p_3 {
          width: 100%;
          height: calc(80% - 10px);
          margin-bottom: 10px; }
          .topArea .photo .bl2 .p_3 .txt {
            padding: 20px;
            opacity: 0;
            transition: 0.6s all;
            transition-delay: 1.4s; }
            .topArea .photo .bl2 .p_3 .txt img {
              width: 55%; }
            .topArea .photo .bl2 .p_3 .txt p {
              width: 100%;
              display: block;
              color: #fff;
              font-weight: bold;
              line-height: 2;
              letter-spacing: 2px;
              font-size: 1.2rem;
              margin-top: 0px; }
        .topArea .photo .bl2 .sq2 {
          width: 100%;
          margin-left: 0px;
          height: 20%; }
          .topArea .photo .bl2 .sq2 .p_5 {
            height: 100%; }
          .topArea .photo .bl2 .sq2 .p_6 {
            height: 100%;
            margin-left: 10px; } }
  .topArea.off .p_1, .topArea.off .p_2, .topArea.off .p_3, .topArea.off .p_4, .topArea.off .p_5, .topArea.off .p_6 {
    transition-delay: 0s !important;
    transition: 0.1s all !important; }

/* 背景 *************************************/
.para {
  height: 65vh;
  min-height: 400px;
  overflow: hidden;
  position: relative;
  background: transparent; }
  @media screen and (max-width: 480px) {
    .para {
      height: 35vh;
      min-height: inherit; }
      .para.last .inP {
        height: 35vh; } }
  .para .inP {
    position: absolute;
    height: 80vh;
    width: 100vw;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    @media screen and (max-width: 480px) {
      .para .inP {
        background-size: contain;
        height: 38vh;
        min-height: 45px !important;
        background-size: cover !important; } }

/*会社概要*************************************/
.info {
  margin-top: 100px; }
  @media screen and (max-width: 480px) {
    .info {
      margin-top: 40px; } }
  .info .main {
    margin-top: 50px; }
    .info .main p {
      margin-top: 40px;
      font-weight: bold;
      letter-spacing: 0.4px;
      line-height: 1.6;
      font-size: 1.6rem;
      display: flex;
      justify-content: center; }
    @media screen and (max-width: 480px) {
      .info .main {
        padding: 0 40px; }
        .info .main h2 {
          margin: inherit; }
        .info .main p {
          font-size: 3.2vw;
          padding-left: 0; } }
  .info .list {
    margin-top: 50px;
    padding: 60px 0;
    background: #F4F4F4; }
    .info .list dl {
      display: flex;
      flex-wrap: wrap; }
      .info .list dl dt {
        width: 16%;
        letter-spacing: 6px;
        text-align: right;
        font-weight: bold;
        font-size: 1.6rem; }
        .info .list dl dt:nth-child(n+2) {
          margin-top: 30px; }
      .info .list dl dd {
        width: 70%;
        margin-left: 80px;
        font-size: 1.4rem;
        line-height: 1.5; }
        .info .list dl dd:nth-of-type(n+2) {
          margin-top: 30px; }
        .info .list dl dd small {
          font-size: 1.0rem; }
    @media screen and (max-width: 480px) {
      .info .list {
        margin-top: 40px;
        padding: 30px 0; }
        .info .list dl dt {
          width: 100%;
          letter-spacing: 2px;
          text-align: left;
          font-size: 1.4rem;
          margin-bottom: 5px;
          border-bottom: 1px solid #999; }
          .info .list dl dt:nth-child(n+2) {
            margin-top: 25px; }
        .info .list dl dd {
          width: 100%;
          margin-left: 0;
          font-size: 1.2rem; }
          .info .list dl dd:nth-child(n+2) {
            margin-top: 0px; } }

/**************************************/
.history {
  margin-top: 80px;
  margin-bottom: 80px; }
  .history .list {
    margin-top: 80px; }
    .history .list dl {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      .history .list dl.fTop {
        align-items: flex-start; }
      .history .list dl:nth-child(n+2) {
        margin-top: 30px; }
      .history .list dl dt {
        width: 18%;
        letter-spacing: 0px;
        font-weight: bold;
        font-size: 1.6rem;
        position: relative; }
        .history .list dl dt:after {
          content: "";
          width: 60px;
          height: 1px;
          background: #111;
          position: absolute;
          top: 0;
          bottom: 0;
          right: -70px;
          margin: auto; }
      .history .list dl dd {
        margin-left: 100px;
        width: 60%;
        font-size: 1.4rem; }
        .history .list dl dd img {
          width: 80px;
          margin-right: 20px; }
        .history .list dl dd.flex {
          display: flex;
          align-items: flex-start; }
  @media screen and (max-width: 480px) {
    .history {
      margin-top: 40px;
      margin-bottom: 40px; }
      .history .list {
        margin-top: 40px; }
        .history .list dl:nth-child(n+2) {
          margin-top: 30px; }
        .history .list dl dt {
          display: flex;
          flex-wrap: wrap;
          width: 23%;
          align-items: center;
          font-size: 3.2vw;
          letter-spacing: 0;
          padding: 4px 10px 4px 0;
          justify-content: center;
          border-right: 1px solid #666;
          justify-content: flex-start; }
          .history .list dl dt:after {
            display: none; }
        .history .list dl dd {
          width: calc(77% - 10px);
          margin-left: 10px;
          margin-top: -1px;
          font-size: 1.2rem; }
          .history .list dl dd img {
            margin-right: 10px;
            width: 15vw; } }

/**************************************/
.recruit {
  margin-top: 80px;
  padding-bottom: 80px; }
  .recruit .list {
    margin-top: 80px;
    width: 630px;
    min-width: 630px; }
    .recruit .list dl {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      .recruit .list dl.fTop {
        align-items: flex-start; }
      .recruit .list dl:nth-child(n+2) {
        margin-top: 30px; }
      .recruit .list dl dt {
        width: 22%;
        letter-spacing: 0px;
        font-weight: bold;
        font-size: 1.6rem;
        position: relative; }
        .recruit .list dl dt:after {
          content: "";
          width: 60px;
          height: 1px;
          background: #111;
          position: absolute;
          top: 0;
          bottom: 0;
          right: -70px;
          margin: auto; }
      .recruit .list dl dd {
        margin-left: 100px;
        font-size: 1.4rem; }
        .recruit .list dl dd img {
          width: 80px;
          margin-right: 20px; }
        .recruit .list dl dd.flex {
          display: flex;
          align-items: flex-start; }
  @media screen and (max-width: 480px) {
    .recruit {
      margin-top: 40px;
      padding-bottom: 40px; }
      .recruit .list {
        margin-top: 40px;
        width: 100%;
        min-width: inherit; }
        .recruit .list dl dt {
          display: flex;
          flex-wrap: wrap;
          width: 100%;
          align-items: center;
          font-size: 1.4rem;
          letter-spacing: 2px;
          border-bottom: 1px solid #999; }
          .recruit .list dl dt:after {
            display: none; }
        .recruit .list dl dd {
          margin-left: 0;
          margin-top: 4px;
          font-size: 1.2rem; }
        .recruit .list dl dl dt {
          width: 100%;
          letter-spacing: 3px;
          text-align: left;
          font-size: 1.5rem;
          margin-bottom: 5px;
          border-bottom: 1px solid #999; }
          .recruit .list dl dl dt:nth-child(n+2) {
            margin-top: 25px; }
        .recruit .list dl dl dd {
          width: 100%;
          margin-left: 0;
          font-size: 1.2rem; }
          .recruit .list dl dl dd:nth-child(n+2) {
            margin-top: 0px; } }

/*# sourceMappingURL=top.css.map */
