@charset "UTF-8";
/*
 * lib/css/reset.css
 *
*/
@import url("https://fonts.googleapis.com/css?family=Roboto:100,400,500");
@import url("https://fonts.googleapis.com/css?family=Lato:400,700,900");
@import url("https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Comforter+Brush&display=swap");

html{
  overflow-y: scroll;
  margin-top: 0px;
  scroll-behavior: smooth; }

fieldset, img{
  border: none;
  vertical-align: top; }

ul, ol{
  list-style-type: none; }

address, caption, cite, code, dfn, em, var{
  font-style: normal; }

caption, th{
  text-align: left; }

a{
  outline: none;
  text-decoration: none;
  transition: opacity .3s;
  color: var(--color-black); }
  @media (min-width: 1061px) {
    a:hover {
      color: var(--color-main2);
      opacity: 0.5; }
  }

/*--------------------------
  $color  
---------------------------- */
:root{
  --color-main: #001D54;
  --color-main2: #0068B6;
  --color-second: #7fc7ef;
  --color-second2: #3FA8F7;
  --color-white: #f9f8f8;
  --color-black: #2b2b2b;
  --color-light-grey: #DCE9F0;
  --color-grey: #97B2C1;
  --main-gradient: linear-gradient(0deg, #45B1E0, var(--color-main));
  --main-gradient90: linear-gradient(90deg, var(--color-main),#45B1E0);
  --circle-gradient: radial-gradient(circle farthest-side at center,rgba(221,232,253,1),rgba(248,248,248,0));
  --info-shadow: 0 4px 40px rgba(0,0,0,.1);
  --form-shadow: 2px 5px 14px rgba(0,0,0,.25);
  --info-radius: 16px; }

/*--------------------------
    $font
--------------------------*/
h1, h2, h3, h4, h5, h6, html, body, div, p, ul, ol, li, dl, dt, dd,
pre, blockquote, form, fieldset, input, textarea, table, th, td, figure{
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5{
  font-family: "vdl-v7mincho", sans-serif;
  font-weight: 700;
  font-style: normal; }

  h1 { font-size: 40px; }
  
  h2 { font-size: 32px; }
  
  h3 { font-size: 28px; }
  
  h4 { font-size: 24px; }
  
  h5 { font-size: 22px; }

button, fieldset, form, input, label, legend, select, textarea{
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit; }

/*--------------------------
    その他初期設定
--------------------------*/
* {
  position: relative;
  max-height: inherit;
  box-sizing: border-box;
  @media (max-width: 1060px) {
      max-height: 100%; }
}

body{
  color: var(--color-black);
  line-height: 1.5;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  @media (max-width: 1060px) {
    text-size-adjust: 100%;
    min-width: 640px;
    font-size: 24px; }
}

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

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

#colorbox,
#colorbox * {
  max-height: none; }

#gnavi,
#gnavi * {
  max-height: none; }

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

[type=text],
[type=email],
[type=password],
[type=number],
textarea,
select {
  padding: 4px;
  border: 1px solid #ddd;
  border-radius: 0px; }

select {
  height: 2.5em;
  padding-right: 8%;
  appearance: none;
  border-radius: 0px;
  border: 1px solid #ddd;
  background: #fff url(../img/common/arrow.svg) 96% center no-repeat;
  background-size: 12px; }

@media (max-width: 1060px) {
  select {
    max-width: 100%; } }

select::-ms-expand {
  display: none; }

[type=text],
[type=email],
[type=password],
[type=number],
textarea {
  appearance: none; }

[type=text]:focus,
[type=email]:focus,
[type=password]:focus,
[type=number]:focus,
textarea:focus {
  background: #fff;
  border: 6px solid var(--color-light-grey); }

input[type=checkbox] {
  display: none; }

[type=checkbox]+label:before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  height: 18px;
  width: 18px;
  background: #f9f9f9;
  border: 1px solid #3589B7;
  vertical-align: middle; }
  @media (max-width: 1060px) {
    [type=checkbox]+label:before{
      height: 32px;
      width: 32px;
    }
  }

[type=checkbox]:checked+label:before {
  content: "\2713";
  font-size: 18px;
  font-weight: bold;
  line-height: 18px;
  text-indent: -3px;
  color: #000;
}

@media (max-width: 1060px) {
  [type=checkbox]:checked+label:before{
    font-size: 32px;
    line-height: 32px;
  }
}

input[type=radio] {
  vertical-align: middle; }

input[type=radio]+label {
  margin-left: 5px; }

:placeholder-shown {
  color: #BABABA; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #BABABA; }


#maintenance{
  position: fixed;
  display: flex;
  flex-direction: column;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 10000;
  img{width: 200px;}
  h1{ text-align: center;}
}


/*----------------------------
    loading
----------------------------*/
#loading{
  position: fixed;
  display: flex;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 9999;
  img{ width: 50%;}
}

.loadFadein{
  animation : loadFadein 1.5s;
  animation-fill-mode: both; }
  @keyframes loadFadein {
    0% { opacity: 0; }
    100% { opacity: 1; } }

/*----------------------------
    基本レイアウト
----------------------------*/
body {
  background: #fff;
  overflow-x: hidden; }

.wrap {
  position: relative;
  width: 1000px;
  margin: 0px auto;
  @media (max-width: 1060px) {
      width: auto;
      margin: 0px 30px; }
}

.sp {
  display: none;
  @media (max-width: 1060px) {
    display: inherit; }
 }

@media (max-width: 1060px) {
  .pc {
    display: none; } }

.soon {
  padding: 10em 0px;
  text-align: center;
  font-size: 30px;
  color: #c3c4c4; }
  
/*-----------------------
$utility 
-----------------------*/
/* padding margin */
.mt-16{ margin-top: 16px;}
.pl-16{ padding-left: 16px;}

/* position */
.xy-center{
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);}
.x-center{left: 50%; transform: translateX(-50%);}
.y-center{top: 50%; transform: translateY(-50%);}

/* width */
.wd-100{ width: 100%;}

/* row */
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -.5);
  margin-left: calc(var(--bs-gutter-x) * -.5); }
  .row > * {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y); }

/* common-title */
.common-title {
  font-size: 28px;
  color: var(--color-main);
  text-align: center;
  margin-bottom: 2rem;
  @media (max-width: 1060px) {
    font-size: 32px;
    margin-bottom: 3rem; } }

.common-title::after{
  content: "";
  position: absolute;
  bottom: -20%;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: var(--color-main); }
  
.common-title-sm{
  display: inline-block;
  font-weight: 600;
  font-size: 20px;
  color: var(--color-black);
  @media (max-width: 1060px) {
    font-size: 26px;
    margin-bottom: 2rem; }
}

/* anime-block */
.anime-block{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-main2);
  animation: blockLeftRight 1.5s cubic-bezier(0.39, 0.58, 0.57, 1) 0.5s forwards;
}
    
  /* info */
.info-outter{
  display: flex;
  justify-content: space-evenly;
  max-width: 1000px;
  @media (max-width: 1060px){
    flex-wrap: wrap; }
}
.info-group{
  display: flex;
  justify-content: center;
  width: 100%;
  box-shadow: var(--info-shadow);
  border-radius: 8px;
  padding: 16px;
  @media (max-width: 1060px){
    width: 100%;
    margin-top: 60px; }
    .text {
      display: inline-block;
      margin-bottom: 1rem;
      text-align: left;
      font-size: 16px;
      line-height: 2.375;
      @media (max-width: 1060px) {
          font-size: 22px; } }
  }

/* info-img */
.info-img{
  width: 45%;
  @media (max-width: 1060px){
    width: 100%; }
}
.img-outter{
  padding: 32px;
  box-shadow: var(--info-shadow);
  border-radius: var(--info-radius);
  .imgbox{
    width: 100%;
    img{
      width: 100%; }
  }
}
.info-img:nth-child(1){
  margin-bottom: 4rem; }

/* radius-img */
.radius-img{
  text-align: center;
  margin: 1rem 0;
  @media (max-width: 1060px) {
    margin: 5rem 0;
  }
  .imgbox{
    width: 100%;
    border-radius: var(--info-radius);
    overflow: hidden;
  }
  img{
    width: 100%;
    border-radius: var(--info-radius);
  }
  p{ margin: 1rem 0;}
}

 /* buisiness btn area */
.btn-area{
  .btn-area__inner{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    padding: 72px 0;
    .title-group{
      margin-bottom: 36px;
      .common-title{margin-bottom: 0;}
      .common-title::after{content: none;}
      .area-title{
        font-size: 1.2rem;
        line-height: 2;
        text-align: center;
        color: var(--color-main);
        margin-bottom: 0; }
        .area-title::after{
          background-color: var(--color-main); }
    }
    .btn-group{
      display: flex;
      justify-content: space-evenly;
      width: 100%;
      @media (max-width:1060px) {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
        .btn{
          display: flex;
          justify-content: center;
          letter-spacing: 0.1rem;
          color: var(--color-black);
          font-weight: 600;
          text-align: center;
          width: 25%;
          padding: 4rem 0;
          border-right: 1px solid var(--color-light-grey);
          transition: all .3s;
          @media (max-width: 1060px){
            flex-wrap: wrap;
            align-items: center;
            width: 50%;
            padding: 3rem 0;
            border-right: 1px solid var(--color-grey);
            border-bottom: 1px solid var(--color-grey);
            }
        }
        .btn:hover{
          opacity: 1;
          background-color: var(--color-light-grey); }
          .btn:hover .arrow-right{
            position: relative;
            left: 24px; }

        .btn:nth-last-of-type(1){
          border: 0; }
          @media (max-width: 1060px) {
            .btn:nth-of-type(2),.btn:nth-of-type(4){
              border-right: 0; }
              .btn:nth-of-type(3){
                border-bottom: 0; }
                  .btn:nth-last-of-type(1){
                    border-right: 1px solid var(--color-grey);
                    border-top: 1px solid var(--color-grey); }
              }
      .arrow-right{
        display: inline-block;
        background-image: url(/site/img/common/icon-arrow-right.svg);
        width: 24px;
        height: 24px; }
    }
  }
}


/* table */
.table-outter{
  margin-bottom: 3rem;
  @media (max-width: 1060px) {
    margin-bottom: 6rem; }
  }
  .buisness-table{
    font-size: 0.9rem;
    box-shadow: var(--info-shadow);
    @media (max-width: 1060px) {
      font-size: 20px;
      width: 100%; }
      tr{
        background-color: var(--color-white); }
        tr:hover{
          background-color: var(--color-light-grey); }
          th,td{
            padding: 0.8rem 0.3rem;
            font-weight: normal;
            border-right: 1px solid #BAB7B7;
            border-bottom: 1px solid #BAB7B7;
          }
          th{
            color: var(--color-white);
            font-weight: 500;
            background: var(--main-gradient);
            @media (max-width: 1060px) {
              text-align: center; }
          }
            th:nth-of-type(1){
              border-radius: 8px 0 0 0; }
              th:nth-last-of-type(1){
                border-radius: 0 8px 0 0;
                border-right: 0; }

          td:nth-last-of-type(1){
            border-right: 0; }
            tr:nth-last-of-type(1) td{
              border-bottom: 0; }
              tr:nth-last-of-type(1) td:nth-of-type(1){
                border-radius: 0 0 0 8px; }
                tr:nth-last-of-type(1) td:nth-last-of-type(1){
                  border-radius: 0 0 8px 0; }
                  @media (max-width: 1060px) {
                    tr td:first-child {
                      width: 8rem; } }
    }
/*----------------------- header --------------------------*/
header{
  position: fixed;
  left: 0px;
  top: 0px;
  background: #fff;
  width: 100%;
  height: 100px;
  z-index: 1000;
}

/* $sns icon */
header .sns {
  position: absolute;
  width: 128px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-evenly;
  @media (max-width: 1060px){
    right: 92px;
    width: 40%; }

  li{
    a{
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      align-items: center; }
      img {
        width: 30px;
        @media (max-width: 1060px){
          width: 40px; } }
        @media (min-width: 1061px) {
          img:nth-child(2){
            display: none;
          }
        }
        @media (max-width: 1060px) {
          img:nth-child(1){
            display: none;
          }
        }
      span{
        @media (min-width: 1060px){
          display: none; }
          @media (max-width: 1060px){
            font-size: 1rem;
            color: var(--color-main);
            text-align: center;
            font-weight: 500; } }
     }
    li:hover:after{
      content: "";
      position: absolute;
      top: 34px;
      left: 50%;
      transform: translateX(-50%);
      padding: 4px;
      width: 210%;
      border-radius: 4px;
      background-color: rgba(2, 42, 104, 1.0);
      text-align: center;
      font-size: 0.8rem;
      color: white; }
      .fb:hover::after{
        content: "Facebook"; }
        .ig-main:hover::after{
          content: "広報"; }
          .ig-recruit:hover::after{
            content: "機械加工"; }
}

/* pc menu */
@media (min-width: 1061px) {
  .header__inner{
    max-width: 1000px;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
  .header-top{
    width: 100%;
    height: 50%;
    .header__inner{
      display: flex;
      justify-content: space-between;
    }
    .logo{
      display: inline-block;
      height: 100%;
      a{
        display: block;
        height: 100%; }
      img{
        position: relative;
        width: 150px; }
    }
    .phone_contact{
      display: flex;
      align-items: center;
      p:nth-child(1){padding-right: 20px;}
      .tel{
        font-size: 22px; font-weight: 600;
        padding-right: 60px;
      }
      .nav__btn-gradient {
        width: 200px;
        height: 100%;
        transition: all .3s ease-out;
        a{
          display: flex;
          justify-content: center;
          width: 100%;
          line-height: 50px;
          background-image: linear-gradient(to right, #001D54, #45B1E0);
          color: white;
        }
        a::before {
          content: "";
          position: absolute;
          inset: 0; /* same as { top: 0; right: 0; bottom: 0; left: 0; } */
          background-image: linear-gradient(to right, #45B1E0, #001D54);
          opacity: 0;
          transition: opacity 0.25s linear;
        }
        a:hover, a:hover::before {
          opacity: 1;
        }
      }
    }
  }
}
@media (min-width: 1061px) {
  .header-bottom{
    width: 100%;
    height: 50%;
    background-color: var(--color-main);
  }
  .logo{display: none;}
  #gnavi {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: fit-content;
    ul{
      display: flex;
      align-items: flex-start;
      height: 100%;
      justify-content: space-between;
      flex-direction: column;
      flex-wrap: wrap;
      li {
        line-height: 50px;
        font-weight: 600;
        a {
          /*線の基点とするためrelativeを指定*/
          position: relative;
          display: inline-block;
          color: var(--color-white);
          padding: 0px 20px;
          text-align: center;
          font-size: 0.9rem;
          line-height: 50px;
          font-weight: 600; }

        img {
          vertical-align: middle;
          width: 36px;
          height: 36px;
          padding-right: 8px; } 
      }
      .child::after, .notice::after,
      .gnavi__hinshitsu::after {
        content: '';
        /*絶対配置で線の位置を決める*/
        position: absolute;
        bottom: 0;
        left: 0;
        /*線の形状*/
        width: 100%;
        height: 4px;
        background: var(--color-white);
        /*アニメーションの指定*/
        transition: all .3s;
        transform: scale(0, 1);
        /*X方向0、Y方向1*/
        transform-origin: center top;
        /*上部中央基点*/ }
      .child:hover::after, .notice:hover::after,
      .gnavi__hinshitsu:hover::after{
        transform: scale(1, 1);
        /*X方向にスケール拡大*/ }
    }
    .sp-logo, .sp-download, .sp-contact{
      display: none; }
  }
}
#search{
  height: 100%;
  @media (max-width: 1060px) {
    padding: 1rem 0;
  }
  form{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    input, button{
      height: 36px;
      @media (max-width: 1060px) {
        height: 72px;
      }
    }
    [type=text]{
      width: 160px;
      transition: all .3s;
      @media (max-width: 1060px) {
        width: 100%;
      }
    }
    [type=text]:focus{
      border: 6px solid var(--color-second);
      @media (max-width: 1060px) {
        width: 100%;
      }
    }
    @media (max-width: 1060px) {
      button{
        width: 72px;
        span{ font-size: 52px; }
      }
    }
  }
}

/* pc dropdown */
@media (min-width: 1061px) {
  header #gnavi .dropdown {
    display: none;
    position: fixed;
    left: auto;
    width: 256px;
    background: var(--color-main);
    color: #fff;
    max-height: 90vh;
    overflow: auto;
    padding: 1rem 0;

    .wrap {
      width: auto;
      .dropdown__title--group{
        display: flex;
        align-items: center;
        justify-content: space-between; }
    }
    .title {
      padding-left: 10%;
      font-size: 1.1rem;
      font-weight: 600; }
    .close {
      position: absolute;
      right: 0px;
      a {
        font-size: 24px;
        color: var(--color-white);
        height: 100%;
      }
    }
    .parent > li{
      width: 100%;
      line-height: 40px;
      a {
        position: relative;
        width: 100%;
        padding: 0;
        text-align: left;
        color: var(--color-white);
        transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
      }
      a:hover{
        opacity: 1;
        color: var(--color-second); }

      span {
        display: inline-block;
        position: relative;
        left: 10%; }
      .open-new:hover i{
        background-image: url(/site/img/common/icon-open-in-new-drop-hover.svg); }
    }
    .parent > li a::before,
    .parent > li a::after{
      content: "";
      display: block;
      position: absolute;
      left: 70%;
      width: 15px;
      height: 2.5px;
      background-color: var(--color-white);
      border-radius: 4px; }
      .parent > li a::before{
        transform: rotate(40deg);
        top: 40%; }
        .parent > li a::after{
          transform: rotate(320deg);
          bottom: 38%; }

    .parent > li a:hover::before,
    .parent > li a:hover::after{
      background-color: var(--color-second);
      animation: dropdown-arrow cubic-bezier(0.68, -0.55, 0.27, 1.55) 1s infinite }

    a:hover {
      color: var(--color-second); }
  }
  @keyframes dropdown-arrow{
    0%{ left: 70%;}
    100%{ left: 75%;}
  }

  footer .open-new,
  #gnavi .gnavi__inner li .dropdown .parent li .open-new{
    display: flex;
    align-items: center;
  }
  footer .open-new i,
  #gnavi .gnavi__inner li .dropdown .parent li .open-new i{
    display: inline-block;
    background-image: url(/site/img/common/icon-open-in-new-white.svg);
    width: 24px;
    height: 24px;
    margin-left: 2rem;
  }

  footer .box .open-new i{
    margin-left: 0.5rem; }
}

/* sp menu */
@media (max-width: 1060px) {
  header {
    overflow-y: visible;
    height: 100px;
    box-shadow: 1px 1px 8px 1px rgba(0,0,0,0.3);
    .header-top{
      display: none;
    }
    .header-bottom, .header__inner{
      height: 100%;
    }
    .logo{
      padding-left: 20px;
      height: 100%;
    }
    #gnavi {
      display: none;
      position: fixed;
      left: 0px;
      top: 0px;
      z-index: 500;
      width: 100%;
      height: 100vh;
      overflow: auto;
      background: var(--color-main);

      .sp-logo{
        position: absolute;
        z-index: 1000;
        width: 45%;
        top: 2%;
        left: 10%;
        a{
          display: inline-block;
          height: 100%; }
      }
      .dropdown .parent{
        font-size: 1.5rem;
        li{
          border-top: 1px solid rgba(100,100,100,.8);
          a {
            display: block;
            color: #fff; }
         }
      }
     
      .gnavi__inner{
        position: relative;
        width: 80%;
        top: 10%;
        left: 50%;
        transform: translateX(-50%);
        li a{
          display: block;
          font-size: 1.8rem;
          color: var(--color-white);
          padding: 1rem 0px;
        }
        .child::before{
          content: "";
          position: absolute;
          right: 50px;
          transform: rotate(45deg);
          width: 16px;
          height: 16px;
          border-bottom: 2px solid var(--color-white);
          border-right: 2px solid var(--color-white);
          transition: transform 0.3s;
        }

        li:nth-last-of-type(2) .child::before,
        .nav_contact a::before{
          content: none; }

        > li:first-child { border: none; }
      }
    }
  }
}

/* sp dropdown */
@media (max-width: 1060px) {
  header #gnavi .dropdown {
    display: none; }

  header #gnavi .dropdown .close {
    display: none;}

  header #gnavi .dropdown img {
    display: none; }

  header #gnavi .dropdown .wrap {
    margin: 0px; }

  header #gnavi .dropdown .title span {
    display: none; }
}
/* sp-menu */
header .menu{
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
  width: 45px;
  height: 32px;
  z-index: 1000;
  cursor: pointer;
  transition: all .4s;
  @media (max-width: 1060px) {
      display: block; }

  span{
    display: inline-block;
    position: absolute;
    left: 0px;
    width: 45px;
    height: 4px;
    background-color: var(--color-main);
    transition: all .4s;
    box-sizing: border-box;
  }
  span:nth-of-type(1) {
    top: 0px;
    animation: menu-bar01 .75s forwards; }
    span:nth-of-type(2) {
      top: 14px;
      transition: all .25s .25s;
      opacity: 1; }
      span:nth-of-type(3) {
        bottom: 0px;
        animation: menu-bar02 .75s forwards; }
}

header .menu.active{
  span{
    background: #fff; }
    span:nth-of-type(1) {
      animation: active-menu-bar01 .75s forwards; }
      span:nth-of-type(2) {
        opacity: 0; }
        span:nth-of-type(3) {
          animation: active-menu-bar03 .75s forwards; }
}

@keyframes menu-bar01 {
  0% {
    transform: translateY(10px) rotate(45deg); }
  50% {
    transform: translateY(10px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); }
}

@keyframes menu-bar02 {
  0% {
    transform: translateY(-10px) rotate(-45deg); }
  50% {
    transform: translateY(-10px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); }
}

@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(10px) rotate(0); }
  100% {
    transform: translateY(10px) rotate(45deg); }
}

@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(-10px) rotate(0); }
  100% {
    transform: translateY(-10px) rotate(-45deg); }
}

@media (max-width: 1060px) {
  @keyframes menu-bar01 {
    0% {
      transform: translateY(14px) rotate(45deg); }
    50% {
      transform: translateY(14px) rotate(0); }
    100% {
      transform: translateY(0) rotate(0); }
  }
  @keyframes menu-bar02 {
    0% {
      transform: translateY(-14px) rotate(-45deg); }
    50% {
      transform: translateY(-14px) rotate(0); }
    100% {
      transform: translateY(0) rotate(0); }
  }
  @keyframes active-menu-bar01 {
    0% {
      transform: translateY(0) rotate(0); }
    50% {
      transform: translateY(14px) rotate(0); }
    100% {
      transform: translateY(14px) rotate(45deg); }
  }
  @keyframes active-menu-bar03 {
    0% {
      transform: translateY(0) rotate(0); }
    50% {
      transform: translateY(-14px) rotate(0); }
    100% {
      transform: translateY(-14px) rotate(-45deg); }
  }
}

/*----------------------- content --------------------------*/
article {
  padding-top: 100px;
  @media (max-width: 1060px) {
    padding-top: 0; }
}

/*----------------------- footer --------------------------*/
/* footer common */
#contactArea, #newsArea_2, #serviecArea{
  padding: 72px 0px;
  text-align: center; }

/* area-title */
.area-title{
  text-align: center;
  margin-bottom: 1.3rem;
  line-height: 1.5;
  color: var(--color-white); }
  @media (max-width: 1060px) {
    h3.area-title {
      font-size: 32px;
      margin-bottom: 3rem; } }

  .area-title::after{
    content: "";
    position: absolute;
    bottom: -20%;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: var(--color-white); }

  /* botton */
  .btn-more{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 60px;
    font-weight: 600;
    color: var(--color-white);
    background: var(--main-gradient90);
    border-radius: 32px;
    box-shadow: 0px 3px 7px rgba(0, 0, 0, .3);
    @media (max-width: 1060px){
      width: 100%; }
  }
    .btn-more:hover{
      opacity: 1;
      color: var(--color-main);
      border: 2px solid var(--color-main);
      background: var(--color-white); }

      .btn-more i{
        width: 40px;
        height: 40px;
        border-radius: 100%;
        background-color: var(--color-white);
        margin-left: 8px;
        transform: scale(1);
        transition: all .3s cubic-bezier(0.39, 0.58, 0.57, 1); }

        .btn-more i::before{
          content: "";
          display: block;
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          background-repeat: no-repeat;
          background-size: cover;
          background-image: url(/site/img/common/btn_arrow.svg);
          width: 28px;
          height: 28px; }

          .btn-more:hover i,
          .btn-more:hover i::before{
            transform: scale(0);
            width: 0;
            height: 0; }

    .btn-more-s{
      border: 2px solid var(--color-main);
      border-radius: 40px;
      letter-spacing: 0.08em;
      font-weight: bold;
      font-size: 1.2rem;
      padding: 12px 36px;
      color: var(--color-main);
      transition: all .3s;
      @media (max-width: 1060px) {
        background-color: var(--color-main);
        color: var(--color-white);
        font-size: 1.5rem;
      }
    }
      .btn-more-s:hover {
        opacity: 1;
        color: var(--color-white);
        background: var(--color-main); }


/* $contact area */
.contactArea {
  background: var(--main-gradient);
  .wrap{
    display: flex;
    justify-content: center;
    @media (max-width: 1060px){
      flex-direction: column;
      margin: 0px 30px;
    }
  }
}

  .contactArea__card, .sitemap__card{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
    padding: 5rem 1rem;
    margin: 0 1rem;
    border-radius: 16px;
    @media (max-width: 1060px){
      width: 100%;
      margin: 1rem 0; }

    .area-title{
      margin-bottom: 2rem; }
   }

    .contactArea__card:hover,
    .sitemap__card:hover{
      opacity: 1; }

    .contactArea__card::before{
      width: 100%;
      height: 100%;
      border-radius: 16px; }
      .contactArea__card:nth-child(1)::before{
        background-image: url(/site/img/business/reidento/reident-hand.jpg);
        filter: saturate(.8) brightness(.8); }
        .contactArea__card:nth-child(2)::before{
          background-image: url(/site/img/about/office/img01+.jpg);
          filter: saturate(.8) brightness(.8); }
          .contactArea__card:hover::before{
            filter: saturate(1) brightness(1); }

  .contactArea__card::before,
  .contactArea__card i::before,
  .sitemap__card i::before{
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-repeat: no-repeat;
    background-size: cover; }

    .contactArea__card > i,
    .sitemap__card i{
      display: inline-block;
      width: 80px;
      height: 80px;
      background-color: var(--color-white);
      border-radius: 100%; }
      .contactArea__card:nth-child(1) > i::before{
        background-image: url(/site/img/common/quill_mail_gradient.svg);
        width: 36px;
        height: 36px; }
      .contactArea__card:nth-child(2) > i::before{
        background-image: url(/site/img/common/building_gradient.svg);
        width: 40px;
        height: 40px; }

  .contactArea__card .text {
    margin-bottom: 2rem;
    width: 80%;
    line-height: 2;
    text-align: left;
    font-size: 1.2rem;
    color: var(--color-white);
    text-shadow: 2px 2px 5px #0000008f; }
    .contactArea__card:nth-child(2) .text{
      height: 115px; }
      @media (max-width: 1060px) {
        #contactArea .text {
          margin-bottom: 2.5rem;
          line-height: 1.5; } }

/* $crecruit area */
.recruitArea{
  position: relative;
  padding: 100px 0;
  .recruitArea__inner{
    display: flex;
    flex-direction: column;
    align-items: center;
    
  }
  .main-title{
    line-height: 1.2;
    margin-top: 48px;
    @media (max-width: 1060px) {
      text-align: center; }
  }
  .recruitArea__text-group{
    width: 60%;
    display: flex;
    justify-content: space-evenly;
    align-items: flex-end;
    color: var(--color-main);
    font-weight: 600;
    margin-top: 24px;
    @media (max-width: 1060px) {
        flex-direction: column;
        align-items: center;}
  
    .text{
      width: 40%;
      @media (max-width: 1060px) {
        width: auto;
        padding: 20px 0; }
    }
  }
}

  .recruitArea__imgbox,
  .recruitArea__bg{
    width: 1000px;
    height: 500px;
    border-radius: 16px;
    transition: all .5s ease-out;
    @media (max-width: 1060px) {
      width: 550px;
      height: 300px;
    }
  }

    .recruitArea__bg{
      position: absolute;
      top: 5%;
      transform: rotate(10deg);
      overflow: visible;
      background-color: var(--color-second);
      background-size: cover; }

    .recruitArea__imgbox{
      overflow: hidden;
      img{ width: 100%; } }

      .recruitArea__imgbox.hovered::before{
        content: "";
        width: 100%;
        height: 100%;
        border-radius: 16px;
        background-color: var(--color-second);
        display: none; }
        .recruitArea__imgbox.hovered::before{
        display: block; }

/* $news area */
#newsArea_2 {
  padding: 72px 0 160px 0;
  background: var(--color-white);
  .pan{ text-align: left;}
  .area-title{
    color: var(--color-main); }
    .area-title::after{
      background-color: var(--color-main); }
      .btn-more-s{
        position: absolute;
        bottom: -34%; 
        @media (max-width: 1060px){
          width: 80%;
          bottom: -25%; }
      }
      .items{
        border-radius: 8px;
        box-shadow: var(--info-shadow);
          .item{
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px 72px;
            height: 48px;
            border-bottom: solid 1px #BAB7B7; 
            @media (max-width: 1060px){
              display: block;
              width: 100%;
              margin: 1rem auto;
              padding: 0;
              height: auto; }
            }
            .item:nth-last-of-type(1){
              border-bottom: 0; }
              .item:hover{
                background-color: var(--color-light-grey); }
            p{
              line-height: 5;
              @media (max-width: 1060px) {
                line-height: 2.5; } }
                p.date{
                  width: 20%;
                  font-weight: 600;
                  @media (max-width: 1060px) {
                      width: 100%; }
                }
                p.text {
                  width: 60%;
                  font-size: 1.1rem;
                  color: var(--color-main);
                  text-align: left;
                  @media (max-width: 1060px) {
                    display: inline-block;
                    width: 90%;
                    text-align: center; }
                  a{
                    display: block;
                    width: 100%;
                    color: var(--color-main);
                    font-weight: 600;
                    overflow: hidden;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                    @media (max-width: 1060px) {
                      font-size: 24px;}
                  }
                }
      }
}

/*---------------------------
        $page numbers
----------------------------*/
.pagination{
  padding: 2rem 0;
  .page-numbers{
    display: flex;
    justify-content: center;
    align-items: center;
    li{
      font-size: 1.2rem;
      height: 52px;
      width: 52px;
      line-height: 52px;
      @media (max-width: 1060px) {
        font-size: 1.8rem;
      }
      span.current {
        background-color: var(--color-main);
        color: white;
        border-radius: 8px;
      }
    }
  }
}

/*---------------------------
        $pan nav
----------------------------*/
.pan{
  padding: 2rem 0;
  color: var(--color-grey);
  font-size: 0.8rem;
  @media (max-width: 1060px) {
    font-size: 1.2rem;
  }
  span{ color: var(--color-grey); }
  span:nth-last-child(1){
    color: var(--color-black);
  }
}

/*---------------------------
        $search-page
----------------------------*/
.searchPage{
  padding: 72px 0 0 0;
  h2{ text-align: center; }
  .items{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 2rem;
    .item{
      width: 50%;
      height: 140px;
      padding: 1rem;
      border: 1px solid #eee;
      .text{
        color: var(--color-main);
        font-weight: 600;
      }
      .excerpt{
        margin-top: 1rem;
      }
    }
  }
}
/* ------------------
 $erin
-------------------*/
.erin{
  padding-top: 48px;
  padding-bottom: 48px;
  /* $bg-deco-text */
  .bg-deco-text-group{
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    overflow: hidden;
    opacity: 1;
    .bg-deco-text-inner{
      display: flex;
      white-space: nowrap;
      animation: bg-ani 320s linear -160s infinite;
      &:nth-child(2){
        animation: bg-ani2 320s linear infinite;
      }
      .bg-deco-text{
        -webkit-text-fill-color: transparent;
        display: block;
        padding-right: 3rem;
        background: linear-gradient(0deg, var(--color-white) 0%, var(--color-main) 30%, transparent);
        font-weight: 700;
        font-size: 10rem;
        letter-spacing: 0.2rem;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
        opacity: 0.15;
        color: var(--color-light-grey) }
    }
  }
  /* earth */
  h3{
    text-align: center;
    opacity: 0;
    transition: all .3s;
    @media (max-width: 1060px) {
      font-size: 32px;
    }
  }
  p{
    font-size: 20px;
    @media (max-width: 1060px) {
      font-size: 22px;
    }
  }
  .img-earth {
    width: 50%;
    margin: 2rem 0;
    @media (max-width: 1080px) {
      width: 80%;
    }
    img{
      opacity: 0;
      transition: all .5s;
    }
  }
  .text-group{
    padding: 2rem 0;
    h5{
      text-align: center;
      margin-bottom: .5rem;
      @media (max-width: 1060px) {
        font-size: 26px;
        margin-bottom: 1rem;
      }
    }
  }
  .img-group{
    display: flex;
    @media (max-width: 1060px) {
      flex-wrap: wrap;
    }
    .imgbox{
      width: 100%;
      margin: 0 1rem 1rem 0;
      @media (max-width: 1060px) {
        margin: 0 0 1rem 0;
      }
      .imgbox-inner{
        width: 100%;
        padding-top: 60%;
        @media (max-width: 1060px) {
          padding-top: 80%;
        }
        .imgbox-fit{
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          img{
            width: 100%;
            object-fit: cover;
            height: inherit;
          }
        }
      }
      p{
        position: absolute;
        margin: 0;
        text-align: center;
        line-height: 0;
        top: 5%;
        left: 50%;
        transform: translateX(-50%);
        color: #000;
        background: rgba(255, 255, 255, 0.6);
        padding: 1rem 2rem;
        text-wrap: nowrap; }
    }
  }
  .btn-more{ width: 70%; }
}

@keyframes bg-ani{
  0% {transform: translateX(100%);}
  100% {transform: translateX(-100%);}
}
@keyframes bg-ani2{
  0% {transform: translateX(100%);}
  100% {transform: translateX(-200%);}
}

/*---------------------------
        $blogspage
----------------------------*/
.blogPage{
  padding-bottom: 48px;
  @media (max-width: 1060px) {
    padding-top: 120px;
    padding-bottom: 100px;
  }
  .blog__list{
    display: flex;
    flex-wrap: wrap;
    .blog__list-single{
      width: 33.3333333%;
      padding: 16px 8px 16px 8px;
      border: 1px solid #eee;
      @media (max-width: 1060px){
        width: 50%;
      }
      .blog__list-single-cover{
        width: 100%;
        height: 200px;
        overflow: hidden;
        img{width: 100%; height: 100%;}
      }
    }
  }
}
.index-content{
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1rem;
  margin: 1rem 0 2rem 0;
  .index-title-group{
    display: flex;
    .index-title{ font-weight: 600; }
    .index-close{
      display: block;
      margin-left: 1rem;
      text-align: center;
      line-height: 28px;
      width: 28px;
      height: 28px;
      background-color: var(--color-light-grey);
      cursor: pointer;
    }
  }
  .index-list{
    line-height: 2;
    margin-top: 1rem;
  }
  .index-list li{ 
    text-indent: 1rem;
    height: 2rem;
    @media (max-width: 1060px){
      text-indent: 2rem;
    }
  }
  .index-list li::before{
    content: "▶";
    display: block;
    position: absolute;
    top: 0;
    left: -1rem;
    width: 20px;
    height: 20px;
  }
  @media (max-width: 1060px){
    .index-list li::before{
      left: -2rem;
    }
  }
}
.catnavi{
  display: flex;
  @media (max-width: 1080px) {
    overflow-x: auto;
  }
  li{
    display: block;
    width: 150px;
    padding: 4px;
    margin-right: 1rem;
    text-align: center;
    background-color: var(--color-light-grey);
    border-radius: 8px;
  }
}

/*---------------------------
        $news-content / blog-content
----------------------------*/
#news, #blog{
  padding-bottom: 48px;
  @media (max-width: 1060px) {
    padding-top: 120px;
    padding-bottom: 100px;
  }
  .title{
    margin-top: 2rem;
    margin-bottom: 2rem;
    @media (max-width: 1060px){
      p{ font-size: 24px;}
      h3{ font-size: 32px; } 
    }
  }
  .title::before, .title::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    height: 3px;
    background-color: var(--color-main);
  }
  .title::before{
    width: 100%;
  }
  .title::after{
    right: 0;
    width: 80%;
    background-color: var(--color-light-grey);
  }
  .content{
    line-height: 2;
    margin-bottom: 6rem;
    h5{
      color: var(--color-black);
      background-color: var(--color-light-grey);
      font-weight: 600;
      font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro";
      text-decoration: underline;
      margin-bottom: 1rem;
      @media (max-width: 1080px) {
        font-size: 24px;
      }
    }
    a{
      color: var(--color-second2);
      text-decoration: underline;
    }
    li{ list-style: decimal; }
  }
  .btn-more{
    text-align: center;
  }
}

/*---------------------------
        $service area
----------------------------*/
#serviecArea {
  background-color: var(--color-main); }

#serviecArea .serviecArea__inner .title-group{
  margin-bottom: 36px; }

#serviecArea .serviecArea__inner .title-group h3{
  font-size: 28px;
  color: var(--color-white);
  line-height: 1;
  text-align: center;
  letter-spacing: 0.08em; }
  @media (max-width: 1060px) {
    #serviecArea .serviecArea__inner .title-group h3{
      font-size: 32px; } }

#serviecArea .serviecArea__inner .title-group p{
  font-size: 1.2rem;
  line-height: 2;
  color: #fff;
  text-align: center; }

#serviecArea .items {
  width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto; }
  @media (max-width: 1060px) {
    #serviecArea .items {
      width: 100%; } }

#serviecArea .items a:hover{
  opacity: 1; }

#serviecArea .items .group {
  margin: 12px;
  width: 240px;
  padding: 4px;
  @media (max-width: 1060px) {
    margin: 0;
    width: 100%;
    padding: 16px;
  }
 }

#serviecArea .items .group .item {
  position: relative;
  height: 160px;
  margin: 0px;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
  @media (max-width: 1060px) {
    height: 450px; }
}

#serviecArea .items .group .item div {
  position: absolute;
  background-position: center;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all .3s linear; }

#serviecArea .items .group:hover .item div {
  transform: scale(1.1);
  filter: brightness(120%); }

#serviecArea .items .group:hover .sentence{
  font-weight: 600; }

#serviecArea .items .group .sentence {
  position: relative;
  background-color: white;
  height: 210px;
  margin: 0px;
  padding: 10px;
  font-size: 16px;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
  @media (max-width: 1060px) {
    height: 250px;
    font-size: 24px;
    text-align: left;
    padding: 20px;
  }
}

#serviecArea .items .group .sentence .title {
  margin: 8px 0px; }

#serviecArea .items .group .sentence .title img {
  max-width: 100%; }

#serviecArea .items .group .sentence p {
  overflow: visible; }

#index #serviecArea {
  border: none;
  background: var(--color-main); }

#index #serviecArea h2 {
  color: #fff; }

#index #serviecArea h2 span {
  font-size: 0.8em;
  margin-top: 8px; }

#index #serviecArea .more a {
  color: #fff; }

footer {
  background: var(--color-grey); }
  
  footer .nav {
  display: flex;
  justify-content: space-evenly;
  font-weight: 500;
  color: var(--color-white);
  background: var(--color-grey);
  margin: auto;
  width: 1000px;
  padding: 50px 0; }
  @media (max-width: 1060px) {
    footer .nav {
      width: 100vw;
      flex-direction: column;
      font-size: 28px; } }
  
  footer .nav div {
    padding: 20px 10px; }

  footer .box a {
    color: var(--color-white); }
  
  footer ul{
    padding-top: 20px;}
    @media (max-width: 1060px) {
      footer ul {
        display: none; } }
  
  footer .nav .box1 {
    color: var(--color-white); }

  footer .nav .box1 .flex_row {
    display: flex;
    flex-direction: row;
    padding: 0px;
    align-items: flex-end;
    justify-content: space-between; }

  footer .nav .box1 .flex_row .map_icon {
    height: 22px; }

  footer .nav .box1 .flex_row .tel{
    font-size: 20px;
    font-weight: 500;
    color: var(--color-white); }

  footer .nav img.logo_w {
    width: 300px; }

  footer .foot {
    color: var(--color-white);
    background: var(--color-grey);
    text-align: center;
    padding-bottom: 100px; }

  @media (max-width: 1060px) {
    footer .nav .box1 {
      width: 100vw;
      height: 180px;
      font-size: 28px;
      line-height: 2;
      text-align: center; }

    footer .nav .box1 .flex_row {
      flex-direction: column;
      padding: 0px;
      align-items: center;
      justify-content: space-between; }

    footer .nav img.logo_w {
      width: 400px; }

    footer .nav .box1 .flex_row .map_icon {
      height: 36px; }
    
      footer .nav .box1 .flex_row .tel{
        font-size: 28px; }

    footer .box {
      height: 60px;
      text-align: center; } 

    footer .box:nth-of-type(2){
      margin-top: 7rem; }

    footer .foot {
      padding-top: 1rem; } }


/*-----------------------------------------------------------
   index
-----------------------------------------------------------*/
/* top common */
#top, #index-banner, .interview-main{
  height: 35vw;
  @media (max-width: 1060px){
    height: 111vw; }
  .common-hero{
    height: 100%;
    padding-top: 0px;
    box-sizing: border-box;
    overflow: hidden;
    .scroll-line{
      position: absolute;
      left: 50%;
      bottom: 80px;
      display: block;
      width: 2px;
      height: 100px;
      background-color: transparent;
      overflow: hidden;
    }
    .scroll-line::before{
      content: "";
      position: absolute;
      display: block;
      width: 2px;
      height: 120px;
      background-color: var(--color-white);
      animation: index-scroll 3s ease-in-out infinite;
    }
    .scroll-text{
      position: absolute;
      bottom: 40px;
      color: var(--color-white);
      font-weight: 600;
    }
  }
  .common-hero__inner{
    position: absolute;
    top: 0px;
    bottom: 0px;
    width: 100%;
    overflow: hidden; }
    @media (max-width: 1060px) {
      .common-hero__inner{
        top: 0px; } }

  .common-hero .common-hero__inner{
    position: absolute;
    top: 0px;
    bottom: 0px;
    width: 100%;
    overflow: hidden; }
    @media (max-width: 1060px) {
      .common-hero__inner{
        top: 0px; } }

  .common-hero__inner:before{
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0; }

  .common-hero__inner:before{
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0; }

  .common-hero__inner .text-box{
    position: absolute;
    top: 40%;
    width: 100%;
    margin-top: -3.5em;
    text-align: center;
    color: var(--color-white);
    @media (max-width: 1600px) {
      top: 15%; }
      @media (max-width: 1060px) {
        top: 40%; }

    .title {
      font-size: 36px;
      font-weight: 600;
      @media (max-width: 1060px) {
        font-size: 30px; }
    }
    .text {
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      max-width: 650px;
      padding: 1.5rem 0;
      line-height: 2;
      font-weight: bold;
      font-size: 20px;
      text-align: left;
      @media (max-width: 1060px) {
        font-size: 24px;
        padding: 2rem; }
    }
  }
  #index-banner{height: 40vw;}

  .index-hero {
    display: block;
    color: var(--color-main);
  }
  .index-hero:before{
    background: url(../img/index/banner01.jpg) center no-repeat,
    url(../img/index/banner02.JPG) center no-repeat,
    url(../img/index/banner06.JPG) center no-repeat,
    url(../img/index/banner07.JPG) center no-repeat,
    url(../img/index/banner09.JPG) center no-repeat;
    background-size: cover;
    z-index: 0;
    animation: banner-anime 16s ease 6s infinite; }
    @media (max-width: 1060px) {
      .index-hero:before{
      background: url(../img_sp/index/Banner01_sp.jpg) center no-repeat,
      url(../img_sp/index/banner02_sp.jpg) center no-repeat,
      url(../img_sp/index/banner06_sp.jpg) center no-repeat,
      url(../img_sp/index/banner07_sp.jpg) center no-repeat,
      url(../img_sp/index/banner09_sp.jpg) center no-repeat;
      animation: banner-anime-sp 16s ease 6s infinite;
      }
    }
}
@keyframes index-scroll{
  0%{top: -100%;}
  100%{top: 100%;}
}
@keyframes banner-anime{
  0%{background: url(../img/index/Banner01.jpg) center/cover no-repeat cover;}
  20%{ background: url(../img/index/banner02.JPG) center/cover no-repeat;}
  40%{ background: url(../img/index/banner06.JPG) center/cover no-repeat;}
  60%{ background: url(../img/index/banner07.JPG) center/cover no-repeat;}
  80%{background: url(../img/index/banner09.JPG) center/cover no-repeat;}
  100%{background: url(../img/index/Banner01.jpg) center/cover no-repeat;}
}
@keyframes banner-anime-sp{
  0%{background: url(../img_sp/index/Banner01_sp.jpg) center/cover no-repeat cover;}
  20%{ background: url(../img_sp/index/banner02_sp.jpg) center/cover no-repeat;}
  40%{ background: url(../img_sp/index/banner06_sp.jpg) center/cover no-repeat;}
  60%{ background: url(../img_sp/index/banner07_sp.jpg) center/cover no-repeat;}
  80%{ background: url(../img_sp/index/banner09_sp.jpg) center/cover no-repeat;}
  100%{background: url(../img_sp/index/Banner01_sp.jpg) center/cover no-repeat;}
}

#top .common-hero .s2:before {
  background: url(../img/index/kikai-cover.png) center no-repeat;
  filter: brightness(0.7);
  background-size: cover; }

#top .common-hero .s7:before {
  background: url(../img/index/fa-cover.jpg) center no-repeat;
  filter: brightness(0.5);
  background-size: cover;
  z-index: 0; }

#top .common-hero .s8:before {
  background: url(../img/index/qa-cover.jpg) center no-repeat;
  filter: brightness(0.6);
  background-size: cover;
  z-index: 0; }


#top .s3:before {
  background: url(../img/index/bg03.jpg) center no-repeat;
  background-size: cover;
  z-index: 0; }

#top .s3 .title {
  margin-top: -0.2em; }

.common-catch-text-outter{
  height: 200px;
  background: linear-gradient(rgba(255, 255, 255,0) 0%,rgba(220, 233, 240,.8) 50%, rgba(255, 255, 255,0) 100%);
  .common-catch-text{
    display: block;
    text-align: center;
    line-height: 200px;
    background: linear-gradient(to right, rgba(0, 29, 84,.5), rgba(69, 177, 224,.5));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: all 1s ease-out;
    @media (max-width: 1060px){
      line-height: 100%;
      padding-top: 10%;
    }
  }
}

/*---------------------------
        $group-company
----------------------------*/
#top {
  .group-company-banner::before{
    background: url(../img/business/business/group-cover.jpg) center no-repeat;
    background-size: cover;
    z-index: 0;
  }
  @media (max-width: 1060px) {
    .group-company-banner::before{
      background: url(../img_sp/business/business/group-cover_sp.jpg) center no-repeat;
    }
  }
  .group-company-banner .text-box {
    width: fit-content;
    background: var(--color-second2);
    left: 50%;
    transform: translateX(-50%);
    padding: 1rem;
    .group-company__text {
      max-width: fit-content;
      padding: 0;
    }
    }
    .group-hero .scroll-line::before{
      background-color: var(--color-second);
    }
    .group-hero .scroll-text{
      color: var(--color-second);
    }
  }

.group-company{
  padding-bottom: 3rem;
  .common-catch-text-outter{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    .common-catch-text{
      text-align: left;
      line-height: 3rem;
      letter-spacing: -5px;
    }
  }
  #group-company .group-company__list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    .group-company__list__single{
      display: flex;
      width: 50%;
      padding: 2rem;
      opacity: 0;
      transition: all 1s;
      @media (max-width: 1060px) {
        width: 100%;
        flex-direction: column;
        padding: 3rem 2rem;
      }
      h5{
        writing-mode: vertical-lr;
        margin-right: 1rem;
        color: var(--color-main);
        @media (max-width: 1060px) {
         writing-mode: horizontal-tb;
         font-size: 26px;
        }
      }
     .photo{
      width: 100%;
      overflow: hidden;
      figure {
        height: 100%;
        img{
          width: 100%;
          border-radius: .5rem;
        }
      }
      @media (max-width: 1060px) {
        p{
          letter-spacing: -2px;
          padding: 1rem 0;
        }
      }
     }
    }
  }
}
@media (max-width: 1060px) {
  .group-company-page{
    margin-top: 100px;
  }
}


/* ----------------------
  $index
------------------------ */
.front-buisness{ margin: 60px 0;}

.front-buisness__inner .row{
  display: flex;
  justify-content: center;
    @media (max-width: 1060px) {
      flex-direction: column;
      align-items: center;
    }
}
  .front-buisness__inner .row:nth-of-type(1){
    margin-bottom: 60px; }
    
    .front-buisness__inner__group{
      width: 300px;
      margin: 0 16px;
      @media (max-width: 1060px) {
        width: 100%;
        margin: 0;
        padding: 2rem; }
    }

    .front-buisness__inner__box{
      height: 200px;
      border-radius: 16px;
      overflow: hidden;
      transition: all .3s;
      @media (max-width: 1060px) {
        height: 300px; }
      img{
        width: 100%; height: 100%;}
        @media (max-width: 1060px) {
          height: auto; }
    }
    .front-buisness__inner__box:hover img{
      transform: scale(1.1);
      opacity: .5; }

    .front-buisness__inner__title{
      font-size: 18px;
      text-align: center;
      font-weight: 600;
      line-height: 200%;
      @media (max-width: 1060px) {
        font-size: 22px; }
    }

    .front-buisness__inner__info{
      text-align: left;
      @media (max-width: 1060px) {
        font-size: 18px; }
    }

/*--------------------------
  $ikkan
---------------------------*/
.ikkan {
  padding: 60px 0; }
  .ikkan::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: .3;
    background: url(../img/index/map.png) center top no-repeat; }

  .ikkan__inner{
    display: flex;
    justify-content: center;
    align-items: center;
    @media (max-width: 1060px) {
      flex-direction: column;
      align-items: center; }
  }

    .ikkan__inner__text-box{
      width: 40%;
      @media (max-width: 1060px) {
        width: 100%;
        padding: 2rem; }
      h3{
        color: var(--color-main); }
        p{
          line-height: 1.8;
          margin-top: 1.5rem;}
    }

    .ikkan__inner__total-power{
      width: 40%;
      height: 400px;
      @media (max-width: 1060px) {
        width: 100%;
        left: 50%;
        transform: translateX(-50%); }
    }

      .ikkan__inner__total-power ul,
      .ikkan__inner__total-power__circle{
        position: absolute;
        top: 0;
        left: 50px;
        border: 14px solid transparent;
        width: 400px;
        height: 400px;
        border-radius: 100%;
        @media (max-width: 1060px) {
          width: 500px;
          height: 500px; }
      }

        .ikkan__inner__total-power ul{
          background: linear-gradient(white, white) padding-box, var(--main-gradient) border-box;
          animation: rotate 30s linear infinite;
          li{
            position: absolute;
            width: 100px;
            height: 100px;
            border-radius: 100%;
            border: 8px solid var(--color-main);
            background-color: #fff;
            animation: rotate-ball 30s linear infinite;
            @media (max-width: 1060px) {
              width: 120px;
              height: 120px; }

            img{
              width: 60%; 
              @media (max-width: 1060px) {
                width: 50%; }
            }
            p{
              text-align: center;
              @media (max-width: 1060px) {
                font-size: 20px; }
            }
          }
        }
          @keyframes rotate{
            0% {transform: rotate(-20deg) scaleY(0.6) rotate(0deg);}
            100% {transform: rotate(-20deg) scaleY(0.6) rotate(360deg);}
          }

          @keyframes rotate-ball {
            0% { transform: rotate(0deg) scaleY(1.5) rotate(20deg) scale(1); }
          
            100% { transform: rotate(-360deg) scaleY(1.5) rotate(20deg) scale(1); } }
          .ikkan__inner__total-power ul li:nth-child(1){
            left: 150px;
            top: -50px; }
            .ikkan__inner__total-power ul li:nth-child(2){
              left: 300px;
              top: 50px;
              @media (max-width: 1060px) {
                left: 370px;
                top: 20px; } }
              .ikkan__inner__total-power ul li:nth-child(3){
                right: -30px;
                bottom: 30px; }
                .ikkan__inner__total-power ul li:nth-child(4){
                  right: 150px;
                  bottom: -50px;
                  p{letter-spacing: -1px;
                    font-size: 0.8rem;} }
                  .ikkan__inner__total-power ul li:nth-child(5){
                    right: 300px;
                    bottom: 50px;
                    img{width: 70%;}
                    @media (max-width: 1060px) {
                      right: 370px;
                      bottom: 20px; } }
                    .ikkan__inner__total-power ul li:nth-child(6){
                      left: -20px;
                      top: 50px; }

        .total-power__circle__logo{
          display: inline-block;
          p{
            font-weight: 600;
            font-size: 1.1rem;
            color: #595757; }
            img{scale: 1.1;}
        }

    .ikkan .ikkan__deco-text{
      font-size: 3rem;
      font-weight: 600;
      text-align: center;
      -webkit-text-fill-color: transparent;
      background: linear-gradient(0deg, #fff 0%, #D8D7D7 5%, transparent);
      background-clip: text;
      animation-duration: 1s; }
/*-----------------------------------------------------------
   $business-page
-----------------------------------------------------------*/
.business-banner::before{
  background: url(../img/business/business/business-cover.jpg) center no-repeat;
  background-size: cover;
  z-index: 0;
}
@media (max-width: 1060px) {
  .business-banner::before{
    background: url(../img_sp/business/business/business-cover_sp.jpg) center no-repeat;
  }
}
#top .common-hero .business-banner{
  .text-box{
    top: 50%;
    color: var(--color-main);
    @media (max-width: 1060px) {
      top: 52%;
    }
  }
  .title:nth-child(1){
    font-size: 60px;
    @media (max-width: 1060px) {
      font-size: 48px;
    }
  }
  .title:nth-child(2){
    font-size: 42px;
  }
}

.business-page{
  padding-bottom: 48px;
  .business-page__group{
    margin-bottom: 4rem;
    opacity: 0;
    transition: all .5s;
    .business-page__point{
      width: 30%;
      height: 60px;
      background: var(--main-gradient);
      border-radius: 30px;
      text-align: center;
      line-height: 60px;
      font-size: 24px;
      font-weight: 600;
      color: var(--color-white);
      margin-bottom: 2rem;
      @media (max-width: 1060px) {
        width: 50%;
      }
    }
    .business-page__point::after{
      content: "";
      border-top: 20px solid #45B1E0;
      border-left: 10px solid transparent;
      border-right: 10px solid transparent;
      position: absolute;
      bottom: -19px;
      left: 50%;
      transform: translateX(-50%);
    }
  }
  .business-page__text-group{
    display: flex;
    flex-direction: row;
    align-items: center;
    @media (max-width: 1060px) {
      flex-direction: column;
    }
    .radius-img{
      width: 50%;
      @media (max-width: 1060px) {
        width: 100%;
        margin: 2rem 0;
      }
    }
    .business-page__title-group{
      width: 50%;
      text-align: center;
      h1{ font-size: 60px;}
      @media (max-width: 1060px) {
        width: 100%;
        margin-bottom: 1rem;
      }
    }
  }
  .business-page__explain{
    line-height: 2.2;
  }
  @media (max-width: 1060px) {
    .business-page__title-group h5{
      font-size: 32px;
    }
  }
}
/*-----------------------------------------------------------
   about common
-----------------------------------------------------------*/
#top .about-hero .common-hero__inner .text-box .title{
  background-color: var(--color-main);
  display: inline-block;
  padding: 1rem;
  border-radius: 8px;
}

#top .about-hero .common-hero__inner .text-box .text{
  text-align: center;
  text-shadow: 0 1px 7px rgba(0, 0, 0, .5);
}

.about-title{
  color: var(--color-main);
  span{
    padding-left: 12px;
    font-size: 20px;
  }
}

.btn-group__text-group{
  display: flex;
  flex-direction: column;
  text-align: left;
  @media (max-width: 1060px) {
    padding-right: 2rem;
  }
}
/*-----------------------------------------------------------
   message
-----------------------------------------------------------*/
.about-hero .message-banner:before {
  background: url(../img/about/message/message-cover.jpg) center no-repeat;
  filter: brightness(0.8);
  background-size: cover; }

#message{
  padding-bottom: 48px;
  background: var(--circle-gradient);
  .wrap:nth-child(2){
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
    @media (max-width: 1060px) {
      flex-direction: column;
    }
    .top-message{
      opacity: 0;
      transition: all 1s ease-out;
      .read{
        margin-top: 2.5rem;
        color: var(--color-main);
        letter-spacing: 0.08em;
        @media (max-width: 1060px){
          margin-top: 1rem;
          margin-bottom: 2rem;
          letter-spacing: 0;
        }
      }
    }
    .photo{
      text-align: center;
      border-radius: 8px;
      height: 400px;
      overflow: hidden;
      opacity: 0;
      transform: translateX(200px);
      transition: all 1s ease-out;
      @media (max-width: 1060px) {
        img{
          width: 100%;
          object-position: 0 -80px;
        }
      }
      .name{
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 360px;
        background-color: var(--color-main);
        color: var(--color-white);
        border-radius: 0 0 8px 8px;
        @media (max-width: 1060px) {
          width: 100%;
        }
        span{
          display: block;
          font-size: 24px;
        }
      }
    }
  }
  .textarea {
    width: 100%;
    line-height: 2;
    p {
      padding-bottom: 1rem;
      text-indent: 1rem;
    }
  }
}
/*-----------------------------------------------------------
   history
-----------------------------------------------------------*/
.about-hero .history-banner:before {
  background: url(../img/about/history/history-cover.jpg) center no-repeat;
  background-size: cover; }

#history{
  padding-bottom: 48px;
  background: var(--circle-gradient);
  .about-title{
    margin-left: 2rem;
    margin-bottom: 2rem;
    opacity: 0;
    transition: all 1s ease-out;
    @media (max-width: 1060px) {
      margin-left: 0;
    }
  }
  .wrap:nth-child(2)::before{
    content: "";
    display: block;
    position: absolute;
    left: 38px;
    top: 74px;
    height: 96%;
    width: 8px;
    background-color: var(--color-light-grey);
  }
  @media (max-width: 1060px) {
    .wrap:nth-child(1)::before{
      left: 0;
      top: 60px;
      height: 96.5%;
    }
  }
  .date-group{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 1rem;
    opacity: 0;
    @media (max-width: 1060px) {
      padding-bottom: 3rem;
    }
    .year{
      line-height: 1;
      color: var(--color-main);
      font-size: 32px;
      font-weight: 600;
      @media (max-width: 1060px) {
        font-size: 24px;
      }
    }
    dl{
      display: inline-flex;
      align-items: center;
      @media (max-width: 1060px) {
        width: 100%;
        padding-left: 4.2rem;
      }
    }
    dt{
      margin: 1rem 2rem;
      @media (max-width: 1060px){
        flex-shrink: 0;
        font-size: 24px;
        width: 80px;
        margin: 1rem;
      }
    }
    dd{
      width: 710px;
      @media (max-width: 1060px) {
        width: auto;
        font-size: 20px;
      }
    }
  }
  .date-group::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: var(--color-main);
    border-radius: 50%;
    margin: 0 2rem;
  }
  .data-group__sub-group{
    display: flex;
    align-items: center;
    @media (max-width: 1060px) {
      width: 100%;
      padding-left: 4.2rem;
    }
  }
    .data-group__sub-group:nth-child(3),
    .data-group__sub-group:nth-child(4){
      margin-left: 168.63px;
      @media (max-width: 1060px) {
        margin-left: 0;
      }
    }
}

/*-----------------------------------------------------------
   profile
-----------------------------------------------------------*/
.about-hero .profile-banner:before {
  background: url(../img/about/profile/profile-cover.jpg) center no-repeat;
  filter: brightness(0.8);
  background-size: cover; }

#profile {
  padding: 48px 0;
  background: var(--circle-gradient);
  .about-title{
    opacity: 0;
    transition: all 1s;
  }
  .profile__line{
    position: absolute;
    left: 140px;
    top: 74px;
    height: 96%;
    width: 8px;
    background-color: var(--color-light-grey);
  }
  table {
    width: 100%;
    margin-top: 3rem;
    .profile__tr{
      line-height: 200%;
      opacity: 0;
      @media (max-width: 1060px) {
        border-top: 1px solid var(--color-light-grey);
        border-bottom: 1px solid var(--color-light-grey);
      }
    }
    th,td{
      padding: 1.5rem 0;
      @media (max-width: 1060px) {
        display: block;
      }
    }
    th{
      width: 6rem;
      padding-left: 1em;
      @media (max-width: 1060px) {
        width: auto;
        padding-left: 0px;
        font-weight: bold;
      }
    }
    #maparea{
      height: 465px;
      width: 400px;
      border: 10px solid var(--color-light-grey);
      @media (max-width: 1060px) {
        width: 100%;
      }
    }
  }
}




/*-----------------------------------------------------------
   office
-----------------------------------------------------------*/
.about-hero .office-banner:before {
  background: url(../img/index/map.png) center no-repeat;
  filter: brightness(0.8);
  background-size: cover; }

#top .about-hero .office-banner .text-box .text{
  text-shadow: none;
  color: var(--color-black); }

#top .about-hero .office-scroll-line::before{
  background-color: var(--color-black); }

#top .about-hero .office-text{
  color: var(--color-black); }

#office{
  .about-title{
    opacity: 0;
    transition: all 1s ease-out;}
  .office__list{
    padding-top: 72px;
    .office__list__single {
      display: flex;
      width: 100%;
      opacity: 0;
      transition: all 1s;
      @media (max-width: 1060px) {
        flex-direction: column;
      }
      .photo{
        width: 40%;
        overflow: hidden;
        @media (max-width: 1060px){width: 100%;}
        figure { height: 100%; }
          img { width: 100%; }
        }
      .text {
        display: flex;
        align-items: center;
        vertical-align: middle;
        font-size: 14px;
        line-height: 1.7;
        @media (max-width: 1060px){
          padding-bottom: 1rem;
          font-size: 24px;
        }
        h5{color: var(--color-main);
          @media (max-width: 1060px) {
            font-size: 28px;
          }
        }
        .phone{
          padding-left: 1rem;
          width: 50%;
        }
      }
      .map{
        display: flex;
        flex-direction: column;
        width: 60%;
        padding-left: 20px;
        @media (max-width: 1060px){
          width: 100%;
          padding-left: 0;
          padding-top: 2rem;
          letter-spacing: -1px;
        }
        .phone span{ padding-left: 40px;}
      }
      #main, #tomika, #mizuho, #kaminoho, #maze, #komagane,
      #oono, #yonezawa, #dairen{height: 100%;}
    }
  }
  .office__list__single:nth-child(even) {
    margin: 4rem 0px;
    @media (max-width: 1060px) {
      margin: 5rem 0px;
    }
  }
  .office__list__single:nth-last-child(1) .text{
    flex-direction: column;
    .phone{padding-left: 0; width: 100%;}
  }
  .mapbox{
    width: 100%;
    height: 100%;
    border: 10px solid var(--color-light-grey);
    @media (max-width: 1060px) {
      height: 400px; }
      #maparea {
        height: 465px; }
  }
  > .mapbox{
    opacity: 0;
    transition: all 1s ease-out;
  }
}

/*-----------------------------------------------------------
   seimitsu
-----------------------------------------------------------*/
#seimitsu {
  padding-bottom: 50px;
  .cnc {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .common-catch-text-outter:nth-child(2) .common-catch-text{
    font-size: 22px;
    opacity: 0;
  }
}
.facility{
  .wrap{
    h2 {
      float: left;
      padding-top: 180px;
      font-size: 27px;
      color: var(--color-main);
      font-weight: normal;
      @media (max-width: 1060px) {
        float: none;
        margin-bottom: 0.5em;
        padding: 0px;
        font-size: 32px;
      }
      span {
        display: block;
        font-size: 16px;
        color: #595757;
        @media (max-width: 1060px) {
            display: inline-block;
            font-size: 20px;
            padding-left: 1em;
        }
      }
    }
    ul {
      display: flex;
      flex-wrap: wrap;
      li {
        padding-right: 1rem;
        padding-bottom: 2rem;
        width: 48%;
        @media (max-width: 1060px) {
          width: 100%;
          text-align: center;
        }
        span {
          display: block;
          padding-top: 0.7em;
          font-size: 16px;
          @media (max-width: 1060px) {
              font-size: 20px;
            }
        }
        .imgbox{
          height: 450px;
          overflow: hidden;
          img{
            width: 100%;
            @media (max-width: 1060px) {
              width: auto;
              height: 100%;
              object-fit: cover;
            }
          }
        }
      }
      @media (min-width: 1061px){
        li:nth-child(3n){
          margin-right: 0px;
        }
        li:nth-child(3n)+li {
          clear: both;
        }
      }
      @media (max-width: 1060px) {
        li:nth-child(2n) {
          margin-right: 0px;
        }
        li img {
          width: 100%;
        }
      }
    }
    .cat-btns{
      margin-bottom: 4rem;
      button{
        cursor: pointer;
        height: 3rem;
        font-size: .75rem;
        letter-spacing: 0;
        border-radius: 8px;
        padding: 4px;
        /* margin-right: .5rem; */
        margin-bottom: 1rem;
      }
      .cat-btns__btn-group button:nth-child(4n){
        margin-right: 0;
      }
      button.active{
        background-color: var(--color-main);
        color: var(--color-white);
        font-weight: 600;
      }
    }
    .cat-btns > button:nth-child(1){
      width: 100%;
      font-size: 1rem;
      margin-right: 0;
    }
    .scroll-table-anime{
      display: none;
      @media (max-width: 1060px) {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 2rem;
        span{
          font-size: 52px;
          animation: 1.5s scroll-table-anime ease-in-out infinite;
        }
      }
    }
    .seimitsu-table-outter{
      margin-bottom: 40px;
      >div>div{margin-bottom: 5rem;}
      div:nth-child(1) a{
        display: block;
        position: absolute;
        margin-top: 1rem;
        right: 1rem;
      }
      >div:nth-child(n+2){display: none;}
      div h6:nth-child(n+2){
        margin-top: 3rem;
      }
      table{
        width: 100%;
        @media (max-width: 1060px) {
          white-space: nowrap;
          font-size: 22px;
        }
        th{cursor: pointer;}
      }
    }
    .scroll {
      @media (max-width: 1060px) {
        overflow: auto;
      }
    }
  }
  >.wrap:nth-child(1){
    padding: 80px 0;
  }
  .factory-photo{
    display: flex;
    justify-content: space-between;
    @media (max-width: 1060px) {
      flex-wrap: wrap;
    }
    >div{
      width: 48%;
      @media (max-width: 1060px) {
        width: 100%;
      }
      .imgbox{
        width: 100%;
        height: 320px;
        overflow: hidden;
        img{width: 100%;
        }
      }
      p{text-align: center;}
    }
  }
}
@keyframes scroll-table-anime{
  0%{ transform: rotate(-30deg);}
  50%{transform: rotate(30deg);}
  100%{transform: rotate(-30deg);}
}

/*-----------------------------------------------------------
   sekkei
-----------------------------------------------------------*/
/* all padding setting */
@media (max-width: 1060px){
  .sekkei{
    padding: 60px 0;
  }
}
.sekkei .model, .sekkei .track-record, .sekkei .daikou, .kumitate{
  padding-top: 72px;
  @media (max-width: 1060px) {
    padding-top: 60px;
  }
}
.sekkei > .info-outter{
  opacity: 0;
  transition: all 1s ease-out;
}
/* sekkei */
.sekkei{
  .model{
    .wrap{
      display: flex;
      justify-content: space-evenly;
      max-width: 1000px;
      @media (max-width: 1060px) {
        flex-wrap: wrap;
      }
      .info-img:nth-child(2) .img-outter .imgbox img{
        padding: 18px 0;
      }
    }
  }
  .track-record{
    .info-outter .info{
      width: 100%;
    }
    .info-group{
      margin-top: 3rem;
      @media (max-width: 1060px) {
        flex-wrap: wrap;
        justify-content: flex-start;
      }
      .text p:nth-child(1){
        font-weight: 600;
      }
    }
  }
  .focus-point .info-group, .daikou .info-group{
      text-align: center;
      box-shadow: none;
      border: 5px solid;
      border-image-source: var(--main-gradient);
      border-image-slice: 1;
      .info-group .text p:nth-child(1){
        font-weight: 600;
    }
  }
  .twodto3d{
    .wrap{ padding: 1rem 0;}
    .wrap:nth-child(1){
      display: flex;
    }
    .imgbox{
      width: 33.333%;
      img{width: 100%;}
    }
    .wrap:nth-child(2) p{
      text-align: center;
      color: var(--color-white);
      font-weight: 600;
      background-color: var(--color-second);
      padding: 16px 0;
    }
  }
  .daikou{
    .wrap:nth-child(1) p, .wrap:nth-child(2) p{
      text-align: center;
      font-weight: 600;
      margin: 1rem 0;
    }
    .wrap:nth-child(2) .radius-img .imgbox{
      width: 50%;
      left: 50%;
      transform: translateX(-50%);
      @media (max-width: 1060px) {
        width: 100%;
      }
      img{width: 100%;}
    }
    .info-group{
      margin-top: 3rem;
    }
  }
}
/* kumitate */
.kumitate .radius-img{
  height: 500px;
  margin: 5rem 0;
  @media (max-width: 1060px) {
    height: auto;
  }
  img{
    width: 100%;
  }
}

/*-----------------------------------------------------------
   hinshitsu
-----------------------------------------------------------*/
#hinshitsu {
  padding-bottom: 48px;
  .common-catch-text{
    opacity: 0;
    transform: translateX(-200px);
  }
  .iso, .qa-facility{
    padding-top: 72px;
  }
  .iso .wrap:nth-child(2){
    padding: 72px 0;
    display: flex;
    justify-content: center;
    align-items: end;
    @media (max-width: 1060px){
      align-items: top;
    }
    img{ margin-right: 2rem;}
  }
  .iso .wrap:nth-child(3) .radius-img .imgbox{
    height: 700px;
    img{top: -80%;}
    @media (max-width: 1060px){
      height: 500px;
    }
  }
  .qa-facility .wrap:nth-child(2){
    display: flex;
    flex-wrap: wrap;
    .radius-img{
      width: 48%;
      padding: 0 1rem;
      @media (max-width: 1060px){
        width: 100%;
      }
    }
  }
  @media (max-width: 1060px) {
      .common-catch-text {
        padding: 10%;
    }
    .iso .wrap:nth-child(2) div
      { padding-right: 8px;}
  }
}


/*-----------------------------------------------------------
   $reidento
-----------------------------------------------------------*/
#reidento {
  padding-bottom: 48px;
  background-color: #f8f8f8;
  .wrap{
    display: flex;
    justify-content: space-evenly;
    max-width: 1000px;
    @media (max-width: 1060px){
      flex-wrap: wrap; } }
  .ani-wrap{
    opacity: 0;
    transition: all 1s ease-out;
  }
  .pan-wrap{
    display: block;
  }
  .info-outter:nth-child(2){
    opacity: 0;
    transform: translateY(100px);
    transition: all 1s ease-out;
    .info .info-group{
      flex-wrap: wrap;
    }
  }
  .common-title-sm{
    margin-bottom: 1rem;
  }
  @media (max-width: 1060px){
    .reidento1 .wrap:nth-last-of-type(1) .common-title-sm{
      display: block;
      text-align: center; }
  }
  /* info icon */
  .icons{
    margin-bottom: 4rem;
    text-align: center;
    @media (max-width: 1060px) {
      display: flex;
      justify-content: space-around;
      flex-wrap: wrap;
      margin-bottom: 2.5rem; }
    li{
      display: inline-block;
      width: 15%;
      vertical-align: top;
      padding-right: 8px;
      @media (max-width: 1060px) {
        width: 240px;
        margin: 20px 0; }

      img{
        width: 70%; }
        span {
          display: block;
          font-size: 16px;
          line-height: 1.6;
          text-align: left;
          padding-top: 0.8rem;
          @media (max-width: 1060px) {
            font-size: 20px; }
         }
      }
      li:nth-last-of-type(1){
        padding-right: 0; }
  }
    /* $reidento1 */
  .reidento1{
    position: relative;
    padding-top: 100px;
    padding-bottom: 100px;
    background: var(--circle-gradient);
    .wrap:nth-of-type(1){
      margin-bottom: 3rem;}
    .imgbox, .textbox{
      width: 45%;
      @media (max-width: 1060px){
        width: 100%;
        margin-bottom: 2rem;
      }
    }
    .wrap:nth-of-type(1) .textbox{
      @media (max-width: 1060px){
        margin-bottom: 4rem; }
      }
    .imgbox .imgfit{
      position: relative;
      width: 100%;
      padding-top: 90%;
      overflow: hidden;
      border-radius: 16px;
      img{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        object-fit: cover; }
        img:nth-of-type(1){
          scale: 1.1;
          height: 100%; }
    }
    p{
      font-size: 16px;
      line-height: 2;
      @media (max-width: 1060px) {
        font-size: 24px;
        line-height: 2; }
    }
    .wrap:nth-of-type(2) .imgbox{
      order: 2;
      @media (max-width: 1060px){
        order: 0; }
      }
  }
  /* $reidento2 */
  .reidento2{
    .info-img{
      width: 28%;
      margin-bottom: 4rem;
      @media (max-width: 1060px){
        width: 100%; }
    }
    .info-img:nth-child(3){
      margin-bottom: 0;
    }
    .img-outter{
      padding: 32px;
      box-shadow: var(--info-shadow);
      border-radius: var(--info-radius);
      p{
        height: 72px;
        @media (max-width: 1060px) {
          height: 100px;
        }
      }
      .imgbox{
        width: 100%;
        img{
          width: 100%; }
      }
    }
  }
  .data{
    padding-top: 100px;
    background: var(--circle-gradient);
    /* table */
    .table-outter{
      .info-group{
        flex-wrap: wrap;
        align-items: flex-end;
        @media (max-width: 1060px) {
          flex-wrap: wrap; }

        .title-group{
          display: inline-block;
          padding: 0 20px;
          @media (max-width: 1060px) {
            display: block;
            text-align: center;
          }
          .reidento--title-sm{
            @media (max-width: 1060px){
              margin-bottom: 0.5rem;
            }
          }
          .ard-group{
            display: flex;
            flex-direction: row;
            @media (max-width: 1060px){
              justify-content: center;
            }
          }
        }
        .phone-group{
          display: inline-block;
          @media (max-width: 1060px){
            display: block;
            text-align: center;
          }
        }
      }
    }
    .wrap{
      justify-content: space-between;
      margin-top: 36px;
      margin-bottom: 0;
      @media (max-width: 1060px){
        flex-wrap: wrap;
        justify-content: center;
      }
      .left,.right{
        padding: 0 20px;
        width: 50%;
        @media (max-width: 1060px) {
          width: 100%;
        }
      }
      .left{
        @media (max-width: 1060px){
          margin-bottom: 3em;
        }
      }
    }
  }
}

/*-----------------------------------------------------------
   privacy
-----------------------------------------------------------*/
#privacy {
  padding-bottom: 48px;
  .text-box{
    text-align: center;
    color: var(--color-main);
    margin-bottom: 1.5rem;
  }
  .read, dd {
    margin-bottom: 2rem;
    line-height: 2;
  }
  dt {
    color: var(--color-main);
  }
}

/*-----------------------------------------------------------
   sitemaps
-----------------------------------------------------------*/
#sitemaps{
  padding-bottom: 48px;
  @media (max-width: 1060px) {
    padding: 130px 0px 100px 0; }
  .sitemap__top, .sitemap__bottom{
    display: flex;
    margin: 2rem 0;
    @media (max-width: 1060px) {
      flex-wrap: wrap;
      flex-direction: column;
      width: 100%;
    }
  }
  .sitemap__card{
    background-color: var(--color-grey);
    width: 33.333333%;
    padding: 2rem 1rem;
    i{margin-bottom: 1rem;}
    .area-title{color: var(--color-main);}
    .area-title::after{background-color: var(--color-main);}
    ul{
      font-size: 1.2rem;
      a{
        div{
          display: inline-block;
          padding-right: 1rem;
          border-top: 5px solid transparent;
          border-bottom: 5px solid transparent;
          border-left: 10px solid var(--color-black);
        }
      }
      a:hover{color: var(--color-white); opacity: 1;}
      a:hover div{border-left: 10px solid var(--color-white);}
    }
  }
  .sitemap__card:hover{background-color: var(--color-second);}
  .sitemap__top .sitemap__card:nth-child(1) i::before{
    background-image: url(/site/img/common/building-navy.svg);
    width: 48px;
    height: 48px; }
    .sitemap__top .sitemap__card:nth-child(2) i::before{
      background-image: url(/site/img/common/screwdriver-navy.svg);
      width: 48px;
      height: 48px; }
      .sitemap__top .sitemap__card:nth-child(3) i::before{
        background-image: url(/site/img/common/quality-navy.svg);
        width: 48px;
        height: 48px; }

    .sitemap__bottom .sitemap__card:nth-child(1) i::before{
      background-image: url(/site/img/common/buisness-navy.svg);
      width: 48px;
      height: 48px; }
      .sitemap__bottom .sitemap__card:nth-child(2) i::before{
        background-image: url(/site/img/common/news-navy.svg);
        width: 48px;
        height: 48px; }
        .sitemap__bottom .sitemap__card:nth-child(3) i::before{
          background-image: url(/site/img/common/group-navy.svg);
          width: 48px;
          height: 48px; }
}
@media (max-width: 1060px) {
  #sitemaps .sitemap__card{
    width: 100%;
  }
}

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