@charset "UTF-8";
/*-----mixin-----*/
/*-----extend-----*/
.template, header .container, footer .container, #index .index-service-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex; }

#contact-button, #about.concept {
  background-size: cover;
  background-repeat: no-repeat; }

#index .index-service-list li .icon-area .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

html,
body {
  width: 100%;
  min-height: 100%;
  height: auto;
  padding: 0px;
  margin: 0px;
  text-align: left;
  overflow: visible;
  font-size: 15px;
  color: #fff;
  background-color: #0A1955;
  background-image: url(../_img/layout/page_bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  line-height: 1.6;
  font-family: '微軟正黑體','Microsoft JhengHei', 'Oxygen', sans-serif;
  -webkit-tap-highlight-color: transparent; }

.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .pace:after {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 102, 178, 0.8);
    z-index: 99999;
    display: block; }

.pace-inactive {
  display: none; }

.pace .pace-progress {
  background: #0066B2;
  position: fixed;
  z-index: 200000;
  top: 0;
  right: 100%;
  width: 100%;
  height: 3px; }

/*共用屬性*/
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

* {
  -webkit-overflow-scrolling: touch; }

a {
  text-decoration: none;
  color: inherit;
  outline: none; }
  a:active, a:hover {
    outline: none; }

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

/*----- 表格 -----*/
table {
  width: 100%; }
  table th, table td {
    padding: 5px 2px; }
  table .textarea-row th {
    vertical-align: top; }

.form-cell, input[type=password] {
  width: 100%;
  height: 2.8em;
  border: 1px solid transparent;
  padding: 5px 8px;
  margin: 2px 0;
  line-height: 2.8em;
  outline: 0;
  border-radius: 4px;
  background-color: #fff;
  font-family: "微軟正黑體"; }

textarea {
  width: 100%;
  height: 2.8em;
  border: 1px solid transparent;
  padding: 5px 8px;
  margin: 2px 0;
  line-height: 2.8em;
  outline: 0;
  border-radius: 4px;
  background-color: #fff;
  font-family: "微軟正黑體";
  height: auto;
  line-height: 1.6;
  outline: 0;
  padding: 8px; }

input {
  -webkit-appearance: none;
  outline: 0; }

.form-cell-name {
  width: calc(100% - 130px - 10px); }
  .form-cell-name + div {
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px; }

.form-cell-captcha {
  width: calc(100% - 80px - 10px);
  vertical-align: middle; }
  .form-cell-captcha + img {
    display: inline-block;
    vertical-align: middle;
    margin-left: 3px; }

.radio-group {
  position: relative; }
  .radio-group label {
    margin-left: 1rem; }

.form-cell-name {
  width: calc(100% - 130px - 10px); }
  .form-cell-name + div {
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px; }

.birthday-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 8px; }

.address-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 8px; }

input[type="checkbox"] {
  display: none; }
  input[type="checkbox"]:checked + label:before {
    content: "\f046";
    margin-right: 1px; }
  input[type="checkbox"] + label {
    cursor: pointer; }
    input[type="checkbox"] + label:before {
      content: "\f096";
      font-family: 'FontAwesome';
      margin-right: 3px; }

input[type="radio"] {
  display: none; }
  input[type="radio"]:checked + label:before {
    content: "\f05d";
    color: #0066B2; }
  input[type="radio"] + label {
    cursor: pointer; }
    input[type="radio"] + label:before {
      content: "\f1db";
      font-family: 'FontAwesome';
      margin-right: 4px; }

/*--- Select ---*/
select {
  outline: 0;
  font-family: '微軟正黑體'; }

/*----- Buttons -----*/
button {
  outline: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-family: '微軟正黑體';
  font-size: 1rem; }

.btn {
  position: relative;
  display: inline-block; }

/*----- 泛用表格 -----*/
dl {
  padding: 5px 0; }
  dl dt, dl dd {
    display: inline-block;
    vertical-align: middle; }

/*定義區塊*/
.container {
  margin: auto;
  position: relative;
  z-index: 100;
  width: 1330px;
  max-width: 100%;
  padding: 0 15px; }

.wrap {
  position: relative;
  padding: 20px 0; }

.row {
  position: relative;
  padding: 10px 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  position: relative;
  min-height: 1px;
  float: left;
  padding-left: 5px;
  padding-right: 5px; }

.col-12 {
  width: 100%; }

.col-11 {
  width: 91.66666667%; }

.col-10 {
  width: 83.33333333%; }

.col-9 {
  width: 75%; }

.col-8 {
  width: 66.66666667%; }

.col-7 {
  width: 58.33333333%; }

.col-6 {
  width: 50%; }

.col-5 {
  width: 41.66666667%; }

.col-4 {
  width: 33.33333333%; }

.col-3 {
  width: 25%; }

.col-2 {
  width: 16.66666667%; }

.col-1 {
  width: 8.33333333%; }

.bg-img {
  background-size: cover;
  background-position: center;
  display: block;
  width: 100%;
  height: 0; }

.pic {
  position: relative;
  font-size: 0;
  width: 100%;
  height: 0;
  display: block; }
  .pic > span {
    width: 100%;
    height: 100%;
    position: absolute;
    text-align: center;
    top: 0;
    left: 0; }
    .pic > span:before {
      content: ' ';
      display: inline-block;
      height: 100%;
      width: 0;
      vertical-align: middle; }
    .pic > span > img, .pic > span > iframe {
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      display: inline-block;
      vertical-align: middle; }
    .pic > span > iframe {
      width: 100%;
      height: 100%; }

/*-----RWD地圖&Youtube影片-----*/
.map, .video {
  position: relative;
  width: 100%;
  height: 0; }
  .map iframe, .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.cf:after, .row:after, dl:after {
  display: block;
  height: 0;
  clear: both;
  content: "";
  visibility: hidden; }

.editor {
  word-break: break-word;
  /* Begin bidirectionality settings (do not change) */ }
  .editor i {
    font-style: italic; }
  .editor em, .editor b, .editor strong {
    font-weight: bold; }
  .editor img {
    height: auto !important; }
  .editor html, .editor address, .editor blockquote, .editor body, .editor dd, .editor div, .editor dl, .editor dt, .editor fieldset, .editor form,
  .editor frame, .editor frameset, .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6, .editor noframes, .editor ol, .editor p, .editor ul, .editor center,
  .editor dir, .editor hr, .editor menu, .editor pre {
    display: block; }
  .editor li {
    display: list-item; }
  .editor head {
    display: none; }
  .editor table {
    display: table; }
  .editor tr {
    display: table-row; }
  .editor thead {
    display: table-header-group; }
  .editor tbody {
    display: table-row-group; }
  .editor tfoot {
    display: table-footer-group; }
  .editor col {
    display: table-column; }
  .editor colgroup {
    display: table-column-group; }
  .editor td, .editor th {
    display: table-cell; }
  .editor caption {
    display: table-caption; }
  .editor th {
    font-weight: bolder;
    text-align: center; }
  .editor caption {
    text-align: center; }
  .editor body {
    margin: 8px; }
  .editor h1 {
    font-size: 2em;
    margin: .67em 0; }
  .editor h2 {
    font-size: 1.5em;
    margin: .75em 0; }
  .editor h3 {
    font-size: 1.17em;
    margin: .83em 0; }
  .editor h4, .editor p, .editor blockquote, .editor ul, .editor fieldset, .editor form, .editor ol, .editor dl, .editor dir, .editor menu {
    margin: 1.12em 0; }
  .editor h5 {
    font-size: .83em;
    margin: 1.5em 0; }
  .editor h6 {
    font-size: .75em;
    margin: 1.67em 0; }
  .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6, .editor b, .editor strong {
    font-weight: bolder; }
  .editor blockquote {
    margin-left: 40px;
    margin-right: 40px; }
  .editor i, .editor cite, .editor em, .editor var, .editor address {
    font-style: italic; }
  .editor pre, .editor tt, .editor code, .editor kbd, .editor samp {
    font-family: monospace; }
  .editor pre {
    white-space: pre; }
  .editor button, .editor textarea, .editor input, .editor select {
    display: inline-block; }
  .editor big {
    font-size: 1.17em; }
  .editor small, .editor sub, .editor sup {
    font-size: .83em; }
  .editor sub {
    vertical-align: sub; }
  .editor sup {
    vertical-align: super; }
  .editor table {
    border-spacing: 2px; }
  .editor thead, .editor tbody, .editor tfoot {
    vertical-align: middle; }
  .editor td, .editor th {
    vertical-align: inherit; }
  .editor s, .editor strike, .editor del {
    text-decoration: line-through; }
  .editor hr {
    border: 1px inset; }
  .editor ol, .editor ul, .editor dir, .editor menu, .editor dd {
    margin-left: 40px; }
  .editor ol {
    list-style-type: decimal; }
  .editor ol ul, .editor ul ol, .editor ul ul, .editor ol ol {
    margin-top: 0;
    margin-bottom: 0; }
  .editor u, .editor ins {
    text-decoration: underline; }
  .editor br:before {
    content: "\A"; }
  .editor :before, .editor :after {
    white-space: pre-line; }
  .editor center {
    text-align: center; }
  .editor :link, .editor :visited {
    text-decoration: underline; }
  .editor :focus {
    outline: thin dotted invert; }
  .editor BDO[DIR="ltr"] {
    direction: ltr;
    unicode-bidi: bidi-override; }
  .editor BDO[DIR="rtl"] {
    direction: rtl;
    unicode-bidi: bidi-override; }
  .editor *[DIR="ltr"] {
    direction: ltr;
    unicode-bidi: embed; }
  .editor *[DIR="rtl"] {
    direction: rtl;
    unicode-bidi: embed; }
  @media print {
    .editor h1 {
      page-break-before: always; }
    .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6 {
      page-break-after: avoid; }
    .editor ul, .editor ol, .editor dl {
      page-break-before: avoid; } }

/*-----排版-----*/
.txt-center {
  text-align: center; }

.txt-right {
  text-align: right; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap; }

/*--- sticky footer ---*/
.template {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; }
  .template main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

/*----- header -----*/
header {
  position: relative;
  z-index: 9000;
  background-color: #fff;
  color: #000;
  font-size: 18px; }
  header .container {
    -webkit-box-align: space-between;
    -ms-flex-align: space-between;
    align-items: space-between; }
  header #logo {
    padding: 15px 0 10px; }
  header #main-nav {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 2.75rem;
    text-align: center; }
  header .menu li {
    display: inline-block;
    margin: 0 1.25rem; }
    header .menu li .sub-nav {
      display: none;
      text-indent: -9999px; }
    header .menu li:hover, header .menu li.active {
      color: #0066B2; }
  header #header-contact {
    width: 240px;
    text-align: center; }
    header #header-contact .mail-area {
      position: relative;
      margin-bottom: -1px;
      padding: 2px 0px;
      background-color: #0066B2;
      color: #fff;
      font-size: 1rem; }
      header #header-contact .mail-area img, header #header-contact .mail-area span {
        display: inline-block;
        vertical-align: middle;
        margin: 0 2px; }
      header #header-contact .mail-area:after {
        content: '';
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        left: 0;
        bottom: -15px;
        border-style: solid;
        border-width: 15px 120px 0 120px;
        border-color: #0066B2 transparent transparent transparent;
        z-index: 1; }
    header #header-contact .phone-area {
      padding: 15px 3px 5px; }
      header #header-contact .phone-area .dial {
        display: inline-block;
        vertical-align: middle;
        font-size: 15px;
        line-height: 1.3;
        margin: 3px 1px;
        color: #0066B2; }
        header #header-contact .phone-area .dial img, header #header-contact .phone-area .dial a {
          display: inline-block;
          vertical-align: middle; }
        header #header-contact .phone-area .dial img {
          width: 16px; }
        header #header-contact .phone-area .dial:first-child img {
          width: 21px; }
      header #header-contact .phone-area p {
        font-size: 12px;
        letter-spacing: 2px; }

[data-mobile] {
  display: none; }

/*--- fix contact ---*/
#contact-button {
  position: fixed;
  display: table;
  width: 220px;
  height: 220px;
  right: 10px;
  top: 33vh;
  background-image: url(../_img/layout/contact-round-bg.png);
  text-align: center;
  z-index: 300;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }
  #contact-button .inner {
    display: table-cell;
    vertical-align: middle; }
    #contact-button .inner .icon-area {
      margin-bottom: 15px; }
    #contact-button .inner .text-area a {
      display: block;
      font-size: 20px;
      line-height: 1.4; }
  #contact-button.is-visible {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease; }

/*----- footer -----*/
footer {
  position: relative;
  padding: 15px 0 13px;
  background-color: #07123D;
  z-index: 30; }
  footer .container {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  footer .copyright {
    text-align: center;
    font-size: 13px; }
    footer .copyright span {
      opacity: .6; }

/*--- buttons ---*/
.btn-solid {
  width: 100%;
  padding: 8px 10px;
  border-radius: 4px;
  background-color: #0066B2;
  color: #fff;
  text-align: center; }

/*--- typography ---*/
.main-title {
  text-align: center;
  margin: .65em 0; }

.h1 {
  font-size: 26px; }

.h2 {
  font-size: 20px; }

[data-font="oxgen"] {
  font-family: 'Oxygen'; }

main {
  padding: 5rem 0 3rem; }

/*----- Index -----*/
#index {
  position: relative;
  padding: 0;
  z-index: 20; }
  #index .index-top {
    position: absolute;
    width: 100%;
    left: 0;
    padding: 3.8rem 10px 10px;
    text-align: center; }
    #index .index-top .index-intro {
      font-size: 18px; }
    #index .index-top a {
      display: inline-block; }
    #index .index-top ul li {
      display: inline-block; }
  #index .index-service-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 30px;
    text-align: center;
    font-size: 18px; }
    #index .index-service-list li {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
      #index .index-service-list li .icon-area {
        position: relative;
        display: inline-block;
        width: 197px;
        height: 197px; }
        #index .index-service-list li .icon-area:after {
          content: '';
          display: block;
          position: absolute;
          width: 100%;
          height: 100%;
          background-image: url(../_img/index/aim.png);
          background-repeat: no-repeat;
          background-size: cover;
          opacity: .2;
          -webkit-transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1);
          -o-transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1);
          transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1); }
      #index .index-service-list li .text-area {
        max-width: 115px;
        margin: 10px auto 0; }
      #index .index-service-list li:hover .icon-area:after {
        opacity: 1;
        -webkit-transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1);
        -o-transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1);
        transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1); }
  #index .bg-img {
    height: 780px; }
  #index .index_mobile_img {
    display: none; }

/*----- About -----*/
#about {
  position: relative; }
  #about .about-wrap {
    max-width: 860px;
    margin: auto; }
    #about .about-wrap article {
      font-size: 18px;
      font-weight: bold; }
      #about .about-wrap article p {
        margin: .45em 0;
        line-height: 1.7; }
  #about .about-gallery {
    position: absolute;
    width: 100%;
    bottom: 0; }
    #about .about-gallery ul {
      display: grid;
      grid-template-columns: repeat(6, 1fr); }
  #about.concept {
    background-image: url(../_img/concept_bg.jpg);
    background-position: top center; }
    #about.concept .about-wrap article {
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9); }

/*----- Client -----*/
#client .client-wrap {
  max-width: 900px;
  margin: auto;
  padding: 6rem 0 3rem; }
  #client .client-wrap .client-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(150px, 1fr));
    grid-template-rows: 3;
    grid-template-areas: ". cell cell cell cell ." "cell cell txt txt cell ." ". cell cell cell cell ."; }
  #client .client-wrap .client-cell {
    grid: cell;
    margin: -30px 0; }
  #client .client-wrap .client-text {
    grid: txt;
    grid-column: 3 / 5;
    grid-row: 2 / 3; }
    #client .client-wrap .client-text .text-area {
      max-width: 85%;
      margin: auto; }
  #client .client-wrap .clientA {
    grid-column: 2 / 4;
    grid-row: 1 / 2; }
  #client .client-wrap .clientB {
    grid-column: 4 / 6;
    grid-row: 1 / 2; }
  #client .client-wrap .clientC {
    grid-column: 1 / 3;
    grid-row: 2 / 3; }
  #client .client-wrap .clientD {
    grid-column: 5 / 7;
    grid-row: 2 / 3; }
  #client .client-wrap .clientE {
    grid-column: 2 / 4;
    grid-row: 3 / 4; }
  #client .client-wrap .clientF {
    grid-column: 4 / 6;
    grid-row: 3 / 4; }

/*----- service -----*/
#service .main-title {
  margin-top: 3rem;
  padding-bottom: 8px;
  border-bottom: 1px solid #0066B2; }

#service .service-list {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-gap: 10px; }
  #service .service-list li {
    position: relative; }
    #service .service-list li a {
      position: relative;
      display: block; }
    #service .service-list li:hover .bg-default, #service .service-list li.active .bg-default {
      opacity: 0;
      -webkit-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    #service .service-list li:hover .bg-hover, #service .service-list li.active .bg-hover {
      opacity: 1;
      -webkit-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
  #service .service-list .bg-default, #service .service-list .bg-hover {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    background-position: center;
    background-size: cover;
    padding-top: 100%;
    z-index: 5;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease; }
  #service .service-list .bg-hover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease; }
  #service .service-list p {
    display: none; }

#service .content-area {
  padding: 0 15px;
  font-size: 20px;
  font-weight: bold; }
  #service .content-area p {
    line-height: 1.7;
    margin: .5em; }
  #service .content-area .image-wrap {
    margin: 2rem 10px;
    text-align: center; }
    #service .content-area .image-wrap p {
      margin: 8px 0 0; }
  #service .content-area ul {
    margin: .5em 1em; }
    #service .content-area ul li {
      position: relative;
      font-style: italic; }
      #service .content-area ul li:before {
        content: '';
        display: inline-block;
        width: 8px;
        height: 8px;
        margin-right: 5px;
        vertical-align: baseline;
        border-radius: 100%;
        border: 1px solid #0066B2; }
  #service .content-area .number-list {
    margin: .5em 1.5em; }
    #service .content-area .number-list li {
      font-style: normal; }
      #service .content-area .number-list li:before {
        display: none; }

#service #dine-img {
  margin-top: 300px; }

/*----- contact -----*/
#contact .col-6 {
  float: right; }

#contact .contact-list {
  display: inline-block;
  width: calc(50% - 10px); }
  #contact .contact-list li {
    margin: .7em 0; }
    #contact .contact-list li .icon {
      display: inline-block;
      vertical-align: baseline;
      width: 15px;
      margin-right: 3px;
      text-align: center; }
    #contact .contact-list li .text {
      display: inline-block;
      width: calc(100% - 15px - 10px - 3px); }

#contact .title {
  text-align: center;
  padding-bottom: 8px;
  border-bottom: 2px solid #0066B2; }

#contact .contact-table {
  max-width: 480px;
  margin: 15px auto; }
  #contact .contact-table td, #contact .contact-table th {
    padding: 8px 5px; }
  #contact .contact-table th {
    text-align: right; }

@media only screen and (max-width: 1300px) {
  /*--- fix contact ---*/
  #contact-button {
    width: 130px;
    height: 130px; }
    #contact-button .inner .icon-area {
      margin-bottom: 5px; }
      #contact-button .inner .icon-area img {
        width: 28px; }
    #contact-button .inner .text-area p {
      display: none; }
    #contact-button .inner .text-area a {
      font-size: 1rem; }
  /*--- about ---*/
  #about.concept {
    position: relative; }
    #about.concept:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0.25); } }

@media only screen and (max-width: 1024px) {
  /*--- header ---*/
  #burger {
    width: 25px;
    height: 20px;
    font-size: 0;
    position: absolute;
    top: 35px;
    right: 25px;
    cursor: pointer;
    z-index: 99999; }
    #burger span {
      background-color: #5e5e5e;
      display: block;
      position: absolute;
      top: 0px;
      left: 0;
      right: 0;
      height: 2px;
      -webkit-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease;
      -webkit-transition-delay: 0.2s, 0s;
      -o-transition-delay: 0.2s, 0s;
      transition-delay: 0.2s, 0s; }
      #burger span:nth-child(2) {
        top: 9px;
        -webkit-transition-property: all, -webkit-transform;
        transition-property: all, -webkit-transform;
        -o-transition-property: all, transform;
        transition-property: all, transform;
        transition-property: all, transform, -webkit-transform; }
      #burger span:last-child {
        top: 18px;
        -webkit-transition-property: all, -webkit-transform;
        transition-property: all, -webkit-transform;
        -o-transition-property: all, transform;
        transition-property: all, transform;
        transition-property: all, transform, -webkit-transform;
        -webkit-transition-delay: 0.2s, 0s;
        -o-transition-delay: 0.2s, 0s;
        transition-delay: 0.2s, 0s; }
    #burger.active {
      position: fixed; }
      #burger.active span {
        background-color: #eee;
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 9px;
        left: 0px; }
        #burger.active span:nth-child(2), #burger.active span:last-child {
          -webkit-transition-property: top,-webkit-transform;
          transition-property: top,-webkit-transform;
          -o-transition-property: top,transform;
          transition-property: top,transform;
          transition-property: top,transform,-webkit-transform;
          -webkit-transition-property: all, -webkit-transform;
          transition-property: all, -webkit-transform;
          -o-transition-property: all, transform;
          transition-property: all, transform;
          transition-property: all, transform, -webkit-transform; }
        #burger.active span:nth-child(2) {
          left: -100%;
          opacity: 0;
          -webkit-transform: rotate(0);
          -ms-transform: rotate(0);
          transform: rotate(0);
          -webkit-transition-delay: 0.2s, 0s;
          -o-transition-delay: 0.2s, 0s;
          transition-delay: 0.2s, 0s; }
        #burger.active span:last-child {
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }
  header #logo {
    padding: 8px 0 10px; }
    header #logo img {
      width: 250px; }
  header #main-nav {
    display: block;
    position: fixed;
    width: 80vw;
    max-width: 260px;
    height: 100vh;
    overflow: auto;
    margin: 0;
    right: 0;
    top: 0;
    color: #fff;
    background-color: #0066B2;
    -webkit-transform: translateX(80vw);
    -ms-transform: translateX(80vw);
    transform: translateX(80vw);
    -webkit-transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99);
    -o-transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99);
    transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99);
    z-index: 8300; }
    header #main-nav .menu {
      margin-top: 90px; }
      header #main-nav .menu li {
        display: block;
        margin: 0; }
        header #main-nav .menu li a {
          display: block;
          padding: 10px 0; }
        header #main-nav .menu li:hover, header #main-nav .menu li.active {
          color: #fff;
          background-color: #07123D; }
    header #main-nav.active {
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
      -webkit-transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9);
      -o-transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9);
      transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9); }
  header #header-contact {
    display: none; }
  header .mobile-btn--phone {
    position: absolute;
    top: 33px;
    right: 70px;
    z-index: 8000;
    -webkit-transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99);
    -o-transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99);
    transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99); }
    header .mobile-btn--phone.invert {
      -webkit-filter: invert(1);
      -webkit-transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9);
      -o-transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9);
      transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9); }
  header .mobile-btn--cell {
    position: absolute;
    top: 32px;
    right: 110px;
    z-index: 8000;
    -webkit-transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99);
    -o-transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99);
    transition: all 0.65s cubic-bezier(0.53, 0.21, 0.35, 0.99); }
    header .mobile-btn--cell.invert {
      -webkit-filter: invert(1);
      -webkit-transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9);
      -o-transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9);
      transition: all 0.5s cubic-bezier(0.1, 0.58, 0.71, 0.9); }
  main {
    padding: 2rem 0 1.5rem; }
  /*--- fix contact ---*/
  #contact-button {
    display: none; }
  /*--- footer ---*/
  footer {
    padding: 8px 0; }
  [data-mobile] {
    display: block; }
  /*--- index ---*/
  #index .index-service-list li .icon-area {
    width: 150px;
    height: 150px; }
  /*--- client ---*/
  #client .client-wrap {
    padding: 0; }
    #client .client-wrap .client-top {
      margin-bottom: 2rem; }
    #client .client-wrap .client-grid {
      max-width: 800px;
      margin: auto;
      grid-template-columns: repeat(6, 1fr);
      grid-column-gap: 10px;
      grid-row-gap: 15px; }
    #client .client-wrap .client-cell {
      margin: 0;
      text-align: center; }
    #client .client-wrap .client-text {
      display: none; }
    #client .client-wrap .clientA {
      grid-column: 1 / 3;
      grid-row: 1 / 2; }
    #client .client-wrap .clientB {
      grid-column: 3 / 5;
      grid-row: 1 / 2; }
    #client .client-wrap .clientC {
      grid-column: 5 / 7;
      grid-row: 1 / 2; }
    #client .client-wrap .clientD {
      grid-column: 3 / 5;
      grid-row: 2 / 3; }
    #client .client-wrap .clientE {
      grid-column: 1 / 3;
      grid-row: 2 / 3; }
    #client .client-wrap .clientF {
      grid-column: 5 / 7;
      grid-row: 2 / 3; }
  /*--- contact ---*/
  #contact .col-l-12 {
    float: none;
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px; }
  #contact .contact-list {
    display: block;
    width: 100%; }
    #contact .contact-list li {
      margin: 10px 0; } }

@media only screen and (max-width: 960px) {
  /*--- footer ---*/
  footer {
    padding: 5px 0; }
    footer .container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      text-align: center; } }

@media only screen and (max-width: 768px) {
  #burger {
    top: 28px;
    right: 15px; }
  header #logo img {
    width: 200px; }
  header .mobile-btn--phone {
    top: 25px;
    right: 65px; }
  header .mobile-btn--cell {
    top: 24px;
    right: 110px; }
  /*--- index ---*/
  #index .index-top {
    padding: 2rem 10px 10px; }
  #index .index-service-list {
    font-size: 1rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    #index .index-service-list li {
      margin: 8px 10px; }
      #index .index-service-list li .icon-area {
        width: 130px;
        height: 130px; }
        #index .index-service-list li .icon-area img {
          width: 30px; }
      #index .index-service-list li .text-area {
        margin-top: 5px; }
  /*--- service ---*/
  #service .service-list {
    max-width: 500px;
    margin: auto;
    grid-template-columns: repeat(4, 1fr); }
  /*--- about ---*/
  #about .about-gallery {
    position: relative;
    margin-top: 4rem; }
    #about .about-gallery ul {
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: auto;
      grid-gap: 0; } }

@media only screen and (max-width: 640px) {
  #burger {
    top: 23px; }
  header #logo img {
    width: 170px; }
  header .mobile-btn--phone {
    top: 21px;
    right: 63px; }
  header .mobile-btn--cell {
    top: 20px;
    right: 103px; }
  main {
    padding: 1.5rem 0 1rem; }
  /*--- typography ---*/
  .h1 {
    font-size: 22px; }
  .h2 {
    font-size: 18px; }
  .main-title {
    margin: .35em 0; }
  /*--- index ---*/
  #index .index-service-list {
    margin-top: 0.5rem; }
    #index .index-service-list li {
      margin: 5px 10px; }
  /*----- About -----*/
  #about .about-wrap article {
    font-size: 1rem; }
  /*--- service ---*/
  #service .col-m-12 {
    float: none;
    width: 100%;
    text-align: center; } }

@media only screen and (max-width: 480px) {
  #burger {
    top: 16px; }
  header #logo {
    padding: 3px 0 5px; }
    header #logo img {
      width: 150px; }
  header .mobile-btn--phone {
    top: 14px;
    right: 57px; }
  header .mobile-btn--cell {
    top: 13px;
    right: 97px; }
  footer {
    font-size: 13px; }
  /*--- index --*/
  #index .index-top .index-intro {
    font-size: 1rem; }
  #index .index-top ul li.mobile-off {
    display: none; }
  #index .index-service-list li:first-of-type {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3; }
  #index .index-service-list li:nth-of-type(2) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; }
  #index .index-service-list li:nth-of-type(3) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; }
  #index .index-service-list li:nth-of-type(4) {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4; }
  #index .index-service-list li:nth-of-type(5) {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5; }
  #index .index_img {
    display: none; }
  #index .index_mobile_img {
    display: block; }
  /*----- About -----*/
  #about.concept {
    background-image: url(../_img/bg_mobile.jpg); }
  /*--- service ---*/
  #service .main-title {
    margin-top: 2rem; }
  #service .service-list {
    display: block;
    text-align: center; }
    #service .service-list div[class^=bg-] {
      display: none; }
    #service .service-list li {
      display: inline-block;
      margin: 2px;
      background-color: #fff;
      color: #000; }
      #service .service-list li.active, #service .service-list li:hover {
        background-color: #0066B2;
        color: #fff; }
      #service .service-list li p {
        display: block; }
      #service .service-list li a {
        display: block;
        padding: 3px 5px; }
  #service .content-area {
    padding: 0;
    font-size: 17px; }
  /*--- contact ---*/
  #contact .contact-table th, #contact .contact-table td {
    display: block;
    text-align: left;
    padding: 2px; }
  #contact .contact-table th {
    padding-top: 5px; } }

@media only screen and (max-width: 360px) {
  /*--- index ---*/
  #index .index-service-list li .icon-area {
    width: 110px;
    height: 110px; }
    #index .index-service-list li .icon-area img {
      width: 24px; } }

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