@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap");
@font-face {
  font-family: GothamPro;
  src: url(../assets/GothamLight.ttf);
}
/* RESET
--------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, rem, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

table {
  border-spacing: 0;
}

address {
  display: inline;
  font-style: normal;
}

* {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

/* form tag */
input,
button,
select,
select option {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  background-color: transparent;
  font-family: "Noto Sans TC", sans-serif, Arial, Helvetica, "微軟正黑體", Microsoft JhengHei, Apple LiGothic, "蘋果儷中黑";
}

/*webkit瀏覽器專用*/
::-webkit-input-placeholder {
  color: #cdcdcd;
}

/*Firefox 4-18瀏覽器專用*/
input::-moz-placeholder {
  color: #cdcdcd;
}

/*Firefox 19+瀏覽器專用*/
input::-moz-placeholder {
  color: #cdcdcd;
}

/*IE10瀏覽器專用*/
:-ms-input-placeholder {
  color: #cdcdcd;
}

/* 版型設定 */
.mobile {
  display: none;
}

.pad {
  display: none;
}

/* 共用設定 */
img {
  width: 100%;
  height: auto;
  display: block;
  font-size: 0.24rem;
  color: #000000;
}

a {
  display: block;
  text-decoration: none;
  transition: all 0.2s;
}

.clear:before, .clear:after {
  content: "";
  display: table;
}

.clear:after {
  clear: both;
}

.c {
  clear: both;
}

.wrapper .hide {
  display: none;
}

.absolute, .inner-absolute > * {
  position: absolute;
}

.absoluteTL, .inner-absoluteTL > * {
  position: absolute;
  top: 0;
  left: 0;
}

.absoluteTR, .inner-absoluteTR > * {
  position: absolute;
  top: 0;
  right: 0;
}

.absoluteBL, .inner-absoluteBL > * {
  position: absolute;
  bottom: 0;
  left: 0;
}

.absoluteBR, .inner-absoluteBR > * {
  position: absolute;
  bottom: 0;
  right: 0;
}

.relative, .inner-relative > * {
  position: relative;
}

.overHide {
  overflow: hidden;
}

/* flex */
.flexBox {
  display: flex;
  align-content: center;
}

/* table */
table, tbody {
  width: 100%;
}

th, td {
  vertical-align: middle;
}

.table {
  width: 100%;
  display: table;
}

.tr {
  display: table-row;
}

.th, .td {
  display: table-cell;
  vertical-align: middle;
  position: relative;
}

.table.pc {
  display: table;
}

.table.pad {
  display: none;
}

.table.mobile {
  display: none;
}

/* inline-block */
.inner-inblock {
  font-size: 0;
}

.inner-inblock > * {
  display: inline-block;
  vertical-align: middle;
}

.inner-inblock .block {
  display: block;
}

.block {
  display: block;
}

.inblock {
  display: inline-block;
}

.inline {
  display: inline;
}

/* float設定 */
.float-l {
  float: left;
}

.float-r {
  float: right;
}

/* 字型樣式及置中設定 */
.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal;
}

/* loading */
.loading {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.99);
  z-index: 999;
}

.loading .box {
  font-size: 0.26rem;
  color: #c5a86f;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  animation: opac 2s infinite linear;
}

.loading span {
  width: 8em;
  height: 8em;
  display: block;
  position: absolute;
  top: calc(50% - 4em);
  left: calc(50% - 4em);
  border: 2px solid;
  border-color: #c5a86f transparent #c5a86f transparent;
  border-radius: 50%;
  animation: spin 2s infinite linear;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
@keyframes opac {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
/* basestyle 
----------------------------------------------------------------------------*/
body,
html {
  width: 100%;
  height: 100%;
  font-family: "Noto Sans TC", sans-serif, Arial, Helvetica, "微軟正黑體", Microsoft JhengHei, Apple LiGothic, "蘋果儷中黑";
  font-size: 100px;
  color: #ffffff;
  background: #000000;
  line-height: 1.5;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
}

.roboto {
  font-family: "Roboto", sans-serif, Arial, Helvetica, "微軟正黑體", Microsoft JhengHei, Apple LiGothic, "蘋果儷中黑";
}

body {
  overflow-y: scroll;
  scrollbar-color: rgba(0, 0, 0, 0.5) transparent;
  scrollbar-width: thin;
}
body::-webkit-scrollbar {
  width: 5px;
}
body::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 5px;
}
body::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.5);
}

.wrapper {
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  padding-top: 1px;
}

.container {
  padding-left: 30px;
  padding-right: 30px;
  height: 100%;
  max-width: 1530px;
  margin-right: auto;
  margin-left: auto;
}

.bgBox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bgBox .particle {
  position: absolute;
  border-radius: 50%;
}

@keyframes particle-animation-1 {
  100% {
    transform: translate3d(85vw, 47vh, 25px);
  }
}
.particle:nth-child(1) {
  animation: particle-animation-1 35s infinite alternate-reverse;
  opacity: 0.77;
  height: 8px;
  width: 8px;
  animation-delay: -0.2s;
  transform: translate3d(33vw, 41vh, 58px);
  background: #e62e1a;
}

@keyframes particle-animation-2 {
  100% {
    transform: translate3d(39vw, 63vh, 92px);
  }
}
.particle:nth-child(2) {
  animation: particle-animation-2 35s infinite alternate-reverse;
  opacity: 0.29;
  height: 7px;
  width: 7px;
  animation-delay: -0.4s;
  transform: translate3d(13vw, 84vh, 29px);
  background: #e6271a;
}

@keyframes particle-animation-3 {
  100% {
    transform: translate3d(76vw, 31vh, 85px);
  }
}
.particle:nth-child(3) {
  animation: particle-animation-3 35s infinite alternate-reverse;
  opacity: 0.11;
  height: 6px;
  width: 6px;
  animation-delay: -0.6s;
  transform: translate3d(39vw, 19vh, 82px);
  background: #e6801a;
}

@keyframes particle-animation-4 {
  100% {
    transform: translate3d(8vw, 67vh, 32px);
  }
}
.particle:nth-child(4) {
  animation: particle-animation-4 35s infinite alternate-reverse;
  opacity: 0.37;
  height: 9px;
  width: 9px;
  animation-delay: -0.8s;
  transform: translate3d(45vw, 61vh, 18px);
  background: #e6381a;
}

@keyframes particle-animation-5 {
  100% {
    transform: translate3d(79vw, 71vh, 30px);
  }
}
.particle:nth-child(5) {
  animation: particle-animation-5 35s infinite alternate-reverse;
  opacity: 0.45;
  height: 9px;
  width: 9px;
  animation-delay: -1s;
  transform: translate3d(35vw, 5vh, 75px);
  background: #e6201a;
}

@keyframes particle-animation-6 {
  100% {
    transform: translate3d(80vw, 45vh, 99px);
  }
}
.particle:nth-child(6) {
  animation: particle-animation-6 35s infinite alternate-reverse;
  opacity: 0.76;
  height: 8px;
  width: 8px;
  animation-delay: -1.2s;
  transform: translate3d(12vw, 11vh, 73px);
  background: #e6751a;
}

@keyframes particle-animation-7 {
  100% {
    transform: translate3d(80vw, 32vh, 47px);
  }
}
.particle:nth-child(7) {
  animation: particle-animation-7 35s infinite alternate-reverse;
  opacity: 0.12;
  height: 10px;
  width: 10px;
  animation-delay: -1.4s;
  transform: translate3d(14vw, 60vh, 7px);
  background: #e6c01a;
}

@keyframes particle-animation-8 {
  100% {
    transform: translate3d(70vw, 50vh, 75px);
  }
}
.particle:nth-child(8) {
  animation: particle-animation-8 35s infinite alternate-reverse;
  opacity: 0.62;
  height: 8px;
  width: 8px;
  animation-delay: -1.6s;
  transform: translate3d(66vw, 49vh, 88px);
  background: #e63f1a;
}

@keyframes particle-animation-9 {
  100% {
    transform: translate3d(53vw, 31vh, 8px);
  }
}
.particle:nth-child(9) {
  animation: particle-animation-9 35s infinite alternate-reverse;
  opacity: 0.7;
  height: 7px;
  width: 7px;
  animation-delay: -1.8s;
  transform: translate3d(20vw, 33vh, 54px);
  background: #e6971a;
}

@keyframes particle-animation-10 {
  100% {
    transform: translate3d(15vw, 42vh, 47px);
  }
}
.particle:nth-child(10) {
  animation: particle-animation-10 35s infinite alternate-reverse;
  opacity: 0.59;
  height: 8px;
  width: 8px;
  animation-delay: -2s;
  transform: translate3d(2vw, 41vh, 9px);
  background: #e6241a;
}

@keyframes particle-animation-11 {
  100% {
    transform: translate3d(42vw, 28vh, 87px);
  }
}
.particle:nth-child(11) {
  animation: particle-animation-11 35s infinite alternate-reverse;
  opacity: 0.18;
  height: 8px;
  width: 8px;
  animation-delay: -2.2s;
  transform: translate3d(20vw, 54vh, 30px);
  background: #e69b1a;
}

@keyframes particle-animation-12 {
  100% {
    transform: translate3d(48vw, 58vh, 95px);
  }
}
.particle:nth-child(12) {
  animation: particle-animation-12 35s infinite alternate-reverse;
  opacity: 0.41;
  height: 6px;
  width: 6px;
  animation-delay: -2.4s;
  transform: translate3d(34vw, 11vh, 24px);
  background: #e6461a;
}

@keyframes particle-animation-13 {
  100% {
    transform: translate3d(14vw, 17vh, 96px);
  }
}
.particle:nth-child(13) {
  animation: particle-animation-13 35s infinite alternate-reverse;
  opacity: 0.43;
  height: 9px;
  width: 9px;
  animation-delay: -2.6s;
  transform: translate3d(70vw, 61vh, 17px);
  background: #e62b1a;
}

@keyframes particle-animation-14 {
  100% {
    transform: translate3d(10vw, 28vh, 77px);
  }
}
.particle:nth-child(14) {
  animation: particle-animation-14 35s infinite alternate-reverse;
  opacity: 0.37;
  height: 7px;
  width: 7px;
  animation-delay: -2.8s;
  transform: translate3d(25vw, 21vh, 67px);
  background: #e6b61a;
}

@keyframes particle-animation-15 {
  100% {
    transform: translate3d(24vw, 23vh, 25px);
  }
}
.particle:nth-child(15) {
  animation: particle-animation-15 35s infinite alternate-reverse;
  opacity: 0.72;
  height: 6px;
  width: 6px;
  animation-delay: -3s;
  transform: translate3d(74vw, 62vh, 15px);
  background: #e65a1a;
}

@keyframes particle-animation-16 {
  100% {
    transform: translate3d(30vw, 38vh, 89px);
  }
}
.particle:nth-child(16) {
  animation: particle-animation-16 35s infinite alternate-reverse;
  opacity: 0.06;
  height: 10px;
  width: 10px;
  animation-delay: -3.2s;
  transform: translate3d(63vw, 28vh, 18px);
  background: #e62e1a;
}

@keyframes particle-animation-17 {
  100% {
    transform: translate3d(18vw, 27vh, 68px);
  }
}
.particle:nth-child(17) {
  animation: particle-animation-17 35s infinite alternate-reverse;
  opacity: 0.37;
  height: 9px;
  width: 9px;
  animation-delay: -3.4s;
  transform: translate3d(27vw, 85vh, 12px);
  background: #e67c1a;
}

@keyframes particle-animation-18 {
  100% {
    transform: translate3d(76vw, 27vh, 48px);
  }
}
.particle:nth-child(18) {
  animation: particle-animation-18 35s infinite alternate-reverse;
  opacity: 0.24;
  height: 6px;
  width: 6px;
  animation-delay: -3.6s;
  transform: translate3d(23vw, 72vh, 17px);
  background: #e6571a;
}

@keyframes particle-animation-19 {
  100% {
    transform: translate3d(5vw, 85vh, 54px);
  }
}
.particle:nth-child(19) {
  animation: particle-animation-19 35s infinite alternate-reverse;
  opacity: 0.31;
  height: 8px;
  width: 8px;
  animation-delay: -3.8s;
  transform: translate3d(4vw, 87vh, 31px);
  background: #e6801a;
}

@keyframes particle-animation-20 {
  100% {
    transform: translate3d(13vw, 43vh, 24px);
  }
}
.particle:nth-child(20) {
  animation: particle-animation-20 35s infinite alternate-reverse;
  opacity: 0.03;
  height: 9px;
  width: 9px;
  animation-delay: -4s;
  transform: translate3d(39vw, 45vh, 40px);
  background: #e66b1a;
}

@keyframes particle-animation-21 {
  100% {
    transform: translate3d(44vw, 70vh, 68px);
  }
}
.particle:nth-child(21) {
  animation: particle-animation-21 35s infinite alternate-reverse;
  opacity: 0.29;
  height: 7px;
  width: 7px;
  animation-delay: -4.2s;
  transform: translate3d(20vw, 76vh, 4px);
  background: #e66f1a;
}

@keyframes particle-animation-22 {
  100% {
    transform: translate3d(10vw, 17vh, 32px);
  }
}
.particle:nth-child(22) {
  animation: particle-animation-22 35s infinite alternate-reverse;
  opacity: 0.6;
  height: 10px;
  width: 10px;
  animation-delay: -4.4s;
  transform: translate3d(76vw, 24vh, 63px);
  background: #e6c01a;
}

@keyframes particle-animation-23 {
  100% {
    transform: translate3d(10vw, 79vh, 47px);
  }
}
.particle:nth-child(23) {
  animation: particle-animation-23 35s infinite alternate-reverse;
  opacity: 0.52;
  height: 6px;
  width: 6px;
  animation-delay: -4.6s;
  transform: translate3d(29vw, 73vh, 46px);
  background: #e6641a;
}

@keyframes particle-animation-24 {
  100% {
    transform: translate3d(25vw, 85vh, 70px);
  }
}
.particle:nth-child(24) {
  animation: particle-animation-24 35s infinite alternate-reverse;
  opacity: 0.14;
  height: 9px;
  width: 9px;
  animation-delay: -4.8s;
  transform: translate3d(7vw, 29vh, 81px);
  background: #e6c41a;
}

@keyframes particle-animation-25 {
  100% {
    transform: translate3d(31vw, 21vh, 36px);
  }
}
.particle:nth-child(25) {
  animation: particle-animation-25 35s infinite alternate-reverse;
  opacity: 0.4;
  height: 10px;
  width: 10px;
  animation-delay: -5s;
  transform: translate3d(90vw, 77vh, 96px);
  background: #e65a1a;
}

@keyframes particle-animation-26 {
  100% {
    transform: translate3d(2vw, 57vh, 75px);
  }
}
.particle:nth-child(26) {
  animation: particle-animation-26 35s infinite alternate-reverse;
  opacity: 0.79;
  height: 9px;
  width: 9px;
  animation-delay: -5.2s;
  transform: translate3d(58vw, 26vh, 87px);
  background: #e62b1a;
}

@keyframes particle-animation-27 {
  100% {
    transform: translate3d(71vw, 27vh, 27px);
  }
}
.particle:nth-child(27) {
  animation: particle-animation-27 35s infinite alternate-reverse;
  opacity: 0.54;
  height: 9px;
  width: 9px;
  animation-delay: -5.4s;
  transform: translate3d(84vw, 10vh, 29px);
  background: #e6791a;
}

@keyframes particle-animation-28 {
  100% {
    transform: translate3d(43vw, 62vh, 10px);
  }
}
.particle:nth-child(28) {
  animation: particle-animation-28 35s infinite alternate-reverse;
  opacity: 0.13;
  height: 10px;
  width: 10px;
  animation-delay: -5.6s;
  transform: translate3d(85vw, 55vh, 49px);
  background: #e6a81a;
}

@keyframes particle-animation-29 {
  100% {
    transform: translate3d(48vw, 43vh, 39px);
  }
}
.particle:nth-child(29) {
  animation: particle-animation-29 35s infinite alternate-reverse;
  opacity: 0.55;
  height: 10px;
  width: 10px;
  animation-delay: -5.8s;
  transform: translate3d(90vw, 90vh, 39px);
  background: #e63c1a;
}

@keyframes particle-animation-30 {
  100% {
    transform: translate3d(47vw, 78vh, 32px);
  }
}
.particle:nth-child(30) {
  animation: particle-animation-30 35s infinite alternate-reverse;
  opacity: 0.35;
  height: 9px;
  width: 9px;
  animation-delay: -6s;
  transform: translate3d(29vw, 87vh, 45px);
  background: #e69e1a;
}

/*******************************/
header {
  margin-top: 2em;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: 0.1s;
}
header > .flexBox {
  justify-content: space-between;
  align-items: center;
}
header h1 {
  font-size: 0;
  color: transparent;
  width: 0.95rem;
}
header.fixed {
  position: fixed;
  margin-top: 0;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  z-index: 999;
  background-color: rgba(0, 0, 0, 0.5);
}

nav {
  position: relative;
}
nav ul {
  justify-content: flex-end;
}
nav ul li {
  font-size: 0.13rem;
  line-height: 2.2;
  letter-spacing: 0.2em;
  margin-left: 2.8em;
}
nav ul li a {
  color: #ffffff;
}
nav ul li a:hover {
  opacity: 0.7;
}
nav ul li a.active {
  color: #777777;
  position: relative;
}
nav .orange_bar {
  width: 2em;
  height: 5px;
  background-color: #f15a24;
  position: absolute;
  left: 0;
  top: 100%;
  transition: 0.3s;
}

/*******************************/
footer {
  position: relative;
  background-color: #000000;
  font-size: 0.12rem;
  text-align: center;
  letter-spacing: 0.2em;
  line-height: 1;
}
footer .container {
  padding-top: 4.5em;
  padding-bottom: 4.5em;
  position: relative;
}
footer .container .footerAn {
  position: absolute;
  width: 0.5rem;
  bottom: calc(50% - 0.25rem);
  right: 30px;
  border-radius: 50%;
}
footer .container .footerAn:hover {
  background-color: #f15a24;
}

/***********************/
.sendingMask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
}
.sendingMask .sending {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sendingMask .sending span {
  width: 10px;
  height: 10px;
  background-color: #ffffff;
  border-radius: 50%;
  margin: 0 10px;
  animation: dotJump 0.3s infinite alternate-reverse;
}
.sendingMask .sending span:nth-child(1) {
  animation-delay: -0.22s;
}
.sendingMask .sending span:nth-child(2) {
  animation-delay: -0.44s;
}
.sendingMask .sending span:nth-child(3) {
  animation-delay: -0.66s;
}
.sendingMask .sending span:nth-child(4) {
  animation-delay: -0.88s;
}
.sendingMask .sending span:nth-child(5) {
  animation-delay: -1.1s;
}

@keyframes dotJump {
  0% {
    transform: translateY(-20px);
  }
  0% {
    transform: translateY(20px);
  }
}
.wrapper {
  font-size: 0.2rem;
}

h2,
h3 {
  font-weight: normal;
}

.kv {
  position: relative;
}
.kv .flexBox {
  width: 100%;
  height: 100vh;
  min-height: 620px;
  align-items: center;
  justify-content: center;
}
.kv .flexBox .kv_logo {
  width: 17.2vw;
  min-width: 280px;
  margin-bottom: 3em;
}
.kv .flexBox .kv_logo img {
  margin-left: 8.5%;
}
.kv .flexBox .kv_logo.shake {
  transform-origin: 50% 80%;
  animation: kvShake 0.05s alternate-reverse 5;
}
.kv .scroll_line {
  font-size: 0.75em;
  line-height: 2;
  letter-spacing: 0.2em;
  text-align: center;
  font-weight: 300;
  position: absolute;
  bottom: 5em;
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
}
.kv .scroll_line:before {
  content: "";
  display: block;
  width: 1px;
  height: 4.5em;
  background-color: #ffffff;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 50%;
}

@keyframes kvShake {
  0% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(5deg);
  }
}
/*********************************/
#main {
  position: relative;
}

.section_box {
  margin-top: 1rem;
}
.section_box.service_box {
  margin-top: 0;
}
.section_box .container {
  padding-top: 0.7rem;
  margin-top: 0.3rem;
}
.section_box .title {
  font-size: 0.18rem;
  letter-spacing: 0.2em;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center;
  padding: 0.3rem 0;
}
.section_box .title .title_img {
  margin: auto;
  position: relative;
}
.section_box .title .title_img:before {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  background-image: url(../images/svg/add_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  right: calc(100% + 3em);
}
.section_box .title .title_txt {
  margin-top: 0.5em;
}
.section_box.service_box .title {
  background-image: url(../images/svg/square01.svg);
  background-size: auto 100%;
}
.section_box.service_box .title_img {
  width: 2.65rem;
}
.section_box.showreel_box .title_img {
  width: 3.41rem;
}
.section_box.team_box .title {
  background-image: url(../images/svg/square02.svg);
  background-position: center bottom;
  background-size: 3.7rem auto;
  padding-top: 0.2rem;
}
.section_box.team_box .title_img {
  width: 1.79rem;
}
.section_box.contact_box .title_img {
  width: 2.93rem;
}

/*********************************/
.service_box .service {
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  max-width: 790px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.service_box .service.service02 {
  flex-direction: row-reverse;
}
.service_box .service.service02 .service_desribe {
  max-width: 330px;
}
.service_box .service_desribe {
  max-width: 400px;
  width: 60%;
}
.service_box .service_desribe .sd_t {
  font-size: 0.4rem;
  font-weight: 100;
  letter-spacing: 0.1em;
  line-height: 1;
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.8em;
}
.service_box .service_desribe .sd_t .sdt_img {
  position: absolute;
  left: 0;
  top: -0.3em;
  width: 1em;
}
.service_box .service_desribe p {
  font-size: 0.15rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 300;
  border-left: 5px solid #ffffff;
  padding-left: 1.3em;
}
.service_box .service_anima {
  position: relative;
  max-width: 360px;
  width: 40%;
}
.service_box .service_anima * {
  width: 100% !important;
  height: 100% !important;
}

/*********************************/
.showreel_box .slide_box {
  background-color: #232323;
  margin-top: 3em;
  padding: 0.7rem 0;
}
.showreel_box .slide_box .slide {
  max-width: 1220px;
  margin: auto;
  position: relative;
}
.showreel_box .slide_box .slide a {
  margin: 0 0.5em;
  color: #ffffff;
}
.showreel_box .slide_box .slide a:hover .case_img img {
  opacity: 1;
}
.showreel_box .slide_box .slide a:hover .case_img:before {
  border-color: #f15a24;
  opacity: 1;
}
.showreel_box .slide_box .slide a .case_img {
  position: relative;
}
.showreel_box .slide_box .slide a .case_img img {
  opacity: 0.3;
  transition: 0.3s;
  position: relative;
  z-index: 0;
}
.showreel_box .slide_box .slide a .case_img:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  border: solid 6px transparent;
  transition-duration: 0.3s;
  z-index: 9;
}
.showreel_box .slide_box .slide a .case_name {
  font-size: 0.8em;
  letter-spacing: 0.2em;
  font-weight: 200;
  margin-top: 0.5em;
  justify-content: space-between;
  align-items: center;
}
.showreel_box .slide_box .slide a .case_name .c_name {
  padding-left: 2.5em;
  position: relative;
}
.showreel_box .slide_box .slide a .case_name .c_name:before {
  content: "";
  display: block;
  width: 1.7em;
  height: 1px;
  background-color: #ffffff;
  position: absolute;
  left: 0;
  top: 50%;
}
.showreel_box .slide_box .slide a .case_name .c_url {
  width: 4em;
}
.showreel_box .slide_box .slide a.slick-center .case_img img {
  opacity: 1;
}
.showreel_box .slickArrow {
  position: absolute;
  width: 1.5em;
  top: 50%;
  transform: translateY(-50%);
}
.showreel_box .slickArrow.prev_arr {
  right: calc(100% + 1em);
}
.showreel_box .slickArrow.next_arr {
  left: calc(100% + 1em);
}

/*********************************/
.actBTN {
  position: relative;
}
.actBTN a {
  color: #ffffff;
  text-align: center;
  font-size: 0.8em;
  width: 12.5em;
  line-height: 3;
  font-weight: bold;
  letter-spacing: 0.2em;
  border: 1px solid rgba(255, 255, 255, 0.3);
  margin: 0.8rem auto 0 auto;
  position: relative;
  transition-delay: 0.4s;
}
.actBTN a span {
  position: relative;
}
.actBTN a:hover {
  color: #000000;
}
.actBTN a:hover .btnBG {
  width: 100%;
}
.actBTN a:hover .actBtn_arr {
  left: calc(100% - 1.5em);
  opacity: 1;
  transition: 0.4s 0.6s;
}
.actBTN a:hover .actBtn_top:before,
.actBTN a:hover .actBtn_bottom:before {
  height: 100%;
}
.actBTN a:hover .actBtn_top:after,
.actBTN a:hover .actBtn_bottom:after {
  width: 100%;
}
.actBTN a .btnBG {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #ffffff;
  transition: 0.2s 0.4s;
}
.actBTN a .actBtn_arr {
  position: absolute;
  width: 3em;
  left: calc(100% - 2.5em);
  top: 40%;
  opacity: 0;
  filter: contrast(20%);
  transition: 0.2s 0.2s;
}
.actBTN a .actBtn_top,
.actBTN a .actBtn_bottom {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.actBTN a .actBtn_top:before,
.actBTN a .actBtn_bottom:before {
  content: "";
  display: block;
  width: 1px;
  height: 0;
  position: absolute;
  background-color: #ffffff;
  transition: 0.2s;
}
.actBTN a .actBtn_top::after,
.actBTN a .actBtn_bottom::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  position: absolute;
  background-color: #ffffff;
  transition: 0.2s 0.2s;
}
.actBTN a .actBtn_top:before {
  bottom: 0;
  left: 0;
}
.actBTN a .actBtn_top:after {
  top: 0;
  left: 0;
}
.actBTN a .actBtn_bottom:before {
  top: 0;
  right: 0;
}
.actBTN a .actBtn_bottom:after {
  bottom: 0;
  right: 0;
}

/*********************************/
.team_box {
  margin-top: 0.5rem;
  min-height: calc(100vh - 1.36rem);
}
.team_box .team {
  justify-content: space-between;
  max-width: 1024px;
  margin: 0.5rem auto 0 auto;
}
.team_box .team .teamTent {
  max-width: 300px;
  width: 31%;
  background-color: #232323;
  box-sizing: border-box;
  padding: 1.5em 1.4em 1.2em 1.4em;
}
.team_box .team .teamTent.team01 {
  margin-top: 0.6rem;
}
.team_box .team .teamTent.team02 {
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}
.team_box .team .teamTent.team03 {
  margin-bottom: 0.6rem;
}
.team_box .team .teamTent .team_name {
  font-size: 1.2em;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
}
.team_box .team .teamTent .team_name:before {
  content: "";
  display: block;
  height: 1px;
  background-color: #ffffff;
  width: 1.25em;
  position: absolute;
  right: calc(100% + 0.5em);
  top: 50%;
}
.team_box .team .teamTent .team_icon {
  background-color: #f15a24;
  width: 1.3rem;
  height: 1.3rem;
  border-radius: 50%;
  margin: 2em auto 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.team_box .team .teamTent .team_icon img {
  width: 0.45rem;
  max-width: 45px;
}
.team_box .team .teamTent .team_txt {
  font-size: 0.75em;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 0.4rem;
  text-align: justify;
}
.team_box .team .teamTent .team_txt p:not(.bold) {
  font-weight: 100;
}

/*********************************/
.contact_box {
  background-color: #ffffff;
  margin-top: 1.36rem;
}
.contact_box .container {
  padding-top: 0;
}
.contact_box .container > .flexBox {
  width: 100%;
  justify-content: center;
  position: relative;
}
.contact_box .container > .flexBox > * {
  width: 50%;
  max-width: 585px;
  padding-top: 1.1rem;
  padding-bottom: 1.56rem;
}
.contact_box .container > .flexBox .conact_img {
  position: absolute;
  width: 2.2rem;
  padding: 0;
  right: -0.3rem;
  bottom: -0.05rem;
}
.contact_box .container > .flexBox .conact_img .conact_inner_img {
  position: absolute;
  width: 1.6rem;
  bottom: -0.16rem;
  right: 100%;
}
.contact_box .contact_l h2 {
  text-align: left;
  color: #000000;
  line-height: 2;
  font-size: 0.75em;
}
.contact_box .contact_l h2 .title_img {
  margin-left: 0;
  margin-bottom: 1em;
  position: relative;
}
.contact_box .contact_l h2 .title_img:before {
  width: 0.9em;
  height: 0.9em;
  background-image: url(../images/svg/add.svg);
  right: calc(100% + 1em);
}
.contact_box .contact_l .tel_box {
  margin-top: 1.2rem;
}
.contact_box .contact_l .tel_box .tel {
  align-items: center;
  font-size: 0.3rem;
  color: #f15a24;
  line-height: 1;
  letter-spacing: 0.1em;
}
.contact_box .contact_l .tel_box .tel .tel_img {
  width: 1em;
  margin-right: 0.3em;
}
.contact_box .contact_l .tel_box .addree {
  color: #221815;
  font-size: 0.12rem;
  line-height: 2;
  letter-spacing: 0.2em;
  margin-top: 1.5em;
  padding-bottom: 2em;
  position: relative;
}
.contact_box .contact_l .tel_box .addree:before {
  content: "";
  display: block;
  width: 90%;
  max-width: 485px;
  height: 1px;
  background-color: #bdbdbd;
  position: absolute;
  left: 0;
  bottom: 0;
}
.contact_box .contact_l .tel_box .bigc_logo {
  width: 0.95rem;
  margin-top: 0.3rem;
}
.contact_box .contact_r {
  position: relative;
}
.contact_box .contact_r:before {
  content: "";
  display: block;
  width: 50vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #232323;
  background-image: url(../images/svg/square03.svg);
  background-repeat: no-repeat;
  background-position: left top -0.42rem;
  background-size: 2.05rem 1.36rem;
}
.contact_box .contact_r .form_box {
  position: relative;
  max-width: 485px;
  margin-left: 18.6%;
}
.contact_box .contact_r .form_box .inP {
  margin-bottom: 2.2em;
  position: relative;
  border-bottom: 1px solid #ffffff;
  box-sizing: border-box;
  transition: 0.05s 0.1s;
}
.contact_box .contact_r .form_box .inP:before {
  content: attr(data-txt);
  font-size: 0.8em;
  line-height: 3;
  font-weight: bold;
  letter-spacing: 0.1em;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: 0.3s;
  pointer-events: none;
}
.contact_box .contact_r .form_box .inP:after {
  content: "";
  display: block;
  width: 0%;
  height: 3px;
  background-color: transparent;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s 0s;
}
.contact_box .contact_r .form_box .inP:first-of-type {
  margin-top: 2.5em;
}
.contact_box .contact_r .form_box .inP:last-of-type {
  margin-bottom: 0;
}
.contact_box .contact_r .form_box .inP.getValue {
  border-bottom: 1px solid transparent;
  transition: 0.05s;
}
.contact_box .contact_r .form_box .inP.getValue:before {
  font-size: 0.7em;
  color: #f15a24;
  bottom: 3.3em;
}
.contact_box .contact_r .form_box .inP.getValue:after {
  width: 100%;
  background-color: #f15a24;
  transition: 0.5s -0.1s;
}
.contact_box .contact_r .form_box .inP input {
  font-size: 1.1em;
  line-height: 2.4;
  letter-spacing: 0.1em;
  color: #dbdbdb;
}
.contact_box .contact_r .form_box .txtAre.getValue {
  color: #f15a24;
}
.contact_box .contact_r .form_box .txtAre.getValue textarea {
  border: 1px solid #f15a24;
  transition: 0.2s;
}
.contact_box .contact_r .form_box .txtAre .txtAre_tlt {
  font-size: 0.8em;
  line-height: 2.4;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: -1em;
}
.contact_box .contact_r .form_box .txtAre textarea {
  display: block;
  font-size: 1.1em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #dbdbdb;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: 1.5rem;
  background-color: transparent;
  border: 1px solid #ffffff;
}
.contact_box .contact_r .actBTN a {
  margin-left: 0;
}

/* media
----------------------------------------------------------------------------*/
@media screen and (max-width: 1160px) {
  body, html {
    font-size: 98px;
  }
}
@media screen and (max-width: 900px) {
  body, html {
    font-size: 96px;
  }
}
@media screen and (max-width: 800px) {
  body, html {
    font-size: 94px;
  }
}
@media screen and (min-width: 769px) and (max-height: 680px) {
  /*******************************/
  header h1 {
    width: 0.7rem;
  }
}
@media screen and (max-width: 768px) {
  body, html {
    font-size: 100px;
  }

  .pc {
    display: none;
  }

  .mobile {
    display: block;
  }

  .particle:nth-child(1) {
    animation: particle-animation-1 25s infinite alternate-reverse;
  }

  .particle:nth-child(2) {
    animation: particle-animation-2 25s infinite alternate-reverse;
  }

  .particle:nth-child(3) {
    animation: particle-animation-3 25s infinite alternate-reverse;
  }

  .particle:nth-child(4) {
    animation: particle-animation-4 25s infinite alternate-reverse;
  }

  .particle:nth-child(5) {
    animation: particle-animation-5 25s infinite alternate-reverse;
  }

  .particle:nth-child(6) {
    animation: particle-animation-6 25s infinite alternate-reverse;
  }

  .particle:nth-child(7) {
    animation: particle-animation-7 25s infinite alternate-reverse;
  }

  .particle:nth-child(8) {
    animation: particle-animation-8 25s infinite alternate-reverse;
  }

  .particle:nth-child(9) {
    animation: particle-animation-9 25s infinite alternate-reverse;
  }

  .particle:nth-child(10) {
    animation: particle-animation-10 25s infinite alternate-reverse;
  }

  .particle:nth-child(11) {
    animation: particle-animation-11 25s infinite alternate-reverse;
  }

  .particle:nth-child(12) {
    animation: particle-animation-12 25s infinite alternate-reverse;
  }

  .particle:nth-child(13) {
    animation: particle-animation-13 25s infinite alternate-reverse;
  }

  .particle:nth-child(14) {
    animation: particle-animation-14 25s infinite alternate-reverse;
  }

  .particle:nth-child(15) {
    animation: particle-animation-15 25s infinite alternate-reverse;
  }

  .particle:nth-child(16) {
    animation: particle-animation-16 25s infinite alternate-reverse;
  }

  .particle:nth-child(17) {
    animation: particle-animation-17 25s infinite alternate-reverse;
  }

  .particle:nth-child(18) {
    animation: particle-animation-18 25s infinite alternate-reverse;
  }

  .particle:nth-child(19) {
    animation: particle-animation-19 25s infinite alternate-reverse;
  }

  .particle:nth-child(20) {
    animation: particle-animation-20 25s infinite alternate-reverse;
  }

  .particle:nth-child(21) {
    animation: particle-animation-21 25s infinite alternate-reverse;
  }

  .particle:nth-child(22) {
    animation: particle-animation-22 25s infinite alternate-reverse;
  }

  .particle:nth-child(23) {
    animation: particle-animation-23 25s infinite alternate-reverse;
  }

  .particle:nth-child(24) {
    animation: particle-animation-24 25s infinite alternate-reverse;
  }

  .particle:nth-child(25) {
    animation: particle-animation-25 25s infinite alternate-reverse;
  }

  .particle:nth-child(26) {
    animation: particle-animation-26 25s infinite alternate-reverse;
  }

  .particle:nth-child(27) {
    animation: particle-animation-27 25s infinite alternate-reverse;
  }

  .particle:nth-child(28) {
    animation: particle-animation-28 25s infinite alternate-reverse;
  }

  .particle:nth-child(29) {
    animation: particle-animation-29 25s infinite alternate-reverse;
  }

  .particle:nth-child(30) {
    animation: particle-animation-30 25s infinite alternate-reverse;
  }

  .container {
    width: calc(100% - 12vw);
    padding-left: 6vw;
    padding-right: 6vw;
  }

  /*******************************/
  header {
    padding: 6vw 0 0 0 !important;
    position: fixed;
    width: 100%;
    margin-top: 0;
    top: 0;
    right: 0;
    z-index: 99;
  }
  header .container {
    padding: 20vw 0 10vw 0;
    position: fixed;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow-y: scroll;
    background-color: #000000;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    transition: 0.3s 0s;
    scrollbar-color: rgba(0, 0, 0, 0.5) transparent;
    scrollbar-width: thin;
  }
  header .container::-webkit-scrollbar {
    width: 5px;
  }
  header .container::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 5px;
  }
  header .container::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: rgba(0, 0, 0, 0.5);
  }
  header.fixed {
    background-color: transparent;
  }
  header h1 {
    width: 18vw;
    margin-bottom: 2vw;
  }
  header .nav_btn.mobile {
    width: 14vw;
    max-width: 81px;
    height: 14vw;
    max-height: 81px;
    padding: 2vw;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.5);
    margin-left: auto;
    position: absolute;
    right: 3.7333vw;
    top: 6vw;
    transition: 0.2s 0s;
  }
  header .nav_btn.mobile:before, header .nav_btn.mobile:after {
    content: "";
    display: block;
    background-color: #ffffff;
    position: absolute;
  }
  header .nav_btn.mobile:before {
    width: 0;
    height: 0.8vw;
    min-height: 5px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.2s 0s;
  }
  header .nav_btn.mobile:after {
    height: 0;
    width: 0.8vw;
    min-width: 5px;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    transition: 0.2s 0.1s;
  }
  header .nav_btn.mobile .nav_bar {
    background-color: #ffffff;
    height: 0.8vw;
    width: 100%;
    min-height: 5px;
    margin-bottom: 1.5vw;
    transition: 0.4s;
  }
  header .nav_btn.mobile .nav_bar.navB03 {
    width: 30%;
    margin-left: auto;
    transition: 0.2s 0.5s;
  }
  header .nav_btn.mobile .nav_bar.navB02 {
    transition-delay: 0.3s;
  }
  header .nav_btn.mobile .nav_bar.navB01 {
    margin-left: auto;
    transition-delay: 0.1s;
  }
  header.open .container {
    left: 0;
    transition: 0.3s 0.45s;
  }
  header.open .nav_btn.mobile {
    transform: rotate(45deg);
    transition: 0.2s 0.5s;
  }
  header.open .nav_btn.mobile:before {
    width: 100%;
    transition: 0.1s 0.4s;
  }
  header.open .nav_btn.mobile:after {
    height: 100%;
    transition: 0.2s 0.4s;
  }
  header.open .nav_btn.mobile .nav_bar {
    width: 0;
    transition: 0.25s;
  }
  header.open .nav_btn.mobile .nav_bar.navB03 {
    transition: 0.15s;
  }
  header.open .nav_btn.mobile .nav_bar.navB02 {
    transition-delay: 0.15s;
  }
  header.open .nav_btn.mobile .nav_bar.navB01 {
    transition-delay: 0.2s;
  }

  nav {
    margin-top: 1em;
    width: 100%;
  }
  nav ul.flexBox {
    display: block;
    text-align: center;
  }
  nav ul.flexBox li {
    font-size: 1em;
    line-height: 3;
    margin-left: 0;
    margin-bottom: 0.3em;
  }
  nav ul.flexBox li a:before {
    content: "";
    display: block;
    width: 2.4em;
    height: 0.3em;
    background-color: transparent;
    position: absolute;
    bottom: 0.2em;
    left: calc(50% - 1.2em);
  }
  nav ul.flexBox li a.active {
    opacity: 1;
  }
  nav ul.flexBox li a.active:before {
    background-color: #f15a24;
  }

  .orange_bar {
    display: none;
  }

  /*******************************/
  footer {
    font-size: 3.2vw;
  }
  footer .container {
    padding-top: 4.7em;
    padding-bottom: 4.7em;
  }
  footer .container .footerAn {
    width: 13.6vw;
    bottom: calc(100% + 1em);
    right: 4vw;
  }
}
@media screen and (max-width: 1360px) {
  .showreel_box .slide_box .slide a.sl_a {
    position: relative;
    width: 3.85rem;
  }
  .showreel_box .slickArrow {
    width: 5vw;
    padding: 0 0.5em;
    max-width: 40px;
    height: 100%;
    top: 0;
    transform: none;
    z-index: 9;
  }
  .showreel_box .slickArrow.prev_arr {
    right: auto;
    left: 0;
  }
  .showreel_box .slickArrow.next_arr {
    left: auto;
    right: 0;
  }
  .showreel_box .slickArrow img {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }

  /*********************************/
  .contact_box .contact_l .contact_l_inner {
    max-width: 490px;
    padding-left: 1em;
    margin: auto;
  }
  .contact_box .contact_l .tel_box .addree:before {
    width: calc(100% - 30px);
  }
  .contact_box .contact_r .form_box {
    position: relative;
    max-width: 485px;
    margin-left: 8%;
  }
}
@media screen and (max-width: 900px) {
  .team_box .team .teamTent {
    padding: 1.5em 1.1em 1.2em 1.1em;
  }

  .contact_box .contact_l .tel_box .tel .tel_img {
    width: 0.8em;
    margin-left: -0.3em;
  }
}
@media screen and (min-width: 769px) and (max-height: 680px) {
  body, html {
    font-size: 96px !important;
  }

  /*********************************/
  .section_box {
    margin-top: 0.5rem;
  }
  .section_box.service_box {
    margin-top: 0;
    padding-top: 0.3rem;
  }
  .section_box .container {
    padding-top: 0.3rem;
  }
  .section_box.team_box {
    min-height: 100vh;
    box-sizing: border-box;
  }
  .section_box.team_box .title {
    padding-top: 0.4rem;
  }

  /*********************************/
  .service_box .service {
    padding-top: 1.5rem;
  }
  .service_box .service.service01 {
    padding-top: 1rem;
  }

  /*********************************/
  .showreel_box .slide_box {
    margin-top: 0em;
    padding: 0.4rem 0 0.3rem 0;
  }

  /*********************************/
  .actBTN {
    margin-bottom: 2rem;
  }
  .actBTN a {
    margin: 0.5rem auto 0 auto;
  }

  /*********************************/
  .team_box .team {
    margin: 0rem auto 0 auto;
  }
  .team_box .team .teamTent {
    padding: 1.3em 1.4em 1em 1.4em;
  }
  .team_box .team .teamTent .team_icon {
    width: 1rem;
    height: 1rem;
    margin: 1em auto 0 auto;
  }
  .team_box .team .teamTent .team_txt {
    margin-top: 0.2rem;
  }

  /*********************************/
  .contact_box .container {
    padding-top: 0;
  }
  .contact_box .container > .flexBox > * {
    padding-top: 0.5rem;
    padding-bottom: 1.3rem;
  }
  .contact_box .contact_l .tel_box {
    margin-top: 0.8rem;
  }
  .contact_box .contact_l .tel_box .bigc_logo {
    width: 0.95rem;
    margin-top: 0.3rem;
  }
  .contact_box .contact_r .form_box .inP {
    margin-bottom: 1.8em;
  }
  .contact_box .contact_r .form_box .inP:first-of-type {
    margin-top: 1em;
  }
  .contact_box .contact_r .form_box .inP.getValue:before {
    bottom: 1.8em;
  }
  .contact_box .contact_r .form_box .inP input {
    font-size: 1em;
    line-height: 2;
  }
  .contact_box .contact_r .form_box .txtAre .txtAre_tlt {
    line-height: 2.2;
    margin-top: -0.8em;
  }
  .contact_box .contact_r .form_box .txtAre textarea {
    font-size: 1em;
    height: 1.2rem;
  }
  .contact_box .contact_r .actBTN {
    margin-bottom: 1rem;
  }
  .contact_box .contact_r .actBTN a {
    margin-top: 2em;
  }
}
@media screen and (max-width: 768px) {
  .wrapper {
    font-size: 5.333vw;
  }

  .kv .flexBox {
    min-height: 460px;
  }
  .kv .flexBox .kv_logo {
    width: 50.4vw;
    margin-bottom: 3em;
    min-width: 0;
  }
  .kv .scroll_line {
    font-size: 2.1333vw;
  }

  /*********************************/
  .section_box .container {
    padding-top: 20vw;
  }
  .section_box .title {
    font-size: 0.75em;
    padding: 1em 0;
  }
  .section_box .title .title_img:before {
    width: 0.6em;
    height: 0.6em;
    top: 15%;
    right: calc(100% + 2em);
  }
  .section_box.service_box .title_img {
    width: 45.333vw;
  }
  .section_box.showreel_box .title_img {
    width: 58.667vw;
  }
  .section_box.team_box .title {
    background-size: 73.6vw auto;
  }
  .section_box.team_box .title_img {
    width: 30.667vw;
  }
  .section_box.contact_box .title_img {
    width: 50.667vw;
  }

  /*********************************/
  .service_box .service {
    display: block;
    margin-top: 25vw;
    width: 80vw;
  }
  .service_box .service.service02 .service_desribe {
    max-width: none;
  }
  .service_box .service.service03 p span.inblock {
    display: inline;
  }
  .service_box .service_desribe {
    max-width: none;
    width: auto;
  }
  .service_box .service_desribe .sd_t {
    font-size: 6.667vw;
    padding-left: 1.6em;
  }
  .service_box .service_desribe .sd_t .sdt_img {
    top: -0.4em;
    width: 1.26em;
  }
  .service_box .service_desribe p {
    font-size: 0.75em;
    padding-left: 1em;
  }
  .service_box .service_anima {
    max-width: none;
    width: 64vw;
    margin: auto;
  }

  /*********************************/
  .showreel_box {
    margin-top: 14vw;
  }
  .showreel_box .slide_box {
    padding: 9.5vw 0;
  }
  .showreel_box .slide_box .slide a.sl_a {
    width: 75vw;
  }
  .showreel_box .slickArrow.prev_arr {
    left: -0.8em;
  }
  .showreel_box .slickArrow.next_arr {
    right: -0.8em;
  }

  /*********************************/
  .team_box {
    margin-top: 22vw;
  }
  .team_box .team {
    display: block;
    margin: 18.667vw auto 0 auto;
  }
  .team_box .team .teamTent {
    max-width: none;
    width: 66.667vw;
    padding: 1.1em 0.8em 0.8em 0.8em;
    margin: auto;
  }
  .team_box .team .teamTent.team01 {
    margin-top: 20vw;
  }
  .team_box .team .teamTent.team02 {
    margin-top: 18.667vw;
    margin-bottom: 18.667vw;
  }
  .team_box .team .teamTent.team03 {
    margin-bottom: 46.667vw;
  }
  .team_box .team .teamTent .team_name {
    font-size: 1em;
  }
  .team_box .team .teamTent .team_name:before {
    width: 1.2em;
    right: calc(100% + 0.3em);
  }
  .team_box .team .teamTent .team_icon {
    width: 26.667vw;
    height: 26.667vw;
    margin: 1.5em auto 0 auto;
  }
  .team_box .team .teamTent .team_icon img {
    width: 9.5vw;
    max-width: none;
  }
  .team_box .team .teamTent .team_txt {
    margin-top: 8.5vw;
  }
  .team_box .team .teamTent .team_txt p:not(.bold) {
    font-weight: normal;
  }

  /*********************************/
  .contact_box {
    margin-top: 0;
  }
  .contact_box .container {
    padding-top: 0;
  }
  .contact_box .container > .flexBox {
    display: block;
  }
  .contact_box .container > .flexBox > * {
    width: auto;
    max-width: none;
    padding-top: 20vw;
    padding-bottom: 14vw;
  }
  .contact_box .container > .flexBox .conact_img {
    width: 30vw;
    right: calc(50% - 15vw);
    bottom: 0;
  }
  .contact_box .container > .flexBox .conact_img > img {
    position: relative;
    z-index: 5;
  }
  .contact_box .container > .flexBox .conact_img .conact_inner_img {
    width: 21.333vw;
    bottom: -1.5vw;
    right: -50%;
    z-index: 0;
  }
  .contact_box .contact_l .contact_l_inner {
    max-width: none;
    width: auto;
    padding-left: 0;
  }
  .contact_box .contact_l h2 {
    text-align: center;
    line-height: 1.67;
  }
  .contact_box .contact_l h2 .title_img {
    margin-left: auto;
    margin-bottom: 0.5em;
    margin-right: auto;
  }
  .contact_box .contact_l h2 .title_img:before {
    width: 0.6em;
    height: 0.6em;
    top: 15%;
    right: calc(100% + 2em);
  }
  .contact_box .contact_l .tel_box {
    margin-top: 12vw;
  }
  .contact_box .contact_l .tel_box .tel {
    font-size: 1.3375em;
    justify-content: center;
  }
  .contact_box .contact_l .tel_box .tel .tel_img {
    width: 1.1em;
    margin-top: 0.1em;
    margin-left: 0;
  }
  .contact_box .contact_l .tel_box .addree {
    font-size: 3.2vw;
    margin-top: 2em;
    padding-top: 1.2em;
    padding-bottom: 2.8em;
    padding-left: 1.8em;
  }
  .contact_box .contact_l .tel_box .addree:before {
    width: 100%;
    max-width: none;
    bottom: auto;
    top: 0;
  }
  .contact_box .contact_l .tel_box .bigc_logo {
    width: 25.333vw;
    margin: 0 auto 0 auto;
  }
  .contact_box .contact_r {
    padding-top: 16.5vw !important;
    padding-bottom: 36vw !important;
  }
  .contact_box .contact_r:before {
    width: 100vw;
    left: -6vw;
    background-position: left top 164.667vw;
    background-size: 27.333vw auto;
  }
  .contact_box .contact_r .form_box {
    position: relative;
    max-width: none;
    width: 77.5vw;
    margin-left: auto;
    margin-right: auto;
  }
  .contact_box .contact_r .form_box .txtAre textarea {
    height: 40vw;
  }
  .contact_box .contact_r .actBTN a {
    margin-left: auto;
    margin-top: 18.667vw;
  }
}
/*# sourceMappingURL=main.css.map */