@charset "UTF-8";

/**************
reset.css start
**************/

/* http://meyerweb.com/eric/tools/css/reset/ */

/* v1.0 | 20080212 */

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,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
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 {
  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;
}

/* remember to define focus styles! */

:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */

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

/**************
reset.css end
**************/

/*
z-index
.rotate_alert 10010
.transition 10000
.loading 9999
.gdpr 9998
.close 1003
.hamburger 1002
nav.header_nav 1001
.logo 1000
.scroll-wrapper 100
.breadcrumb 999

*/

.mt1 {
  margin-top: 1px;
}

.mt2 {
  margin-top: 2px;
}

.mt3 {
  margin-top: 3px;
}

.mt4 {
  margin-top: 4px;
}

.mt5 {
  margin-top: 5px;
}

.mt6 {
  margin-top: 6px;
}

.mt7 {
  margin-top: 7px;
}

.mt8 {
  margin-top: 8px;
}

.mt9 {
  margin-top: 9px;
}

.mt10 {
  margin-top: 10px;
}

.mt11 {
  margin-top: 11px;
}

.mt12 {
  margin-top: 12px;
}

.mt13 {
  margin-top: 13px;
}

.mt14 {
  margin-top: 14px;
}

.mt15 {
  margin-top: 15px;
}

.mt16 {
  margin-top: 16px;
}

.mt17 {
  margin-top: 17px;
}

.mt18 {
  margin-top: 18px;
}

.mt19 {
  margin-top: 19px;
}

.mt20 {
  margin-top: 20px;
}

.mt21 {
  margin-top: 21px;
}

.mt22 {
  margin-top: 22px;
}

.mt23 {
  margin-top: 23px;
}

.mt24 {
  margin-top: 24px;
}

.mt25 {
  margin-top: 25px;
}

.mt26 {
  margin-top: 26px;
}

.mt27 {
  margin-top: 27px;
}

.mt28 {
  margin-top: 28px;
}

.mt29 {
  margin-top: 29px;
}

.mt30 {
  margin-top: 30px;
}

.mt31 {
  margin-top: 31px;
}

.mt32 {
  margin-top: 32px;
}

.mt33 {
  margin-top: 33px;
}

.mt34 {
  margin-top: 34px;
}

.mt35 {
  margin-top: 35px;
}

.mt36 {
  margin-top: 36px;
}

.mt37 {
  margin-top: 37px;
}

.mt38 {
  margin-top: 38px;
}

.mt39 {
  margin-top: 39px;
}

.mt40 {
  margin-top: 40px;
}

.mt41 {
  margin-top: 41px;
}

.mt42 {
  margin-top: 42px;
}

.mt43 {
  margin-top: 43px;
}

.mt44 {
  margin-top: 44px;
}

.mt45 {
  margin-top: 45px;
}

.mt46 {
  margin-top: 46px;
}

.mt47 {
  margin-top: 47px;
}

.mt48 {
  margin-top: 48px;
}

.mt49 {
  margin-top: 49px;
}

.mt50 {
  margin-top: 50px;
}

.mt51 {
  margin-top: 51px;
}

.mt52 {
  margin-top: 52px;
}

.mt53 {
  margin-top: 53px;
}

.mt54 {
  margin-top: 54px;
}

.mt55 {
  margin-top: 55px;
}

.mt56 {
  margin-top: 56px;
}

.mt57 {
  margin-top: 57px;
}

.mt58 {
  margin-top: 58px;
}

.mt59 {
  margin-top: 59px;
}

.mt60 {
  margin-top: 60px;
}

.mt61 {
  margin-top: 61px;
}

.mt62 {
  margin-top: 62px;
}

.mt63 {
  margin-top: 63px;
}

.mt64 {
  margin-top: 64px;
}

.mt65 {
  margin-top: 65px;
}

.mt66 {
  margin-top: 66px;
}

.mt67 {
  margin-top: 67px;
}

.mt68 {
  margin-top: 68px;
}

.mt69 {
  margin-top: 69px;
}

.mt70 {
  margin-top: 70px;
}

.mt71 {
  margin-top: 71px;
}

.mt72 {
  margin-top: 72px;
}

.mt73 {
  margin-top: 73px;
}

.mt74 {
  margin-top: 74px;
}

.mt75 {
  margin-top: 75px;
}

.mt76 {
  margin-top: 76px;
}

.mt77 {
  margin-top: 77px;
}

.mt78 {
  margin-top: 78px;
}

.mt79 {
  margin-top: 79px;
}

.mt80 {
  margin-top: 80px;
}

.mt81 {
  margin-top: 81px;
}

.mt82 {
  margin-top: 82px;
}

.mt83 {
  margin-top: 83px;
}

.mt84 {
  margin-top: 84px;
}

.mt85 {
  margin-top: 85px;
}

.mt86 {
  margin-top: 86px;
}

.mt87 {
  margin-top: 87px;
}

.mt88 {
  margin-top: 88px;
}

.mt89 {
  margin-top: 89px;
}

.mt90 {
  margin-top: 90px;
}

.mt91 {
  margin-top: 91px;
}

.mt92 {
  margin-top: 92px;
}

.mt93 {
  margin-top: 93px;
}

.mt94 {
  margin-top: 94px;
}

.mt95 {
  margin-top: 95px;
}

.mt96 {
  margin-top: 96px;
}

.mt97 {
  margin-top: 97px;
}

.mt98 {
  margin-top: 98px;
}

.mt99 {
  margin-top: 99px;
}

.mt100 {
  margin-top: 100px;
}

.color1 {
  color: #ee0011;
}

.color2 {
  color: #ff7000;
}

.color3 {
  color: #2187ff;
}

.color4 {
  color: #ffcc00;
}

.color5 {
  color: #00aa88;
}

@keyframes arrow8 {
  0% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(8px, 0, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes arrow4 {
  0% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(4px, 0, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes arrow4_h {
  0% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, 4px, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes arrow_rev_4 {
  0% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(-4px, 0, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes line {
  0% {
    transform-origin: right top;
    transform: scaleX(1);
  }

  40% {
    transform-origin: right top;
    transform: scaleX(0);
  }

  41% {
    transform-origin: left top;
    transform: scaleX(0);
  }

  50% {
    transform-origin: left top;
    transform: scaleX(0);
  }

  100% {
    transform-origin: left top;
    transform: scaleX(1);
  }
}

@font-face {
  font-family: 'Butler';
  src: url("/assets/fonts/Butler-UltraLight.woff2") format("woff2"), url("/assets/fonts/Butler-UltraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url("/assets/fonts/Butler-Medium.woff2") format("woff2"), url("/assets/fonts/Butler-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url("/assets/fonts/Butler-Light.woff2") format("woff2"), url("/assets/fonts/Butler-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url("/assets/fonts/Butler-Black.woff2") format("woff2"), url("/assets/fonts/Butler-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url("/assets/fonts/Butler-Bold.woff2") format("woff2"), url("/assets/fonts/Butler-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url("/assets/fonts/Butler-ExtraBold.woff2") format("woff2"), url("/assets/fonts/Butler-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url("/assets/fonts/Butler.woff2") format("woff2"), url("/assets/fonts/Butler.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

.font1 {
  font-family: 'Butler', sans-serif;
}

.font2 {
  font-family: nimbus-sans, sans-serif;
}

.font3 {
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}

.font4 {
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.box {
  position: absolute;
  mix-blend-mode: multiply;
  transform-style: preserve-3d;
  perspective: 1000px;
}

.box .common_box {
  transition: transform 100ms;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: absolute;
}

.box .box1 {
  background-color: #cc6000;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.box .box2 {
  background-color: #ff7000;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.box .box3 {
  background-color: #cc6000;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.box .box4 {
  background-color: #ff7000;
  width: 100%;
  height: 100%;
  display: inline-block;
}

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

.underline:after {
  content: "";
  height: 1px;
  background-color: #000;
  width: 100%;
  display: inline-block;
  top: 23px;
  left: 0;
  position: absolute;
}

.space {
  margin-left: 10px;
  margin-right: 10px;
}

.transition {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

.transition.hide {
  display: none;
}

.transition .masks .mask_wrap {
  display: flex;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
}

.transition .masks .semitransparent .mask {
  opacity: 0;
  height: 0%;
}

.transition .masks .semitransparent .mask.show {
  opacity: 1;
}

.transition .masks .opaque .mask {
  height: 0%;
}

.transition .masks .mask {
  width: 25.5%;
  height: 100%;
  margin-left: -1px;
  transform: translate3d(0, 0, 0);
  animation-timing-function: cubic-bezier(1, 0, 0, 1);
  background-color: #ff7000;
  transition: transform 400ms, height 400ms, opacity 900ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.transition .masks .mask.show {
  height: 100%;
}

.transition .masks .mask.hide {
  transform: translate3d(0, 100%, 0);
}

.rotate_alert {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 10010;
  background-color: #f4f4ee;
  display: none;
}

.rotate_alert.show {
  display: block;
}

.rotate_alert img {
  position: absolute;
  width: 90px;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
}

.gdpr {
  position: fixed;
  bottom: 10px;
  width: 320px;
  right: 10px;
  color: #fff;
  background-color: #000;
  z-index: 9998;
  font-family: nimbus-sans, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  display: none;
}

.gdpr.hide {
  display: none !important;
}

.gdpr.show {
  display: block;
}

.gdpr .gdpr_child {
  width: 69%;
  margin: 37px auto 0;
  font-size: 1.4rem;
}

.gdpr .gdpr_child .txt {
  line-height: 1.3;
}

.gdpr .gdpr_child .info {
  margin-top: 14px;
}

.gdpr .gdpr_child .info a {
  color: #fff;
  position: relative;
}

.gdpr .gdpr_child .info a:hover:before {
  animation: line .5s;
}

.gdpr .gdpr_child .info a:before {
  content: "";
  position: absolute;
  top: 16px;
  height: 1px;
  width: 100%;
  display: inline-block;
  background-color: #fff;
}

.gdpr .btn {
  width: 72%;
  margin: 25px auto 40px;
  font-weight: 600;
  font-size: 1.4rem;
  border-radius: 17px;
  height: 34px;
  background-color: #fff;
  color: #000;
  text-align: center;
  vertical-align: middle;
  padding-top: 10px;
  cursor: pointer;
  transition: background-color 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.gdpr .btn:hover {
  background-color: #999;
}

.preload {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  visibility: hidden;
}

.preload.show {
  visibility: visible;
}

.preload.hide {
  display: none;
}

.preload .bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 0vw;
  height: 2px;
  background-color: #ff7000;
}

.preload .logo_motion {
  position: fixed;
  left: 50%;
  top: 48%;
  width: 185px;
  transform: translate3d(-50%, -50%, 0);
  /* for Microsoft Edge */
  /* for IE 11 */
}

@supports (-ms-ime-align: auto) {
  .preload .logo_motion svg {
    display: none;
  }

  .preload .logo_motion:before {
    content: "";
    display: inline-block;
    background-image: url(/assets/img/common/footer_logo.png);
    width: 182px;
    height: 189px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

@media all and (-ms-high-contrast: none) {
  .preload .logo_motion *::-ms-backdrop,
  .preload .logo_motion svg {
    display: none;
  }

  .preload .logo_motion *::-ms-backdrop,
  .preload .logo_motion:before {
    content: "";
    display: inline-block;
    background-image: url(/assets/img/common/footer_logo.png);
    width: 182px;
    height: 189px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

.preload .percent {
  font-size: 2.0rem;
  color: #95918f;
  position: fixed;
  bottom: 56px;
  left: 59px;
}

.preload .percent .txt {
  margin-right: 10px;
}

.preload .percent .per {
  font-size: 1.4rem;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  display: block;
  background-color: #f4f4ee;
  color: #000;
  font-family: 'Butler', nimbus-sans, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-weight: 300;
  letter-spacing: 0.0em;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}

a,
a:visited {
  color: #000;
  text-decoration: none;
}

header {
  position: absolute;
  top: 0;
  left: 0;
}

header .logo {
  margin-left: 60px;
  margin-top: 50px;
  position: relative;
  z-index: 1000;
}

header .logo .logo_motion {
  width: 106px;
  /* for Microsoft Edge */
  /* for IE 11 */
}

header .logo .logo_motion svg {
  pointer-events: none;
}

@supports (-ms-ime-align: auto) {
  header .logo .logo_motion svg {
    display: none;
  }

  header .logo .logo_motion:before {
    content: "";
    display: inline-block;
    background-image: url(/assets/img/common/logo.png);
    width: 100px;
    height: 34px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

@media all and (-ms-high-contrast: none) {
  header .logo .logo_motion *::-ms-backdrop,
  header .logo .logo_motion svg {
    display: none;
  }

  header .logo .logo_motion *::-ms-backdrop,
  header .logo .logo_motion:before {
    content: "";
    display: inline-block;
    background-image: url(/assets/img/common/logo.png);
    width: 100px;
    height: 34px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

header nav.header_nav {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  width: 100%;
}

header nav.header_nav .header_nav_child {
  display: none;
  width: 100vw;
  color: #fff;
}

header nav.header_nav .header_nav_child.show {
  display: block;
}

header nav.header_nav .header_nav_child a {
  color: #fff;
}

header nav.header_nav .header_nav_child .lr {
  display: flex;
  background-color: #000;
  height: 0vh;
  transition: height 600ms;
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

header nav.header_nav .header_nav_child .lr.show {
  height: 100vh;
}

header nav.header_nav .header_nav_child .lr .left {
  width: 58.4vw;
}

header nav.header_nav .header_nav_child .lr .left.show .cp .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .left.show .block1 .logo_white .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .left.show .block1 .txt .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .left.show .block2 .menu .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .left.hide .block1 .logo_white .child,
header nav.header_nav .header_nav_child .lr .left.hide .block1 .txt .child,
header nav.header_nav .header_nav_child .lr .left.hide .cp .child,
header nav.header_nav .header_nav_child .lr .left.hide .block2 .menu .child {
  transition-delay: 0s;
}

header nav.header_nav .header_nav_child .lr .left .block1 {
  position: absolute;
  left: 6.8vw;
  top: 23.3vh;
}

header nav.header_nav .header_nav_child .lr .left .block1 .logo_white {
  overflow: hidden;
}

header nav.header_nav .header_nav_child .lr .left .block1 .logo_white .child {
  transform: translateY(100%);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .3s;
}

header nav.header_nav .header_nav_child .lr .left .block1 .logo_white .child img {
  width: 100px;
}

header nav.header_nav .header_nav_child .lr .left .block1 .txt {
  font-size: 1.4rem;
  font-weight: 600;
  margin-top: 2.8vh;
  line-height: 1.4;
  overflow: hidden;
}

header nav.header_nav .header_nav_child .lr .left .block1 .txt .child {
  transform: translateY(100%);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .3s;
}

header nav.header_nav .header_nav_child .lr .left .cp {
  position: absolute;
  left: 6.8vw;
  top: 40vh;
  line-height: 1.5;
  font-size: 1.2rem;
  color: #757575;
  overflow: hidden;
}

header nav.header_nav .header_nav_child .lr .left .cp .child {
  transform: translateY(100%);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .3s;
}

header nav.header_nav .header_nav_child .lr .left .block2 {
  position: absolute;
  top: 17.6vh;
  left: 27.4vw;
}

header nav.header_nav .header_nav_child .lr .left .block2 .menu {
  font-size: 1.4rem;
  font-weight: 600;
  overflow: hidden;
}

header nav.header_nav .header_nav_child .lr .left .block2 .menu .child {
  transform: translateY(100%);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .3s;
}

header nav.header_nav .header_nav_child .lr .left .block2 .menu .child:before {
  content: "";
  height: 1px;
  display: inline-block;
  width: 10px;
  background-color: #fff;
  margin-right: 8px;
}

header nav.header_nav .header_nav_child .lr .left .block2 ul {
  font-size: 8rem;
  margin-top: 2.8vh;
  perspective: 1000px;
  /* for Microsoft Edge */
}

@supports (-ms-ime-align: auto) {
  header nav.header_nav .header_nav_child .lr .left .block2 ul {
    list-style-image: url(data:0);
  }
}

header nav.header_nav .header_nav_child .lr .left .block2 ul li {
  margin-top: 5px;
  transform: rotateX(540deg);
  transition: transform 800ms, opacity 500ms;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /*                &:hover{
                  opacity: .6;
                }*/
}

header nav.header_nav .header_nav_child .lr .left .block2 ul li.show {
  transform: rotateX(0deg);
}

header nav.header_nav .header_nav_child .lr .right {
  width: 41.6vw;
  position: relative;
}

header nav.header_nav .header_nav_child .lr .right.show .block .contact .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .right.show .block .privacy_policy {
  white-space: nowrap;
}

header nav.header_nav .header_nav_child .lr .right.show .block .privacy_policy .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .right.show .block .language {
  white-space: nowrap;
}

header nav.header_nav .header_nav_child .lr .right.show .block .language .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .right.show .block .addresses .child {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .lr .right.hide .block .contact a .child,
header nav.header_nav .header_nav_child .lr .right.hide .block .privacy_policy a .child,
header nav.header_nav .header_nav_child .lr .right.hide .block .language a .child,
header nav.header_nav .header_nav_child .lr .right.hide .block .addresses .child {
  transition-delay: 0s;
}

header nav.header_nav .header_nav_child .lr .right .block {
  position: absolute;
  left: 8.8vw;
  top: 22.6vh;
}

header nav.header_nav .header_nav_child .lr .right .block .contact {
  font-size: 4.0rem;
  display: inline-block;
  overflow: hidden;
}

header nav.header_nav .header_nav_child .lr .right .block .contact a {
  display: block;
  padding-right: 10px;
}

header nav.header_nav .header_nav_child .lr .right .block .contact a .child {
  transform: translateY(100%);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .3s;
  padding-bottom: 15px;
}

header nav.header_nav .header_nav_child .lr .right .block .contact a .child:hover {
  opacity: .5;
}

header nav.header_nav .header_nav_child .lr .right .block .contact a .child:hover:before {
  animation: line .5s;
}

header nav.header_nav .header_nav_child .lr .right .block .contact a .child:hover:after {
  animation: arrow8 .6s;
}

header nav.header_nav .header_nav_child .lr .right .block .contact a .child:before {
  content: "";
  position: absolute;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: #fff;
  display: inline-block;
  transform-origin: right top;
  pointer-events: none;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  top: 53px;
}

header nav.header_nav .header_nav_child .lr .right .block .contact a .child:after {
  content: "";
  display: inline-block;
  width: 1vw;
  height: 1.2vw;
  margin-left: 4.9vw;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  background-image: url("/assets/img/common/arrow_right_white_big.png");
}

header nav.header_nav .header_nav_child .lr .right .block .privacy_policy,
header nav.header_nav .header_nav_child .lr .right .block .language {
  font-size: 2.0rem;
  display: block;
  overflow: hidden;
}

header nav.header_nav .header_nav_child .lr .right .block .privacy_policy a,
header nav.header_nav .header_nav_child .lr .right .block .language a {
  display: block;
}

header nav.header_nav .header_nav_child .lr .right .block .privacy_policy a .child,
header nav.header_nav .header_nav_child .lr .right .block .language a .child {
  padding-bottom: 5px;
  transform: translateY(100%);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .3s;
}

header nav.header_nav .header_nav_child .lr .right .block .privacy_policy a .child:hover,
header nav.header_nav .header_nav_child .lr .right .block .language a .child:hover {
  opacity: .5;
}

header nav.header_nav .header_nav_child .lr .right .block .privacy_policy a .child:hover:before,
header nav.header_nav .header_nav_child .lr .right .block .language a .child:hover:before {
  animation: line .5s;
}

header nav.header_nav .header_nav_child .lr .right .block .privacy_policy a .child:before,
header nav.header_nav .header_nav_child .lr .right .block .language a .child:before {
  content: "";
  position: absolute;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: #fff;
  display: inline-block;
  transform-origin: right top;
  pointer-events: none;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  top: 24px;
}

header nav.header_nav .header_nav_child .lr .right .block .privacy_policy {
  margin-top: 5vh;
  width: 122px;
  /* for Microsoft Edge */
}

@supports (-ms-ime-align: auto) {
  header nav.header_nav .header_nav_child .lr .right .block .privacy_policy {
    width: 132px;
  }
}

header nav.header_nav .header_nav_child .lr .right .block .language {
  margin-top: 2.8vh;
  width: 87px;
  /* for Microsoft Edge */
}

@supports (-ms-ime-align: auto) {
  header nav.header_nav .header_nav_child .lr .right .block .language {
    width: 97px;
  }
}

header nav.header_nav .header_nav_child .lr .right .block .addresses {
  overflow: hidden;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child {
  transform: translateY(100%);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .3s;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child .address1 {
  font-size: 2.2rem;
  margin-top: 6.3vh;
  font-weight: 600;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child .address2 {
  font-size: 1.4rem;
  margin-top: 1.1vh;
  line-height: 1.7;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child .map {
  font-size: 1.6rem;
  display: inline-block;
  margin-top: 4px;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child .map a {
  display: inline-block;
  position: relative;
  padding-bottom: 1px;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child .map a:hover {
  opacity: .5;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child .map a:hover:before {
  animation: line .6s;
}

header nav.header_nav .header_nav_child .lr .right .block .addresses .child .map a:before {
  content: "";
  position: absolute;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #fff;
  display: inline-block;
  transform-origin: right top;
  pointer-events: none;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  top: 16px;
}

header nav.header_nav .header_nav_child .close {
  position: absolute;
  top: 58px;
  right: 67px;
  font-size: 1.6rem;
  overflow: hidden;
  padding-top: 2px;
  z-index: 1003;
  cursor: pointer;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav .header_nav_child .close:hover {
  opacity: 0.5;
}

header nav.header_nav .header_nav_child .close .child {
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translateY(120%);
}

header nav.header_nav .header_nav_child .close .child.show {
  transform: translateY(0%);
}

header nav.header_nav .header_nav_child .close .child:after {
  content: "";
  display: inline-block;
  width: 19px;
  height: 19px;
  margin-top: -4px;
  margin-left: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  background-image: url("/assets/img/common/close_icon.png");
}

header nav.header_nav .hamburger {
  position: fixed;
  z-index: 1002;
  right: 60px;
  top: 61px;
  cursor: pointer;
  display: flex;
}

header nav.header_nav .hamburger:hover .child {
  transform: translate3d(0, 0, 0);
}

header nav.header_nav .hamburger:hover .bars .bar {
  top: 5px;
}

header nav.header_nav .hamburger:hover .bars .bar:first-child {
  transform: translate3d(-6px, 6px, 0);
}

header nav.header_nav .hamburger:hover .bars .bar:nth-child(2) {
  transform: translate3d(0, 0px, 0);
}

header nav.header_nav .hamburger:hover .bars .bar:nth-child(3) {
  transform: translate3d(6px, -6px, 0);
}

header nav.header_nav .hamburger.hide {
  pointer-events: none;
}

header nav.header_nav .hamburger.hide .child .menu {
  opacity: 0;
}

header nav.header_nav .hamburger.hide .bars {
  opacity: 0;
}

header nav.header_nav .hamburger .child {
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
  transform: translate3d(16px, 0, 0);
}

header nav.header_nav .hamburger .child .menu {
  font-size: 1.6rem;
  letter-spacing: 0em;
  transition: transform 300ms, opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav .hamburger .bars {
  position: relative;
  margin-left: 35px;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav .hamburger .bars .bar {
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  margin-top: -4px;
}

header nav.header_nav .hamburger .circle {
  position: absolute;
  width: 45px;
  height: 45px;
  top: -16px;
  left: 52px;
}

header nav.header_nav .hamburger .circle canvas {
  position: absolute;
  width: 45px;
  height: 45px;
}

#wrap {
  visibility: hidden;
}

#wrap.show {
  visibility: visible;
}

.scroll-wrapper {
  width: 100%;
  position: relative;
  z-index: 100;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #f4f4ee;
}

.scroll-wrapper .breadcrumb {
  position: absolute;
  font-family: nimbus-sans, sans-serif;
  font-size: 1.4rem;
  width: 100%;
  z-index: 999;
}

.scroll-wrapper .breadcrumb ul {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}

.scroll-wrapper .breadcrumb ul li a {
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.scroll-wrapper .breadcrumb ul li a:hover {
  opacity: 0.5;
}

.scroll-wrapper .breadcrumb ul li:last-child:after {
  display: none;
}

.scroll-wrapper .breadcrumb ul li.current {
  color: #ff7000;
}

.scroll-wrapper .breadcrumb ul li:after {
  content: "";
  width: 30px;
  height: 1px;
  background-color: #c5c5bb;
  position: relative;
  top: -3px;
  display: inline-block;
  margin: 0 10px;
}

.scroll-wrapper.smooth_on {
  will-change: transform;
}

.scroll-wrapper.cut_in {
  transition: top 0ms;
}

.others.lowerlayer {
  position: relative;
  background-color: #bbb8b5;
  height: 500px;
  margin-top: 0px;
  font-weight: 400;
}

.others.lowerlayer ul {
  display: flex;
  position: relative;
  width: 100%;
  left: 0;
}

.others.lowerlayer ul li {
  width: 50%;
  height: 500px;
  position: relative;
  overflow: hidden;
  background-color: #000;
}

.others.lowerlayer ul li:first-child {
  background-color: #95918f;
}

.others.lowerlayer ul li:nth-child(2) {
  background-color: #908c8a;
}

.others.lowerlayer ul li a {
  color: #fff;
  width: 100%;
  height: 100%;
  display: block;
}

.others.lowerlayer ul li a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_white_big.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 110px;
  top: 214px;
}

.others.lowerlayer ul li a:hover:after {
  animation: arrow8 .5s;
}

.others.lowerlayer ul li a:hover img {
  opacity: .7;
  transform: translate3d(-50%, -50%, 0) scale(1.09);
}

.others.lowerlayer ul li a:hover .chunk h3.service:after {
  animation: hover_line_service 0.8s;
}

@keyframes hover_line_service {
  0% {
    width: 128px;
    left: 0%;
  }

  33% {
    width: 84%;
    left: 0%;
  }

  66% {
    width: 0%;
    left: 84%;
  }

  66.01% {
    width: 0%;
    left: 0%;
  }

  100% {
    width: 128px;
  }
}

.others.lowerlayer ul li a:hover .chunk h3.works:after {
  animation: hover_line_works 0.8s;
}

@keyframes hover_line_works {
  0% {
    width: 105px;
    left: 0%;
  }

  33% {
    width: 84%;
    left: 0%;
  }

  66% {
    width: 0%;
    left: 84%;
  }

  66.01% {
    width: 0%;
    left: 0%;
  }

  100% {
    width: 105px;
  }
}

.others.lowerlayer ul li a:hover .chunk h3.value:after {
  animation: hover_line_value 0.8s;
}

@keyframes hover_line_value {
  0% {
    width: 167px;
    left: 0%;
  }

  33% {
    width: 84%;
    left: 0%;
  }

  66% {
    width: 0%;
    left: 84%;
  }

  66.01% {
    width: 0%;
    left: 0%;
  }

  100% {
    width: 167px;
  }
}

.others.lowerlayer ul li a:hover .chunk .lr .btn:after {
  animation: arrow8 .5s;
}

.others.lowerlayer ul li a .chunk {
  pointer-events: none;
  position: absolute;
  top: 0;
  padding-left: 14%;
  width: 100%;
}

.others.lowerlayer ul li a .chunk h3 {
  font-size: 4.0rem;
  font-weight: 100;
  margin-top: 190px;
  position: relative;
  letter-spacing: 0;
}

.others.lowerlayer ul li a .chunk h3:before {
  content: "";
  position: absolute;
  height: 1px;
  width: 84%;
  background-color: #f4f4ee;
  opacity: .5;
  display: inline-block;
  left: 0;
  top: 97px;
}

.others.lowerlayer ul li a .chunk h3:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 128px;
  background-color: #f4f4ee;
  display: inline-block;
  left: 0;
  top: 97px;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.others.lowerlayer ul li a .chunk h3.service:after {
  width: 128px;
}

.others.lowerlayer ul li a .chunk h3.works:after {
  width: 105px;
}

.others.lowerlayer ul li a .chunk h3.value:after {
  width: 167px;
}

.others.lowerlayer ul li a .chunk .sub_tit {
  font-size: 1.4rem;
  margin-top: 11px;
}

.others.lowerlayer ul li a .chunk .lr {
  display: flex;
  margin-top: 48px;
}

.others.lowerlayer ul li a .chunk .lr .btn {
  font-size: 1.6rem;
  position: absolute;
  right: 10.7%;
}

.others.lowerlayer ul li a .chunk .lr .btn:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_white.png");
  display: inline-block;
  width: 9px;
  height: 10px;
  margin-left: 31.7px;
  background-size: contain;
}

footer {
  width: 100%;
  height: 100vh;
  transform-style: preserve-3d;
  perspective: 1000px;
  position: fixed;
  bottom: 0;
  background-color: #fff;
}

footer .child {
  position: relative;
  height: 781px;
  padding-top: 164px;
  transform-origin: top center;
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

footer .child .message {
  position: relative;
  font-size: 4.071vw;
  font-weight: 500;
  left: 8.2vw;
  letter-spacing: 0em;
  line-height: 1.2;
}

footer .child .contact {
  position: relative;
  font-size: 4.0rem;
  left: 8.1vw;
  margin-top: 64px;
  letter-spacing: 0;
  display: inline-block;
}

footer .child .contact a {
  padding-bottom: 8px;
}

footer .child .contact a:hover {
  opacity: .5;
}

footer .child .contact a:hover:before {
  animation: line .6s;
}

footer .child .contact a:hover:after {
  animation: arrow8 .6s;
}

footer .child .contact a:before {
  content: "";
  position: absolute;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: #000;
  display: inline-block;
  transform-origin: right top;
  pointer-events: none;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  top: 51px;
}

footer .child .contact a:after {
  content: "";
  display: inline-block;
  width: 1vw;
  height: 1.2vw;
  margin-left: 4.9vw;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  background-image: url("/assets/img/common/arrow_next_black.png");
}

footer .child .logo {
  position: absolute;
  top: 152px;
  right: 7.8vw;
}

footer .child .logo .logo_motion {
  width: 9.8vw;
  /* for Microsoft Edge */
  /* for IE 11 */
}

@supports (-ms-ime-align: auto) {
  footer .child .logo .logo_motion svg {
    display: none;
  }

  footer .child .logo .logo_motion:before {
    content: "";
    display: inline-block;
    background-image: url(/assets/img/common/footer_logo.png);
    width: 117px;
    height: 122px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

@media all and (-ms-high-contrast: none) {
  footer .child .logo .logo_motion *::-ms-backdrop,
  footer .child .logo .logo_motion svg {
    display: none;
  }

  footer .child .logo .logo_motion *::-ms-backdrop,
  footer .child .logo .logo_motion:before {
    content: "";
    display: inline-block;
    background-image: url(/assets/img/common/footer_logo.png);
    width: 117px;
    height: 122px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

footer .child .privacy_policy,
footer .child .language {
  font-size: 1.8rem;
  position: relative;
}

footer .child .privacy_policy a:before,
footer .child .language a:before {
  content: "";
  position: absolute;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #000;
  display: inline-block;
  transform-origin: right top;
  pointer-events: none;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  top: 22px;
}

footer .child .privacy_policy a:hover,
footer .child .language a:hover {
  opacity: .5;
}

footer .child .privacy_policy a:hover:before,
footer .child .language a:hover:before {
  animation: line .5s;
}

footer .child .privacy_policy {
  left: 8.2vw;
  top: 234px;
  display: block;
}

footer .child .privacy_policy a:before {
  width: 110px;
}

footer .child .language {
  left: 19.2vw;
  top: 216px;
  display: inline-block;
}

footer .child .language a:before {
  width: 77px;
}

footer .child .cp {
  font-size: 1.2rem;
  position: relative;
  left: 23.7vw;
  top: 216px;
  display: inline-block;
}

footer .child .btn_to_top {
  position: absolute;
  font-size: 1.2rem;
  bottom: -1px;
  right: 10.4vw;
  margin-bottom: 100px;
  cursor: pointer;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  /*      @keyframes line_loop2 {
        0% {height: 60px;top: -36px;}
        50% {height: 0px;top: -96px;}
        50.1% {height: 0px;top: -36px;}
        100% {height: 60px;top: -36px;}
      }*/
}

footer .child .btn_to_top:hover {
  opacity: 0.5;
}

footer .child .btn_to_top:hover:before {
  height: 45px;
}

footer .child .btn_to_top .btn_to_top_child {
  transform-origin: center center;
  transform: rotate(90deg);
  letter-spacing: 0em;
}

footer .child .btn_to_top:before {
  content: "";
  width: 1px;
  background-color: #000000;
  display: inline-block;
  position: relative;
  left: 30px;
  top: -36px;
  height: 60px;
  transition: height 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

/*
SP レイアウトベース 390 x 667
*/

@media screen and (min-width: 1800px) {
  header nav.header_nav .header_nav_child .close {
    left: 50%;
    margin-left: 757px;
    right: inherit;
  }

  header nav.header_nav .hamburger {
    left: 50%;
    margin-left: 770px;
    right: inherit;
  }

  footer .child .message {
    font-size: 7.32rem;
  }
}

@media screen and (min-width: 1024px) {
  .pc {
    display: block;
  }

  .sp {
    display: none;
  }
}

@media (min-width: 1024px) {
  body.onscroll {
    /*
   header {
     .child {
       transition: height 300ms;
       transition-timing-function: $easeOutQuart;
       height: 74px;


              h1{
                 transition: top 300ms;
                 transition-timing-function: $easeOutQuart;
                 top: 28px;
               }
               #vn_toggle{
                 transition: top 300ms;
                 transition-timing-function: $easeOutQuart;
                 top: 29px;
               }
               #menuBtn{
                 transition: top 300ms;
                 transition-timing-function: $easeOutQuart;
                 top: 30px;
               }
      }
    }
    */
  }
}

@media screen and (max-width: 1023px) {
  .underline:after {
    top: 34px;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .preload .percent {
    bottom: 28px;
    left: 29px;
  }

  header .logo {
    margin-left: 50px;
    margin-top: 45px;
    /*      img{
        width: 15vw;
      }*/
  }

  header .logo .logo_motion {
    width: 15vw;
  }

  header nav.header_nav .header_nav_child .lr .left {
    width: 62vw;
  }

  header nav.header_nav .header_nav_child .lr .left .block1 {
    left: 6.4vw;
    top: 15.9vh;
  }

  header nav.header_nav .header_nav_child .lr .left .block1 .logo_white .child img {
    width: 59px;
  }

  header nav.header_nav .header_nav_child .lr .left .block1 .txt {
    font-size: 1.0rem;
    margin-top: 1.3vh;
  }

  header nav.header_nav .header_nav_child .lr .left .cp {
    top: 79vh;
    font-size: 1.0rem;
    color: #fff;
  }

  header nav.header_nav .header_nav_child .lr .left .block2 {
    top: 32vh;
    left: 5.7vw;
  }

  header nav.header_nav .header_nav_child .lr .left .block2 .menu {
    font-size: 1.0rem;
  }

  header nav.header_nav .header_nav_child .lr .left .block2 .menu .child:before {
    width: 7px;
    margin-right: 4px;
    margin-left: 5px;
  }

  header nav.header_nav .header_nav_child .lr .left .block2 ul {
    font-size: 4.25rem;
    margin-top: 1.1vh;
    line-height: 1.07;
    letter-spacing: 0.01em;
  }

  header nav.header_nav .header_nav_child .lr .left .block2 ul li {
    margin-top: -1px;
  }

  header nav.header_nav .header_nav_child .lr .right {
    width: 38vw;
  }

  header nav.header_nav .header_nav_child .lr .right .block {
    left: 3.2vw;
    top: 35.2vh;
  }

  header nav.header_nav .header_nav_child .lr .right .block .contact {
    font-size: 2.0rem;
  }

  header nav.header_nav .header_nav_child .lr .right .block .contact a .child {
    padding-bottom: 8px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .contact a .child:before {
    top: 27px;
    height: 1px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .contact a .child:after {
    width: 9px;
    height: 9px;
    margin-left: 8px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .privacy_policy,
  header nav.header_nav .header_nav_child .lr .right .block .language {
    font-size: 1.3rem;
  }

  header nav.header_nav .header_nav_child .lr .right .block .privacy_policy a .child,
  header nav.header_nav .header_nav_child .lr .right .block .language a .child {
    padding-bottom: 3px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .privacy_policy a .child:before,
  header nav.header_nav .header_nav_child .lr .right .block .language a .child:before {
    height: 1px;
    top: 15px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .privacy_policy {
    margin-top: 3.3vh;
    width: 80px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .language {
    margin-top: 1.9vh;
    width: 55px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .addresses .child .address1 {
    font-size: 1.6rem;
    margin-top: 4.8vh;
    font-weight: 600;
  }

  header nav.header_nav .header_nav_child .lr .right .block .addresses .child .address2 {
    font-size: 1.0rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.03em;
  }

  header nav.header_nav .header_nav_child .lr .right .block .addresses .child .map {
    font-size: 1.3rem;
    margin-top: 5px;
  }

  header nav.header_nav .header_nav_child .lr .right .block .addresses .child .map a:before {
    top: 13px;
  }

  header nav.header_nav .header_nav_child .close {
    font-size: 1.3rem;
    top: 23px;
    right: 24px;
  }

  header nav.header_nav .header_nav_child .close .child:after {
    width: 12px;
    height: 12px;
    margin-left: 10px;
  }

  header nav.header_nav .hamburger {
    top: 26px;
    right: 25px;
  }

  header nav.header_nav .hamburger:hover .bars .bar:first-child {
    transform: translate3d(-4px, 6px, 0);
  }

  header nav.header_nav .hamburger:hover .bars .bar:nth-child(2) {
    transform: translate3d(0, 1px, 0);
  }

  header nav.header_nav .hamburger:hover .bars .bar:nth-child(3) {
    transform: translate3d(4px, -4px, 0);
  }

  header nav.header_nav .hamburger .child .menu {
    font-size: 1.3rem;
  }

  header nav.header_nav .hamburger .bars {
    margin-left: 23px;
  }

  header nav.header_nav .hamburger .bars .bar {
    margin-top: -5px;
  }

  header nav.header_nav .hamburger .bars .bar img {
    width: 2.5px;
  }

  header nav.header_nav .hamburger .circle {
    width: 30px;
    height: 30px;
    top: -9px;
    left: 40px;
  }

  header nav.header_nav .hamburger .circle canvas {
    width: 30px;
    height: 30px;
  }

  .scroll-wrapper .breadcrumb {
    font-size: 2.0rem;
  }

  .scroll-wrapper .breadcrumb ul {
    margin-top: 148px;
    justify-content: left;
    margin-left: 48px;
  }

  .scroll-wrapper .breadcrumb ul li {
    display: flex;
    word-break: break-all;
  }

  .scroll-wrapper .breadcrumb ul li a {
    max-width: 23vw;
  }

  .scroll-wrapper .breadcrumb ul li.current {
    max-width: 23vw;
  }

  .scroll-wrapper .breadcrumb ul li:after {
    width: 24px;
    margin: 0 10px;
    top: 10px;
  }

  .others.lowerlayer {
    height: 200px;
  }

  .others.lowerlayer ul li {
    height: 200px;
  }

  .others.lowerlayer ul li a:after {
    width: 11px;
    height: 11px;
    right: 16%;
    top: 85px;
  }

@keyframes hover_line_service {
    0% {
      width: 70px;
      left: 0%;
    }

    33% {
      width: 84%;
      left: 0%;
    }

    66% {
      width: 0%;
      left: 84%;
    }

    66.01% {
      width: 0%;
      left: 0%;
    }

    100% {
      width: 70px;
    }
}

@keyframes hover_line_works {
    0% {
      width: 59px;
      left: 0%;
    }

    33% {
      width: 84%;
      left: 0%;
    }

    66% {
      width: 0%;
      left: 84%;
    }

    66.01% {
      width: 0%;
      left: 0%;
    }

    100% {
      width: 59px;
    }
}

@keyframes hover_line_value {
    0% {
      width: 94px;
      left: 0%;
    }

    33% {
      width: 84%;
      left: 0%;
    }

    66% {
      width: 0%;
      left: 84%;
    }

    66.01% {
      width: 0%;
      left: 0%;
    }

    100% {
      width: 94px;
    }
}

  .others.lowerlayer ul li a .chunk {
    padding-left: 13%;
  }

  .others.lowerlayer ul li a .chunk h3 {
    font-size: 2.25rem;
    margin-top: 71px;
  }

  .others.lowerlayer ul li a .chunk h3:before {
    width: 84%;
    top: 54px;
  }

  .others.lowerlayer ul li a .chunk h3:after {
    height: 1.5px;
    top: 54px;
    width: 100px;
  }

  .others.lowerlayer ul li a .chunk h3.service:after {
    width: 70px;
  }

  .others.lowerlayer ul li a .chunk h3.works:after {
    width: 59px;
  }

  .others.lowerlayer ul li a .chunk h3.value:after {
    width: 94px;
  }

  .others.lowerlayer ul li a .chunk .sub_tit {
    font-size: 1.0rem;
    margin-top: 3px;
  }

  footer .child {
    height: 480px;
    padding-top: 63px;
    height: 556px;
    padding-top: 0px;
  }

  footer .child .message {
    font-size: 3.55rem;
    left: 10.2vw;
    line-height: 1.09;
    letter-spacing: -0.02em;
  }

  footer .child .contact {
    font-size: 3rem;
    left: 10vw;
    margin-top: 48px;
  }

  footer .child .contact a:before {
    top: 37px;
  }

  footer .child .contact a:after {
    width: 13px;
    height: 15px;
    margin-left: 11.1vw;
    margin-top: -4px;
    background-size: cover;
  }

  footer .child .logo {
    top: 390px;
    left: 8.5vw;
  }

  footer .child .logo .logo_motion {
    width: 125px;
  }

  footer .child .privacy_policy,
  footer .child .language {
    font-size: 1.3rem;
    left: 10.2vw;
  }

  footer .child .privacy_policy a:before,
  footer .child .language a:before {
    top: 16px;
  }

  footer .child .privacy_policy {
    top: 47px;
  }

  footer .child .privacy_policy a:before {
    width: 79px;
  }

  footer .child .language {
    top: 64px;
    display: block;
  }

  footer .child .language a:before {
    width: 56px;
  }

  footer .child .cp {
    font-size: 1rem;
    left: 10.3vw;
    top: 282px;
  }

  footer .child .btn_to_top {
    font-size: 1.0rem;
    right: 5.4vw;
    bottom: 41px;
    margin-bottom: 0px;
  }

@keyframes line_loop2 {
    0% {
      height: 40px;
      top: -24px;
    }

    50% {
      height: 0px;
      top: -64px;
    }

    50.1% {
      height: 0px;
      top: -24px;
    }

    100% {
      height: 40px;
      top: -24px;
    }
}

  footer .child .btn_to_top:before {
    height: 40px;
    left: 26px;
    top: -24px;
  }
}

@media screen and (max-width: 559px) {
  .underline:after {
    top: 17px;
  }

  .gdpr {
    bottom: 5px;
    width: 205px;
    right: 5px;
  }

  .gdpr .gdpr_child {
    width: 76%;
    font-size: 1.0rem;
    margin: 19px auto 0;
  }

  .gdpr .gdpr_child .info {
    margin-top: 8px;
  }

  .gdpr .gdpr_child .info a:before {
    top: 11px;
  }

  .gdpr .btn {
    width: 80%;
    margin-top: 16px;
    margin-bottom: 21px;
    height: 26px;
    font-size: 1.0rem;
    padding-top: 9px;
  }

  .preload .logo_motion {
    width: 110px;
  }

  .preload .percent {
    font-size: 1.0rem;
  }

  .preload .percent .per {
    font-size: 1.0rem;
  }

  header nav.header_nav .header_nav_child .lr .left .cp {
    display: none;
  }

  header .logo {
    margin-left: 25px;
    margin-top: 22px;
  }

  .scroll-wrapper .breadcrumb {
    font-size: 1.0rem;
  }

  .scroll-wrapper .breadcrumb ul {
    margin-top: 74px;
    margin-left: 24px;
  }

  .scroll-wrapper .breadcrumb ul li:after {
    width: 12px;
    margin: 0 5px;
    top: 5px;
  }
}
/*
z-index

.main_visual h1 104
.main_visual .btn 102
 */

main.top {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.top .main_visual {
  width: 100%;
  max-width: 1800px;
  height: 100%;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  transform-origin: bottom center;
  transition: transform 500ms;
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
  /*    .addresses{
      position: absolute;
      left: 62.7%;
      letter-spacing: 0.1em;
      top: 18.4vh;
      color: $BLUE;
      transform-origin: right bottom;
      transform: rotate(90deg);
      transition: opacity 300ms;
      transition-timing-function: $easeOutQuart;

      .address1{
        //font-size: 1.8rem;
        font-size: 1.2vw;
        font-weight:600;
      }
      .address2{
        //font-size: 1.2rem;
        font-size: 0.825vw;
        margin-top: 6px;
        line-height: 1.3;
      }
    }*/
}

main.top .main_visual.overlooking {
  /*
      .addresses{
        opacity: 0;
      }
      */
}

main.top .main_visual.overlooking .txt {
  opacity: 0;
}

main.top .main_visual.overlooking .slide_nav {
  opacity: 0;
}

main.top .main_visual.overlooking .btn {
  opacity: 0;
}

main.top .main_visual.overlooking .scroll {
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  color: rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 30px;
  display: block;
  padding: 21px 41px 21px 41px;
  font-size: 1.6rem;
  bottom: 65px;
  transition: color 100ms, border 100ms, background 100ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual.overlooking .scroll:hover {
  border: 1px solid rgba(0, 0, 0, 0.8);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  opacity: 1;
}

main.top .main_visual.overlooking .scroll .scroll_child:before {
  display: none;
}

main.top .main_visual.hide {
  transform: translate3d(0, -100vh, 0);
}

main.top .main_visual canvas {
  width: 100%;
  height: 100%;
}

main.top .main_visual h1 {
  position: absolute;
  font-size: 6.6vw;
  font-weight: 500;
  left: 57px;
  letter-spacing: -0.01em;
  line-height: 0.95;
  z-index: 104;
  pointer-events: none;
}

main.top .main_visual h1 span {
  transition: transform 300ms, opacity 300ms;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: rotateX(720deg);
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0;
}

main.top .main_visual h1 span.show {
  opacity: 1;
  transform: rotateX(0deg);
}

main.top .main_visual h2.copy {
  position: absolute;
  left: 60px;
  color: #000;
  font-size: 9.4vw;
  font-weight: 500;
  white-space: nowrap;
  line-height: 0.87;
  letter-spacing: -0.025em;
  pointer-events: none;
}

main.top .main_visual h2.copy div.act {
  position: absolute;
  top: 0;
  left: 0;
}

main.top .main_visual h2.copy div.act span {
  transition: transform 300ms, opacity 300ms;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: rotateX(720deg);
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0;
}

main.top .main_visual h2.copy div.act span.show {
  opacity: 1;
  transform: rotateX(0deg);
}

main.top .main_visual h2.copy div.act span.space {
  margin-left: 10px;
  margin-right: 10px;
}

main.top .main_visual h2.copy div.act span svg.txt_a {
  width: 37px;
  margin-left: 7px;
}

main.top .main_visual h2.copy div.act span svg.txt_c {
  width: 29px;
}

main.top .main_visual h2.copy div.act span svg.txt_t {
  width: 17px;
}

main.top .main_visual h2.copy div.act span svg.txt_0 {
  width: 29px;
  position: relative;
  top: 2px;
  margin-left: 22px;
}

main.top .main_visual h2.copy div.act span svg.txt_1 {
  width: 17px;
}

main.top .main_visual h2.copy div.act span svg.txt_2 {
  width: 29px;
  position: relative;
  top: 1px;
}

main.top .main_visual h2.copy div.act span svg.txt_3 {
  width: 29px;
  position: relative;
  top: 2px;
}

main.top .main_visual h2.copy div.act1 {
  opacity: 0;
}

main.top .main_visual h2.copy div.act2 {
  opacity: 0;
}

main.top .main_visual h2.copy div.act3 {
  opacity: 0;
}

main.top .main_visual .attention1,
main.top .main_visual .attention2 {
  font-size: 1.5rem;
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 600;
  display: none;
  opacity: 0;
  transition: opacity 300ms, transform 300ms;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translate3d(0, -30px, 0);
}

main.top .main_visual .attention1.add,
main.top .main_visual .attention2.add {
  display: block;
}

main.top .main_visual .attention1.show,
main.top .main_visual .attention2.show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

main.top .main_visual .attention1.hide,
main.top .main_visual .attention2.hide {
  opacity: 0;
}

@keyframes floating {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotateY(0);
  }

  50% {
    transform: translate3d(0, 10px, 0) rotateY(180deg);
  }
}

main.top .main_visual .attention1:after,
main.top .main_visual .attention2:after {
  content: "";
  position: absolute;
  top: 20px;
  left: 10px;
  background-image: url("/assets/img/top/attention_icon.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 14px;
  height: 14px;
  display: inline-block;
  animation: floating 1.1s infinite cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

main.top .main_visual .txt {
  color: #0022ff;
  position: absolute;
  left: 75%;
  font-size: 1.8rem;
  bottom: 235px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.01em;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual .replay_btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0) scale(0);
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.7);
  text-align: center;
  vertical-align: middle;
  padding-top: 25px;
  cursor: pointer;
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

main.top .main_visual .replay_btn:hover svg {
  transform: rotate(360deg);
}

main.top .main_visual .replay_btn.show {
  transform: translate3d(-50%, -50%, 0) scale(1);
}

main.top .main_visual .replay_btn svg {
  transform: rotate(0deg);
  transition: transform 300ms;
  transform-origin: 17px 21px;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual .slide_nav {
  background-color: #f45c00;
  display: inline-block;
  position: absolute;
  bottom: 3px;
  color: #ffffff;
  height: 304px;
  right: 0px;
  padding-top: 47px;
  padding-left: 57px;
  width: 120px;
  font-size: 1.3rem;
  mix-blend-mode: multiply;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual .slide_nav ul li {
  margin-bottom: 27px;
}

main.top .main_visual .slide_nav .current {
  position: absolute;
  top: 49px;
  left: 53px;
}

main.top .main_visual .slide_nav .current.current1 {
  top: 49px;
}

main.top .main_visual .slide_nav .current.current2 {
  top: 89px;
}

main.top .main_visual .slide_nav .current.current3 {
  top: 129px;
}

main.top .main_visual .slide_nav .current.current4 {
  top: 169px;
}

main.top .main_visual .slide_nav .bar {
  position: absolute;
  top: 54px;
  left: 59px;
  height: 124px;
  background-color: #fff;
  width: 1px;
  display: inline-block;
  transform-origin: left top;
  transform: scale3d(1, 0, 1);
}

main.top .main_visual .slide_nav .next_btn {
  position: absolute;
  top: 231px;
  left: 47px;
  cursor: pointer;
  transform: rotate(90deg);
}

main.top .main_visual .slide_nav .next_btn:hover {
  opacity: .6;
}

main.top .main_visual .btn {
  font-size: 1.6rem;
  font-weight: 500;
  display: inline-block;
  position: absolute;
  bottom: 66px;
  left: 55px;
  letter-spacing: 0;
  z-index: 102;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual .btn a {
  color: rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.3);
  padding: 21px 28px 21px 32px;
  display: block;
  border-radius: 30px;
  transition: color 100ms, border 100ms, background 100ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual .btn a:hover {
  border: 1px solid rgba(0, 0, 0, 0.8);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
}

main.top .main_visual .btn a:hover:after {
  animation: arrow8 .5s;
  background-image: url("/assets/img/common/arrow_right_white.png");
}

main.top .main_visual .btn a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_gray.png");
  display: inline-block;
  width: 9px;
  height: 10px;
  margin-left: 61px;
  margin-right: 0px;
  background-size: contain;
  opacity: .8;
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual .scroll {
  position: absolute;
  bottom: 65px;
  left: 75%;
  letter-spacing: 0em;
  font-size: 1.3rem;
  font-weight: 500;
  cursor: pointer;
}

main.top .main_visual .scroll:hover {
  opacity: .6;
}

main.top .main_visual .scroll:hover .scroll_child:before {
  animation: arrow4_h .5s;
}

main.top .main_visual .scroll .scroll_child:before {
  content: "";
  background-image: url("/assets/img/top/arrow_down.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  width: 9px;
  height: 6px;
  position: relative;
  top: 0px;
  margin-right: 9px;
}

main.top > section {
  position: relative;
  transform: translate3d(0, 400px, 0);
  transition: transform 1700ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top > section.show {
  transform: translate3d(0, 0, 0);
}

main.top > section .child {
  position: relative;
}

main.top > section .child .img {
  position: absolute;
}

@keyframes mask_anim_t {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
  }

  50% {
    -webkit-transform: translate3d(0%, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(100%, 0, 0);
  }
}

@keyframes img_anim {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  51% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

main.top > section .child .img.show_mask .masks .red_mask {
  transform: translate3d(-101%, 0, 0);
  animation: mask_anim_t 0.7s;
}

main.top > section .child .img.show_mask .masks .blue_mask {
  transform: translate3d(-101%, 0, 0);
  animation: mask_anim_t 0.5s;
  animation-delay: .2s;
}

main.top > section .child .img.show_mask img {
  opacity: 1;
  animation: img_anim 0.8s;
}

main.top > section .child .img.transit_mask .masks .red_mask {
  transform: translate3d(-101%, 0, 0);
  animation: mask_anim_t 0.7s;
}

main.top > section .child .img.transit_mask .masks .blue_mask {
  transform: translate3d(-101%, 0, 0);
  animation: mask_anim_t 0.5s;
  animation-delay: .2s;
}

main.top > section .child .img .masks {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  pointer-events: none;
}

main.top > section .child .img .masks .common_mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(-101%, 0, 0);
  animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

main.top > section .child .img .masks .red_mask {
  background-color: #ff7000;
}

main.top > section .child .img .masks .blue_mask {
  background-color: BLUE;
}

main.top > section .child .img img {
  opacity: 0;
}

main.top > section .child h2 {
  font-size: 6.785vw;
  font-weight: 500;
  letter-spacing: -3.2px;
  color: #0022ff;
  position: absolute;
}

main.top > section .child .cont {
  position: relative;
  background-color: #fff;
}

main.top > section .child .cont .chunk h3 {
  font-weight: 400;
  white-space: nowrap;
}

main.top > section .child .cont .chunk h3 span:first-child {
  font-size: 2.0rem;
  color: #ff7000;
}

main.top > section .child .cont .chunk h3 span:first-child:after {
  content: "";
  height: 1px;
  width: 39px;
  background-color: #c4c4c4;
  display: inline-block;
  position: relative;
  top: -4px;
  margin-left: 13px;
  margin-right: 13px;
}

main.top > section .child .cont .chunk h3 span:nth-child(2) {
  font-size: 1.6rem;
}

main.top > section .child .cont .chunk .txt {
  color: #6c6c6c;
  font-size: 1.4rem;
  margin-top: 31px;
  line-height: 2;
}

main.top > section .child .cont .chunk .btn {
  font-size: 1.6rem;
  font-weight: 500;
  display: inline-block;
  margin-top: 54px;
}

main.top > section .child .cont .chunk .btn a {
  padding-bottom: 22px;
  padding-left: 2px;
  display: block;
  color: #666666;
  position: relative;
}

main.top > section .child .cont .chunk .btn a:hover:before {
  animation: line .6s;
}

main.top > section .child .cont .chunk .btn a:hover:after {
  animation: arrow8 .4s;
}

main.top > section .child .cont .chunk .btn a:before {
  content: "";
  position: absolute;
  left: 0;
  height: 3px;
  width: 100%;
  background-color: #c4c4c4;
  display: inline-block;
  transform-origin: right top;
  pointer-events: none;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  top: 38px;
}

main.top > section .child .cont .chunk .btn a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_gray.png");
  display: inline-block;
  width: 9px;
  height: 10px;
  vertical-align: middle;
  margin-left: 45px;
  margin-right: 5px;
  background-size: contain;
  animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .section1 {
  margin-top: 150px;
}

main.top .section1 .child {
  left: 25%;
}

main.top .section1 .child .img {
  left: -25%;
  top: 161px;
  width: 50%;
  height: 440px;
  overflow: hidden;
}

main.top .section1 .child .img img {
  left: 50%;
  top: 50%;
  position: relative;
  transform: translate3d(-50%, -50%, 0) scale(1.25);
}

main.top .section1 .child h2 {
  top: 128px;
  margin-left: 14.2%;
}

main.top .section1 .child .cont {
  height: 700px;
}

main.top .section1 .child .cont .chunk {
  padding-top: 257px;
  margin-left: 33.3%;
  width: 34%;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
}

main.top .section1 .child .cont .chunk h3 {
  margin-top: 50px;
}

main.top .section1 .child .box {
  top: 684px;
  left: 33.4%;
  height: 41px;
  width: 33.2%;
}

main.top .section1 .child .box .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 20.5px);
}

main.top .section1 .child .box .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 20.5px);
}

main.top .section1 .child .box .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 20.5px);
}

main.top .section1 .child .box .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 20.5px);
}

main.top .section2 {
  margin-top: 205px;
}

main.top .section2 .child {
  left: 15.9%;
  height: 803px;
}

main.top .section2 .child .img {
  left: 34%;
  top: 53px;
  width: 490px;
  height: 650px;
  overflow: hidden;
}

main.top .section2 .child .img img {
  height: 100%;
  left: 50%;
  top: 50%;
  position: relative;
  transform: translate3d(-50%, -50%, 0) scale(1.25);
}

main.top .section2 .child h2 {
  top: 0px;
  left: 11.6%;
}

main.top .section2 .child .cont {
  top: 373px;
  height: 430px;
  width: 39.6%;
}

main.top .section2 .child .cont .chunk {
  padding-top: 82px;
  width: 60%;
  margin-left: 14.3%;
  position: relative;
  z-index: 1;
}

main.top .section2 .child .cont .chunk .btn {
  margin-top: 63px;
}

main.top .section2 .child .box {
  top: 3px;
  left: -2.8%;
  height: 198px;
  width: 20px;
}

main.top .section2 .child .box .box1 {
  transform: rotateY(90deg) translate3d(0, 0, 10px);
}

main.top .section2 .child .box .box2 {
  transform: rotateY(0deg) translate3d(0, 0, 10px);
}

main.top .section2 .child .box .box3 {
  transform: rotateY(-90deg) translate3d(0, 0, 10px);
}

main.top .section2 .child .box .box4 {
  transform: rotateY(180deg) translate3d(0, 0, 10px);
}

main.top .section2 .child .box_second {
  top: 643px;
  left: 53.7%;
  height: 98px;
  width: 17%;
}

main.top .section2 .child .box_second .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 49px);
}

main.top .section2 .child .box_second .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 49px);
}

main.top .section2 .child .box_second .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 49px);
}

main.top .section2 .child .box_second .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 49px);
}

main.top .section3 {
  background-color: #e4e4dc;
  margin-top: 240px;
}

main.top .section3 .child {
  height: 1003px;
}

main.top .section3 .child .img {
  top: 120px;
  left: 8.3%;
  width: 60.4%;
  height: 522px;
  overflow: hidden;
}

main.top .section3 .child .img a {
  left: 50%;
  top: 50%;
  position: absolute;
  transform: translate3d(-50%, -50%, 0);
  height: 100%;
}

main.top .section3 .child .img a:hover img {
  transform: scale(1.07);
  filter: brightness(0.8);
}

main.top .section3 .child .img a img {
  transition: transform 500ms, filter 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .section3 .child .num {
  font-size: 6.0rem;
  color: #ff7000;
  font-weight: 600;
  position: absolute;
  left: 10.2%;
  top: 613px;
  mix-blend-mode: multiply;
  z-index: 10;
}

main.top .section3 .child h2 {
  left: 8%;
  top: -40px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

main.top .section3 .child .cont {
  top: 120px;
  left: 68.7%;
  height: 522px;
  width: 31.3%;
  position: relative;
  opacity: 0;
  transform: translate3d(0, 80px, 0);
  transition: opacity 500ms, transform 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .section3 .child .cont.show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: .4s;
}

main.top .section3 .child .cont .chunk {
  top: 0;
}

main.top .section3 .child .cont .chunk .items .items_head {
  width: 100%;
  padding-top: 51px;
  text-align: center;
  padding-bottom: 50px;
  border-bottom: 1px solid #e4e4dc;
  display: inline-block;
}

main.top .section3 .child .cont .chunk .items .items_head h3 {
  margin-left: -20px;
}

main.top .section3 .child .cont .chunk .items .item_body {
  position: relative;
  left: 50%;
  max-width: 80%;
  display: none;
  transition: transform 1000ms, opacity 1200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(-50%, 80px, 0);
  opacity: 0;
}

main.top .section3 .child .cont .chunk .items .item_body.show {
  display: inline-block;
}

main.top .section3 .child .cont .chunk .items .item_body.motion {
  transform: translate3d(-50%, 0, 0);
  opacity: 1;
}

main.top .section3 .child .cont .chunk .items .item_body .txt {
  font-size: 2.4rem;
  letter-spacing: 0em;
  margin-top: 90px;
  line-height: 1.7;
}

main.top .section3 .child .cont .chunk .items .item_body .txt:hover {
  opacity: .5;
}

main.top .section3 .child .cont .chunk .items .item_body .date {
  font-size: 1.4rem;
  margin-top: 30px;
  letter-spacing: 0.05em;
}

main.top .section3 .child .slide_nav {
  height: 80px;
  width: 57.7%;
  top: 120px;
  left: 42.4%;
  position: relative;
  display: flex;
  opacity: 0;
  transform: translate3d(0, 80px, 0);
  transition: opacity 500ms, transform 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .section3 .child .slide_nav.show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: .6s;
}

main.top .section3 .child .slide_nav .left {
  background-color: #fff;
  width: 45.7%;
  font-size: 1.3rem;
  font-weight: 500;
  display: flex;
}

main.top .section3 .child .slide_nav .left .slide {
  width: 60.7%;
  padding-top: 36px;
  border-right: 2px solid #e4e4dc;
}

main.top .section3 .child .slide_nav .left .slide .first {
  margin-left: 17%;
}

main.top .section3 .child .slide_nav .left .slide .bars {
  position: relative;
  margin-left: 4%;
  display: inline-block;
  width: 43%;
}

main.top .section3 .child .slide_nav .left .slide .bars .bar_base {
  position: relative;
  height: 1px;
  width: 100%;
  background-color: #000;
  display: inline-block;
  opacity: .2;
  top: -5px;
}

main.top .section3 .child .slide_nav .left .slide .bars .bar {
  position: absolute;
  top: 5px;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: #000;
  display: inline-block;
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .section3 .child .slide_nav .left .slide .last {
  margin-left: 6%;
  margin-right: 0%;
  opacity: .6;
}

main.top .section3 .child .slide_nav .left .prev,
main.top .section3 .child .slide_nav .left .next {
  cursor: pointer;
  width: 19.7%;
  text-align: center;
  padding-top: 34px;
  transition: background 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .section3 .child .slide_nav .left .prev:hover,
main.top .section3 .child .slide_nav .left .next:hover {
  background-color: #525251;
  color: #fff;
}

main.top .section3 .child .slide_nav .left .prev:before,
main.top .section3 .child .slide_nav .left .next:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

main.top .section3 .child .slide_nav .left .prev {
  border-right: 2px solid #e4e4dc;
}

main.top .section3 .child .slide_nav .left .prev:hover:before {
  background-image: url("/assets/img/common/arrow_prev_white.png");
}

main.top .section3 .child .slide_nav .left .prev:before {
  background-image: url("/assets/img/common/arrow_prev_black.png");
}

main.top .section3 .child .slide_nav .left .next:hover:before {
  background-image: url("/assets/img/common/arrow_next_white.png");
}

main.top .section3 .child .slide_nav .left .next:before {
  background-image: url("/assets/img/common/arrow_next_black.png");
}

main.top .section3 .child .slide_nav .right {
  width: 54.3%;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
}

main.top .section3 .child .slide_nav .right .all_works {
  display: block;
  letter-spacing: 0em;
  position: relative;
}

main.top .section3 .child .slide_nav .right .all_works a {
  color: #fff;
  padding-top: 34px;
  padding-bottom: 30px;
  padding-left: 9%;
  display: block;
  transition: background 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .section3 .child .slide_nav .right .all_works a:hover {
  background-color: #525251;
}

main.top .section3 .child .slide_nav .right .all_works a:hover:after {
  animation: arrow8 .6s;
}

main.top .section3 .child .slide_nav .right .all_works a:after {
  content: "";
  position: absolute;
  background-image: url("/assets/img/common/arrow_right_white.png");
  display: inline-block;
  width: 9px;
  height: 10px;
  vertical-align: middle;
  right: 8.9%;
  top: 36px;
  background-size: contain;
  animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .others {
  position: relative;
  background-color: #bbb8b5;
  height: 420px;
  margin-top: 0px;
  font-weight: 400;
}

main.top .others ul {
  display: flex;
  position: relative;
  width: 91.6%;
  left: 8.4%;
  top: -80px;
}

main.top .others ul li {
  width: 50%;
  height: 300px;
  position: relative;
  overflow: hidden;
  background-color: #000;
}

main.top .others ul li a {
  color: #fff;
}

main.top .others ul li a:hover img {
  opacity: .7;
  transform: translate3d(-50%, -50%, 0) scale(1.09);
}

main.top .others ul li a:hover .chunk h3.news:after {
  animation: hover_line_news_pc 0.8s;
}

@keyframes hover_line_news_pc {
  0% {
    width: 93px;
    left: 0%;
  }

  33% {
    width: 88.4%;
    left: 0%;
  }

  66% {
    width: 0%;
    left: 88.4%;
  }

  66.01% {
    width: 0%;
    left: 0%;
  }

  100% {
    width: 93px;
  }
}

main.top .others ul li a:hover .chunk h3.recruit:after {
  animation: hover_line_recruit 0.8s;
}

@keyframes hover_line_recruit {
  0% {
    width: 123px;
    left: 0%;
  }

  33% {
    width: 88.4%;
    left: 0%;
  }

  66% {
    width: 0%;
    left: 88.4%;
  }

  66.01% {
    width: 0%;
    left: 0%;
  }

  100% {
    width: 123px;
  }
}

main.top .others ul li a:hover .chunk .lr .btn:after {
  animation: arrow8 .5s;
}

main.top .others ul li a img {
  left: 50%;
  top: 50%;
  position: relative;
  transform: translate3d(-50%, -50%, 0);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main.top .others ul li a .chunk {
  pointer-events: none;
  position: absolute;
  top: 0;
  padding-left: 9.9%;
  width: 100%;
}

main.top .others ul li a .chunk h3 {
  font-size: 4.0rem;
  font-weight: 100;
  margin-top: 93px;
  position: relative;
  letter-spacing: 0;
}

main.top .others ul li a .chunk h3:before {
  content: "";
  position: absolute;
  height: 1px;
  width: 88.4%;
  background-color: #f4f4ee;
  opacity: .5;
  display: inline-block;
  left: 0;
  top: 58px;
}

main.top .others ul li a .chunk h3:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 93px;
  background-color: #f4f4ee;
  display: inline-block;
  left: 0;
  top: 58px;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

main.top .others ul li a .chunk h3.recruit:after {
  width: 123px;
}

main.top .others ul li a .chunk .lr {
  display: flex;
  margin-top: 48px;
}

main.top .others ul li a .chunk .lr .sub_tit {
  font-size: 1.6rem;
}

main.top .others ul li a .chunk .lr .btn {
  font-size: 1.6rem;
  position: absolute;
  right: 10.7%;
}

main.top .others ul li a .chunk .lr .btn:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_white.png");
  display: inline-block;
  width: 9px;
  height: 10px;
  margin-left: 31.7px;
  background-size: contain;
}

@media screen and (min-width: 1800px) {
  main.top .main_visual {
    /*      .addresses{
        .address1{
          font-size: 2.16rem;
        }
        .address2{
          font-size: 1.485rem;
        }
      }*/
  }

  main.top .main_visual h1 {
    font-size: 13.0rem;
  }

  main.top > section .child h2 {
    font-size: 12.2rem;
  }
}

@media screen and (max-width: 1200px) and (min-width: 1024px) {
  main.top .main_visual .txt {
    font-size: 1.3rem;
    bottom: 257px;
  }
}

@media screen and (max-width: 1023px) {
  main.top .main_visual {
    /*      .addresses{
        display: none;
      }*/
  }

  main.top .main_visual.overlooking .scroll {
    font-size: 2.6rem;
    border-radius: 36px;
  }

  main.top .main_visual h1 {
    font-size: 11.7vw;
    left: 0;
    line-height: 0.95;
    letter-spacing: -0.011em;
    white-space: nowrap;
  }

  main.top .main_visual h2.copy {
    bottom: 53vh;
    left: 50px;
    font-size: 18.5vw;
    line-height: 0.95;
  }

  main.top .main_visual .txt {
    top: 78.7%;
    font-size: 1.3rem;
    right: 59px;
    left: inherit;
  }

  main.top .main_visual .slide_nav {
    height: 54px;
    padding-top: 20px;
    padding-left: 29.5px;
    width: 175px;
    font-size: 1.0rem;
  }

  main.top .main_visual .slide_nav ul {
    display: flex;
  }

  main.top .main_visual .slide_nav ul li {
    margin-bottom: 0;
    margin-right: 19.5px;
    transform: scale(0.9);
  }

  main.top .main_visual .slide_nav .current {
    transform: scale(0.65385);
    top: 18.5px;
    left: 26px;
  }

  main.top .main_visual .slide_nav .current.current1 {
    top: 18.5px;
    left: 26px;
  }

  main.top .main_visual .slide_nav .current.current2 {
    top: 18.5px;
    left: 50px;
  }

  main.top .main_visual .slide_nav .current.current3 {
    top: 18.5px;
    left: 75px;
  }

  main.top .main_visual .slide_nav .current.current4 {
    top: 18.5px;
    left: 99px;
  }

  main.top .main_visual .slide_nav .bar {
    top: 25px;
    left: 32px;
    transform: scale3d(0, 1, 1);
    width: 73px;
    height: 1px;
  }

  main.top .main_visual .slide_nav .next_btn {
    top: 22px;
    left: 129px;
    transform: scale(1);
  }

  main.top .main_visual .btn {
    font-size: 2.6rem;
    left: 40px;
    top: 79.2%;
  }

  main.top .main_visual .btn a {
    border-radius: 60px;
    padding: 21px 35px 21px 37px;
  }

  main.top .main_visual .btn a:after {
    width: 14px;
    height: 16px;
    margin-left: 60px;
  }

  main.top .main_visual .scroll {
    left: 50px;
    font-size: 2.0rem;
    bottom: 52px;
  }

  main.top .main_visual .scroll .scroll_child:before {
    margin-right: 10px;
    width: 15px;
    height: 10px;
  }

  main.top > section .child h2 {
    font-size: 13.15vw;
    letter-spacing: -2.2px;
  }

  main.top > section .child .cont .chunk h3 span:first-child {
    font-size: 3.0rem;
  }

  main.top > section .child .cont .chunk h3 span:first-child:after {
    top: -8px;
    width: 6.6vw;
    margin-left: 1.8vw;
    margin-right: 1.6vw;
  }

  main.top > section .child .cont .chunk h3 span:nth-child(2) {
    font-size: 2.4rem;
  }

  main.top > section .child .cont .chunk .btn {
    font-size: 2.6rem;
    margin-top: 45px;
  }

  main.top > section .child .cont .chunk .btn a {
    padding-bottom: 14px;
  }

  main.top > section .child .cont .chunk .btn a:before {
    top: 52px;
    height: 2px;
  }

  main.top > section .child .cont .chunk .btn a:after {
    width: 14px;
    height: 15.4444px;
    margin-left: 8.1vw;
    margin-right: 0vw;
    top: -2px;
    position: relative;
  }

  main.top > section .child .cont .chunk .btn .txt {
    font-size: 1.1rem;
    line-height: 2.2;
  }

  main.top .section1 {
    margin-top: 167px;
  }

  main.top .section1 .child {
    left: 12.8vw;
  }

  main.top .section1 .child .img {
    left: -12.8vw;
    top: 162px;
    width: 76.5vw;
    height: 367px;
  }

  main.top .section1 .child h2 {
    top: 122px;
    margin-left: -7vw;
  }

  main.top .section1 .child .cont {
    height: 1029px;
  }

  main.top .section1 .child .cont .chunk {
    width: 70vw;
    margin-left: 9vw;
    padding-top: 551px;
  }

  main.top .section1 .child .cont .chunk h3 {
    margin-top: 43px;
  }

  main.top .section1 .child .cont .chunk .txt {
    font-size: 2.2rem;
    margin-top: 34px;
    line-height: 1.95;
  }

  main.top .section1 .child .box {
    height: 26px;
    width: 39vw;
    top: 1048px;
    left: 39.6vw;
  }

  main.top .section1 .child .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 13px);
  }

  main.top .section1 .child .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 13px);
  }

  main.top .section1 .child .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 13px);
  }

  main.top .section2 {
    margin-top: 200px;
  }

  main.top .section2 .child {
    left: 0;
    height: 999px;
  }

  main.top .section2 .child:before {
    height: 110px;
    width: 5vw;
    top: 40px;
    left: -2.5vw;
  }

  main.top .section2 .child:after {
    height: 41px;
    width: 26.1vw;
    top: -48px;
    left: 70vw;
  }

  main.top .section2 .child .cont {
    top: 412px;
    height: 580px;
    width: 85vw;
  }

  main.top .section2 .child .cont .chunk {
    padding-top: 142px;
    width: 68vw;
    margin-left: 9.2vw;
  }

  main.top .section2 .child .cont .chunk .txt {
    font-size: 2.2rem;
    margin-top: 38px;
    line-height: 1.95;
  }

  main.top .section2 .child .cont .chunk .btn {
    margin-top: 47px;
  }

  main.top .section2 .child .box {
    top: 41px;
    height: 109px;
    left: 0;
  }

  main.top .section2 .child .box_second {
    top: 1051px;
    left: 71.2%;
    height: 40px;
    width: 26.2%;
  }

  main.top .section2 .child .box_second .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 20px);
  }

  main.top .section2 .child .box_second .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 20px);
  }

  main.top .section2 .child .box_second .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 20px);
  }

  main.top .section2 .child .img {
    left: 49.6vw;
    width: 51.8vw;
    top: 0px;
    height: 530px;
  }

  main.top .section2 .child h2 {
    top: 80px;
    left: 8.7vw;
    line-height: 0.95;
    letter-spacing: -1.4px;
  }

  main.top .section3 {
    margin-top: 194px;
  }

  main.top .section3 .child {
    height: 1370px;
  }

  main.top .section3 .child .cont {
    top: 100px;
    left: 13vw;
    height: 990px;
    width: auto;
  }

  main.top .section3 .child .cont:before {
    padding-top: 120%;
  }

  main.top .section3 .child .cont .chunk .items .items_head {
    padding-left: 10.3%;
    border-bottom-width: 0px;
    text-align: left;
    padding-top: 100px;
  }

  main.top .section3 .child .cont .chunk .items .items_head h3 {
    margin-left: 0;
  }

  main.top .section3 .child .cont .chunk .items .item_body {
    top: 341px;
    margin-left: 10vw;
    width: 69vw;
    transform: translate3d(0, 100px, 0);
    left: 0;
    max-width: auto;
  }

  main.top .section3 .child .cont .chunk .items .item_body.motion {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  main.top .section3 .child .cont .chunk .items .item_body .txt {
    font-size: 3.2rem;
    margin-top: 144px;
  }

  main.top .section3 .child .cont .chunk .items .item_body .date {
    font-size: 2.0rem;
    margin-top: 15px;
    margin-left: 2px;
  }

  main.top .section3 .child h2 {
    font-size: 13.085vw;
    line-height: 0.9;
    letter-spacing: -1.1px;
    left: 6.1%;
    top: -36.8px;
  }

  main.top .section3 .child .img {
    top: 279px;
    left: -3vw;
    width: 94.7vw;
    height: 420px;
  }

  main.top .section3 .child .num {
    top: 666px;
    font-size: 6.0rem;
    left: 22.7vw;
  }

  main.top .section3 .child .slide_nav {
    width: 87vw;
    left: 13vw;
    top: 0px;
    height: 100px;
  }

  main.top .section3 .child .slide_nav .left {
    width: 28.7%;
  }

  main.top .section3 .child .slide_nav .left .slide {
    display: none;
  }

  main.top .section3 .child .slide_nav .left .prev {
    border-width: 1px;
  }

  main.top .section3 .child .slide_nav .left .prev,
  main.top .section3 .child .slide_nav .left .next {
    padding-top: 39px;
    width: 50%;
    border-top: 1px solid #e4e4dc;
  }

  main.top .section3 .child .slide_nav .left .prev:before,
  main.top .section3 .child .slide_nav .left .next:before {
    width: 18px;
    height: 20px;
  }

  main.top .section3 .child .slide_nav .right {
    font-size: 2.6rem;
    width: 71.3%;
  }

  main.top .section3 .child .slide_nav .right .all_works a {
    color: #fff;
    padding-top: 38px;
    padding-bottom: 36px;
    padding-left: 10%;
  }

  main.top .section3 .child .slide_nav .right .all_works a:after {
    width: 14px;
    height: 16px;
    top: 42px;
    right: 11.9%;
  }

  main.top .others {
    height: 760px;
  }

  main.top .others ul {
    display: block;
    top: -80px;
    left: 13vw;
    width: 87vw;
  }

  main.top .others ul li {
    width: 100%;
    height: 320px;
    position: relative;
    overflow: hidden;
  }

  main.top .others ul li:nth-child(2) {
    margin-top: 10px;
  }

  main.top .others ul li a:hover .chunk h3.news:after {
    animation: hover_line_news_tb 0.8s;
  }

@keyframes hover_line_news_tb {
    0% {
      width: 114px;
      left: 0%;
    }

    33% {
      width: 67vw;
      left: 0%;
    }

    66% {
      width: 0%;
      left: 67vw;
    }

    66.01% {
      width: 0%;
      left: 0%;
    }

    100% {
      width: 114px;
    }
}

@keyframes hover_line_recruit {
    0% {
      width: 148px;
      left: 0%;
    }

    33% {
      width: 67vw;
      left: 0%;
    }

    66% {
      width: 0%;
      left: 67vw;
    }

    66.01% {
      width: 0%;
      left: 0%;
    }

    100% {
      width: 148px;
    }
}

  main.top .others ul li a .chunk {
    padding-left: 8.8vw;
  }

  main.top .others ul li a .chunk h3 {
    margin-top: 94px;
    font-size: 5rem;
  }

  main.top .others ul li a .chunk h3:before {
    top: 66px;
    width: 67vw;
  }

  main.top .others ul li a .chunk h3:after {
    top: 66px;
    width: 114px;
  }

  main.top .others ul li a .chunk h3.recruit:after {
    width: 148px;
  }

  main.top .others ul li a .chunk .lr {
    margin-top: 47px;
  }

  main.top .others ul li a .chunk .lr .sub_tit {
    font-size: 2.6rem;
  }

  main.top .others ul li a .chunk .lr .btn {
    font-size: 2.6rem;
    right: 11.5vw;
    font-weight: 600;
  }

  main.top .others ul li a .chunk .lr .btn:after {
    margin-left: 2.4vw;
    width: 14px;
    height: 17px;
  }
}

@media screen and (max-width: 559px) {
  main.top .main_visual.overlooking .scroll {
    font-size: 1.3rem;
    padding: 10px 21px;
  }

  main.top .main_visual h2.copy {
    left: 25px;
  }

  main.top .main_visual h2.copy div.act span.svg {
    position: relative;
    top: 18px;
  }

  main.top .main_visual h2.copy div.act span.svg:first-of-type {
    top: 17px;
  }

  main.top .main_visual h2.copy div.act span.svg:nth-of-type(2) {
    top: 15px;
  }

  main.top .main_visual h2.copy div.act span svg.txt_a {
    width: 18.5px;
    margin-left: 3.5px;
  }

  main.top .main_visual h2.copy div.act span svg.txt_c {
    width: 14.5px;
  }

  main.top .main_visual h2.copy div.act span svg.txt_t {
    width: 8px;
  }

  main.top .main_visual h2.copy div.act span svg.txt_0 {
    width: 14.5px;
    top: 1px;
    margin-left: 11px;
  }

  main.top .main_visual h2.copy div.act span svg.txt_1 {
    width: 8px;
  }

  main.top .main_visual h2.copy div.act span svg.txt_2 {
    width: 14px;
    top: 0.5px;
  }

  main.top .main_visual h2.copy div.act span svg.txt_3 {
    width: 14.5px;
    top: 0px;
  }

  main.top .main_visual .btn {
    font-size: 1.3rem;
    left: 22.25px;
  }

  main.top .main_visual .btn a {
    border-radius: 30px;
    padding: 10px 15px 10px 17px;
  }

  main.top .main_visual .btn a:after {
    width: 7px;
    height: 8px;
    margin-left: 30px;
  }

  main.top .main_visual .scroll {
    left: 25px;
    font-size: 1.0rem;
    bottom: 30px;
  }

  main.top .main_visual .scroll .scroll_child:before {
    margin-right: 4px;
    width: 9px;
    height: 6px;
  }

  main.top > section .child .cont .chunk h3 span:first-child {
    font-size: 1.5rem;
  }

  main.top > section .child .cont .chunk h3 span:first-child:after {
    top: -3px;
  }

  main.top > section .child .cont .chunk h3 span:nth-child(2) {
    font-size: 1.2rem;
  }

  main.top > section .child .cont .chunk h3 .txt {
    font-size: 1.1rem;
    margin-top: 17px;
  }

  main.top > section .child .cont .chunk .btn {
    font-size: 1.3rem;
    margin-top: 21px;
  }

  main.top > section .child .cont .chunk .btn a:before {
    top: 27px;
    height: 1px;
  }

  main.top > section .child .cont .chunk .btn a:after {
    width: 7px;
    height: 7.77777px;
    margin-left: 7.8vw;
    margin-right: 0vw;
    top: -2px;
  }

  main.top .section1 {
    margin-top: 75px;
  }

  main.top .section1 .child .img {
    top: 81px;
    height: 183.5px;
  }

  main.top .section1 .child h2 {
    top: 65px;
  }

  main.top .section1 .child .cont {
    height: 521px;
  }

  main.top .section1 .child .cont .chunk {
    padding-top: 257px;
  }

  main.top .section1 .child .cont .chunk h3 {
    margin-top: 45px;
  }

  main.top .section1 .child .cont .chunk h3 span:first-child {
    font-size: 1.5rem;
  }

  main.top .section1 .child .cont .chunk h3 span:first-child:after {
    top: -1px;
  }

  main.top .section1 .child .cont .chunk h3 span:nth-child(2) {
    font-size: 1.2rem;
  }

  main.top .section1 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 17px;
  }

  main.top .section1 .child .box {
    top: 484px;
    height: 26px;
  }

  main.top .section2 {
    margin-top: 100px;
  }

  main.top .section2 .child {
    height: 498px;
  }

  main.top .section2 .child .img {
    height: 265px;
  }

  main.top .section2 .child h2 {
    top: 43px;
  }

  main.top .section2 .child .cont {
    top: 204px;
    height: 290px;
  }

  main.top .section2 .child .cont .chunk {
    padding-top: 72px;
  }

  main.top .section2 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 16px;
  }

  main.top .section2 .child .cont .chunk .btn {
    margin-top: 25px;
  }

  main.top .section2 .child .box {
    left: -2.8%;
  }

  main.top .section2 .child .box_second {
    top: 466px;
    left: 72.2%;
  }

  main.top .section3 {
    margin-top: 96px;
  }

  main.top .section3 .child {
    height: 685px;
  }

  main.top .section3 .child .cont {
    height: 495px;
    top: 50px;
  }

  main.top .section3 .child .cont .chunk .items .items_head {
    padding-top: 50px;
  }

  main.top .section3 .child .cont .chunk .items .item_body {
    top: 131px;
    transform: translate3d(0, 40px, 0);
  }

  main.top .section3 .child .cont .chunk .items .item_body .txt {
    font-size: 1.6rem;
    margin-top: 87px;
  }

  main.top .section3 .child .cont .chunk .items .item_body .date {
    font-size: 1.0rem;
    margin-top: 7px;
    margin-left: 0px;
  }

  main.top .section3 .child .img {
    top: 139px;
    height: 210px;
  }

  main.top .section3 .child h2 {
    top: -17px;
  }

  main.top .section3 .child .num {
    top: 333px;
    font-size: 3.0rem;
  }

  main.top .section3 .child .slide_nav {
    height: 50px;
  }

  main.top .section3 .child .slide_nav .left .prev,
  main.top .section3 .child .slide_nav .left .next {
    padding-top: 17px;
  }

  main.top .section3 .child .slide_nav .left .prev:before,
  main.top .section3 .child .slide_nav .left .next:before {
    width: 9px;
    height: 10px;
  }

  main.top .section3 .child .slide_nav .right {
    font-size: 1.3rem;
  }

  main.top .section3 .child .slide_nav .right .all_works a {
    padding-top: 19px;
    padding-bottom: 18px;
  }

  main.top .section3 .child .slide_nav .right .all_works a:after {
    width: 7px;
    height: 8px;
    top: 21px;
  }

  main.top .others {
    height: 380px;
  }

  main.top .others ul {
    top: -40px;
  }

  main.top .others ul li {
    height: 160px;
  }

  main.top .others ul li a:hover .chunk h3.news:after {
    animation: hover_line_news_sp 0.8s;
  }

@keyframes hover_line_news_sp {
    0% {
      width: 60px;
      left: 0%;
    }

    33% {
      width: 67vw;
      left: 0%;
    }

    66% {
      width: 0%;
      left: 67vw;
    }

    66.01% {
      width: 0%;
      left: 0%;
    }

    100% {
      width: 60px;
    }
}

@keyframes hover_line_recruit {
    0% {
      width: 78px;
      left: 0%;
    }

    33% {
      width: 67vw;
      left: 0%;
    }

    66% {
      width: 0%;
      left: 67vw;
    }

    66.01% {
      width: 0%;
      left: 0%;
    }

    100% {
      width: 78px;
    }
}

  main.top .others ul li a .chunk h3 {
    margin-top: 49px;
    font-size: 2.5rem;
  }

  main.top .others ul li a .chunk h3:before {
    top: 33px;
  }

  main.top .others ul li a .chunk h3:after {
    top: 33px;
    width: 60px;
  }

  main.top .others ul li a .chunk h3.recruit:after {
    width: 78px;
  }

  main.top .others ul li a .chunk .lr {
    margin-top: 22px;
  }

  main.top .others ul li a .chunk .lr .sub_tit {
    font-size: 1.3rem;
  }

  main.top .others ul li a .chunk .lr .sub_tit:before {
    top: 32px;
  }

  main.top .others ul li a .chunk .lr .sub_tit:after {
    top: 32px;
  }

  main.top .others ul li a .chunk .lr .btn {
    font-size: 1.3rem;
    right: 9.3vw;
  }

  main.top .others ul li a .chunk .lr .btn:after {
    margin-left: 2.4vw;
    width: 8px;
    height: 9px;
  }
}
/*
z-index

 */

main.value {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.value .main_visual {
  width: 100%;
  max-width: 1800px;
  height: 1065px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.value .main_visual.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.value .main_visual #threeDContainer {
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: 103;
  pointer-events: none;
}

main.value .main_visual #threeDContainer .item,
main.value .main_visual #threeDContainer .shadow {
  position: absolute;
  left: 50%;
  transform-origin: center center;
}

main.value .main_visual #threeDContainer .item.item1 {
  margin-top: 447px;
  margin-left: 40vw;
}

main.value .main_visual #threeDContainer .item.item2 {
  margin-top: 860px;
  margin-left: 30.1vw;
}

main.value .main_visual #threeDContainer .item.item3 {
  margin-top: 655px;
  margin-left: 25.1vw;
}

main.value .main_visual #threeDContainer .shadow.item1 {
  margin-top: 450px;
  margin-left: 39.3vw;
}

main.value .main_visual #threeDContainer .shadow.item1 img {
  transform: scale(0.7);
}

main.value .main_visual #threeDContainer .shadow.item2 {
  margin-top: 900px;
  margin-left: 30.1vw;
}

main.value .main_visual #threeDContainer .shadow.item3 {
  margin-top: 690px;
  margin-left: 26.2vw;
}

main.value .main_visual h1 {
  position: absolute;
  font-size: 11.64rem;
  font-weight: 500;
  left: 7.3%;
  letter-spacing: 0.01em;
  line-height: 0.95;
  z-index: 104;
  pointer-events: none;
  top: 340px;
}

main.value .main_visual h1 span {
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1;
}

main.value .main_visual .child {
  top: 240px;
  position: absolute;
  left: 15%;
  width: 85%;
  height: 60%;
}

main.value .main_visual .child .cont {
  background-color: #fff;
  height: 770px;
  padding-top: 500px;
}

main.value .main_visual .child .cont .chunk {
  position: relative;
  left: 14%;
}

main.value .main_visual .child .cont .chunk h3 {
  font-weight: 400;
}

main.value .main_visual .child .cont .chunk h3 span:first-child {
  font-size: 2.8rem;
  color: #ff7000;
}

main.value .main_visual .child .cont .chunk h3 span:first-child:after {
  content: "";
  height: 1px;
  width: 39px;
  background-color: #c4c4c4;
  display: inline-block;
  position: relative;
  top: -4px;
  margin-left: 13px;
  margin-right: 13px;
}

main.value .main_visual .child .cont .chunk h3 span:nth-child(2) {
  font-size: 1.8rem;
}

main.value .main_visual .child .cont .chunk .txt {
  color: #0022ff;
  position: relative;
  z-index: 105;
  margin-top: 49px;
  left: 0;
  font-size: 4.0rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

main.value .main_visual .box {
  top: 974px;
  left: 19.6%;
  height: 96px;
  width: 18px;
}

main.value .main_visual .box .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 9px);
}

main.value .main_visual .box .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 9px);
}

main.value .main_visual .box .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 9px);
}

main.value .main_visual .box .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 9px);
}

main.value ul.menu {
  display: flex;
  justify-content: center;
  margin-top: 83px;
  margin-left: 139px;
}

main.value ul.menu li {
  margin-left: 60px;
  margin-right: 55px;
  cursor: pointer;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.value ul.menu li:hover {
  opacity: 0.5;
}

main.value ul.menu li div:first-child {
  font-size: 1.4rem;
  color: #ff7000;
}

main.value ul.menu li div:nth-child(2) {
  font-size: 3.5rem;
  font-weight: 400;
  margin-top: 2px;
}

main.value > section {
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

main.value > section .child {
  position: relative;
}

main.value > section .child .video {
  position: absolute;
  max-width: 1024px;
  left: -3%;
  margin-top: -35px;
  /* for IE 11 */
}

main.value > section .child .video video {
  width: 100%;
  max-width: 1024px;
}

main.value > section .child .video:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-image: url("/assets/img/value/gradation.png");
}

@media all and (-ms-high-contrast: none) {
  main.value > section .child .video *::-ms-backdrop,
  main.value > section .child .video:after {
    top: -1px;
    left: -1px;
    width: 101%;
    height: 101%;
  }
}

main.value > section .child h2 {
  font-size: 8vw;
  font-weight: 500;
  letter-spacing: 0;
  color: #0022ff;
  position: absolute;
}

main.value > section .child h2 .sub_tit {
  color: #ff7000;
  font-size: 2.5rem;
  letter-spacing: 0em;
  margin-bottom: 10px;
}

main.value > section .child .cont {
  position: relative;
}

main.value > section .child .cont .chunk h3 {
  font-weight: 400;
}

main.value > section .child .cont .chunk h3 span:first-child {
  font-size: 2.0rem;
  color: #ff7000;
}

main.value > section .child .cont .chunk h3 span:first-child:after {
  content: "";
  height: 1px;
  width: 39px;
  background-color: #c4c4c4;
  display: inline-block;
  position: relative;
  top: -4px;
  margin-left: 13px;
  margin-right: 13px;
}

main.value > section .child .cont .chunk h3 span:nth-child(2) {
  font-size: 1.6rem;
}

main.value > section .child .cont .chunk .txt {
  color: #6c6c6c;
  font-size: 1.5rem;
  margin-top: 31px;
  line-height: 2;
}

main.value > section .child .box {
  z-index: 10;
}

main.value > section .child .act {
  display: inline-block;
  transform-origin: center center;
  transform: scale(1.6) rotate(90deg);
  position: absolute;
  white-space: nowrap;
}

main.value .section1 {
  margin-top: 150px;
}

main.value .section1 .child .video video {
  width: 68vw;
}

main.value .section1 .child h2 {
  top: -11px;
  margin-left: 50.8%;
}

main.value .section1 .child h2 .sub_tit {
  margin-left: 7px;
}

main.value .section1 .child .cont {
  left: 59%;
  height: 630px;
  width: 470px;
}

main.value .section1 .child .cont .chunk {
  padding-top: 167px;
  margin-left: 12.5%;
  width: 78%;
  letter-spacing: 0em;
}

main.value .section1 .child .cont .chunk h3 {
  margin-top: 50px;
}

main.value .section1 .child .cont .chunk .txt {
  margin-top: 31px;
}

main.value .section1 .child .box {
  top: 490px;
  left: 8.5%;
  height: 50px;
  width: 11.5%;
}

main.value .section1 .child .box .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 25px);
}

main.value .section1 .child .box .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 25px);
}

main.value .section1 .child .box .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 25px);
}

main.value .section1 .child .box .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 25px);
}

main.value .section1 .child .act {
  top: 208px;
  left: 1.2%;
}

main.value .section2 {
  margin-top: 97px;
}

main.value .section2 .child {
  /*      .box {
        top: 563px;
        left: 79.9%;
        height: 59px;
        width: 90px;
        z-index: 2;

        .box1 {
          transform: rotateY(90deg) translate3d(0, 0, 29.5px);
        }

        .box2 {
          transform: rotateY(0deg) translate3d(0, 0, 29.5px);
        }

        .box3 {
          transform: rotateY(-90deg) translate3d(0, 0, 29.5px);
        }

        .box4 {
          transform: rotateY(180deg) translate3d(0, 0, 29.5px);
        }
      }*/
}

main.value .section2 .child .video {
  position: absolute;
  max-width: 1024px;
  left: 18.7%;
  margin-top: 19px;
}

main.value .section2 .child .video video {
  width: 60vw;
}

main.value .section2 .child h2 {
  top: 0px;
  left: 8.3%;
}

main.value .section2 .child .cont {
  left: 8.2%;
  height: 884px;
  width: 470px;
  margin-bottom: 163px;
}

main.value .section2 .child .cont .chunk {
  padding-top: 614px;
  width: 84%;
  margin-left: 15.3%;
}

main.value .section2 .child .cont .chunk .txt {
  margin-top: 45px;
}

main.value .section2 .child .cont .chunk .btn {
  margin-top: 63px;
}

main.value .section2 .child .img {
  position: absolute;
  top: 529px;
  left: 45%;
}

main.value .section2 .child .img img {
  width: 613px;
}

main.value .section2 .child .box_second {
  top: 973px;
  left: 15.2%;
  height: 78px;
  width: 40px;
}

main.value .section2 .child .box_second .box1 {
  transform: rotateY(90deg) translate3d(0, 0, 20px);
}

main.value .section2 .child .box_second .box2 {
  transform: rotateY(0deg) translate3d(0, 0, 20px);
}

main.value .section2 .child .box_second .box3 {
  transform: rotateY(-90deg) translate3d(0, 0, 20px);
}

main.value .section2 .child .box_second .box4 {
  transform: rotateY(180deg) translate3d(0, 0, 20px);
}

main.value .section2 .child .act {
  top: 289px;
  left: 83.5%;
}

main.value .section2 ul {
  background-color: #e4e4dc;
  display: flex;
  justify-content: center;
  z-index: 1;
  position: relative;
}

main.value .section2 ul li {
  writing-mode: vertical-lr;
  color: #0022ff;
  font-size: 1.6rem;
  background-color: #fff;
  margin-top: 130px;
  margin-bottom: 130px;
  margin-left: 23px;
  margin-right: 23px;
  text-align: center;
  padding: 32px 54px;
  position: relative;
}

main.value .section2 ul li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0px;
  height: 0px;
  border-top: 5px solid #ff7000;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #ff7000;
}

main.value .section3 {
  margin-top: 240px;
}

main.value .section3 .child {
  /*.box_second {
        top: 703px;
        left: 8.3%;
        height: 138px;
        width: 30px;

        .box1 {
          transform: rotateY(90deg) translate3d(0, 0, 15px);
        }

        .box2 {
          transform: rotateY(0deg) translate3d(0, 0, 15px);
        }

        .box3 {
          transform: rotateY(-90deg) translate3d(0, 0, 15px);
        }

        .box4 {
          transform: rotateY(180deg) translate3d(0, 0, 15px);
        }
      }*/
}

main.value .section3 .child .video {
  left: 50%;
  margin-top: -10px;
  transform: translate3d(-85%, 0, 0);
}

main.value .section3 .child .video video {
  width: 90vw;
}

main.value .section3 .child h2 {
  left: 49.5%;
  top: -5px;
}

main.value .section3 .child h2 .sub_tit {
  margin-left: 7px;
}

main.value .section3 .child .cont {
  top: 12px;
  left: 57.6%;
  width: 530px;
  margin-bottom: 470px;
  position: relative;
  transform: translate3d(0, 80px, 0);
  transition: opacity 500ms, transform 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.value .section3 .child .cont .chunk {
  padding: 70px 80px;
}

main.value .section3 .child .cont.show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: .4s;
}

main.value .section3 .child .cont .chunk {
  top: 0;
}

main.value .section3 .child .box {
  top: 436px;
  left: 84.7%;
  height: 50px;
  width: 130px;
}

main.value .section3 .child .box .box1 {
  transform: rotateY(90deg) translate3d(0, 0, 25px);
}

main.value .section3 .child .box .box2 {
  transform: rotateY(0deg) translate3d(0, 0, 25px);
}

main.value .section3 .child .box .box3 {
  transform: rotateY(-90deg) translate3d(0, 0, 25px);
}

main.value .section3 .child .box .box4 {
  transform: rotateY(180deg) translate3d(0, 0, 25px);
}

main.value .section3 .child .act {
  top: 170px;
  left: 5%;
}

@media screen and (min-width: 1024px) and (max-width: 1380px) {
  main.value .section1 .child .cont {
    left: 49%;
  }

  main.value .section2 .child .cont .chunk {
    margin-left: 0;
  }

  main.value .section2 .child .img {
    left: 50%;
    top: 600px;
  }

  main.value .section2 .child .img img {
    width: 483px;
  }

  main.value .section3 .child .cont {
    left: 47.6%;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1100px) {
  main.value .main_visual h1 {
    font-size: 10rem;
  }
}

@media screen and (max-width: 1023px) {
  main.value .main_visual {
    height: 1194px;
  }

  main.value .main_visual h1 {
    font-size: 8.2rem;
    left: 6.5%;
    top: 328px;
    letter-spacing: -0.023em;
    line-height: 1;
  }

  main.value .main_visual .child {
    top: 250px;
    position: absolute;
    left: 13.2%;
    width: 86.8%;
  }

  main.value .main_visual .child .cont {
    padding-top: 380px;
    height: 770px;
  }

  main.value .main_visual .child .cont .chunk {
    left: 8%;
  }

  main.value .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 3rem;
  }

  main.value .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 52px;
    top: -3px;
    margin-left: 12px;
    margin-right: 12px;
  }

  main.value .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 2.4rem;
  }

  main.value .main_visual .child .cont .chunk .txt {
    font-size: 4.0rem;
    margin-top: 45px;
    letter-spacing: -0.025em;
  }

  main.value .main_visual .box {
    top: 992px;
    left: 20.1%;
    height: 96px;
    width: 22px;
  }

  main.value ul.menu {
    margin-top: 0;
    margin-left: 6%;
  }

  main.value ul.menu li {
    margin-left: 22px;
    margin-right: 22px;
  }

  main.value ul.menu li div:first-child {
    font-size: 2rem;
  }

  main.value ul.menu li div:nth-child(2) {
    font-size: 3.2rem;
  }

  main.value > section .child .video {
    transform: translate3d(-50%, 0, 0);
    left: 50%;
  }

  main.value > section .child h2 {
    font-size: 13.3vw;
    letter-spacing: -0.8px;
  }

  main.value > section .child h2 .sub_tit {
    font-size: 2.6rem;
  }

  main.value > section .child .cont .chunk .txt {
    font-size: 2.2rem;
    line-height: 1.95;
  }

  main.value > section .child .act {
    transform: scale(1.6) rotate(90deg);
  }

  main.value .section1 {
    margin-top: 654px;
  }

  main.value .section1 .child .video {
    top: -586px;
  }

  main.value .section1 .child .video video {
    width: 100vw;
  }

  main.value .section1 .child h2 {
    top: -143px;
    margin-left: 12.3%;
  }

  main.value .section1 .child h2 .sub_tit {
    margin-left: 3px;
    margin-bottom: 5px;
  }

  main.value .section1 .child .cont {
    left: 7%;
    width: 86%;
    height: auto;
  }

  main.value .section1 .child .cont .chunk {
    padding-top: 28px;
    padding-bottom: 52px;
    margin: 0 auto;
    width: 86%;
  }

  main.value .section1 .child .cont .chunk .txt {
    margin-top: 0;
  }

  main.value .section1 .child .act {
    top: -334px;
    left: 79%;
  }

  main.value .section1 .child .box {
    top: 434px;
    left: 6%;
    height: 40px;
    width: 19.5%;
  }

  main.value .section1 .child .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 20px);
  }

  main.value .section1 .child .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 20px);
  }

  main.value .section1 .child .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 20px);
  }

  main.value .section1 .child .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 20px);
  }

  main.value .section2 {
    margin-top: 476px;
  }

  main.value .section2 .child .video {
    top: -422px;
    right: inherit;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
  }

  main.value .section2 .child .video video {
    width: 100vw;
  }

  main.value .section2 .child h2 {
    top: 125px;
    margin-left: 12.8%;
    left: 0;
  }

  main.value .section2 .child h2 .sub_tit {
    margin-left: 3px;
    margin-bottom: 10px;
  }

  main.value .section2 .child .cont {
    left: 7%;
    width: 86.5%;
    height: auto;
    top: 164px;
  }

  main.value .section2 .child .cont .chunk {
    padding-top: 130px;
    padding-bottom: 52px;
    margin: 0 auto;
    width: 86%;
  }

  main.value .section2 .child .cont .chunk .txt {
    margin-top: 0;
  }

  main.value .section2 .child .img {
    position: relative;
    top: -43px;
    left: 50%;
    display: inline-block;
    transform: translate3d(-50%, 0, 0);
    text-align: center;
    width: 93%;
  }

  main.value .section2 .child .img img {
    width: 100%;
  }

  main.value .section2 .child .act {
    top: -124px;
    left: 78.1%;
  }

  main.value .section2 .child .box {
    top: 632px;
    left: 73.5%;
    height: 60px;
    width: 88px;
  }

  main.value .section2 .child .box_second {
    top: 1088px;
    left: 13.5%;
    height: 82px;
    width: 38px;
  }

  main.value .section3 {
    margin-top: 650px;
  }

  main.value .section3 .child {
    /*        .box_second{
          top: -197*2px;
          left: 83.4%;
          height: 59*2px;
          width: 10*2px;
        }*/
  }

  main.value .section3 .child .video {
    top: -460px;
    transform: translate3d(-50%, 0, 0);
  }

  main.value .section3 .child .video video {
    width: 100vw;
  }

  main.value .section3 .child h2 {
    margin-left: 12.2%;
    left: 0;
    top: 55px;
  }

  main.value .section3 .child h2 .sub_tit {
    margin-left: 3px;
    margin-bottom: 10px;
  }

  main.value .section3 .child .cont {
    top: 0px;
    left: 7%;
    width: 86.5%;
    margin-bottom: 237px;
    transform: translate3d(0, 0, 0);
  }

  main.value .section3 .child .cont .chunk {
    padding: 0;
    padding-top: 225px;
    padding-bottom: 52px;
    margin: 0 auto;
    width: 86%;
  }

  main.value .section3 .child .cont .chunk .txt {
    margin-top: 0;
  }

  main.value .section3 .child .act {
    top: -217.7px;
    left: 77.9%;
  }

  main.value .section3 .child .box {
    top: 506px;
    left: 70.4%;
    height: 48px;
    width: 132px;
  }
}

@media screen and (min-width: 560px) and (max-width: 710px) {
  main.value .main_visual h1 {
    font-size: 6rem;
  }
}

@media screen and (max-width: 559px) {
  main.value .main_visual {
    height: 597px;
  }

  main.value .main_visual #threeDContainer .item img,
  main.value .main_visual #threeDContainer .shadow img {
    transform: scale(0.5);
  }

  main.value .main_visual #threeDContainer .item.item1,
  main.value .main_visual #threeDContainer .shadow.item1 {
    margin-top: 218px;
    margin-left: 23vw;
  }

  main.value .main_visual #threeDContainer .item.item2,
  main.value .main_visual #threeDContainer .shadow.item2 {
    margin-top: 341px;
    margin-left: -61.9vw;
  }

  main.value .main_visual #threeDContainer .item.item3,
  main.value .main_visual #threeDContainer .shadow.item3 {
    margin-top: 402px;
  }

  main.value .main_visual #threeDContainer .shadow.item1 {
    margin-top: 207px;
    margin-left: 14.3vw;
  }

  main.value .main_visual #threeDContainer .shadow.item1 img {
    transform: scale(0.3);
  }

  main.value .main_visual #threeDContainer .shadow.item2 {
    margin-top: 352px;
    margin-left: -60.9vw;
  }

  main.value .main_visual #threeDContainer .shadow.item3 {
    margin-top: 408px;
    margin-left: 25.2vw;
  }

  main.value .main_visual h1 {
    font-size: 4.1rem;
    top: 164px;
  }

  main.value .main_visual .child {
    top: 125px;
  }

  main.value .main_visual .child .cont {
    padding-top: 190px;
    height: 385px;
  }

  main.value .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 1.5rem;
  }

  main.value .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 26px;
    top: -3px;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.value .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 1.2rem;
  }

  main.value .main_visual .child .cont .chunk .txt {
    font-size: 2.0rem;
    margin-top: 19px;
  }

  main.value .main_visual .box {
    top: 496px;
    height: 48px;
    width: 11px;
  }

  main.value .main_visual .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 5.5px);
  }

  main.value .main_visual .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 5.5px);
  }

  main.value .main_visual .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 5.5px);
  }

  main.value .main_visual .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 5.5px);
  }

  main.value ul.menu li {
    margin-left: 11px;
    margin-right: 11px;
  }

  main.value ul.menu li div:first-child {
    font-size: 1.0rem;
  }

  main.value ul.menu li div:nth-child(2) {
    font-size: 1.6rem;
  }

  main.value > section .child h2 .sub_tit {
    font-size: 1.3rem;
  }

  main.value > section .child .cont .chunk .txt {
    font-size: 1.1rem;
  }

  main.value > section .child .act {
    transform: scale(0.8) rotate(90deg);
  }

  main.value .section1 {
    margin-top: 327px;
  }

  main.value .section1 .child .video {
    top: -276px;
  }

  main.value .section1 .child h2 {
    top: -72px;
  }

  main.value .section1 .child .cont {
    left: 7%;
    width: 86%;
    height: auto;
  }

  main.value .section1 .child .cont .chunk {
    padding-top: 13px;
    padding-bottom: 26px;
  }

  main.value .section1 .child .act {
    top: -179px;
    left: 69%;
  }

  main.value .section1 .child .box {
    top: 217px;
    width: 80px;
    height: 20px;
  }

  main.value .section1 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 10px);
  }

  main.value .section1 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 10px);
  }

  main.value .section1 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 10px);
  }

  main.value .section1 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 10px);
  }

  main.value .section2 {
    margin-top: 238px;
  }

  main.value .section2 .child .video {
    top: -218px;
  }

  main.value .section2 .child h2 {
    top: 63px;
  }

  main.value .section2 .child h2 .sub_tit {
    margin-bottom: 5px;
  }

  main.value .section2 .child .cont {
    top: 82px;
  }

  main.value .section2 .child .cont .chunk {
    padding-top: 65px;
    padding-bottom: 26px;
  }

  main.value .section2 .child .img {
    top: -102px;
  }

  main.value .section2 .child .act {
    top: -55px;
    left: 67%;
  }

  main.value .section2 .child .box {
    top: 316px;
    height: 30px;
    width: 44px;
  }

  main.value .section2 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 15px);
  }

  main.value .section2 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 15px);
  }

  main.value .section2 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 15px);
  }

  main.value .section2 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 15px);
  }

  main.value .section2 .child .box_second {
    top: 544px;
    height: 41px;
    width: 19px;
  }

  main.value .section2 .child .box_second .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 9.5px);
  }

  main.value .section2 .child .box_second .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 9.5px);
  }

  main.value .section2 .child .box_second .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 9.5px);
  }

  main.value .section2 .child .box_second .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 9.5px);
  }

  main.value .section3 {
    margin-top: 325px;
  }

  main.value .section3 .child .video {
    top: -310px;
  }

  main.value .section3 .child h2 {
    top: -56px;
  }

  main.value .section3 .child h2 .sub_tit {
    margin-bottom: 5px;
  }

  main.value .section3 .child .cont {
    margin-bottom: 119px;
  }

  main.value .section3 .child .cont .chunk {
    padding-top: 30px;
    padding-bottom: 26px;
  }

  main.value .section3 .child .act {
    top: -200px;
    left: 67%;
  }

  main.value .section3 .child .box {
    top: 171px;
    height: 24px;
    width: 66px;
  }

  main.value .section3 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 12px);
  }

  main.value .section3 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 12px);
  }

  main.value .section3 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 12px);
  }

  main.value .section3 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 12px);
  }

  main.value .section3 .child .box_second {
    top: -197px;
    height: 59px;
    width: 10px;
  }

  main.value .section3 .child .box_second .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 5px);
  }

  main.value .section3 .child .box_second .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 5px);
  }

  main.value .section3 .child .box_second .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 5px);
  }

  main.value .section3 .child .box_second .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 5px);
  }
}
/*
z-index

 */

main.company {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.company .main_visual {
  width: 100%;
  max-width: 1800px;
  height: 1015px;
  position: relative;
  z-index: 10;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
  opacity: 1;
}

main.company .main_visual.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.company .main_visual h1 {
  color: #0022ff;
  position: absolute;
  font-size: 8vw;
  font-weight: 500;
  left: 7.9%;
  letter-spacing: 0.01em;
  line-height: 0.95;
  z-index: 104;
  pointer-events: none;
  top: 341px;
}

main.company .main_visual h1 span {
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1;
}

main.company .main_visual .img {
  position: absolute;
  top: 395px;
  right: 0;
  width: 60%;
  height: 500px;
  overflow: hidden;
}

main.company .main_visual .img img {
  width: 100%;
  position: relative;
  top: 50%;
  transform: translate3d(0, -40%, 0);
}

main.company .main_visual .child {
  top: 240px;
  position: absolute;
  left: 0%;
  width: 60.4%;
}

main.company .main_visual .child .cont {
  background-color: #fff;
  padding-top: 180px;
  padding-bottom: 143px;
}

main.company .main_visual .child .cont .chunk {
  left: 13.7%;
  position: relative;
  margin-top: 127px;
  width: 44%;
}

main.company .main_visual .child .cont .chunk h3 {
  font-weight: 400;
  white-space: nowrap;
}

main.company .main_visual .child .cont .chunk h3 span:first-child {
  font-size: 2.8rem;
  color: #ff7000;
}

main.company .main_visual .child .cont .chunk h3 span:first-child:after {
  content: "";
  height: 1px;
  width: 39px;
  background-color: #c4c4c4;
  display: inline-block;
  position: relative;
  top: -4px;
  margin-left: 13px;
  margin-right: 13px;
}

main.company .main_visual .child .cont .chunk h3 span:nth-child(2) {
  font-size: 1.8rem;
}

main.company .main_visual .child .cont .chunk .txt {
  position: relative;
  left: 0;
  top: 0;
  color: #6c6c6c;
  font-size: 1.4rem;
  margin-top: 39px;
  line-height: 2;
}

main.company .main_visual .child .cont .chunk ul {
  margin-top: 76px;
  margin-left: 0px;
  padding-left: 52px;
  border-left: 2px solid #e0ddda;
}

main.company .main_visual .child .cont .chunk ul li {
  font-size: 2.2rem;
  margin-top: 17px;
  cursor: pointer;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.company .main_visual .child .cont .chunk ul li:hover {
  opacity: 0.5;
}

main.company .main_visual .child .cont .chunk ul li span {
  color: #ff7000;
  margin-right: 9px;
  font-size: 1.2rem;
  position: relative;
  top: -3px;
}

main.company > section {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

main.company > section .child {
  position: relative;
}

main.company > section .child h3 {
  color: #000;
  font-weight: 400;
  position: absolute;
}

main.company > section .child h3 span {
  display: block;
}

main.company > section .child h3 span:first-child {
  color: #ff7000;
  font-size: 2.5rem;
}

main.company > section .child h3 span:nth-child(2) {
  font-size: 4.8rem;
}

main.company > section .child h3 span:nth-child(3) {
  margin-top: 6px;
  font-size: 1.5rem;
}

main.company .section1 {
  margin-top: -180px;
  background-color: #0022ff;
}

main.company .section1 .child h2 {
  color: #ff7000;
  font-size: 6.785vw;
  font-weight: 500;
  letter-spacing: -3.2px;
  position: absolute;
  margin-top: 539px;
  left: 46.9%;
  z-index: 11;
}

main.company .section1 .child h2 .sub_tit {
  font-size: 2.0rem;
}

main.company .section1 .child h3 {
  margin-top: 400px;
  left: 50%;
  color: #fff;
  margin-left: 155px;
  z-index: 12;
}

main.company .section1 .child .img {
  position: absolute;
  top: 375px;
  width: 660px;
  height: 440px;
  left: 8.3%;
  z-index: 10;
  overflow: hidden;
}

main.company .section1 .child .img img {
  width: 100%;
  position: relative;
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

main.company .section1 .child .cont {
  position: relative;
  padding-top: 895px;
  display: flex;
  width: 73.5%;
  margin: 0 auto;
}

main.company .section1 .child .cont .tit {
  color: #fff;
  width: 20.2%;
}

main.company .section1 .child .cont .tit span {
  display: block;
}

main.company .section1 .child .cont .tit span:first-child {
  font-size: 1.4rem;
}

main.company .section1 .child .cont .tit span:nth-child(2) {
  font-size: 2.5rem;
  margin-top: 11px;
}

main.company .section1 .child .cont .tit span:nth-child(3) {
  font-size: 1.8rem;
  margin-top: 12px;
}

main.company .section1 .child .cont .txt {
  width: 79.8%;
}

main.company .section1 .child .cont2,
main.company .section1 .child .cont3,
main.company .section1 .child .cont4 {
  margin: 40px auto 0;
  width: 73.5%;
}

main.company .section1 .child .cont2 .txt {
  width: 100%;
}

main.company .section1 .child .cont3 {
  display: flex;
}

main.company .section1 .child .cont3 .txt {
  width: 50%;
}

main.company .section1 .child .cont3 .txt:first-child {
  margin-right: 6%;
}

main.company .section1 .child .cont .txt,
main.company .section1 .child .cont2 .txt,
main.company .section1 .child .cont3 .txt {
  color: #fff;
  font-size: 1.5rem;
  line-height: 2;
  margin-top: -10px;
  letter-spacing: 0.0em;
}

main.company .section1 .child .cont4 {
  margin-top: 63px;
  padding-bottom: 135px;
}

main.company .section1 .child .cont4 .txt {
  color: #fff;
  font-size: 1.3rem;
  line-height: 2;
  margin-top: -10px;
  padding: 28px 38px;
  letter-spacing: 0.0em;
  border: 1px solid #fff;
}

main.company .section1 .child .box_second {
  bottom: -50px;
  left: 73.5%;
  height: 59px;
  width: 18.8%;
}

main.company .section1 .child .box_second .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 29.5px);
}

main.company .section1 .child .box_second .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 29.5px);
}

main.company .section1 .child .box_second .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 29.5px);
}

main.company .section1 .child .box_second .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 29.5px);
}

main.company .section2 .child {
  position: relative;
  z-index: 100;
}

main.company .section2 .child .cont {
  top: 73px;
  height: 430px;
  width: 39.6%;
}

main.company .section2 .child .cont .chunk {
  padding-top: 82px;
  width: 60%;
  margin-left: 14.3%;
}

main.company .section2 .child h3 {
  margin-top: 156px;
  left: 13.2%;
  position: relative;
}

main.company .section2 .child .txt {
  font-size: 1.5rem;
  left: 13.2%;
  position: relative;
  margin-top: 37px;
  max-width: 347px;
  width: 26%;
  line-height: 2;
}

main.company .section2 .child .slide {
  position: absolute;
  top: -6px;
  left: 42.3%;
  overflow: hidden;
}

main.company .section2 .child .slide .imgs {
  display: flex;
}

main.company .section2 .child .slide .imgs img {
  margin-right: 10px;
}

main.company .section2 .child .slide .slide_nav {
  display: flex;
}

main.company .section2 .child .slide .slide_nav .prev,
main.company .section2 .child .slide .slide_nav .next {
  cursor: pointer;
  width: 73px;
  height: 79px;
  text-align: center;
  padding-top: 31px;
  transition: background 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  margin-top: 2px;
}

main.company .section2 .child .slide .slide_nav .prev:hover,
main.company .section2 .child .slide .slide_nav .next:hover {
  background-color: #525251;
  color: #fff;
}

main.company .section2 .child .slide .slide_nav .prev:before,
main.company .section2 .child .slide .slide_nav .next:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

main.company .section2 .child .slide .slide_nav .prev {
  background-color: #fff;
}

main.company .section2 .child .slide .slide_nav .prev:hover:before {
  background-image: url("/assets/img/common/arrow_prev_white.png");
}

main.company .section2 .child .slide .slide_nav .prev:before {
  background-image: url("/assets/img/common/arrow_prev_black.png");
}

main.company .section2 .child .slide .slide_nav .next {
  background-color: #fff;
  margin-left: 2px;
}

main.company .section2 .child .slide .slide_nav .next:hover:before {
  background-image: url("/assets/img/common/arrow_next_white.png");
}

main.company .section2 .child .slide .slide_nav .next:before {
  background-image: url("/assets/img/common/arrow_next_black.png");
}

main.company .section2 .child .box {
  top: 241px;
  left: 4.2%;
  height: 179px;
  width: 20px;
}

main.company .section2 .child .box .box1 {
  transform: rotateY(90deg) translate3d(0, 0, 10px);
}

main.company .section2 .child .box .box2 {
  transform: rotateY(0deg) translate3d(0, 0, 10px);
}

main.company .section2 .child .box .box3 {
  transform: rotateY(-90deg) translate3d(0, 0, 10px);
}

main.company .section2 .child .box .box4 {
  transform: rotateY(180deg) translate3d(0, 0, 10px);
}

main.company .section3 {
  background-image: url("/assets/img/company/map.jpg");
  background-size: 100%;
  margin-top: 302px;
  padding-bottom: 10px;
  background-repeat: no-repeat;
  background-color: #e4e4dc;
  background-position: center top;
  position: relative;
  overflow: hidden;
}

main.company .section3 .markers {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 10;
  transform-origin: center top;
}

@keyframes easeOutBounce {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 0;
  }

  12% {
    transform: translate3d(0, -243.3px, 0);
  }

  24% {
    transform: translate3d(0, -169.32px, 0);
  }

  36% {
    transform: translate3d(0, -5.97px, 0);
  }

  54% {
    transform: translate3d(0, -29.94px, 0);
    opacity: 1;
  }

  74% {
    transform: translate3d(0, -4.89px, 0);
  }

  82% {
    transform: translate3d(0, -15.75px, 0);
  }

  92% {
    transform: translate3d(0, -1.98px, 0);
  }

  96% {
    transform: translate3d(0, -4.62px, 0);
  }

  100% {
    transform: translate3d(0, 0px, 0);
    opacity: 1;
  }
}

main.company .section3 .markers ul.show_markers li:before {
  animation: easeOutBounce 700ms forwards;
}

main.company .section3 .markers ul.show_markers li:nth-child(1):before {
  animation-delay: 0.1s;
}

main.company .section3 .markers ul.show_markers li:nth-child(2):before {
  animation-delay: 0.2s;
}

main.company .section3 .markers ul.show_markers li:nth-child(3):before {
  animation-delay: 0.3s;
}

main.company .section3 .markers ul.show_markers li:nth-child(4):before {
  animation-delay: 0.4s;
}

main.company .section3 .markers ul.show_markers li:nth-child(5):before {
  animation-delay: 0.5s;
}

main.company .section3 .markers ul.show_markers li:nth-child(6):before {
  animation-delay: 0.6s;
}

main.company .section3 .markers ul.show_markers li:nth-child(7):before {
  animation-delay: 0.7s;
}

main.company .section3 .markers ul.show_markers li:nth-child(8):before {
  animation-delay: 0.8s;
}

main.company .section3 .markers ul.show_markers li:nth-child(9):before {
  animation-delay: 0.9s;
}

main.company .section3 .markers ul.show_markers li:nth-child(10):before {
  animation-delay: 1s;
}

main.company .section3 .markers ul.exist_markers li:before {
  animation: inherit;
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.company .section3 .markers ul li {
  font-size: 2.0rem;
  position: absolute;
  cursor: pointer;
}

main.company .section3 .markers ul li:hover:before {
  transform: scale(1.8);
}

main.company .section3 .markers ul li:hover span {
  opacity: .5;
}

main.company .section3 .markers ul li:before {
  content: "";
  background-image: url("/assets/img/company/marker.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 14px;
  height: 20px;
  display: inline-block;
  position: absolute;
  top: 0px;
  opacity: 0;
  transform-origin: bottom center;
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform: translate3d(0, -300px, 0);
}

main.company .section3 .markers ul li:first-child {
  top: 243px;
  left: -64px;
}

main.company .section3 .markers ul li:nth-child(2) {
  top: 147px;
  left: -633px;
}

main.company .section3 .markers ul li:nth-child(3) {
  top: 190px;
  left: -609px;
}

main.company .section3 .markers ul li:nth-child(4) {
  top: 227px;
  left: -638px;
}

main.company .section3 .markers ul li:nth-child(5) {
  top: 276px;
  left: -142px;
}

main.company .section3 .markers ul li:nth-child(6) {
  top: 211px;
  left: 528px;
}

main.company .section3 .markers ul li span {
  margin-left: 24px;
  line-height: 1.1;
  white-space: nowrap;
  transition: opacity 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.company .section3 .child {
  padding-top: 345px;
}

main.company .section3 .child h3 {
  left: 50%;
  margin-left: 6.9%;
  z-index: 10;
}

main.company .section3 .child .list > ul {
  background-color: rgba(255, 255, 255, 0.6);
  width: 88%;
  margin: 232px auto;
  padding: 0 86px 86px;
  display: flex;
  flex-wrap: wrap;
}

main.company .section3 .child .list > ul > li {
  width: 50%;
  margin-top: 80px;
  position: relative;
}

main.company .section3 .child .list > ul > li:nth-child(2n + 1) {
  padding-left: 40px;
}

main.company .section3 .child .list > ul > li:nth-child(2n + 1) .upper canvas {
  left: 40px;
}

main.company .section3 .child .list > ul > li:nth-child(2n) {
  padding-right: 40px;
}

main.company .section3 .child .list > ul > li:nth-child(2n) .upper canvas {
  right: 40px;
}

main.company .section3 .child .list > ul > li .upper {
  display: flex;
}

main.company .section3 .child .list > ul > li .upper canvas {
  position: absolute;
  top: 0;
  left: 0;
}

main.company .section3 .child .list > ul > li .upper .left {
  max-width: 305px;
  width: 61%;
}

main.company .section3 .child .list > ul > li .upper .left .img {
  width: 100%;
}

main.company .section3 .child .list > ul > li .upper .left .img img {
  width: 100%;
}

main.company .section3 .child .list > ul > li .upper .right {
  margin-left: 22px;
}

main.company .section3 .child .list > ul > li .upper .right .branch_tit {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
}

main.company .section3 .child .list > ul > li .upper .right .branch_tit span {
  color: #ff7000;
  font-size: 2.0rem;
  display: block;
}

main.company .section3 .child .list > ul > li .upper .right .leader {
  font-size: 1.8rem;
  margin-top: 25px;
}

main.company .section3 .child .list > ul > li .upper .right .leader span {
  display: block;
  color: #6c6c6c;
  font-size: 1.4rem;
  line-height: 1.6;
}

main.company .section3 .child .list > ul > li .lower ul {
  margin-top: 21px;
  line-height: 1.6;
}

main.company .section3 .child .list > ul > li .lower ul li {
  margin-top: 10px;
  font-size: 1.4rem;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

main.company .section3 .child .list > ul > li .lower ul li div {
  display: inline-block;
}

main.company .section3 .child .list > ul > li .lower ul li .tit {
  color: #999999;
  width: 13.5%;
  vertical-align: top;
}

main.company .section3 .child .list > ul > li .lower ul li .txt {
  width: 86%;
}

main.company .section3 .child .list > ul > li .lower .btn {
  font-size: 1.4rem;
  display: inline-block;
  margin-top: 22px;
}

main.company .section3 .child .list > ul > li .lower .btn a {
  display: block;
  padding: 14px 45px 14px 20px;
  border: 1px solid #d0d0cd;
  border-radius: 25px;
  position: relative;
}

main.company .section3 .child .list > ul > li .lower .btn a:hover {
  border: 1px solid rgba(0, 0, 0, 0.8);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
}

main.company .section3 .child .list > ul > li .lower .btn a:hover:after {
  animation: arrow8 .5s;
  background-image: url("/assets/img/common/arrow_right_white.png");
}

main.company .section3 .child .list > ul > li .lower .btn a:after {
  content: "";
  color: #666666;
  position: absolute;
  background-image: url("/assets/img/company/arrow_small_gray.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 9px;
  height: 10px;
  right: 19px;
  top: 16px;
}

main.company .section3 .child .list > ul > li:first-child {
  width: 100%;
  display: flex;
  padding-left: 0;
}

main.company .section3 .child .list > ul > li:first-child .upper {
  width: 50%;
}

main.company .section3 .child .list > ul > li:first-child .upper .img {
  width: 520px;
}

main.company .section3 .child .list > ul > li:first-child .upper .img img {
  width: 100%;
}

main.company .section3 .child .list > ul > li:first-child .upper .img canvas {
  left: 0px;
  right: 0px;
}

main.company .section3 .child .list > ul > li:first-child .lower {
  width: 50%;
  padding-left: 47px;
  padding-top: 18px;
}

main.company .section3 .child .list > ul > li:first-child .lower ul li .tit {
  width: 18.1%;
}

main.company .section3 .child .list > ul > li:first-child .lower ul li .txt {
  width: 81.5%;
}

main.company .section3 .child .list > ul > li:first-child .lower .branch_tit {
  font-size: 4.0rem;
  font-weight: 500;
}

main.company .section3 .child .list > ul > li:first-child .lower .branch_tit span {
  color: #ff7000;
  font-size: 3.5rem;
  margin-left: 18px;
}

@media screen and (max-width: 1023px) {
  main.company .main_visual h1 {
    font-size: 10.2vw;
    left: 6.5%;
    top: 323px;
    letter-spacing: -0.023em;
    line-height: 0.9;
  }

  main.company .main_visual .img {
    top: 350px;
    width: 87%;
    height: 375px;
    position: relative;
    left: 13%;
    overflow: hidden;
  }

  main.company .main_visual .img img {
    width: 100%;
    left: 50%;
    top: 50%;
    position: relative;
    transform: translate3d(-50%, -50%, 0);
  }

  main.company .main_visual .child {
    top: 250px;
    width: 93.4%;
  }

  main.company .main_visual .child .cont {
    padding-bottom: 100px;
    padding-top: 467px;
  }

  main.company .main_visual .child .cont .chunk {
    left: 14%;
    margin-top: 63px;
    width: 75%;
  }

  main.company .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 3rem;
  }

  main.company .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 52px;
    top: -3px;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.company .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 2.4rem;
  }

  main.company .main_visual .child .cont .chunk .txt {
    font-size: 2.2rem;
    margin-top: 30px;
    letter-spacing: -0.025em;
  }

  main.company .main_visual .child .cont .chunk ul {
    margin-top: 46px;
    padding-left: 48px;
    border-left: 1px solid #e0ddda;
  }

  main.company .main_visual .child .cont .chunk ul li {
    font-size: 3.2rem;
    margin-top: 22px;
  }

  main.company .main_visual .child .cont .chunk ul li span {
    font-size: 2rem;
    top: -4px;
    margin-right: 20px;
  }

  main.company > section .child h3 span:first-child {
    font-size: 3rem;
  }

  main.company > section .child h3 span:first-child:after {
    width: 26px;
    top: -6px;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.company > section .child h3 span:nth-child(2) {
    font-size: 5.5rem;
  }

  main.company > section .child h3 span:nth-child(3) {
    font-size: 2.4rem;
  }

  main.company .section1 {
    margin-top: -320px;
  }

  main.company .section1 .child .img {
    top: 805px;
    left: 0;
    width: 56%;
    height: 280px;
  }

  main.company .section1 .child .img img {
    width: 100%;
  }

  main.company .section1 .child .cont {
    display: block;
    padding-top: 1312px;
  }

  main.company .section1 .child .cont .tit {
    width: auto;
    position: relative;
  }

  main.company .section1 .child .cont .tit span:first-child {
    font-size: 2.2rem;
    position: absolute;
    margin-left: 0px;
  }

  main.company .section1 .child .cont .tit span:nth-child(2) {
    font-size: 3.5rem;
    margin-top: 0;
    margin-left: 200px;
  }

  main.company .section1 .child .cont .tit span:nth-child(3) {
    font-size: 2.4rem;
    margin-top: 6px;
    margin-left: 200px;
  }

  main.company .section1 .child .cont,
  main.company .section1 .child .cont2,
  main.company .section1 .child .cont3,
  main.company .section1 .child .cont4 {
    width: 87%;
    margin-top: -70px;
  }

  main.company .section1 .child .cont .txt,
  main.company .section1 .child .cont2 .txt,
  main.company .section1 .child .cont3 .txt,
  main.company .section1 .child .cont4 .txt {
    margin-top: 38px;
    font-size: 2.2rem;
    width: 100%;
  }

  main.company .section1 .child .cont2 {
    margin-top: -105px;
  }

  main.company .section1 .child .cont3 {
    display: block;
  }

  main.company .section1 .child .cont4 {
    padding-bottom: 78px;
  }

  main.company .section1 .child .cont4 .txt {
    font-size: 2rem;
  }

  main.company .section1 .child h2 {
    font-size: 11.785vw;
    letter-spacing: -1.2px;
    margin-top: 1000px;
    left: 6.1%;
  }

  main.company .section1 .child h2 .sub_tit {
    font-size: 2.4rem;
    margin-top: 4px;
  }

  main.company .section1 .child h3 {
    margin-top: 844px;
    margin-left: 16.4%;
  }

  main.company .section1 .child .box_second {
    left: 59.5%;
    height: 28px;
    width: 36%;
  }

  main.company .section2 .child h3 {
    margin-top: 99px;
    left: 6.5%;
  }

  main.company .section2 .child h3 span:nth-child(3) {
    margin-top: 6px;
  }

  main.company .section2 .child .txt {
    font-size: 2.2rem;
    left: 6.2%;
    margin-top: 38px;
    max-width: inherit;
    width: 88%;
    line-height: 1.95;
  }

  main.company .section2 .child .slide {
    top: 536px;
    left: 6.3%;
  }

  main.company .section2 .child .slide .imgs img {
    width: 650px;
  }

  main.company .section2 .child .slide .slide_nav .prev,
  main.company .section2 .child .slide .slide_nav .next {
    width: 84px;
    height: 90px;
  }

  main.company .section2 .child .slide .slide_nav .prev:before,
  main.company .section2 .child .slide .slide_nav .next:before {
    width: 20px;
    height: 20px;
    top: 5px;
    position: relative;
  }

  main.company .section2 .child .slide .slide_nav .next:before {
    left: 2px;
  }

  main.company .section2 .child .box {
    display: none;
  }

  main.company .section3 {
    margin-top: 784px;
    background-size: contain;
  }

@keyframes easeOutBounce {
    0% {
      transform: scale(2) translate3d(0, 0, 0);
      opacity: 0;
    }

    12% {
      transform: scale(2) translate3d(0, -243.3px, 0);
    }

    24% {
      transform: scale(2) translate3d(0, -169.32px, 0);
    }

    36% {
      transform: scale(2) translate3d(0, -5.97px, 0);
    }

    54% {
      transform: scale(2) translate3d(0, -29.94px, 0);
    }

    74% {
      transform: scale(2) translate3d(0, -4.89px, 0);
    }

    82% {
      transform: scale(2) translate3d(0, -15.75px, 0);
    }

    92% {
      transform: scale(2) translate3d(0, -1.98px, 0);
    }

    96% {
      transform: scale(2) translate3d(0, -4.62px, 0);
    }

    100% {
      transform: scale(2) translate3d(0, 0px, 0);
      opacity: 1;
    }
}

  main.company .section3 .markers ul.exist_markers li:before {
    transform: scale(2) translate3d(0, 0, 0);
  }

  main.company .section3 .markers ul li:hover:before {
    transform: scale(2.8);
  }

  main.company .section3 .markers ul li:before {
    width: 18px;
    height: 26px;
    transform: scale(2) translate3d(0, -300px, 0);
  }

  main.company .section3 .markers ul li span {
    display: none;
  }

  main.company .section3 .child {
    padding-top: 290px;
  }

  main.company .section3 .child h3 {
    left: 19.9%;
    margin-left: 0;
  }

  main.company .section3 .child h3 span:nth-child(3) {
    margin-top: 4px;
  }

  main.company .section3 .child .list > ul {
    width: 90%;
    margin: 162px auto 176px;
    padding: 0 8% 76px;
  }

  main.company .section3 .child .list > ul > li {
    margin-top: 68px;
    width: 100%;
  }

  main.company .section3 .child .list > ul > li:nth-child(2n + 1) {
    padding-left: 0;
  }

  main.company .section3 .child .list > ul > li:nth-child(2n + 1) .upper canvas {
    left: 0;
  }

  main.company .section3 .child .list > ul > li:nth-child(2n) {
    padding-right: 0;
  }

  main.company .section3 .child .list > ul > li .upper .left {
    width: 47%;
  }

  main.company .section3 .child .list > ul > li .upper .left .img {
    width: 100%;
  }

  main.company .section3 .child .list > ul > li .upper .right {
    margin-left: 30px;
  }

  main.company .section3 .child .list > ul > li .upper .right .branch_tit {
    font-size: 4rem;
  }

  main.company .section3 .child .list > ul > li .upper .right .branch_tit span {
    font-size: 2.4rem;
  }

  main.company .section3 .child .list > ul > li .upper .right .leader {
    margin-top: 16px;
    font-size: 2.4rem;
  }

  main.company .section3 .child .list > ul > li .upper .right .leader span {
    font-size: 2rem;
  }

  main.company .section3 .child .list > ul > li .lower ul {
    margin-top: 20px;
  }

  main.company .section3 .child .list > ul > li .lower ul li {
    font-size: 2.2rem;
    margin-top: 14px;
  }

  main.company .section3 .child .list > ul > li .lower ul li .tit {
    width: 19.1%;
  }

  main.company .section3 .child .list > ul > li .lower ul li .txt {
    width: 79%;
  }

  main.company .section3 .child .list > ul > li .lower .btn {
    font-size: 2.2rem;
    margin-top: 24px;
  }

  main.company .section3 .child .list > ul > li .lower .btn a {
    padding: 18px 70px 16px 34px;
  }

  main.company .section3 .child .list > ul > li .lower .btn a:after {
    width: 14px;
    height: 16px;
    right: 32px;
    top: 20px;
  }

  main.company .section3 .child .list > ul > li:first-child {
    flex-direction: column;
  }

  main.company .section3 .child .list > ul > li:first-child .upper {
    width: 100%;
  }

  main.company .section3 .child .list > ul > li:first-child .upper .img {
    width: 100%;
  }

  main.company .section3 .child .list > ul > li:first-child .lower {
    width: 100%;
    padding-left: 0;
    padding-top: 28px;
  }

  main.company .section3 .child .list > ul > li:first-child .lower ul {
    margin-top: 28px;
  }

  main.company .section3 .child .list > ul > li:first-child .lower ul li {
    margin-top: 12px;
  }

  main.company .section3 .child .list > ul > li:first-child .lower .branch_tit {
    font-size: 5rem;
  }

  main.company .section3 .child .list > ul > li:first-child .lower .branch_tit span {
    font-size: 4.5rem;
    margin-left: 10px;
  }
}

@media screen and (max-width: 559px) {
  main.company .main_visual {
    height: 667px;
  }

  main.company .main_visual h1 {
    top: 162px;
  }

  main.company .main_visual .img {
    top: 175px;
    height: 187px;
  }

  main.company .main_visual .child {
    top: 125px;
  }

  main.company .main_visual .child .cont {
    padding-bottom: 50px;
    padding-top: 234px;
  }

  main.company .main_visual .child .cont .chunk {
    margin-top: 31px;
  }

  main.company .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 1.5rem;
  }

  main.company .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 26px;
  }

  main.company .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 1.2rem;
  }

  main.company .main_visual .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 15px;
  }

  main.company .main_visual .child .cont .chunk ul {
    margin-top: 23px;
    padding-left: 24px;
  }

  main.company .main_visual .child .cont .chunk ul li {
    font-size: 1.6rem;
    margin-top: 11px;
  }

  main.company .main_visual .child .cont .chunk ul li span {
    font-size: 1rem;
    top: -2px;
    margin-right: 10px;
  }

  main.company > section .child h3 span:first-child {
    font-size: 1.5rem;
  }

  main.company > section .child h3 span:first-child:after {
    top: -3px;
  }

  main.company > section .child h3 span:nth-child(2) {
    font-size: 2.75rem;
  }

  main.company > section .child h3 span:nth-child(3) {
    font-size: 1.2rem;
  }

  main.company .section1 .child .img {
    top: 403px;
    height: 140px;
  }

  main.company .section1 .child .cont {
    padding-top: 656px;
  }

  main.company .section1 .child .cont .tit span:first-child {
    font-size: 1.1rem;
  }

  main.company .section1 .child .cont .tit span:nth-child(2) {
    font-size: 1.75rem;
    margin-left: 100px;
  }

  main.company .section1 .child .cont .tit span:nth-child(3) {
    font-size: 1.2rem;
    margin-top: 3px;
    margin-left: 100px;
  }

  main.company .section1 .child .cont .txt {
    margin-top: 19px;
    font-size: 1.1rem;
  }

  main.company .section1 .child .cont .txt span {
    font-size: 1.0rem;
  }

  main.company .section1 .child .cont1,
  main.company .section1 .child .cont2,
  main.company .section1 .child .cont3,
  main.company .section1 .child .cont4 {
    margin-top: -35px;
  }

  main.company .section1 .child .cont2 {
    margin-top: 30px;
  }

  main.company .section1 .child .cont .txt,
  main.company .section1 .child .cont2 .txt,
  main.company .section1 .child .cont3 .txt,
  main.company .section1 .child .cont4 .txt {
    margin-top: 19px;
    font-size: 1.1rem;
  }

  main.company .section1 .child .cont4 {
    padding-bottom: 39px;
  }

  main.company .section1 .child .cont4 .txt {
    padding: 14px 19px;
  }

  main.company .section1 .child h2 {
    margin-top: 500px;
  }

  main.company .section1 .child h2 .sub_tit {
    font-size: 1.2rem;
  }

  main.company .section1 .child h3 {
    margin-top: 422px;
  }

  main.company .section2 .child h3 {
    margin-top: 49.5px;
  }

  main.company .section2 .child .txt {
    font-size: 1.1rem;
    margin-top: 19px;
  }

  main.company .section2 .child .slide {
    top: 268px;
  }

  main.company .section2 .child .slide .imgs {
    height: 240px;
  }

  main.company .section2 .child .slide .imgs img {
    width: 320px;
  }

  main.company .section2 .child .slide .slide_nav .prev,
  main.company .section2 .child .slide .slide_nav .next {
    width: 42px;
    height: 45px;
  }

  main.company .section2 .child .slide .slide_nav .prev:before,
  main.company .section2 .child .slide .slide_nav .next:before {
    width: 10px;
    height: 10px;
    top: -13px;
  }

  main.company .section3 {
    margin-top: 412px;
  }

  main.company .section3 .child {
    padding-top: 145px;
  }

  main.company .section3 .child .list > ul {
    margin: 81px auto 88px;
    padding: 0 8% 38px;
  }

  main.company .section3 .child .list > ul > li {
    margin-top: 34px;
  }

  main.company .section3 .child .list > ul > li .upper .right {
    margin-left: 15px;
  }

  main.company .section3 .child .list > ul > li .upper .right .branch_tit {
    font-size: 2.0rem;
  }

  main.company .section3 .child .list > ul > li .upper .right .branch_tit span {
    font-size: 1.2rem;
  }

  main.company .section3 .child .list > ul > li .upper .right .leader {
    margin-top: 8px;
    font-size: 1.2rem;
  }

  main.company .section3 .child .list > ul > li .upper .right .leader span {
    font-size: 1.0rem;
  }

  main.company .section3 .child .list > ul > li .lower ul {
    margin-top: 10px;
  }

  main.company .section3 .child .list > ul > li .lower ul li {
    font-size: 1.1rem;
    margin-top: 7px;
  }

  main.company .section3 .child .list > ul > li .lower .btn {
    font-size: 1.1rem;
    margin-top: 12px;
  }

  main.company .section3 .child .list > ul > li .lower .btn a {
    padding: 9px 35px 8px 17px;
  }

  main.company .section3 .child .list > ul > li .lower .btn a:after {
    width: 7px;
    height: 8px;
    right: 16px;
    top: 10px;
  }

  main.company .section3 .child .list > ul > li:first-child .lower {
    padding-top: 14px;
  }

  main.company .section3 .child .list > ul > li:first-child .lower ul {
    margin-top: 14px;
  }

  main.company .section3 .child .list > ul > li:first-child .lower ul li {
    margin-top: 6px;
  }

  main.company .section3 .child .list > ul > li:first-child .lower .branch_tit {
    font-size: 2.5rem;
  }

  main.company .section3 .child .list > ul > li:first-child .lower .branch_tit span {
    font-size: 2.25rem;
  }
}
/*
z-index

 */

main.service {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.service .main_visual {
  width: 100%;
  max-width: 1800px;
  height: 910px;
  position: relative;
  z-index: 10;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
  opacity: 1;
}

main.service .main_visual.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.service .main_visual h1 {
  position: absolute;
  font-size: 8.5vw;
  font-weight: 500;
  color: #0022ff;
  left: 8.2%;
  letter-spacing: -0.021em;
  line-height: 0.95;
  z-index: 104;
  pointer-events: none;
  top: 340px;
}

main.service .main_visual h1 span {
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1;
}

main.service .main_visual .img {
  position: absolute;
  top: 386px;
  right: 60px;
  width: 42.3%;
}

main.service .main_visual .img img {
  width: 100%;
}

main.service .main_visual .child {
  top: 240px;
  position: absolute;
  left: 0%;
  width: 72.3%;
  height: 60%;
}

main.service .main_visual .child .cont {
  background-color: #fff;
  padding-top: 387px;
  margin-left: 0;
  padding-bottom: 127px;
}

main.service .main_visual .child .cont .chunk {
  margin-left: 11.5%;
}

main.service .main_visual .child .cont .chunk h3 {
  font-weight: 400;
}

main.service .main_visual .child .cont .chunk h3 span:first-child {
  font-size: 2.8rem;
  color: #ff7000;
}

main.service .main_visual .child .cont .chunk h3 span:first-child:after {
  content: "";
  height: 1px;
  width: 39px;
  background-color: #c4c4c4;
  display: inline-block;
  position: relative;
  top: -4px;
  margin-left: 13px;
  margin-right: 13px;
}

main.service .main_visual .child .cont .chunk h3 span:nth-child(2) {
  font-size: 1.8rem;
}

main.service .main_visual .child .cont .chunk .txt {
  position: relative;
  left: 0;
  top: 0;
  color: #6c6c6c;
  font-size: 1.4rem;
  margin-top: 40px;
  line-height: 2;
  width: 51%;
}

main.service .main_visual .child .cont .chunk ul {
  margin-top: 62px;
  margin-left: 70px;
  padding-left: 52px;
  border-left: 2px solid #e0ddda;
}

main.service .main_visual .child .cont .chunk ul li {
  font-size: 2.2rem;
  margin-top: 17px;
  cursor: pointer;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.service .main_visual .child .cont .chunk ul li:hover {
  opacity: 0.5;
}

main.service .main_visual .child .cont .chunk ul li span {
  color: #ff7000;
  margin-right: 9px;
  font-size: 1.2rem;
  position: relative;
  top: -3px;
}

main.service > section {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

main.service > section .child {
  position: relative;
}

main.service > section .child h3 {
  color: #000;
  font-weight: 400;
  position: absolute;
}

main.service > section .child h3 span {
  display: block;
}

main.service > section .child h3 span:first-child {
  color: #ff7000;
  font-size: 2.5rem;
}

main.service > section .child h3 span:nth-child(2) {
  font-size: 4.8rem;
}

main.service > section .child h3 span:nth-child(3) {
  margin-top: 6px;
  font-size: 1.5rem;
}

main.service > section .child .cont .chunk {
  width: 95%;
}

main.service > section .child .cont .chunk .strength > .tit {
  font-size: 1.8rem;
  font-weight: 600;
  margin-top: 68px;
  padding-bottom: 10px;
  border-bottom: 1px solid #cccccc;
}

main.service > section .child .cont .chunk .strength ul li {
  margin-top: 20px;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 148px auto;
  align-items: center;
}

main.service > section .child .cont .chunk .strength ul li:first-child {
  margin-top: 40px;
}

main.service > section .child .cont .chunk .strength ul li .img {
  padding-top: 22px;
  margin-left: 6px;
  margin-right: 38px;
  grid-row: 1 / 3;
  grid-column: 1;
  margin-top: 0;
}

main.service > section .child .cont .chunk .strength ul li .img img {
  width: 105px;
  height: auto;
}

main.service > section .child .cont .chunk .strength ul li .inner {
  margin-top: 9px;
  grid-row: 1;
  grid-column: 2;
}

main.service > section .child .cont .chunk .strength ul li .inner .num {
  font-size: 2.2rem;
  color: #ff7000;
}

main.service > section .child .cont .chunk .strength ul li .inner .tit {
  color: #0022ff;
  font-size: 3.5rem;
  margin-top: 5px;
  letter-spacing: -0.02em;
}

main.service > section .child .cont .chunk .strength ul li .inner2 {
  grid-row: 2;
  grid-column: 2;
}

main.service > section .child .cont .chunk .strength ul li .inner2 .txt {
  margin-top: 4px;
  letter-spacing: -0.019em;
}

main.service .section1 {
  margin-top: -35px;
  background-color: #0022ff;
}

main.service .section1 .child {
  position: relative;
  padding-top: 155px;
}

main.service .section1 .child h2 {
  color: #000000;
  opacity: .15;
  font-weight: 500;
  letter-spacing: -3.2px;
  position: absolute;
  font-size: 20.0rem;
  bottom: 0;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  overflow: hidden;
  line-height: 1;
  height: 141px;
  white-space: nowrap;
}

main.service .section1 .child .cont h3 {
  margin-top: 305px;
  left: 13%;
  color: #fff;
}

main.service .section1 .child .cont .txt {
  position: relative;
  padding-top: 337px;
  color: #fff;
  left: 39.5%;
  font-size: 1.5rem;
  width: 48%;
  line-height: 2;
}

main.service .section1 .child .way {
  color: #fff;
  font-size: 1.8rem;
  display: flex;
  font-weight: 600;
  left: 39.6%;
  position: relative;
  margin-top: 78px;
  padding-bottom: 202px;
}

main.service .section1 .child .way div {
  padding-right: 44px;
  border-right: 1px solid #788aff;
}

main.service .section1 .child .way ul {
  margin-left: 47px;
}

main.service .section1 .child .way ul li {
  font-size: 3.8rem;
  margin-bottom: 41px;
}

main.service .section1 .child .way ul li:last-child {
  margin-bottom: 0;
}

main.service .section1 .child .way ul li strong {
  background-color: rgba(0, 0, 0, 0.3);
}

main.service .section1 .child .way ul li span {
  color: #ff7000;
  font-size: 2.2rem;
  font-weight: 400;
  position: relative;
  top: -10px;
}

main.service .section1 .child .way ul li span:after {
  content: "";
  background-color: #788aff;
  width: 41px;
  height: 1px;
  display: inline-block;
  position: relative;
  margin-left: 15px;
  top: -6px;
}

main.service .section1 .child .box {
  top: 139px;
  left: 46.9%;
  height: 60px;
  width: 10%;
  z-index: 10;
}

main.service .section1 .child .box .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 30px);
}

main.service .section1 .child .box .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 30px);
}

main.service .section1 .child .box .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 30px);
}

main.service .section1 .child .box .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 30px);
}

main.service .section1 .child .box_second {
  top: 1010px;
  left: 4.1%;
  height: 119px;
  width: 46px;
}

main.service .section1 .child .box_second .box1 {
  transform: rotateY(90deg) translate3d(0, 0, 23px);
}

main.service .section1 .child .box_second .box2 {
  transform: rotateY(0deg) translate3d(0, 0, 23px);
}

main.service .section1 .child .box_second .box3 {
  transform: rotateY(-90deg) translate3d(0, 0, 23px);
}

main.service .section1 .child .box_second .box4 {
  transform: rotateY(180deg) translate3d(0, 0, 23px);
}

main.service .section2 {
  background-color: #ffffff;
}

main.service .section2 .child {
  padding-top: 100px;
  padding-bottom: 20px;
}

main.service .section2 .child h2 {
  top: 197px;
  left: 39.4%;
  color: #ff6600;
  font-size: 9.0rem;
  font-weight: 500;
  letter-spacing: -1.1px;
  position: absolute;
}

main.service .section2 .child h2 .sub_tit {
  color: #000;
  font-size: 3.0rem;
  margin-top: -16px;
  margin-bottom: 16px;
}

main.service .section2 .child h3 {
  top: 198px;
  left: 13.1%;
}

main.service .section2 .child .cont {
  left: 39.5%;
  width: 47%;
  padding-top: 600px;
  position: relative;
}

main.service .section2 .child .cont .chunk .tit {
  font-size: 1.8rem;
  font-weight: 600;
}

main.service .section2 .child .cont .chunk .txt {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.1;
  margin-top: 15px;
}

main.service .section2 .child .box {
  top: 922px;
  left: 25.1%;
  height: 148px;
  width: 18px;
}

main.service .section2 .child .box .box1 {
  transform: rotateY(90deg) translate3d(0, 0, 9px);
}

main.service .section2 .child .box .box2 {
  transform: rotateY(0deg) translate3d(0, 0, 9px);
}

main.service .section2 .child .box .box3 {
  transform: rotateY(-90deg) translate3d(0, 0, 9px);
}

main.service .section2 .child .box .box4 {
  transform: rotateY(180deg) translate3d(0, 0, 9px);
}

main.service .section3 {
  background-color: #f6f6f6;
}

main.service .section3 .child {
  padding-top: 240px;
  padding-bottom: 4px;
}

main.service .section3 .child h2 {
  top: 0;
  color: #ff7000;
  font-size: 9.0rem;
  font-weight: 500;
  letter-spacing: -1.1px;
  position: relative;
  margin-top: -41px;
  left: 39.5%;
}

main.service .section3 .child h2 .sub_tit {
  color: #000;
  font-size: 3.0rem;
  margin-top: -13px;
  margin-bottom: 16px;
}

main.service .section3 .child h3 {
  top: 0;
  margin-top: 197px;
  left: 13.2%;
}

main.service .section3 .child .cont {
  left: 39.6%;
  width: 50%;
  position: relative;
  margin-top: 86px;
  position: relative;
}

main.service .section3 .child .cont .chunk .tit {
  font-size: 1.8rem;
  font-weight: 600;
}

main.service .section3 .child .cont .chunk .tit.big {
  font-size: 3.0rem;
  font-weight: 400;
}

main.service .section3 .child .cont .chunk .txt {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 7px;
  line-height: 2.1;
}

main.service .section3 .child .cont .chunk .txt1 {
  padding-bottom: 9px;
  border-bottom: 1px solid #cccccc;
}

main.service .section3 .child .cont .chunk .txt2 {
  margin-top: 13px;
}

main.service .section3 .child .cont .chunk .img {
  margin-top: 40px;
}

main.service .section3 .child .cont .chunk .img img {
  height: 390px;
}

main.service .section3 .child .cont .chunk .ui {
  margin-top: 22px;
  margin-bottom: 78px;
  position: relative;
}

main.service .section3 .child .cont .chunk .ui:before {
  content: "";
  width: 340px;
  height: 2px;
  background-color: #d8d5d4;
  position: absolute;
  display: inline-block;
  top: 35px;
  pointer-events: none;
}

main.service .section3 .child .cont .chunk .ui img {
  width: 70px;
  position: relative;
  z-index: 1;
  -webkit-user-drag: none;
  cursor: pointer;
}

main.service .section3 .child .cont .chunk .strength .tit {
  margin-top: 60px;
}

main.service .section3 .child .cont .chunk .strength ul li .img {
  padding-top: 0;
}

main.service .section3 .child .box {
  top: 1578px;
  left: 8.4%;
  height: 66px;
  width: 8.2%;
}

main.service .section3 .child .box .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 33px);
}

main.service .section3 .child .box .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 33px);
}

main.service .section3 .child .box .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 33px);
}

main.service .section3 .child .box .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 33px);
}

main.service .section4 {
  background-color: #ffffff;
}

main.service .section4 .child {
  padding-top: 240px;
  padding-bottom: 10px;
}

main.service .section4 .child h2 {
  top: 0;
  color: #ff7000;
  font-size: 9.0rem;
  font-weight: 500;
  letter-spacing: -1.1px;
  position: relative;
  margin-top: -43px;
  left: 39.5%;
}

main.service .section4 .child h2 .sub_tit {
  color: #000;
  font-size: 3.0rem;
  margin-top: -16px;
  margin-bottom: 16px;
}

main.service .section4 .child h3 {
  top: 0;
  margin-top: 193px;
  left: 13.2%;
}

main.service .section4 .child .cont {
  left: 39.6%;
  width: 50%;
  position: relative;
  margin-top: 73px;
  position: relative;
}

main.service .section4 .child .cont .chunk .tit {
  font-size: 1.8rem;
  font-weight: 600;
  padding-top: 2px;
}

main.service .section4 .child .cont .chunk .txt {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 13px;
  line-height: 2.1;
}

main.service .section4 .child .box {
  top: 1104px;
  left: 16.1%;
  height: 118px;
  width: 28px;
}

main.service .section4 .child .box .box1 {
  transform: rotateY(90deg) translate3d(0, 0, 14px);
}

main.service .section4 .child .box .box2 {
  transform: rotateY(0deg) translate3d(0, 0, 14px);
}

main.service .section4 .child .box .box3 {
  transform: rotateY(-90deg) translate3d(0, 0, 14px);
}

main.service .section4 .child .box .box4 {
  transform: rotateY(180deg) translate3d(0, 0, 14px);
}

main.service .section5 {
  background-color: #f6f6f6;
}

main.service .section5 .child {
  padding-top: 246px;
  padding-bottom: 26px;
}

main.service .section5 .child h2 {
  top: 0;
  color: #ff7000;
  font-size: 9.0rem;
  font-weight: 500;
  letter-spacing: -1.1px;
  position: relative;
  margin-top: -43px;
  left: 39.5%;
}

main.service .section5 .child h2 .sub_tit {
  color: #000;
  font-size: 3.0rem;
  margin-top: -13px;
  margin-bottom: 16px;
}

main.service .section5 .child h3 {
  top: 0;
  margin-top: 201px;
  left: 13.2%;
}

main.service .section5 .child .cont {
  left: 39.6%;
  width: 50%;
  position: relative;
  margin-top: 83px;
  position: relative;
}

main.service .section5 .child .cont .chunk .tit {
  font-size: 1.8rem;
  font-weight: 600;
  padding-top: 2px;
}

main.service .section5 .child .cont .chunk .txt {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 11px;
  line-height: 2.1;
}

main.service .section5 .child .cont .chunk .img {
  margin-top: 40px;
}

main.service .section5 .child .cont .chunk .img img {
  height: 329px;
}

main.service .section5 .child .cont .chunk .strength .tit {
  margin-top: 73px;
}

main.service .section5 .child .cont .chunk .strength ul li .img {
  padding-top: 0;
}

main.service .section5 .child .box {
  top: 1039px;
  left: 8.4%;
  height: 66px;
  width: 8.2%;
}

main.service .section5 .child .box .box1 {
  transform: rotateX(90deg) translate3d(0, 0, 33px);
}

main.service .section5 .child .box .box2 {
  transform: rotateX(0deg) translate3d(0, 0, 33px);
}

main.service .section5 .child .box .box3 {
  transform: rotateX(-90deg) translate3d(0, 0, 33px);
}

main.service .section5 .child .box .box4 {
  transform: rotateX(180deg) translate3d(0, 0, 33px);
}

@media screen and (min-width: 1024px) and (max-width: 1350px) {
  main.service > section .child h2 {
    font-size: 7.1rem !important;
  }

  main.service .section1 .child h2 {
    font-size: 20.0rem !important;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1150px) {
  main.service .section1 .child h3 span:nth-child(2) {
    font-size: 3.5rem;
  }

  main.service .section1 .child .cont .txt {
    left: 34.5%;
  }

  main.service .section1 .child .way {
    left: 34.6%;
  }
}

@media screen and (max-width: 1023px) {
  main.service .main_visual {
    height: 1370px;
  }

  main.service .main_visual h1 {
    font-size: 13vw;
    left: 6.5%;
    top: 327px;
    letter-spacing: -0.039em;
    line-height: 0.94;
    white-space: nowrap;
  }

  main.service .main_visual .img {
    top: 370px;
    width: 53.5%;
    height: 400px;
    right: 0;
    overflow: hidden;
  }

  main.service .main_visual .img img {
    width: 100%;
    position: relative;
    top: 50%;
    transform: translate3d(0, -50%, 0);
  }

  main.service .main_visual .child {
    top: 250px;
    left: 0%;
    width: 93.2%;
  }

  main.service .main_visual .child .cont {
    margin-left: 0;
    padding-top: 580px;
    padding-bottom: 82px;
  }

  main.service .main_visual .child .cont .chunk {
    left: 2.8%;
    position: relative;
  }

  main.service .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 3.0rem;
  }

  main.service .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 52px;
    top: -7px;
    margin-left: 12px;
    margin-right: 12px;
  }

  main.service .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 2.4rem;
  }

  main.service .main_visual .child .cont .chunk .txt {
    font-size: 2.2rem;
    margin-top: 34px;
    line-height: 1.95;
    width: 83%;
  }

  main.service .main_visual .child .cont .chunk ul {
    margin-top: 46px;
    margin-left: 0px;
    padding-left: 48px;
    border-left: 1px solid #e0ddda;
  }

  main.service .main_visual .child .cont .chunk ul li {
    font-size: 3.2rem;
    margin-top: 24px;
  }

  main.service .main_visual .child .cont .chunk ul li span {
    font-size: 2rem;
    top: -4px;
    margin-right: 19px;
  }

  main.service .main_visual .box {
    top: 640px;
    left: 33.4%;
    height: 50px;
    width: 17%;
  }

  main.service .main_visual .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 25px);
  }

  main.service .main_visual .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 25px);
  }

  main.service .main_visual .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 25px);
  }

  main.service .main_visual .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 25px);
  }

  main.service > section .child h3 span:first-child {
    font-size: 3.0rem;
  }

  main.service > section .child h3 span:first-child:after {
    width: 26px;
    top: -3px;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.service > section .child h3 span:nth-child(2) {
    font-size: 5.5rem;
  }

  main.service > section .child h3 span:nth-child(3) {
    font-size: 2.4rem;
  }

  main.service > section .child .cont .chunk .strength > .tit {
    font-size: 2.8rem;
    margin-top: 52px;
    padding-bottom: 10px;
    border-bottom-width: 2px;
  }

  main.service > section .child .cont .chunk .strength ul li {
    grid-template-columns: 29% 1fr;
    margin-top: 36px;
  }

  main.service > section .child .cont .chunk .strength ul li:first-child {
    margin-top: 50px;
  }

  main.service > section .child .cont .chunk .strength ul li .img {
    margin-left: 0;
    padding-top: 0;
    width: 90%;
    margin-right: 0;
    grid-row: 1;
    grid-column: 1;
  }

  main.service > section .child .cont .chunk .strength ul li .img img {
    width: 100%;
  }

  main.service > section .child .cont .chunk .strength ul li .inner {
    padding-left: 7.6%;
    margin-top: 0px;
    grid-row: 1;
    grid-column: 2;
  }

  main.service > section .child .cont .chunk .strength ul li .inner .num {
    font-size: 3.0rem;
  }

  main.service > section .child .cont .chunk .strength ul li .inner .tit {
    font-size: 4.0rem;
    margin-top: 0px;
    line-height: 1.2;
  }

  main.service > section .child .cont .chunk .strength ul li .inner2 {
    margin-top: 7px;
    grid-row: 2;
    grid-column: 1 / 3;
  }

  main.service > section .child .cont .chunk .strength ul li .inner2 .txt {
    margin-top: 8px;
  }

  main.service .section1 {
    margin-top: -640px;
  }

  main.service .section1 .child {
    padding-top: 631px;
  }

  main.service .section1 .child h2 {
    letter-spacing: -1.5px;
    font-size: 11.8rem;
    height: 84px;
  }

  main.service .section1 .child .cont h3 {
    left: 6%;
    margin-top: 245px;
  }

  main.service .section1 .child .cont h3 span:nth-child(3) {
    margin-top: 3px;
  }

  main.service .section1 .child .cont .txt {
    font-size: 2.2rem;
    width: 87%;
    left: 7%;
    padding-top: 406px;
    line-height: 1.95;
  }

  main.service .section1 .child .way {
    left: 13.6%;
    margin-top: 54px;
    padding-bottom: 25px;
    font-size: 2.6rem;
    flex-direction: column;
  }

  main.service .section1 .child .way ul {
    margin-left: 0px;
    margin-top: 66px;
  }

  main.service .section1 .child .way ul li {
    font-size: 5rem;
    margin-bottom: 39px;
  }

  main.service .section1 .child .way ul li span {
    font-size: 2.6rem;
    top: -8px;
  }

  main.service .section1 .child .way ul li span:after {
    width: 60px;
    margin-left: 16px;
    top: -7px;
    height: 2px;
  }

  main.service .section1 .child .box {
    top: -54px;
    left: 33.3%;
    height: 40px;
    width: 127px;
    position: absolute;
  }

  main.service .section1 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 20px);
  }

  main.service .section1 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 20px);
  }

  main.service .section1 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 20px);
  }

  main.service .section1 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 20px);
  }

  main.service .section1 .child .box_second {
    top: 100px;
    left: 86.7%;
    height: 116px;
    width: 40px;
    position: relative;
  }

  main.service .section1 .child .box_second .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 20px);
  }

  main.service .section1 .child .box_second .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 20px);
  }

  main.service .section1 .child .box_second .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 20px);
  }

  main.service .section1 .child .box_second .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 20px);
  }

  main.service .section2 .child {
    padding-bottom: 0px;
    margin-bottom: -140px;
  }

  main.service .section2 .child h2 {
    font-size: 10rem;
    letter-spacing: -1.2px;
    left: 6%;
    top: 366px;
    line-height: 1.15;
  }

  main.service .section2 .child h2 .item:nth-of-type(3) {
    line-height: 1;
  }

  main.service .section2 .child h2 .item:nth-of-type(3) .sub_tit {
    margin-top: -15px;
  }

  main.service .section2 .child h2 .sub_tit {
    font-size: 4.5rem;
    margin-top: -32px;
    margin-bottom: 24px;
  }

  main.service .section2 .child h3 {
    top: 179px;
    left: 6.1%;
  }

  main.service .section2 .child h3 span:nth-child(3) {
    margin-top: 4px;
  }

  main.service .section2 .child .cont {
    left: 13.5%;
    width: 76.5%;
    padding-top: 883px;
  }

  main.service .section2 .child .cont .chunk .tit {
    font-size: 2.8rem;
    line-height: 1.5;
  }

  main.service .section2 .child .cont .chunk .txt {
    font-size: 2.2rem;
    line-height: 1.95;
    margin-top: 14px;
  }

  main.service .section2 .child .box {
    top: -434px;
    left: 2.8%;
    height: 146px;
    width: 20px;
    position: relative;
  }

  main.service .section2 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 10px);
  }

  main.service .section2 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 10px);
  }

  main.service .section2 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 10px);
  }

  main.service .section2 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 10px);
  }

  main.service .section3 .child {
    padding-top: 430px;
    padding-bottom: 10px;
    margin-bottom: -90px;
  }

  main.service .section3 .child h2 {
    font-size: 10rem;
    letter-spacing: -1.2px;
    left: 6%;
    top: -27px;
    line-height: 1.15;
  }

  main.service .section3 .child h2 .sub_tit {
    font-size: 4.5rem;
    margin-top: -32px;
    margin-bottom: 24px;
  }

  main.service .section3 .child h3 {
    margin-top: 179px;
    left: 6.3%;
  }

  main.service .section3 .child h3 span:nth-child(3) {
    margin-top: 4px;
  }

  main.service .section3 .child .cont {
    left: 13.5%;
    width: 76.5%;
    margin-top: 63px;
  }

  main.service .section3 .child .cont .chunk .tit {
    font-size: 2.8rem;
    line-height: 1.5;
  }

  main.service .section3 .child .cont .chunk .tit.big {
    font-size: 4.0rem;
  }

  main.service .section3 .child .cont .chunk .txt {
    font-size: 2.2rem;
    line-height: 1.95;
    margin-top: -9px;
  }

  main.service .section3 .child .cont .chunk .txt1 {
    padding-bottom: 21px;
  }

  main.service .section3 .child .cont .chunk .txt2 {
    margin-top: 11px;
  }

  main.service .section3 .child .cont .chunk .img {
    margin-top: 43px;
  }

  main.service .section3 .child .cont .chunk .img img {
    height: 572px;
  }

  main.service .section3 .child .cont .chunk .ui {
    margin-top: 52px;
    margin-bottom: 71px;
  }

  main.service .section3 .child .cont .chunk .strength > .tit {
    margin-top: 51px;
  }

  main.service .section3 .child .cont .chunk .strength ul li .img {
    margin-top: 4px;
  }

  main.service .section3 .child .box {
    top: 139px;
    left: 81.4%;
    height: 70px;
    width: 16.2%;
  }

  main.service .section3 .child .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 35px);
  }

  main.service .section3 .child .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 35px);
  }

  main.service .section3 .child .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 35px);
  }

  main.service .section3 .child .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 35px);
  }

  main.service .section4 .child {
    padding-bottom: 8px;
    padding-top: 317px;
  }

  main.service .section4 .child h2 {
    font-size: 10rem;
    letter-spacing: -0.8px;
    left: 6%;
    top: 92px;
  }

  main.service .section4 .child h2 .item {
    line-height: 0.85;
  }

  main.service .section4 .child h2 .sub_tit {
    font-size: 4.5rem;
    margin-top: -8px;
    margin-bottom: 42px;
  }

  main.service .section4 .child h3 {
    margin-top: 176px;
    left: 6.2%;
  }

  main.service .section4 .child h3 span:nth-child(3) {
    margin-top: 4px;
  }

  main.service .section4 .child .cont {
    left: 13.5%;
    width: 76.5%;
    margin-top: 182px;
  }

  main.service .section4 .child .cont .chunk .tit {
    font-size: 2.8rem;
    line-height: 1.5;
  }

  main.service .section4 .child .cont .chunk .txt {
    font-size: 2.2rem;
    line-height: 1.95;
    margin-top: 11px;
  }

  main.service .section4 .child .cont .chunk .strength .tit {
    margin-top: 58px;
  }

  main.service .section4 .child .cont .chunk .strength ul li:first-child {
    margin-top: 24px;
  }

  main.service .section4 .child .box {
    top: 952px;
    left: 93.5%;
    height: 118px;
    width: 28px;
  }

  main.service .section4 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 14px);
  }

  main.service .section4 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 14px);
  }

  main.service .section4 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 14px);
  }

  main.service .section4 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 14px);
  }

  main.service .section5 .child {
    padding-bottom: 0 px;
    padding-top: 360px;
  }

  main.service .section5 .child h2 {
    font-size: 10rem;
    letter-spacing: -0.8px;
    left: 6%;
    top: 48px;
  }

  main.service .section5 .child h2 .item {
    line-height: 0.85;
  }

  main.service .section5 .child h2 .sub_tit {
    font-size: 4.5rem;
    margin-top: -8px;
    margin-bottom: 32px;
  }

  main.service .section5 .child h3 {
    margin-top: 177px;
    left: 6.2%;
  }

  main.service .section5 .child h3 span:nth-child(3) {
    margin-top: 4px;
  }

  main.service .section5 .child .cont {
    left: 13.5%;
    width: 76.5%;
    margin-top: 127px;
  }

  main.service .section5 .child .cont .chunk .tit {
    font-size: 2.8rem;
    line-height: 1.5;
  }

  main.service .section5 .child .cont .chunk .txt {
    font-size: 2.2rem;
    line-height: 1.95;
    margin-top: 11px;
  }

  main.service .section5 .child .cont .chunk .strength .tit {
    margin-top: 60px;
  }

  main.service .section5 .child .cont .chunk .strength ul li:first-child {
    margin-top: 47px;
  }

  main.service .section5 .child .cont .chunk .strength ul li .img {
    margin-top: 0;
  }

  main.service .section5 .child .box {
    top: 236px;
    left: 81.3%;
    height: 69px;
    width: 119px;
  }

  main.service .section5 .child .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 35px);
  }

  main.service .section5 .child .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 35px);
  }

  main.service .section5 .child .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 35px);
  }

  main.service .section5 .child .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 35px);
  }
}

@media screen and (max-width: 559px) {
  main.service .main_visual {
    height: 685px;
  }

  main.service .main_visual h1 {
    top: 163px;
  }

  main.service .main_visual .img {
    top: 185px;
    height: 200px;
  }

  main.service .main_visual .child {
    top: 125px;
  }

  main.service .main_visual .child .cont {
    padding-top: 291px;
    padding-bottom: 41px;
  }

  main.service .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 1.5rem;
  }

  main.service .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 26px;
    top: -3px;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.service .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 1.2rem;
  }

  main.service .main_visual .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 17px;
  }

  main.service .main_visual .child .cont .chunk ul {
    margin-top: 23px;
    padding-left: 24px;
  }

  main.service .main_visual .child .cont .chunk ul li {
    font-size: 1.6rem;
    margin-top: 12px;
  }

  main.service .main_visual .child .cont .chunk ul li span {
    font-size: 1rem;
    top: -2px;
    margin-right: 10px;
  }

  main.service .main_visual .box {
    top: 320px;
    height: 25px;
  }

  main.service .main_visual .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 12.5px);
  }

  main.service .main_visual .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 12.5px);
  }

  main.service .main_visual .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 12.5px);
  }

  main.service .main_visual .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 12.5px);
  }

  main.service > section .child h3 span:first-child {
    font-size: 1.5rem;
  }

  main.service > section .child h3 span:nth-child(2) {
    font-size: 2.75rem;
  }

  main.service > section .child h3 span:nth-child(3) {
    font-size: 1.2rem;
  }

  main.service > section .child .cont .chunk .strength > .tit {
    font-size: 1.4rem;
    margin-top: 28px;
    padding-bottom: 5px;
  }

  main.service > section .child .cont .chunk .strength ul li {
    margin-top: 14px;
  }

  main.service > section .child .cont .chunk .strength ul li:first-child {
    margin-top: 25px;
  }

  main.service > section .child .cont .chunk .strength ul li .img {
    margin-left: 0;
    padding-top: 0;
    width: 95%;
    margin-right: 0;
    grid-row: 1;
    grid-column: 1;
  }

  main.service > section .child .cont .chunk .strength ul li .img img {
    width: 100%;
  }

  main.service > section .child .cont .chunk .strength ul li .inner {
    padding-left: 7.6%;
    margin-top: 0px;
    grid-row: 1;
    grid-column: 2;
  }

  main.service > section .child .cont .chunk .strength ul li .inner .num {
    font-size: 1.5rem;
  }

  main.service > section .child .cont .chunk .strength ul li .inner .tit {
    font-size: 2.0rem;
    margin-top: 0px;
    line-height: 1.2;
  }

  main.service > section .child .cont .chunk .strength ul li .inner2 {
    grid-row: 2;
    grid-column: 1 / 3;
    margin-top: 0;
  }

  main.service > section .child .cont .chunk .strength ul li .inner2 .txt {
    margin-top: 8px;
  }

  main.service .section1 {
    margin-top: -320px;
  }

  main.service .section1 .child {
    padding-top: 317px;
  }

  main.service .section1 .child h2 {
    font-size: 5.9rem;
    margin-top: 480px;
    height: 42px;
  }

  main.service .section1 .child .cont h3 {
    margin-top: 123px;
  }

  main.service .section1 .child .cont h3 span:nth-child(3) {
    margin-top: 2px;
  }

  main.service .section1 .child .cont .txt {
    font-size: 1.1rem;
    padding-top: 203px;
    line-height: 1.95;
  }

  main.service .section1 .child .way {
    margin-top: 27px;
    padding-bottom: 13px;
    font-size: 1.3rem;
  }

  main.service .section1 .child .way ul {
    margin-top: 33px;
  }

  main.service .section1 .child .way ul li {
    font-size: 2.5rem;
    margin-bottom: 19px;
  }

  main.service .section1 .child .way ul li span {
    font-size: 1.3rem;
    top: -4px;
  }

  main.service .section1 .child .way ul li span:after {
    width: 30px;
    margin-left: 8px;
    top: -4px;
    height: 1px;
  }

  main.service .section1 .child .box {
    top: -27px;
    height: 20px;
    width: 63px;
  }

  main.service .section1 .child .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 10px);
  }

  main.service .section1 .child .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 10px);
  }

  main.service .section1 .child .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 10px);
  }

  main.service .section1 .child .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 10px);
  }

  main.service .section1 .child .box_second {
    top: 50px;
    height: 58px;
    width: 20px;
    position: relative;
  }

  main.service .section1 .child .box_second .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 10px);
  }

  main.service .section1 .child .box_second .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 10px);
  }

  main.service .section1 .child .box_second .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 10px);
  }

  main.service .section1 .child .box_second .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 10px);
  }

  main.service .section2 .child {
    padding-bottom: 0px;
    padding-top: 90px;
  }

  main.service .section2 .child h2 {
    font-size: 5.0rem;
    top: 183px;
  }

  main.service .section2 .child h2 .item:nth-of-type(3) .sub_tit {
    margin-top: -7.5px;
  }

  main.service .section2 .child h2 .sub_tit {
    font-size: 2.25rem;
    margin-top: -16px;
    margin-bottom: 12px;
  }

  main.service .section2 .child h3 {
    top: 88px;
  }

  main.service .section2 .child h3 span:nth-child(3) {
    margin-top: 2px;
  }

  main.service .section2 .child .cont {
    padding-top: 402px;
  }

  main.service .section2 .child .cont .chunk .tit {
    font-size: 1.4rem;
  }

  main.service .section2 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 7px;
  }

  main.service .section2 .child .box {
    top: -227px;
    height: 73px;
    width: 10px;
  }

  main.service .section2 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 5px);
  }

  main.service .section2 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 5px);
  }

  main.service .section2 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 5px);
  }

  main.service .section2 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 5px);
  }

  main.service .section3 .child {
    padding-bottom: 5px;
    padding-top: 201px;
  }

  main.service .section3 .child h2 {
    font-size: 5.0rem;
    top: 16px;
  }

  main.service .section3 .child h2 .sub_tit {
    font-size: 2.25rem;
    margin-top: -14px;
    margin-bottom: 13px;
  }

  main.service .section3 .child h3 {
    margin-top: 86px;
  }

  main.service .section3 .child h3 span:nth-child(3) {
    margin-top: 2px;
  }

  main.service .section3 .child .cont {
    margin-top: 62px;
  }

  main.service .section3 .child .cont .chunk .img {
    margin-top: 22px;
  }

  main.service .section3 .child .cont .chunk .img img {
    height: 286px;
  }

  main.service .section3 .child .cont .chunk .ui {
    margin-top: 19px;
  }

  main.service .section3 .child .cont .chunk .ui:before {
    width: 174px;
    height: 1px;
    top: 23px;
  }

  main.service .section3 .child .cont .chunk .ui img {
    width: 48px;
  }

  main.service .section3 .child .cont .chunk .tit {
    font-size: 1.4rem;
  }

  main.service .section3 .child .cont .chunk .tit.big {
    font-size: 2.0rem;
  }

  main.service .section3 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: -5px;
  }

  main.service .section3 .child .cont .chunk .txt1 {
    padding-bottom: 10px;
  }

  main.service .section3 .child .cont .chunk .txt2 {
    margin-top: 5px;
  }

  main.service .section3 .child .cont .chunk .ui {
    margin-bottom: 27px;
  }

  main.service .section3 .child .cont .chunk .strength > .tit {
    margin-top: 27px;
    padding-bottom: 4px;
  }

  main.service .section3 .child .box {
    top: 65px;
    height: 34px;
  }

  main.service .section3 .child .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 17px);
  }

  main.service .section3 .child .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 17px);
  }

  main.service .section3 .child .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 17px);
  }

  main.service .section3 .child .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 17px);
  }

  main.service .section4 .child {
    padding-bottom: 5px;
    padding-top: 200px;
  }

  main.service .section4 .child h2 {
    font-size: 5.0rem;
    top: 32px;
  }

  main.service .section4 .child h2 .sub_tit {
    font-size: 2.25rem;
    margin-top: -5px;
    margin-bottom: 20px;
  }

  main.service .section4 .child h3 {
    margin-top: 90px;
  }

  main.service .section4 .child h3 span:nth-child(3) {
    margin-top: 2px;
  }

  main.service .section4 .child .cont {
    margin-top: 76px;
  }

  main.service .section4 .child .cont .chunk .tit {
    font-size: 1.4rem;
  }

  main.service .section4 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 6px;
  }

  main.service .section4 .child .cont .chunk .strength > .tit {
    margin-top: 28px;
  }

  main.service .section4 .child .cont .chunk .strength ul li:first-child {
    margin-top: 10px;
  }

  main.service .section4 .child .box {
    top: 476px;
    height: 59px;
    width: 14px;
  }

  main.service .section4 .child .box .box1 {
    transform: rotateY(90deg) translate3d(0, 0, 7px);
  }

  main.service .section4 .child .box .box2 {
    transform: rotateY(0deg) translate3d(0, 0, 7px);
  }

  main.service .section4 .child .box .box3 {
    transform: rotateY(-90deg) translate3d(0, 0, 7px);
  }

  main.service .section4 .child .box .box4 {
    transform: rotateY(180deg) translate3d(0, 0, 7px);
  }

  main.service .section5 .child {
    padding-bottom: 0px;
    padding-top: 200px;
  }

  main.service .section5 .child h2 {
    font-size: 5.0rem;
    top: 26px;
  }

  main.service .section5 .child h2 .sub_tit {
    font-size: 2.25rem;
    margin-top: -5px;
    margin-bottom: 20px;
  }

  main.service .section5 .child h3 {
    margin-top: 88px;
  }

  main.service .section5 .child h3 span:nth-child(3) {
    margin-top: 2px;
  }

  main.service .section5 .child .cont {
    margin-top: 59px;
  }

  main.service .section5 .child .cont .chunk .tit {
    font-size: 1.4rem;
  }

  main.service .section5 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 6px;
  }

  main.service .section5 .child .cont .chunk .strength > .tit {
    margin-top: 28px;
  }

  main.service .section5 .child .cont .chunk .strength ul li:first-child {
    margin-top: 10px;
  }

  main.service .section5 .child .box {
    top: 117px;
    height: 34px;
    width: 60px;
  }

  main.service .section5 .child .box .box1 {
    transform: rotateX(90deg) translate3d(0, 0, 17px);
  }

  main.service .section5 .child .box .box2 {
    transform: rotateX(0deg) translate3d(0, 0, 17px);
  }

  main.service .section5 .child .box .box3 {
    transform: rotateX(-90deg) translate3d(0, 0, 17px);
  }

  main.service .section5 .child .box .box4 {
    transform: rotateX(180deg) translate3d(0, 0, 17px);
  }
}
/*
z-index

 */

main.works {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.works .main_visual {
  width: 100%;
  max-width: 1800px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works .main_visual.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works .main_visual #threeDContainer {
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: 103;
  pointer-events: none;
}

main.works .main_visual #threeDContainer .item,
main.works .main_visual #threeDContainer .shadow {
  position: absolute;
  left: 50%;
  transform-origin: center center;
}

main.works .main_visual #threeDContainer .item.item1 {
  margin-top: 486px;
  margin-left: 21vw;
}

main.works .main_visual #threeDContainer .item.item2 {
  margin-top: 221px;
  margin-left: -17vw;
}

main.works .main_visual #threeDContainer .item.item3 {
  margin-top: 371px;
  margin-left: -31vw;
}

main.works .main_visual #threeDContainer .item.item4 {
  margin-top: 209px;
  margin-left: 15.2vw;
}

main.works .main_visual #threeDContainer .item.item5 {
  margin-top: 561px;
  margin-left: 1.6vw;
}

main.works .main_visual #threeDContainer .shadow.item1 {
  margin-top: 513px;
  margin-left: 21.7vw;
}

main.works .main_visual #threeDContainer .shadow.item2 {
  margin-top: 271px;
  margin-left: -15vw;
}

main.works .main_visual #threeDContainer .shadow.item2 img {
  transform: scale(0.7);
}

main.works .main_visual #threeDContainer .shadow.item3 {
  margin-top: 398px;
  margin-left: -30.5vw;
}

main.works .main_visual #threeDContainer .shadow.item4 {
  margin-top: 241px;
  margin-left: 15.2vw;
}

main.works .main_visual #threeDContainer .shadow.item5 {
  margin-top: 600px;
  margin-left: 2.4vw;
}

main.works .main_visual h1 {
  position: absolute;
  font-size: 8.3vw;
  font-weight: 500;
  left: 10.6%;
  letter-spacing: -0.018em;
  line-height: 0.9;
  z-index: 104;
  pointer-events: none;
  top: 342px;
  color: #0022ff;
}

main.works .main_visual h1 span {
  display: inline-block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1;
}

main.works .main_visual .child {
  top: 240px;
  position: absolute;
  left: 25%;
  width: 75%;
}

main.works .main_visual .child .cont {
  width: 66.7%;
  height: 380px;
  background-color: #fff;
  padding-top: 255px;
  padding-bottom: 94px;
  text-align: center;
}

main.works .main_visual .child .cont .chunk h3 {
  font-weight: 400;
}

main.works .main_visual .child .cont .chunk h3 span:first-child {
  font-size: 2.8rem;
  color: #ff7000;
}

main.works .main_visual .child .cont .chunk h3 span:first-child:after {
  content: "";
  height: 1px;
  width: 39px;
  background-color: #c4c4c4;
  display: inline-block;
  position: relative;
  top: -4px;
  margin-left: 13px;
  margin-right: 13px;
}

main.works .main_visual .child .cont .chunk h3 span:nth-child(2) {
  font-size: 1.8rem;
}

main.works .main_visual .child .cont .chunk .txt {
  color: #0022ff;
  position: relative;
  top: 0;
  left: 0;
  font-size: 4.0rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

main.works ul.filter {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  justify-content: center;
  max-width: 980px;
  margin: 8px auto 0;
  padding-top: 720px;
  line-height: 2;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works ul.filter.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works ul.filter li.current {
  color: #ff7000;
}

main.works ul.filter li {
  margin-left: 10px;
  margin-right: 10px;
}

main.works ul.filter li a {
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.works ul.filter li a:hover {
  opacity: 0.5;
}

main.works .works_list {
  margin-top: 47px;
  margin-bottom: 100px;
}

main.works .works_list ul {
  max-width: 1680px;
  margin: 0 60px;
  display: flex;
  flex-wrap: wrap;
}

main.works .works_list ul li {
  width: 48%;
  margin-top: 68px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works .works_list ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works .works_list ul li:nth-child(odd) {
  margin-right: 2%;
}

main.works .works_list ul li:nth-child(even) {
  margin-left: 2%;
}

main.works .works_list ul li a:hover .img img {
  transform: scale(1.15);
  filter: brightness(0.7);
}

main.works .works_list ul li a .img {
  overflow: hidden;
  height: 77.6%;
}

main.works .works_list ul li a .img img {
  width: 100%;
  height: 100%;
  transition: transform 1200ms, filter 1200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  object-fit: cover;
}

main.works .works_list ul li a .tit {
  font-size: 2.5rem;
  margin-top: 37px;
}

main.works .works_list ul li a .cate {
  font-size: 2.0rem;
  color: #999999;
  margin-top: 12px;
}

main.works .pagenation {
  margin: 182px 0 250px;
  position: relative;
}

main.works .pagenation ul,
main.works .pagenation .wp-pagenavi {
  display: flex;
  left: 8.2vw;
  position: relative;
}

main.works .pagenation ul > *,
main.works .pagenation .wp-pagenavi > * {
  font-size: 2.0rem;
  margin-left: 6px;
  margin-right: 22px;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.works .pagenation ul > *:hover,
main.works .pagenation .wp-pagenavi > *:hover {
  opacity: 0.5;
}

main.works .pagenation ul > *.current,
main.works .pagenation .wp-pagenavi > *.current {
  color: #ff7000;
}

main.works .pagenation .wp-pagenavi > * {
  font-family: nimbus-sans, sans-serif;
}

main.works .pagenation .more_btn {
  position: absolute;
  font-size: 2.0rem;
  top: 3px;
  right: 7.8vw;
}

main.works .pagenation .more_btn a {
  padding-bottom: 11px;
}

main.works .pagenation .more_btn a:hover {
  opacity: .5;
}

main.works .pagenation .more_btn a:hover:before {
  animation: line .6s;
}

main.works .pagenation .more_btn a:hover:after {
  animation: arrow8 .6s;
}

main.works .pagenation .more_btn a:before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #000;
  display: inline-block;
  position: absolute;
  top: 31px;
}

main.works .pagenation .more_btn a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_next_black_mini.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 10px;
  height: 12px;
  display: inline-block;
  margin-left: 40px;
}

@media screen and (min-width: 1681px) {
  main.works .works_list ul {
    max-width: 1545px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1023px) {
  main.works .main_visual #threeDContainer .item.item1 {
    margin-top: 454px;
    margin-left: 31vw;
  }

  main.works .main_visual #threeDContainer .item.item2 {
    margin-top: 240px;
    margin-left: -22.4vw;
  }

  main.works .main_visual #threeDContainer .item.item3 {
    margin-top: 437px;
    margin-left: -48vw;
  }

  main.works .main_visual #threeDContainer .item.item4 {
    margin-top: 282px;
    margin-left: 24.9vw;
  }

  main.works .main_visual #threeDContainer .item.item5 {
    margin-top: 548px;
    margin-left: 8.9vw;
  }

  main.works .main_visual #threeDContainer .shadow.item1 {
    margin-top: 480px;
    margin-left: 32vw;
  }

  main.works .main_visual #threeDContainer .shadow.item2 {
    margin-top: 284px;
    margin-left: -19.7vw;
  }

  main.works .main_visual #threeDContainer .shadow.item3 {
    margin-top: 467px;
    margin-left: -46.5vw;
  }

  main.works .main_visual #threeDContainer .shadow.item4 {
    margin-top: 322px;
    margin-left: 24.2vw;
  }

  main.works .main_visual #threeDContainer .shadow.item5 {
    margin-top: 583px;
    margin-left: 10.4vw;
  }

  main.works .main_visual h1 {
    font-size: 10vw;
    left: 0%;
    top: 368px;
    letter-spacing: -0.014em;
    line-height: 1.1;
    white-space: nowrap;
  }

  main.works .main_visual .child {
    top: 247px;
    left: 13%;
    width: 110%;
  }

  main.works .main_visual .child .cont {
    width: 67%;
    padding-top: 233px;
    height: 355px;
    padding-bottom: 45px;
  }

  main.works .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 3.0rem;
  }

  main.works .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 52px;
    top: -7px;
    margin-left: 14px;
    margin-right: 9px;
  }

  main.works .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 2.4rem;
  }

  main.works ul.filter {
    font-size: 2.4rem;
    padding-top: 675px;
    width: 87%;
  }

  main.works .works_list {
    margin-top: 38px;
    margin-bottom: 70px;
  }

  main.works .works_list ul {
    margin: auto;
  }

  main.works .works_list ul li {
    width: 87%;
  }

  main.works .works_list ul li:nth-child(odd) {
    margin: 67px auto 0;
  }

  main.works .works_list ul li:nth-child(even) {
    margin: 67px auto 0;
  }

  main.works .works_list ul li a .tit {
    font-size: 3.5rem;
    margin-top: 25px;
  }

  main.works .works_list ul li a .cate {
    font-size: 2.6rem;
    margin-top: 8px;
  }

  main.works .pagenation {
    margin: 132px auto 0;
    padding-bottom: 230px;
  }

  main.works .pagenation ul {
    margin: 0 auto;
  }

  main.works .pagenation ul li {
    font-size: 3.0rem;
    margin-left: 12px;
    margin-right: 12px;
  }

  main.works .pagenation .more_btn {
    font-size: 3.0rem;
    right: 7%;
  }

  main.works .pagenation .more_btn a:before {
    top: 40px;
  }

  main.works .pagenation .more_btn a:after {
    width: 12px;
    height: 14px;
    margin-left: 40px;
    top: -4px;
    left: -2px;
    position: relative;
  }
}

@media screen and (max-width: 780px) {
  main.works .main_visual canvas {
    top: 50px;
  }
}

@media screen and (max-width: 559px) {
  main.works .main_visual #threeDContainer .item img,
  main.works .main_visual #threeDContainer .shadow img {
    transform: scale(0.5);
  }

  main.works .main_visual #threeDContainer .item.item1 {
    margin-top: 204px;
    margin-left: 23vw;
  }

  main.works .main_visual #threeDContainer .item.item2 {
    margin-top: 92px;
    margin-left: -31vw;
  }

  main.works .main_visual #threeDContainer .item.item3 {
    margin-top: 181px;
    margin-left: -59vw;
  }

  main.works .main_visual #threeDContainer .item.item4 {
    margin-top: 119px;
    margin-left: 17.2vw;
  }

  main.works .main_visual #threeDContainer .item.item5 {
    margin-top: 253px;
    margin-left: 2.1vw;
  }

  main.works .main_visual #threeDContainer .shadow.item1 {
    margin-top: 210px;
    margin-left: 22vw;
  }

  main.works .main_visual #threeDContainer .shadow.item2 {
    margin-top: 108px;
    margin-left: -31vw;
  }

  main.works .main_visual #threeDContainer .shadow.item2 img {
    transform: scale(0.35);
  }

  main.works .main_visual #threeDContainer .shadow.item3 {
    margin-top: 188px;
    margin-left: -58.5vw;
  }

  main.works .main_visual #threeDContainer .shadow.item4 {
    margin-top: 111px;
    margin-left: 15.2vw;
  }

  main.works .main_visual #threeDContainer .shadow.item5 {
    margin-top: 262px;
    margin-left: 2.4vw;
  }

  main.works .main_visual h1 {
    top: 184px;
  }

  main.works .main_visual .child {
    top: 126px;
  }

  main.works .main_visual .child .cont {
    padding-top: 116px;
    height: 177px;
  }

  main.works .main_visual .child .cont .chunk h3 span:first-child {
    font-size: 1.5rem;
  }

  main.works .main_visual .child .cont .chunk h3 span:first-child:after {
    width: 26px;
    top: -3px;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.works .main_visual .child .cont .chunk h3 span:nth-child(2) {
    font-size: 1.2rem;
  }

  main.works ul.filter {
    font-size: 1.2rem;
    margin: 2px auto 0;
    padding-top: 338px;
  }

  main.works .works_list {
    margin-top: 17px;
  }

  main.works .works_list ul li:nth-child(odd) {
    margin: 33px auto 0;
  }

  main.works .works_list ul li:nth-child(even) {
    margin: 32px auto 0;
  }

  main.works .works_list ul li a .tit {
    font-size: 1.75rem;
    margin-top: 10px;
  }

  main.works .works_list ul li a .cate {
    font-size: 1.3rem;
    margin-top: 4px;
  }

  main.works .pagenation {
    margin: 70px auto 0;
    padding-bottom: 133px;
  }

  main.works .pagenation ul {
    margin: 0 auto;
  }

  main.works .pagenation ul li {
    font-size: 1.5rem;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.works .pagenation .more_btn {
    font-size: 1.5rem;
    right: 7%;
  }

  main.works .pagenation .more_btn a:before {
    top: 20px;
  }

  main.works .pagenation .more_btn a:after {
    width: 6px;
    height: 7px;
    margin-left: 20px;
  }
}
/*
z-index

 */

main.works_detail1 {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
  background-color: #fff;
}

main.works_detail1 .main_visual {
  width: 100%;
  max-width: 1800px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

main.works_detail1 .main_visual .child {
  max-width: 1200px;
  margin: 0 auto;
}

main.works_detail1 .main_visual .child h1 {
  font-size: 6.5em;
  font-weight: 500;
  left: 3.9%;
  letter-spacing: -0.018em;
  line-height: 0.9;
  z-index: 104;
  pointer-events: none;
  padding-top: 284px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail1 .main_visual .child h1.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail1 .main_visual .child .sub_tit {
  font-size: 1.8rem;
  margin-top: 10px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail1 .main_visual .child .sub_tit.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail1 .main_visual .child .cate {
  font-size: 2.0rem;
  color: #999999;
  margin-top: 11px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail1 .main_visual .child .cate.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail1 .main_visual .img {
  width: 100%;
  max-width: 1800px;
  margin: 100px auto 0;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
  position: relative;
  overflow: hidden;
}

main.works_detail1 .main_visual .img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail1 .main_visual .img:before {
  content: "";
  display: block;
  padding-top: 53.333333%;
}

main.works_detail1 .main_visual .img img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
}

main.works_detail1 .main_visual .info {
  background-color: #f5f5f5;
}

main.works_detail1 .main_visual .info .child {
  margin: 0 auto;
  padding-top: 145px;
  padding-bottom: 140px;
  display: flex;
  max-width: 980px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail1 .main_visual .info .child.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail1 .main_visual .info .child .left {
  width: 35%;
}

main.works_detail1 .main_visual .info .child .left .tit {
  color: #999999;
  font-size: 1.4rem;
}

main.works_detail1 .main_visual .info .child .left .txt {
  font-size: 1.6rem;
  margin-top: 8px;
}

main.works_detail1 .main_visual .info .child .left .term {
  margin-top: 26px;
}

main.works_detail1 .main_visual .info .child .right {
  width: 65%;
}

main.works_detail1 .main_visual .info .child .right .tit {
  font-size: 2.2rem;
  line-height: 1.6;
}

main.works_detail1 .main_visual .info .child .right .txt {
  margin-top: 27px;
  font-size: 1.5rem;
  line-height: 2;
}

main.works_detail1 > section {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 194px;
  padding-bottom: 0px;
}

main.works_detail1 > section .child .detail {
  display: flex;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail1 > section .child .detail.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail1 > section .child .detail h3 {
  font-size: 5.0rem;
  color: #ff7000;
  font-weight: 400;
  width: 24%;
  margin-top: 0px;
  letter-spacing: -0.1em;
  position: relative;
}

main.works_detail1 > section .child .detail h3:after {
  content: "";
  background-color: #ff7000;
  width: 20px;
  height: 2px;
  display: inline-block;
  position: absolute;
  top: 55px;
  left: 0;
}

main.works_detail1 > section .child .detail .txt {
  font-size: 1.5rem;
  width: 76%;
  line-height: 2;
  letter-spacing: 0.1em;
}

main.works_detail1 > section .child .imgs ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
}

main.works_detail1 > section .child .imgs ul li {
  width: 33%;
  margin-top: 30px;
  margin-bottom: -2px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail1 > section .child .imgs ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail1 > section .child .imgs ul li a:hover img {
  transform: scale(1.15);
  filter: brightness(0.7);
}

main.works_detail1 > section .child .imgs ul li a .img {
  overflow: hidden;
  width: 100%;
  height: 261px;
}

main.works_detail1 > section .child .imgs ul li a .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1200ms, filter 1200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.works_detail1 > section .child .imgs ul li a .project_name {
  font-size: 1.8rem;
  margin-top: 24px;
}

main.works_detail1 > section .child .imgs ul li a .date {
  color: #999999;
  font-size: 1.4rem;
  margin-top: 12px;
}

main.works_detail1 > section .child .imgs ul li:nth-child(3n) {
  padding-left: .75%;
}

main.works_detail1 > section .child .imgs ul li:nth-child(3n+1) {
  padding-right: .75%;
}

main.works_detail1 > section .child .imgs ul li:nth-child(3n+2) {
  padding-right: .375%;
  padding-left: .375%;
}

main.works_detail1 .next {
  position: relative;
  color: #fff;
  margin-top: 210px;
  overflow: hidden;
}

main.works_detail1 .next a {
  color: #fff;
}

main.works_detail1 .next:hover:after {
  animation: hover_line_works1 0.8s;
}

@keyframes hover_line_works1 {
  0% {
    width: 240px;
    right: 120px;
  }

  50% {
    width: 0;
    right: 120px;
  }

  50.01% {
    width: 0;
    right: 360px;
  }

  100% {
    width: 240px;
    right: 120px;
  }
}

main.works_detail1 .next:hover .img {
  transform: scale(1.15);
}

main.works_detail1 .next:after {
  content: "";
  height: 1px;
  width: 240px;
  display: inline-block;
  background-color: #fff;
  top: 49%;
  right: 120px;
  position: absolute;
}

main.works_detail1 .next .img {
  width: 100%;
  height: 550px;
  overflow: hidden;
  transition: transform 1200ms, filter 1200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  filter: brightness(0.5);
}

main.works_detail1 .next .img img {
  width: 100%;
}

main.works_detail1 .next .child {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

main.works_detail1 .next .child .label {
  position: absolute;
  top: 46%;
  left: 8.1%;
  font-size: 1.6rem;
  color: #bbbbbb;
}

main.works_detail1 .next .child .project_name {
  position: relative;
  margin-top: 250px;
  width: 50%;
  left: 20%;
  font-size: 4.0rem;
}

main.works_detail1 .next .child .cate {
  position: relative;
  margin-top: 7px;
  left: 20%;
  font-size: 2.0rem;
  color: #bbbbbb;
}

main.works_detail1 .back {
  background-color: #eeeeee;
  position: relative;
  font-size: 1.6rem;
}

main.works_detail1 .back a {
  color: #666666;
  display: block;
  height: 280px;
}

main.works_detail1 .back a .child {
  position: relative;
  top: 48.5%;
  left: 400px;
}

main.works_detail1 .back a:hover:before {
  animation: hover_line_works2 0.8s;
}

@keyframes hover_line_works2 {
  0% {
    width: 240px;
    left: 120px;
  }

  50% {
    width: 0;
    left: 360px;
  }

  50.01% {
    width: 0;
    left: 120px;
  }

  100% {
    width: 240px;
    left: 120px;
  }
}

main.works_detail1 .back a:before {
  content: "";
  height: 1px;
  width: 240px;
  display: inline-block;
  background-color: #999999;
  top: 51%;
  left: 120px;
  position: absolute;
}

@media screen and (max-width: 1340px) {
  main.works_detail1 .main_visual .child {
    margin: 0 60px;
    max-width: inherit;
  }

  main.works_detail1 .main_visual .info .child {
    margin: 0 60px;
    max-width: inherit;
  }

  main.works_detail1 > section .child {
    margin: 0 60px;
  }
}

@media screen and (max-width: 1200px) {
@keyframes hover_line_works1 {
    0% {
      width: 120px;
      right: 120px;
    }

    50% {
      width: 0;
      right: 120px;
    }

    50.01% {
      width: 0;
      right: 240px;
    }

    100% {
      width: 120px;
      right: 120px;
    }
}

  main.works_detail1 .next:after {
    width: 120px;
  }
}

@media screen and (max-width: 1023px) {
  main.works_detail1 .main_visual .child {
    margin: 0;
  }

  main.works_detail1 .main_visual .child h1 {
    font-size: 6.5rem;
    left: 6.3%;
    width: 87%;
    padding-top: 288px;
    letter-spacing: -0.011em;
    line-height: 1.1;
    position: relative;
  }

  main.works_detail1 .main_visual .child .sub_tit {
    font-size: 2.4rem;
    left: 6.4%;
    width: 87%;
    position: relative;
    margin-top: 3px;
  }

  main.works_detail1 .main_visual .child .cate {
    font-size: 2.6rem;
    left: 6.4%;
    position: relative;
    margin-top: 11px;
  }

  main.works_detail1 .main_visual .img {
    margin: 67px auto -3px;
  }

  main.works_detail1 .main_visual .info .child {
    display: block;
    padding-top: 95px;
    padding-bottom: 90px;
    margin: 0 auto;
    width: 87%;
  }

  main.works_detail1 .main_visual .info .child .left {
    width: 100%;
    display: flex;
  }

  main.works_detail1 .main_visual .info .child .left .client .tit,
  main.works_detail1 .main_visual .info .child .left .term .tit {
    font-size: 2.2rem;
  }

  main.works_detail1 .main_visual .info .child .left .client .txt,
  main.works_detail1 .main_visual .info .child .left .term .txt {
    font-size: 2.8rem;
    margin-top: 6px;
  }

  main.works_detail1 .main_visual .info .child .left .client {
    width: 31%;
    margin-right: 2%;
  }

  main.works_detail1 .main_visual .info .child .left .term {
    margin-top: 0;
  }

  main.works_detail1 .main_visual .info .child .right {
    width: 100%;
    margin-top: 52px;
  }

  main.works_detail1 .main_visual .info .child .right .tit {
    font-size: 2.8rem;
  }

  main.works_detail1 .main_visual .info .child .right .txt {
    font-size: 2.2rem;
    margin-top: 20px;
    line-height: 1.95;
  }

  main.works_detail1 > section {
    padding-top: 150px;
    margin: 0px auto -15px;
  }

  main.works_detail1 > section .child {
    margin: 0;
  }

  main.works_detail1 > section .child .detail {
    display: block;
    margin: 0 auto;
    width: 87%;
  }

  main.works_detail1 > section .child .detail h3 {
    font-size: 6.0rem;
  }

  main.works_detail1 > section .child .detail h3:after {
    width: 30px;
    left: 2px;
    top: 66px;
  }

  main.works_detail1 > section .child .detail .txt {
    font-size: 2.2rem;
    width: 100%;
    margin-top: 48px;
    line-height: 1.95;
  }

  main.works_detail1 > section .child .imgs {
    margin: 0 auto;
    width: 87%;
  }

  main.works_detail1 > section .child .imgs ul {
    margin-top: 0px;
  }

  main.works_detail1 > section .child .imgs ul li {
    width: 50%;
    margin-bottom: -10px;
    margin-top: 60px;
  }

  main.works_detail1 > section .child .imgs ul li:nth-child(odd) {
    padding-right: .75%;
    padding-left: 0;
  }

  main.works_detail1 > section .child .imgs ul li:nth-child(even) {
    padding-left: .75%;
    padding-right: 0;
  }

  main.works_detail1 > section .child .imgs ul li a .img {
    height: 28.739vw;
  }

  main.works_detail1 > section .child .imgs ul li a .project_name {
    font-size: 2.6rem;
    margin-top: 10px;
    line-height: 1.45;
  }

  main.works_detail1 > section .child .imgs ul li a .date {
    font-size: 2.2rem;
    margin-top: 4px;
  }

  main.works_detail1 .next {
    margin-top: 231px;
  }

@keyframes hover_line_works1 {
    0% {
      width: 120px;
      right: 40px;
    }

    50% {
      width: 0;
      right: 40px;
    }

    50.01% {
      width: 0;
      right: 160px;
    }

    100% {
      width: 120px;
      right: 40px;
    }
}

  main.works_detail1 .next:after {
    top: 50%;
    right: 40px;
  }

  main.works_detail1 .next .img {
    width: 100%;
    height: 550px;
  }

  main.works_detail1 .next .img img {
    width: 100%;
    height: auto;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  main.works_detail1 .next .child .label {
    font-size: 2.2rem;
    top: 26.6%;
    left: 6.5%;
  }

  main.works_detail1 .next .child .project_name {
    font-size: 5.0rem;
    width: 65%;
    margin-top: 220px;
    left: 6.1%;
    line-height: 1.1;
  }

  main.works_detail1 .next .child .cate {
    font-size: 2.6rem;
    left: 6.2%;
  }

  main.works_detail1 .back {
    height: 248px;
    font-size: 2.6rem;
  }

  main.works_detail1 .back a .child {
    top: 39.5%;
    left: 26.4%;
  }

@keyframes hover_line_works2 {
    0% {
      width: 98px;
      left: 25px;
    }

    50% {
      width: 0;
      left: 123px;
    }

    50.01% {
      width: 0;
      left: 25px;
    }

    100% {
      width: 98px;
      left: 25px;
    }
}

  main.works_detail1 .back a:before {
    width: 98px;
    top: 50.6%;
    left: 25px;
  }
}

@media screen and (max-width: 559px) {
  main.works_detail1 .main_visual .child h1 {
    font-size: 3.25rem;
    left: 6.3%;
    padding-top: 144px;
  }

  main.works_detail1 .main_visual .child .sub_tit {
    font-size: 1.2rem;
    margin-top: 2px;
  }

  main.works_detail1 .main_visual .child .cate {
    font-size: 1.3rem;
    margin-top: 5px;
  }

  main.works_detail1 .main_visual .img {
    margin: 35px auto -3px;
  }

  main.works_detail1 .main_visual .info .child {
    padding-top: 50px;
    padding-bottom: 45px;
  }

  main.works_detail1 .main_visual .info .child .left .client .tit,
  main.works_detail1 .main_visual .info .child .left .term .tit {
    font-size: 1.1rem;
  }

  main.works_detail1 .main_visual .info .child .left .client .txt,
  main.works_detail1 .main_visual .info .child .left .term .txt {
    font-size: 1.4rem;
    margin-top: 3px;
  }

  main.works_detail1 .main_visual .info .child .right {
    margin-top: 26px;
  }

  main.works_detail1 .main_visual .info .child .right .tit {
    font-size: 1.4rem;
  }

  main.works_detail1 .main_visual .info .child .right .txt {
    font-size: 1.1rem;
    margin-top: 10px;
  }

  main.works_detail1 > section {
    padding-top: 75px;
  }

  main.works_detail1 > section .child .detail h3 {
    font-size: 3.0rem;
  }

  main.works_detail1 > section .child .detail h3:after {
    width: 16px;
    top: 32px;
  }

  main.works_detail1 > section .child .detail .txt {
    font-size: 1.1rem;
    margin-top: 23px;
  }

  main.works_detail1 > section .child .imgs ul li {
    margin-top: 30px;
  }

  main.works_detail1 > section .child .imgs ul li a .img {
    height: 28.26476vw;
  }

  main.works_detail1 > section .child .imgs ul li a .project_name {
    font-size: 1.3rem;
    margin-top: 5px;
  }

  main.works_detail1 > section .child .imgs ul li a .date {
    font-size: 1.1rem;
    margin-top: 2px;
  }

  main.works_detail1 .next {
    margin-top: 127px;
  }

@keyframes hover_line_works1 {
    0% {
      width: 60px;
      right: 25px;
    }

    50% {
      width: 0;
      right: 25px;
    }

    50.01% {
      width: 0;
      right: 85px;
    }

    100% {
      width: 60px;
      right: 25px;
    }
}

  main.works_detail1 .next:after {
    right: 25px;
    width: 60px;
  }

  main.works_detail1 .next .img {
    height: 275px;
  }

  main.works_detail1 .next .child .label {
    font-size: 1.1rem;
  }

  main.works_detail1 .next .child .project_name {
    font-size: 2.5rem;
    margin-top: 110px;
  }

  main.works_detail1 .next .child .cate {
    font-size: 1.3rem;
  }

  main.works_detail1 .back {
    height: 124px;
    font-size: 1.3rem;
  }

  main.works_detail1 .back a .child {
    top: 20.8%;
    left: 24%;
  }

@keyframes hover_line_works2 {
    0% {
      width: 49px;
      left: 25px;
    }

    50% {
      width: 0;
      left: 74px;
    }

    50.01% {
      width: 0;
      left: 25px;
    }

    100% {
      width: 49px;
      left: 25px;
    }
}

  main.works_detail1 .back a:before {
    width: 49px;
  }
}

@media screen and (max-width: 840px) and (min-width: 560px) {
  main.works_detail1 .next .img img {
    width: auto;
    height: 100%;
  }
}

@media screen and (max-width: 430px) {
  main.works_detail1 .next .img img {
    width: auto;
    height: 100%;
  }
}
/*
z-index

 */

main.works_detail2 {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
  background-color: #fff;
}

main.works_detail2 .main_visual {
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

main.works_detail2 .main_visual .child {
  max-width: 1200px;
  margin: 0 auto;
}

main.works_detail2 .main_visual .child h1 {
  font-size: 6.0em;
  font-weight: 500;
  left: 3.9%;
  letter-spacing: -0.018em;
  line-height: 1.1;
  z-index: 104;
  pointer-events: none;
  padding-top: 284px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .main_visual .child h1.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .main_visual .child .sub_tit {
  font-size: 1.8rem;
  margin-top: 15px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .main_visual .child .sub_tit.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .main_visual .child > .cate {
  font-size: 2.0rem;
  color: #999999;
  margin-top: 11px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .main_visual .child > .cate.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .main_visual .img {
  width: 100%;
  max-width: 1800px;
  margin: 100px auto 0;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
  position: relative;
  overflow: hidden;
}

main.works_detail2 .main_visual .img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .main_visual .img:before {
  content: "";
  display: block;
  padding-top: 53.333333%;
}

main.works_detail2 .main_visual .img img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
}

main.works_detail2 .main_visual .info {
  background-color: #f5f5f5;
}

main.works_detail2 .main_visual .info .child {
  margin: 0 auto;
  padding-top: 146px;
  padding-bottom: 150px;
  display: flex;
  max-width: 980px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .main_visual .info .child.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .main_visual .info .child .left {
  width: 35%;
  margin-top: -12px;
}

main.works_detail2 .main_visual .info .child .left div .tit {
  color: #999999;
  font-size: 1.4rem;
  margin-top: 8px;
}

main.works_detail2 .main_visual .info .child .left div .txt {
  font-size: 1.6rem;
  margin-top: 10px;
}

main.works_detail2 .main_visual .info .child .left div.cate .tit {
  margin-top: 26px;
}

main.works_detail2 .main_visual .info .child .left div.launch .tit {
  margin-top: 26px;
}

main.works_detail2 .main_visual .info .child .right {
  width: 65%;
}

main.works_detail2 .main_visual .info .child .right .tit {
  font-size: 2.2rem;
  line-height: 1.6;
}

main.works_detail2 .main_visual .info .child .right .txt {
  margin-top: 27px;
  font-size: 1.5rem;
  line-height: 2.0;
}

main.works_detail2 .main_visual .info .child .right .links {
  display: flex;
  margin-top: 60px;
  font-size: 1.6rem;
  font-weight: 400;
}

main.works_detail2 .main_visual .info .child .right .links .link {
  width: 147px;
  margin-right: 40px;
  position: relative;
}

main.works_detail2 .main_visual .info .child .right .links .link a {
  color: #666666;
  display: block;
  padding-bottom: 24px;
}

main.works_detail2 .main_visual .info .child .right .links .link a:hover:before {
  animation: line .6s;
}

main.works_detail2 .main_visual .info .child .right .links .link a:hover:after {
  animation: arrow8 .6s;
}

main.works_detail2 .main_visual .info .child .right .links .link a:before {
  content: "";
  height: 3px;
  width: 100%;
  background-color: #c4c4c4;
  display: inline-block;
  position: absolute;
  top: 38px;
  left: 0;
}

main.works_detail2 .main_visual .info .child .right .links .link a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_next_black_mini.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 10px;
  height: 12px;
  display: inline-block;
  margin-left: 40px;
  position: absolute;
  right: 4px;
  top: 1px;
}

main.works_detail2 .imgs {
  margin-top: 160px;
  margin-bottom: 160px;
}

main.works_detail2 .imgs ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

main.works_detail2 .imgs ul li {
  width: 48%;
  margin-top: 40px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .imgs ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .imgs ul li:nth-child(odd) {
  margin-right: 2%;
}

main.works_detail2 .imgs ul li:nth-child(even) {
  margin-left: 2%;
}

main.works_detail2 .imgs ul li img {
  width: 100%;
}

main.works_detail2 .big_img {
  margin-top: 150px;
  margin-bottom: 150px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .big_img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .big_img img {
  width: 100%;
}

main.works_detail2 .movie {
  margin-top: 200px;
  margin-bottom: 200px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .movie.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .movie .child {
  max-width: 1200px;
  margin: 0 auto;
}

main.works_detail2 .movie .child .video video {
  width: 100%;
}

main.works_detail2 .movie .child .embed_movie {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 57%;
}

main.works_detail2 .movie .child .embed_movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

main.works_detail2 .credit {
  margin-top: 200px;
  padding-top: 144px;
  padding-bottom: 75px;
  background-color: #f5f5f5;
}

main.works_detail2 .credit .child {
  max-width: 1060px;
  margin: 0 auto;
  display: flex;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.works_detail2 .credit .child.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.works_detail2 .credit .child .label {
  width: 20%;
  font-size: 1.6rem;
  color: #999999;
  position: relative;
}

main.works_detail2 .credit .child .label:after {
  content: "";
  height: 2px;
  width: 21px;
  position: absolute;
  top: 26px;
  left: 0;
  background-color: #999999;
  display: inline-block;
}

main.works_detail2 .credit .child .details {
  width: 80%;
  display: flex;
}

main.works_detail2 .credit .child .detail {
  width: 40%;
  line-height: 1.6;
}

main.works_detail2 .credit .child .detail ul li {
  margin-bottom: 18px;
}

main.works_detail2 .credit .child .detail ul li .tit {
  font-size: 1.4rem;
  color: #999999;
}

main.works_detail2 .credit .child .detail ul li .txt {
  font-size: 1.6rem;
}

main.works_detail2 .credit .child .detail_indivisual {
  width: 60%;
}

main.works_detail2 .credit .child .detail_indivisual .group_name {
  font-size: 1.6rem;
  color: #6c6c6c;
  margin-bottom: 20px;
  position: relative;
}

main.works_detail2 .credit .child .detail_indivisual .group_name:after {
  content: "";
  height: 2px;
  width: 11px;
  position: absolute;
  top: 26px;
  left: 0;
  background-color: #999999;
  display: inline-block;
}

main.works_detail2 .credit .child .detail_indivisual ul {
  margin-bottom: 70px;
}

main.works_detail2 .credit .child .detail_indivisual ul li {
  display: flex;
  margin-bottom: 5px;
}

main.works_detail2 .credit .child .detail_indivisual ul li .tit {
  margin-right: 20px;
  margin-top: 2px;
}

main.works_detail2 .back {
  background-color: #eeeeee;
  position: relative;
  font-size: 1.6rem;
}

main.works_detail2 .back a {
  color: #666666;
  display: block;
  height: 280px;
}

main.works_detail2 .back a .child {
  position: relative;
  top: 48.5%;
  left: 400px;
}

main.works_detail2 .back a:hover:before {
  animation: hover_line_works2 0.8s;
}

@keyframes hover_line_works2 {
  0% {
    width: 240px;
    left: 120px;
  }

  50% {
    width: 0;
    left: 360px;
  }

  50.01% {
    width: 0;
    left: 120px;
  }

  100% {
    width: 240px;
    left: 120px;
  }
}

main.works_detail2 .back a:before {
  content: "";
  height: 1px;
  width: 240px;
  display: inline-block;
  background-color: #999999;
  top: 51%;
  left: 120px;
  position: absolute;
}

@media screen and (max-width: 1340px) {
  main.works_detail2 .main_visual .child {
    margin: 0 60px;
    max-width: inherit;
  }

  main.works_detail2 .main_visual .info .child {
    margin: 0 60px;
    max-width: inherit;
  }

  main.works_detail2 .imgs ul {
    margin: 0 60px;
    max-width: inherit;
  }

  main.works_detail2 .credit .child {
    margin: 0 60px;
    max-width: inherit;
  }
}

@media screen and (max-width: 1023px) {
  main.works_detail2 .main_visual .child {
    margin: 0;
  }

  main.works_detail2 .main_visual .child h1 {
    font-size: 6.0rem;
    left: 6.3%;
    width: 87%;
    padding-top: 288px;
    letter-spacing: -0.011em;
    line-height: 1.1;
    position: relative;
  }

  main.works_detail2 .main_visual .child .sub_tit {
    font-size: 2.4rem;
    left: 6.4%;
    width: 87%;
    position: relative;
    margin-top: 4px;
  }

  main.works_detail2 .main_visual .child > .cate {
    font-size: 2.6rem;
    left: 6.4%;
    position: relative;
    margin-top: 10px;
  }

  main.works_detail2 .main_visual .img {
    margin: 72px auto -3px;
  }

  main.works_detail2 .main_visual .info .child {
    display: block;
    width: 87%;
    padding-top: 99px;
    padding-bottom: 132px;
    margin: 0 auto;
  }

  main.works_detail2 .main_visual .info .child .left {
    width: 100%;
    display: flex;
  }

  main.works_detail2 .main_visual .info .child .left div {
    width: 31%;
  }

  main.works_detail2 .main_visual .info .child .left div .tit {
    font-size: 2.2rem !important;
    margin-top: 8px !important;
  }

  main.works_detail2 .main_visual .info .child .left div .txt {
    font-size: 2.8rem !important;
    font-weight: 500;
    margin-top: 3px;
  }

  main.works_detail2 .main_visual .info .child .right {
    width: 100%;
  }

  main.works_detail2 .main_visual .info .child .right .tit {
    font-size: 2.8rem;
    margin-top: 54px;
  }

  main.works_detail2 .main_visual .info .child .right .txt {
    font-size: 2.2rem;
    line-height: 1.95;
    margin-top: 25px;
  }

  main.works_detail2 .main_visual .info .child .right .links {
    font-size: 2.6rem;
    margin-top: 52px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link {
    width: 204px;
    margin-right: 50px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link a {
    padding-bottom: 29px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link a:before {
    height: 3px;
    top: 52px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link a:after {
    width: 14px;
    height: 16px;
    margin-left: 40px;
    right: 5px;
    top: 4px;
  }

  main.works_detail2 .imgs {
    margin-top: 140px;
    margin-bottom: 140px;
  }

  main.works_detail2 .imgs ul {
    width: 87%;
    margin: 0 auto;
  }

  main.works_detail2 .imgs ul li {
    margin-top: 14px;
  }

  main.works_detail2 .big_img {
    margin-top: 114px;
    margin-bottom: 114px;
  }

  main.works_detail2 .movie {
    margin-top: 97px;
    margin-bottom: 97px;
  }

  main.works_detail2 .movie .child .video {
    height: auto;
    margin: 0 auto;
    width: 87%;
  }

  main.works_detail2 .movie .child .video video {
    width: 100%;
  }

  main.works_detail2 .movie .child .embed_movie {
    width: 87%;
    padding-top: 50%;
    margin: 0 auto;
  }

  main.works_detail2 .credit {
    margin-top: 100px;
    padding-top: 97px;
    padding-bottom: 45px;
  }

  main.works_detail2 .credit .child {
    display: block;
    margin: 0 auto;
    width: 87%;
  }

  main.works_detail2 .credit .child .label {
    font-size: 2.4rem;
  }

  main.works_detail2 .credit .child .label:after {
    height: 2px;
    width: 28px;
    top: 30px;
  }

  main.works_detail2 .credit .child .details {
    display: flex;
    width: 100%;
  }

  main.works_detail2 .credit .child .detail {
    margin-top: 26px;
    width: 57%;
  }

  main.works_detail2 .credit .child .detail.detail_company {
    width: 63%;
  }

  main.works_detail2 .credit .child .detail.detail_indivisual {
    width: 100%;
    margin-top: 47px;
  }

  main.works_detail2 .credit .child .detail.detail_indivisual ul {
    margin-bottom: 53px;
    margin-top: 20px;
  }

  main.works_detail2 .credit .child .detail.detail_indivisual ul li {
    margin-bottom: -3px;
    margin-top: 0px;
  }

  main.works_detail2 .credit .child .detail.detail_indivisual ul li .txt {
    margin-top: 0;
  }

  main.works_detail2 .credit .child .detail .group_name {
    font-size: 2.4rem;
    margin-bottom: 7px;
  }

  main.works_detail2 .credit .child .detail .group_name:after {
    height: 2px;
    width: 16px;
    top: 38px;
  }

  main.works_detail2 .credit .child .detail ul li {
    margin-bottom: 16px;
    margin-top: 21px;
  }

  main.works_detail2 .credit .child .detail ul li .tit {
    font-size: 2.2rem;
  }

  main.works_detail2 .credit .child .detail ul li .txt {
    font-size: 2.4rem;
    margin-top: -11px;
  }

  main.works_detail2 .back {
    height: 248px;
    font-size: 2.6rem;
  }

  main.works_detail2 .back a .child {
    top: 39.5%;
    left: 26.4%;
    width: 68%;
  }

@keyframes hover_line_works2 {
    0% {
      width: 98px;
      left: 25px;
    }

    50% {
      width: 0;
      left: 123px;
    }

    50.01% {
      width: 0;
      left: 25px;
    }

    100% {
      width: 98px;
      left: 25px;
    }
}

  main.works_detail2 .back a:before {
    width: 98px;
    top: 50.6%;
    left: 25px;
  }
}

@media screen and (max-width: 559px) {
  main.works_detail2 .main_visual .child h1 {
    font-size: 3.0rem;
    padding-top: 144px;
  }

  main.works_detail2 .main_visual .child .sub_tit {
    font-size: 1.2rem;
    margin-top: 2px;
  }

  main.works_detail2 .main_visual .child > .cate {
    font-size: 1.3rem;
    margin-top: 5px;
  }

  main.works_detail2 .main_visual .img {
    margin: 35px auto -3px;
  }

  main.works_detail2 .main_visual .info .child {
    padding-top: 52px;
    padding-bottom: 66px;
  }

  main.works_detail2 .main_visual .info .child .left div .tit {
    font-size: 1.1rem !important;
  }

  main.works_detail2 .main_visual .info .child .left div .txt {
    font-size: 1.4rem !important;
  }

  main.works_detail2 .main_visual .info .child .right .tit {
    font-size: 1.4rem;
    margin-top: 27px;
  }

  main.works_detail2 .main_visual .info .child .right .txt {
    font-size: 1.1rem;
    margin-top: 12px;
  }

  main.works_detail2 .main_visual .info .child .right .links {
    font-size: 1.3rem;
    margin-top: 24px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link {
    width: 102px;
    margin-right: 25px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link a {
    padding-bottom: 15px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link a:before {
    height: 2px;
    top: 27px;
  }

  main.works_detail2 .main_visual .info .child .right .links .link a:after {
    width: 7px;
    height: 8px;
    margin-left: 40px;
    right: 1px;
    top: 4px;
  }

  main.works_detail2 .imgs {
    margin-top: 70px;
    margin-bottom: 70px;
  }

  main.works_detail2 .imgs ul li {
    margin-top: 7px;
  }

  main.works_detail2 .big_img {
    margin-top: 57px;
    margin-bottom: 57px;
  }

  main.works_detail2 .movie {
    margin-top: 45px;
    margin-bottom: 45px;
  }

  main.works_detail2 .credit {
    margin-top: 48px;
    padding-top: 48px;
    padding-bottom: 24px;
  }

  main.works_detail2 .credit .child .label {
    font-size: 1.2rem;
  }

  main.works_detail2 .credit .child .label:after {
    height: 1px;
    width: 14px;
    top: 16px;
  }

  main.works_detail2 .credit .child .detail {
    margin-top: 22px;
    width: 38.7%;
  }

  main.works_detail2 .credit .child .detail.detail_indivisual {
    margin-top: 27px;
  }

  main.works_detail2 .credit .child .detail.detail_indivisual ul {
    margin-bottom: 27px;
    margin-top: 8px;
  }

  main.works_detail2 .credit .child .detail.detail_indivisual ul li {
    margin-bottom: -1px;
  }

  main.works_detail2 .credit .child .detail .group_name {
    font-size: 1.2rem;
  }

  main.works_detail2 .credit .child .detail .group_name:after {
    height: 1px;
    width: 8px;
    top: 18px;
  }

  main.works_detail2 .credit .child .detail ul li {
    margin-bottom: 7px;
    margin-top: 7px;
  }

  main.works_detail2 .credit .child .detail ul li .tit {
    font-size: 1.1rem;
    margin-right: 14px;
  }

  main.works_detail2 .credit .child .detail ul li .txt {
    font-size: 1.2rem;
    margin-top: -3px;
  }

  main.works_detail2 .back {
    height: 124px;
    font-size: 1.3rem;
  }

  main.works_detail2 .back a .child {
    top: 20.8%;
    left: 24%;
  }

@keyframes hover_line_works2 {
    0% {
      width: 49px;
      left: 25px;
    }

    50% {
      width: 0;
      left: 74px;
    }

    50.01% {
      width: 0;
      left: 25px;
    }

    100% {
      width: 49px;
      left: 25px;
    }
}

  main.works_detail2 .back a:before {
    width: 49px;
  }
}
/*
z-index

 */

main.news {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.news .main_visual {
  width: 100%;
  max-width: 1800px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-bottom: 1px solid #d8d8d6;
}

main.news .main_visual .child {
  max-width: 1070px;
  margin: 0 auto 140px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news .main_visual .child.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news .main_visual .child h1 {
  font-size: 5.6em;
  font-weight: 500;
  left: 3.9%;
  letter-spacing: -0.018em;
  line-height: 0.9;
  z-index: 104;
  pointer-events: none;
  padding-top: 282px;
}

main.news .main_visual .child .sub_tit {
  font-size: 1.7rem;
  margin-top: 10px;
}

main.news .news_list ul li {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news .news_list ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news .news_list ul li a {
  display: block;
  height: 266px;
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid #d8d8d6;
}

main.news .news_list ul li a:hover {
  color: #fff;
}

main.news .news_list ul li a:hover:after {
  background-image: url("/assets/img/news/arrow_over.png");
}

main.news .news_list ul li a:hover .img {
  height: 100%;
}

main.news .news_list ul li a:hover .child .date {
  color: #fff;
}

main.news .news_list ul li a:after {
  content: "";
  position: absolute;
  background-image: url("/assets/img/news/arrow.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: 65px;
  height: 65px;
  right: 190px;
  top: 101px;
  z-index: 2;
}

main.news .news_list ul li a .img {
  overflow: hidden;
  height: 0;
  transition: height 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  position: relative;
}

main.news .news_list ul li a .img:before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background-color: #444;
  opacity: 0.6;
  position: relative;
  z-index: 1;
}

main.news .news_list ul li a .img img {
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate3d(-50%, -50%, 0);
  object-fit: cover;
}

main.news .news_list ul li a .child {
  position: absolute;
  top: 0;
  width: 1060px;
  left: 50%;
  transform: translate3d(-50%, -44%, 0);
  display: flex;
  line-height: 1.6;
  top: 50%;
  z-index: 2;
}

main.news .news_list ul li a .child .date {
  font-size: 1.6rem;
  color: #6c6c6c;
  width: 16%;
  position: relative;
  top: 4px;
}

main.news .news_list ul li a .child .txt {
  font-size: 1.8rem;
  width: 71%;
  line-height: 2;
}

main.news .pagenation {
  margin: 179px 0 238px;
  position: relative;
}

main.news .pagenation ul,
main.news .pagenation .wp-pagenavi {
  display: flex;
  left: 8.2vw;
  position: relative;
}

main.news .pagenation ul > *,
main.news .pagenation .wp-pagenavi > * {
  font-size: 2.0rem;
  margin-left: 6px;
  margin-right: 22px;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.news .pagenation ul > *:hover,
main.news .pagenation .wp-pagenavi > *:hover {
  opacity: 0.5;
}

main.news .pagenation ul > *.current,
main.news .pagenation .wp-pagenavi > *.current {
  color: #ff7000;
}

main.news .pagenation .wp-pagenavi > * {
  font-family: nimbus-sans, sans-serif;
}

main.news .pagenation .more_btn {
  position: absolute;
  font-size: 2.0rem;
  top: 3px;
  right: 7.8vw;
}

main.news .pagenation .more_btn a {
  padding-bottom: 11px;
}

main.news .pagenation .more_btn a:hover {
  opacity: .5;
}

main.news .pagenation .more_btn a:hover:before {
  animation: line .6s;
}

main.news .pagenation .more_btn a:hover:after {
  animation: arrow8 .6s;
}

main.news .pagenation .more_btn a:before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #000;
  display: inline-block;
  position: absolute;
  top: 31px;
}

main.news .pagenation .more_btn a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_next_black_mini.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 10px;
  height: 12px;
  display: inline-block;
  margin-left: 40px;
}

@media screen and (max-width: 1340px) {
  main.news .news_list ul li a:after {
    right: 100px;
  }
}

@media screen and (max-width: 1150px) {
  main.news .main_visual .child {
    width: 87%;
    margin: 0 auto 126px;
  }

  main.news .main_visual .child h1 {
    font-size: 6.5rem;
    left: 0%;
    padding-top: 278px;
    letter-spacing: 0.006em;
    line-height: 1.1;
    white-space: nowrap;
  }

  main.news .main_visual .child .sub_tit {
    font-size: 2.6rem;
    margin-top: 0;
  }

  main.news .news_list ul li a {
    height: 428px;
  }

  main.news .news_list ul li a:after {
    display: none;
  }

  main.news .news_list ul li a .img img {
    height: 428px;
  }

  main.news .news_list ul li a .child {
    width: 87%;
    display: block;
    transform: translate3d(-50%, -50%, 0);
  }

  main.news .news_list ul li a .child .date {
    width: 100%;
    font-size: 2.8rem;
    top: 0;
  }

  main.news .news_list ul li a .child .txt {
    width: 100%;
    font-size: 2.6rem;
    margin-top: 14px;
    line-height: 1.8;
  }

  main.news .pagenation {
    margin: 140px auto 0px;
    padding-bottom: 230px;
  }

  main.news .pagenation ul {
    margin: 0 auto;
  }

  main.news .pagenation ul li {
    font-size: 3.0rem;
    margin-left: 12px;
    margin-right: 12px;
  }

  main.news .pagenation .more_btn {
    font-size: 3.0rem;
    right: 7%;
  }

  main.news .pagenation .more_btn a:before {
    top: 40px;
  }

  main.news .pagenation .more_btn a:after {
    width: 12px;
    height: 14px;
    margin-left: 38px;
  }
}

@media screen and (max-width: 559px) {
  main.news .main_visual .child {
    margin: 0 auto 63px;
  }

  main.news .main_visual .child h1 {
    font-size: 3.25rem;
    padding-top: 139px;
  }

  main.news .main_visual .child .sub_tit {
    font-size: 1.3rem;
  }

  main.news .news_list ul li a {
    height: 214px;
  }

  main.news .news_list ul li a .img img {
    height: 214px;
  }

  main.news .news_list ul li a .child .date {
    font-size: 1.4rem;
  }

  main.news .news_list ul li a .child .txt {
    font-size: 1.3rem;
    margin-top: 7px;
  }

  main.news .pagenation {
    margin: 70px auto 0;
    padding-bottom: 133px;
  }

  main.news .pagenation ul li {
    font-size: 1.5rem;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.news .pagenation .more_btn {
    font-size: 1.5rem;
  }

  main.news .pagenation .more_btn a:before {
    top: 20px;
  }

  main.news .pagenation .more_btn a:after {
    width: 6px;
    height: 7px;
    margin-left: 20px;
  }
}
@charset "UTF-8";

/*
z-index

 */

main.news_detail {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.news_detail .main_visual {
  width: 100%;
  max-width: 1800px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

main.news_detail .main_visual .child {
  max-width: 980px;
  margin: 0 auto 90px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .main_visual .child.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .main_visual .child .date {
  padding-top: 288px;
  font-size: 2.0rem;
  color: #6c6c6c;
}

main.news_detail .main_visual .child h1 {
  font-size: 2.8em;
  font-weight: 600;
  left: 3.9%;
  letter-spacing: -0.018em;
  line-height: 1.7;
  z-index: 104;
  pointer-events: none;
  margin-top: 43px;
}

main.news_detail .main_visual .img {
  max-width: 1320px;
  width: 100%;
  margin: 0 auto 140px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .main_visual .img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .main_visual .img img {
  width: 100%;
}

main.news_detail .contents {
  margin-bottom: 220px;
}

main.news_detail .contents .child {
  width: 980px;
  margin: 0 auto;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-size: 1.5rem;
  line-height: 2.0;
}

main.news_detail .contents .child ul,
main.news_detail .contents .child ol,
main.news_detail .contents .child p {
  position: relative;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child ul.show,
main.news_detail .contents .child ol.show,
main.news_detail .contents .child p.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child h1,
main.news_detail .contents .child h2 {
  font-size: 2.5rem;
  margin-bottom: 30px;
  position: relative;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child h1.show,
main.news_detail .contents .child h2.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child h1:before,
main.news_detail .contents .child h2:before {
  content: "";
  height: 2px;
  width: 60px;
  top: 54px;
  background-color: #000;
  display: inline-block;
  position: absolute;
}

main.news_detail .contents .child h3,
main.news_detail .contents .child h4,
main.news_detail .contents .child h5,
main.news_detail .contents .child h6 {
  font-size: 2.0rem;
  margin-bottom: 10px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child h3.show,
main.news_detail .contents .child h4.show,
main.news_detail .contents .child h5.show,
main.news_detail .contents .child h6.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child > .txt {
  font-size: 1.5rem;
  line-height: 2.0;
  margin-top: 65px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child > .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child a {
  position: relative;
}

main.news_detail .contents .child a[target=_blank]:after {
  content: "";
  background-image: url("/assets/img/common/external.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 10px;
  height: 8px;
  display: inline-block;
  position: absolute;
  top: 4px;
  margin-left: 1px;
}

main.news_detail .contents .child a:before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #9b9b97;
  display: inline-block;
  position: absolute;
  top: 1.2em;
  left: 0;
}

main.news_detail .contents .child strong {
  font-weight: bold;
}

main.news_detail .contents .child img {
  width: 100%;
  margin-bottom: 50px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child .links {
  border-top: 1px solid #d8d8d6;
  margin-top: 90px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child .links.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child .links .txt {
  margin-top: 98px;
  font-size: 1.5rem;
  font-weight: 600;
}

main.news_detail .contents .child .links ul li {
  margin-top: 14px;
  font-size: 1.5rem;
}

main.news_detail .contents .child blockquote {
  position: relative;
  margin-top: 100px;
  background-color: #eeeee7;
  padding: 37px 50px;
  color: #6c6c6c;
  line-height: 2;
  font-size: 1.5rem;
  font-weight: 600;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child blockquote.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child blockquote:before {
  position: absolute;
  content: '“';
  font-family: 'Butler', sans-serif;
  font-size: 18rem;
  top: -12px;
  left: -7px;
  color: #d4d4cb;
  line-height: 1;
  font-weight: 300;
}

main.news_detail .contents .child blockquote:after {
  content: '”';
  font-family: 'Butler', sans-serif;
  font-size: 18rem;
  position: absolute;
  margin-top: 20px;
  right: -10px;
  color: #d4d4cb;
  line-height: 1;
  font-weight: 300;
}

main.news_detail .contents .child > ul,
main.news_detail .contents .child > ol,
main.news_detail .contents .child > p {
  position: relative;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.news_detail .contents .child > ul.show,
main.news_detail .contents .child > ol.show,
main.news_detail .contents .child > p.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news_detail .contents .child > ul {
  margin-left: 23px;
  list-style-type: disc;
}

main.news_detail .contents .child > ul li {
  font-size: 1.5rem;
  line-height: 2;
}

main.news_detail .back {
  background-color: #e4e4dc;
  position: relative;
  font-size: 1.6rem;
}

main.news_detail .back a {
  color: #666666;
  display: block;
  height: 280px;
}

main.news_detail .back a .child {
  position: relative;
  top: 48.5%;
  left: 400px;
}

main.news_detail .back a:hover:before {
  animation: hover_line_news 0.8s;
}

@keyframes hover_line_news {
  0% {
    width: 240px;
    left: 120px;
  }

  50% {
    width: 0;
    left: 360px;
  }

  50.01% {
    width: 0;
    left: 120px;
  }

  100% {
    width: 240px;
    left: 120px;
  }
}

main.news_detail .back a:before {
  content: "";
  height: 1px;
  width: 240px;
  display: inline-block;
  background-color: #999999;
  top: 51%;
  left: 120px;
  position: absolute;
}

@media screen and (max-width: 1100px) and (min-width: 1024px) {
  main.news_detail .main_visual .child {
    margin: 0px 60px 90px;
  }

  main.news_detail .contents .child {
    margin: 0 60px;
    width: auto;
  }
}

@media screen and (max-width: 1023px) {
  main.news_detail .main_visual .child {
    width: 87%;
    margin: 0px auto 86px;
  }

  main.news_detail .main_visual .child .date {
    padding-top: 284px;
    font-size: 3.0rem;
  }

  main.news_detail .main_visual .child h1 {
    font-size: 3.5rem;
    margin-top: 38px;
    line-height: 1.67;
  }

  main.news_detail .main_visual .img {
    margin: 0 auto 72px;
  }

  main.news_detail .contents {
    margin: 0 auto 110px;
    width: 87%;
  }

  main.news_detail .contents .child {
    width: 100%;
  }

  main.news_detail .contents .child h2 {
    font-size: 3.0rem;
    margin-bottom: 30px;
  }

  main.news_detail .contents .child h2:before {
    width: 62px;
    height: 4px;
    top: 52px;
  }

  main.news_detail .contents .child h3,
  main.news_detail .contents .child h4,
  main.news_detail .contents .child h5,
  main.news_detail .contents .child h6 {
    font-size: 2.6rem;
  }

  main.news_detail .contents .child > .txt {
    font-size: 2.2rem;
    margin-top: 74px;
    line-height: 1.95;
  }

  main.news_detail .contents .child img {
    margin-bottom: 48px;
  }

  main.news_detail .contents .child a:before {
    top: 22px;
  }

  main.news_detail .contents .child a[target=_blank]:after {
    width: 16px;
    height: 14px;
    top: 2px;
    margin-left: 6px;
  }

  main.news_detail .contents .child .links {
    margin-top: 88px;
  }

  main.news_detail .contents .child .links .txt {
    font-size: 2.2rem;
  }

  main.news_detail .contents .child .links > ul li {
    font-size: 2.2rem;
  }

  main.news_detail .contents .child blockquote {
    font-size: 2.2rem;
    padding: 52px 7% 52px;
    line-height: 1.95;
    margin-top: 100px;
  }

  main.news_detail .contents .child blockquote:before {
    font-size: 20rem;
    top: -4px;
    left: -3px;
  }

  main.news_detail .contents .child blockquote:after {
    font-size: 20rem;
    right: -5px;
    margin-top: 44px;
  }

  main.news_detail .contents .child > ul {
    margin-left: 34px;
  }

  main.news_detail .contents .child > ul li {
    font-size: 2.2rem;
    line-height: 1.7;
    padding-left: 10px;
    margin-top: 6px;
  }

  main.news_detail .back {
    height: 248px;
    font-size: 2.6rem;
  }

  main.news_detail .back a .child {
    top: 39.5%;
    left: 26.4%;
  }

@keyframes hover_line_news {
    0% {
      width: 98px;
      left: 25px;
    }

    50% {
      width: 0;
      left: 123px;
    }

    50.01% {
      width: 0;
      left: 25px;
    }

    100% {
      width: 98px;
      left: 25px;
    }
}

  main.news_detail .back a:before {
    width: 98px;
    top: 50.6%;
    left: 25px;
  }
}

@media screen and (max-width: 559px) {
  main.news_detail .main_visual .child {
    margin: 0px auto 43px;
  }

  main.news_detail .main_visual .child .date {
    padding-top: 142px;
    font-size: 1.5rem;
  }

  main.news_detail .main_visual .child h1 {
    font-size: 1.75rem;
    margin-top: 19px;
  }

  main.news_detail .contents .child h2 {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }

  main.news_detail .contents .child h2:before {
    width: 31px;
    height: 2px;
    top: 26px;
  }

  main.news_detail .contents .child h3,
  main.news_detail .contents .child h4,
  main.news_detail .contents .child h5,
  main.news_detail .contents .child h6 {
    font-size: 1.3rem;
    margin-bottom: 5px;
  }

  main.news_detail .contents .child > .txt {
    font-size: 1.1rem;
  }

  main.news_detail .contents .child img {
    margin-bottom: 24px;
  }

  main.news_detail .contents .child a:before {
    top: 1.8rem;
  }

  main.news_detail .contents .child a[target=_blank]:after {
    width: 8px;
    height: 7px;
  }

  main.news_detail .contents .child .links {
    margin-top: 41px;
  }

  main.news_detail .contents .child .links .txt {
    font-size: 1.1rem;
    margin-top: 49px;
  }

  main.news_detail .contents .child .links > ul li {
    font-size: 1.1rem;
  }

  main.news_detail .contents .child blockquote {
    font-size: 1.1rem;
    padding: 27px 7%;
    margin-top: 50px;
  }

  main.news_detail .contents .child blockquote:before {
    font-size: 10rem;
  }

  main.news_detail .contents .child blockquote:after {
    font-size: 10rem;
    margin-top: 22px;
  }

  main.news_detail .contents .child > ul {
    margin-left: 21px;
  }

  main.news_detail .contents .child > ul li {
    font-size: 1.1rem;
    line-height: 1.9;
    padding-left: 0;
    margin-top: 0;
  }

  main.news_detail .back {
    height: 128px;
    font-size: 1.3rem;
  }

  main.news_detail .back a .child {
    top: 20.8%;
    left: 24%;
  }

@keyframes hover_line_news {
    0% {
      width: 49px;
      left: 25px;
    }

    50% {
      width: 0;
      left: 74px;
    }

    50.01% {
      width: 0;
      left: 25px;
    }

    100% {
      width: 49px;
      left: 25px;
    }
}

  main.news_detail .back a:before {
    width: 49px;
  }
}
@charset "UTF-8";

/*
z-index

 */

main.recruit {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.recruit .main_visual {
  width: 100%;
  max-width: 1800px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
  opacity: 1;
}

main.recruit .main_visual.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.recruit .main_visual .child {
  max-width: 1070px;
  margin: 0 auto 123px;
  position: relative;
  display: flex;
}

main.recruit .main_visual .child .left {
  width: 83.6%;
}

main.recruit .main_visual .child .left h1 {
  font-size: 6.0em;
  font-weight: 500;
  left: 3.9%;
  letter-spacing: -0.018em;
  line-height: 0.9;
  z-index: 104;
  pointer-events: none;
  padding-top: 282px;
}

main.recruit .main_visual .child .left .sub_tit {
  font-size: 1.6rem;
  margin-top: 7px;
}

main.recruit .main_visual .child .right {
  width: 16.3%;
  padding-top: 282px;
}

main.recruit .main_visual .child .right ul {
  border-left: 2px solid #e0ddda;
  padding-left: 19%;
}

main.recruit .main_visual .child .right ul li {
  font-size: 2.2rem;
  margin-left: 20px;
  line-height: 1.8;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.recruit .main_visual .child .right ul li:hover {
  opacity: 0.5;
}

main.recruit .main_visual .child .right ul li span {
  color: #ff7000;
  font-size: 1.2rem;
  margin-right: 10px;
  top: -3px;
  position: relative;
}

main.recruit > section .child h2 {
  font-size: 15rem;
  opacity: .15;
  position: absolute;
  transform-origin: center;
  transform: rotate(-90deg);
  color: #000;
}

main.recruit > section .child h3 {
  color: #000;
  font-weight: 400;
}

main.recruit > section .child h3 span {
  display: block;
}

main.recruit > section .child h3 span:first-child {
  color: #ff7000;
  font-size: 2.5rem;
}

main.recruit > section .child h3 span:nth-child(2) {
  font-size: 4.8rem;
}

main.recruit > section .child h3 span:nth-child(3) {
  margin-top: 6px;
  font-size: 1.5rem;
}

main.recruit > section .child .txt {
  font-size: 1.5rem;
}

main.recruit .section1 {
  background-color: #fff;
}

main.recruit .section1 .child {
  max-width: 1320px;
  margin: 0 auto;
  padding-bottom: 196px;
}

main.recruit .section1 .child h2 {
  top: 1003px;
  left: -149px;
  letter-spacing: -0.04em;
}

main.recruit .section1 .child .cont {
  display: flex;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.recruit .section1 .child .cont.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.recruit .section1 .child .cont .img {
  width: 50%;
  margin-top: -100px;
  height: 750px;
  overflow: hidden;
}

main.recruit .section1 .child .cont .img img {
  position: relative;
  left: 50%;
  width: 76%;
  transform: translate3d(-54%, 0, 0);
}

main.recruit .section1 .child .cont .chunk {
  width: 50%;
  padding-left: 18px;
}

main.recruit .section1 .child .cont .chunk h3 {
  margin-top: 145px;
}

main.recruit .section1 .child .cont .chunk h3 span:nth-child(3) {
  margin-top: 5px;
}

main.recruit .section1 .child .cont .chunk .copy {
  margin-top: 55px;
  font-size: 4.5rem;
  color: #0022ff;
  font-weight: 500;
  line-height: 1.2;
}

main.recruit .section1 .child .cont .chunk .txt {
  margin-top: 36px;
  margin-right: 50px;
  font-size: 1.5rem;
  line-height: 2;
}

main.recruit .section1 .child .cont .chunk ul.links {
  margin-top: 73px;
  padding-right: 74px;
  font-size: 1.6rem;
  font-weight: 400;
  display: flex;
  width: 100%;
}

main.recruit .section1 .child .cont .chunk ul.links li {
  position: relative;
  flex-grow: 1;
}

main.recruit .section1 .child .cont .chunk ul.links li + li {
  margin-left: 40px;
}

main.recruit .section1 .child .cont .chunk ul.links li a {
  color: #666666;
  display: block;
  padding-bottom: 25px;
}

main.recruit .section1 .child .cont .chunk ul.links li a:hover:before {
  animation: line .6s;
}

main.recruit .section1 .child .cont .chunk ul.links li a:hover:after {
  animation: arrow8 .6s;
}

main.recruit .section1 .child .cont .chunk ul.links li a:before {
  content: "";
  height: 3px;
  width: 100%;
  background-color: #c4c4c4;
  display: inline-block;
  position: absolute;
  top: 38px;
  left: 0;
}

main.recruit .section1 .child .cont .chunk ul.links li a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_next_black.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  width: 8px;
  height: 9px;
  position: absolute;
  right: 5px;
  top: 3px;
}

main.recruit .section1 .child .cont .chunk .link-full {
  padding-right: 74px;
}

main.recruit .section1 .child .cont .chunk .link-full-btn {
  color: #666666;
  display: block;
  padding-bottom: 25px;
  text-align: left;
  position: relative;
  font-size: 1.6rem;
  margin-top: 47px;
  margin-bottom: 28px;
  width: 100%;
}

main.recruit .section1 .child .cont .chunk .link-full-btn:hover:before {
  animation: line .6s;
}

main.recruit .section1 .child .cont .chunk .link-full-btn:before {
  content: "";
  height: 3px;
  width: 100%;
  background-color: #c4c4c4;
  display: inline-block;
  position: absolute;
  bottom: 0px;
  left: 0;
}

main.recruit .section1 .child .cont .chunk .link-full-btn:after {
  content: "";
  background-image: url("/assets/img/common/external_gray.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  width: 10px;
  height: 8px;
  position: absolute;
  right: 5px;
  top: 3px;
}

main.recruit .section2 {
  display: flex;
  position: relative;
}

main.recruit .section2 .left {
  width: 51.5%;
  color: #fff;
  background-color: #0022ff;
  overflow: hidden;
}

main.recruit .section2 .left .child {
  max-width: 365px;
  margin: 145px auto 0;
  position: relative;
}

main.recruit .section2 .left .child h3 {
  color: #fff;
}

main.recruit .section2 .left .child ul {
  top: 112px;
  position: absolute;
}

main.recruit .section2 .left .child ul li {
  line-height: 1.6;
  margin-top: 43px;
}

main.recruit .section2 .left .child ul li:last-of-type {
  margin-bottom: 140px;
}

main.recruit .section2 .left .child ul li .tit {
  font-size: 2.5rem;
}

main.recruit .section2 .left .child ul li .txt {
  font-size: 1.5rem;
  margin-top: 6px;
  line-height: 1.95;
  letter-spacing: -.02em;
}

main.recruit .section2 .right {
  width: 48.5%;
  background-color: #bbb8b5;
  overflow: hidden;
}

main.recruit .section2 .right img {
  width: 100%;
  transform-origin: top center;
  transform: scale(1.4);
}

main.recruit .section2 h2 {
  position: absolute;
  left: 52%;
  top: 70%;
  letter-spacing: -0.04em;
  font-size: 15rem;
  opacity: .15;
  transform: rotate(-90deg);
  color: #000;
  transform-origin: left center;
}

main.recruit .section3 {
  background-color: #f4f4ee;
}

main.recruit .section3 .child {
  max-width: 980px;
  margin: 0 auto;
  padding-top: 195px;
  padding-bottom: 177px;
  position: relative;
  display: flex;
}

main.recruit .section3 .child .cont {
  width: 29.6%;
}

main.recruit .section3 .child .cont .chunk h3 span:nth-child(3) {
  margin-top: 6px;
}

main.recruit .section3 .child .cont .chunk .txt {
  margin-top: 51px;
  line-height: 1.95;
}

main.recruit .section3 .child ul {
  border-left: 2px solid #e0ddda;
  width: 70.4%;
  padding-left: 5%;
}

main.recruit .section3 .child ul li {
  display: flex;
  align-items: center;
  margin-top: 7px;
  margin-bottom: 30px;
}

main.recruit .section3 .child ul li:last-of-type {
  margin-bottom: 0;
}

main.recruit .section3 .child ul li span.num {
  color: #fff;
  background-color: #ff7000;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  font-family: nimbus-sans, sans-serif;
  font-size: 1.8rem;
  margin-right: 24px;
  line-height: 2.2;
}

main.recruit .section3 .child ul li span.txt {
  display: block;
  font-size: 2.2rem;
  line-height: 1.6;
  position: relative;
  top: 2px;
  letter-spacing: -0.03em;
  width: 87%;
}

main.recruit .section4 {
  background-color: #fff;
}

main.recruit .section4 .child {
  max-width: 980px;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 160px;
  position: relative;
}

main.recruit .section4 .child h2 {
  transform: rotate(0);
  left: 29.4%;
  top: 164px;
  white-space: nowrap;
  font-size: 14rem;
  letter-spacing: -0.02em;
}

main.recruit .section4 .child .cont .chunk h3 span:nth-child(3) {
  margin-top: 6px;
}

main.recruit .section4 .child .cont .chunk .txt {
  margin-top: 51px;
  line-height: 2.15;
}

main.recruit .section4 .child .cont .chunk .txt2 {
  margin-top: 10px;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.9;
}

main.recruit .section4 .child .cont .chunk .txt2 div {
  display: table;
}

main.recruit .section4 .child .cont .chunk .txt2 div span {
  box-shadow: 0px -18px 0px 0px #f1f1f1 inset;
}

main.recruit .section4 .child .cont .chunk .txt3 {
  margin-top: 15px;
}

main.recruit .section4 .child ul.first.show li {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.recruit .section4 .child ul.first > li {
  margin-top: 32px;
  margin-bottom: 0px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.recruit .section4 .child ul.first > li:first-child {
  margin-top: 50px;
}

main.recruit .section4 .child ul.first > li.open > .tit {
  color: #ff7000;
}

main.recruit .section4 .child ul.first > li.open > .tit:after {
  transform: rotate(90deg);
}

main.recruit .section4 .child ul.first > li > .tit {
  font-size: 3.0rem;
  font-weight: 500;
  border-bottom: 2px solid #000;
  padding-bottom: 16px;
  margin-bottom: 10px;
  padding-left: 5px;
  position: relative;
  cursor: pointer;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.recruit .section4 .child ul.first > li > .tit:hover {
  opacity: 0.5;
}

main.recruit .section4 .child ul.first > li > .tit:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 26px;
  height: 3px;
  background-color: #000;
  right: 5px;
  top: 16px;
}

main.recruit .section4 .child ul.first > li > .tit:after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 25px;
  background-color: #000;
  position: absolute;
  right: 16px;
  top: 5px;
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.recruit .section4 .child ul.first > li .cont {
  overflow: hidden;
  height: 0;
  transition: height 600ms;
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

main.recruit .section4 .child ul.first > li .cont ul.second {
  margin-top: 45px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li {
  margin: 0 auto 43px;
  padding-bottom: 50px;
  border-bottom: 1px solid #dddddd;
  width: 96%;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .job_tit {
  margin-top: 24px;
  font-size: 3.0rem;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .job_tit span {
  font-size: 1.8rem;
  color: #6c6c6c;
  font-weight: 600;
  margin-left: 26px;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .job_txt {
  font-size: 1.5rem;
  margin-top: 26px;
  line-height: 2;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .details {
  display: flex;
  margin-top: 28px;
  border-left: 5px solid #e0ddda;
  padding-left: 48px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail {
  line-height: 1.6;
  margin-right: 100px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .tit {
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 5px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .third {
  margin-top: 12px;
  font-size: 1.5rem;
  margin-left: -5px;
  line-height: 2;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .third p {
  position: relative;
  padding-left: 15px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .third p:before {
  content: "・";
  position: absolute;
  top: 0px;
  left: 0px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry {
  margin-top: 60px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .tit {
  color: #ff7000;
  font-size: 1.4rem;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text {
  font-size: 1.5rem;
  line-height: 2;
  margin-top: 12px;
  letter-spacing: 0.03em;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text a {
  position: relative;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text a[target=_blank] {
  padding-right: 1em;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text a[target=_blank]:after {
  content: "";
  background-image: url("/assets/img/common/external.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 10px;
  height: 8px;
  display: inline-block;
  position: absolute;
  top: 4px;
  margin-left: 1px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn {
  color: #666666;
  display: block;
  padding-bottom: 25px;
  text-align: center;
  position: relative;
  font-size: 2.2rem;
  margin-top: 54px;
  margin-bottom: 28px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn:hover:before {
  animation: line .6s;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn:hover:after {
  animation: arrow8 .6s;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn:before {
  content: "";
  height: 3px;
  width: 100%;
  background-color: #c4c4c4;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn:after {
  content: "";
  background-image: url("/assets/img/common/arrow_next_black.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  width: 8px;
  height: 9px;
  position: absolute;
  right: 5px;
  top: 3px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr {
  display: flex;
  margin-top: 17px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-item + .bnr-item {
  margin-left: 3.5rem;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-link {
  border: solid 1px #dddddd;
  display: block;
  position: relative;
  width: 29rem;
  height: 10rem;
  transition: opacity 0.5s ease;
  background-repeat: no-repeat;
  background-size: cover;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-link:after {
  content: "";
  background-image: url("/assets/img/common/external_gray.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  position: absolute;
  width: 10px;
  height: 8px;
  position: absolute;
  right: 6px;
  bottom: 6px;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-link:hover {
  opacity: 0.8;
}

main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-caption {
  font-size: 1.3rem;
  line-height: 2.30769;
  letter-spacing: 0.05em;
  margin-top: 9px;
}

main.recruit .section4 .child div.banners {
  margin-top: 93px;
}

main.recruit .section4 .child div.banners div.banners_child {
  position: relative;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}

main.recruit .section4 .child div.banners div.banners_child a {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.recruit .section4 .child div.banners div.banners_child a:first-of-type {
  margin-right: 30px;
}

main.recruit .section4 .child div.banners div.banners_child a.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.recruit .section4 .child div.banners div.banners_child a img {
  width: 300px;
  border: 1px solid #dddddd;
}

main.recruit .section5 {
  background-color: #f4f4ee;
}

main.recruit .section5 .child {
  max-width: 980px;
  margin: 0 auto;
  padding-top: 202px;
  padding-bottom: 300px;
  position: relative;
}

main.recruit .section5 .child .cont .chunk h3 span:nth-child(3) {
  margin-top: 6px;
}

main.recruit .section5 .child .cont .chunk .txt {
  margin-top: 51px;
  line-height: 1.95;
}

main.recruit .section5 .child .img {
  margin-top: 60px;
}

main.recruit .section5 .child .img .sp {
  display: none;
}

main.recruit .section5 .child .img img {
  width: 100%;
}

@media screen and (max-width: 1200px) {
  main.recruit .main_visual .child {
    max-width: 920px;
  }

  main.recruit .main_visual .child .left {
    width: 73%;
  }

  main.recruit .main_visual .child .right {
    width: 27%;
  }
}

@media screen and (max-width: 1023px) {
  main.recruit .main_visual .child {
    width: 87%;
    margin: 0 auto 72px;
  }

  main.recruit .main_visual .child .left {
    width: 54%;
  }

  main.recruit .main_visual .child .left h1 {
    font-size: 6.0rem;
    left: 0%;
    padding-top: 280px;
    letter-spacing: -0.011em;
    line-height: 1.1;
    white-space: nowrap;
    position: relative;
  }

  main.recruit .main_visual .child .left .sub_tit {
    font-size: 2.4rem;
    position: relative;
    margin-top: 4px;
  }

  main.recruit .main_visual .child .right {
    width: 46%;
    padding-top: 288px;
  }

  main.recruit .main_visual .child .right ul {
    border-left: 1px solid #e0ddda;
    padding-left: 16.4%;
  }

  main.recruit .main_visual .child .right ul li {
    font-size: 3.2rem;
    margin-left: -2px;
    line-height: 1;
    margin-bottom: 24px;
  }

  main.recruit .main_visual .child .right ul li span {
    font-size: 2.0rem;
    margin-right: 20px;
  }

  main.recruit > section .child h2 {
    font-size: 12rem;
  }

  main.recruit > section .child .chunk h3 span:first-child {
    font-size: 3.0rem;
  }

  main.recruit > section .child .chunk h3 span:first-child:after {
    width: 52px;
    top: -3px;
    margin-left: 12px;
    margin-right: 12px;
  }

  main.recruit > section .child .chunk h3 span:nth-child(2) {
    font-size: 5.5rem;
  }

  main.recruit > section .child .chunk h3 span:nth-child(3) {
    font-size: 2.4rem;
  }

  main.recruit .section1 .child {
    padding-bottom: 103px;
  }

  main.recruit .section1 .child h2 {
    top: 726px;
    left: -170px;
    font-size: 12rem;
  }

  main.recruit .section1 .child .cont {
    margin-top: 143px;
  }

  main.recruit .section1 .child .cont .img {
    position: absolute;
    left: 6.6%;
    width: 48.7%;
    height: 525px;
    transform: translate3d(0, 0, 0);
    margin-top: -71px;
  }

  main.recruit .section1 .child .cont .img img {
    width: 100%;
  }

  main.recruit .section1 .child .cont .chunk {
    width: 92%;
    margin: 0 auto;
    padding-right: 18px;
  }

  main.recruit .section1 .child .cont .chunk h3 {
    margin-top: 224px;
    margin-left: 64.6%;
  }

  main.recruit .section1 .child .cont .chunk .copy {
    font-size: 5.0rem;
    margin-top: 100px;
  }

  main.recruit .section1 .child .cont .chunk .txt {
    font-size: 2.2rem;
    margin-top: 26px;
    line-height: 1.95;
    margin-right: 0;
  }

  main.recruit .section1 .child .cont .chunk ul.links {
    font-size: 2.6rem;
    margin-top: 82px;
    padding-right: 0;
  }

  main.recruit .section1 .child .cont .chunk ul.links li {
    position: relative;
  }

  main.recruit .section1 .child .cont .chunk ul.links li + li {
    margin-left: 5.5rem;
  }

  main.recruit .section1 .child .cont .chunk ul.links li:before {
    height: 2px;
    top: 54px;
    left: 0;
  }

  main.recruit .section1 .child .cont .chunk ul.links li:after {
    width: 12px;
    height: 14px;
    right: 0px;
    top: 8px;
  }

  main.recruit .section1 .child .cont .chunk .link-full {
    padding-right: 0;
  }

  main.recruit .section1 .child .cont .chunk .link-full-btn {
    font-size: 2.6rem;
    width: 100%;
  }

  main.recruit .section2 {
    flex-direction: column-reverse;
  }

  main.recruit .section2 .left {
    width: 100%;
    overflow: inherit;
  }

  main.recruit .section2 .left .child {
    margin: 100px auto 140px;
    width: 74%;
    max-width: inherit;
  }

  main.recruit .section2 .left .child ul {
    margin-top: 66px;
    position: relative;
    top: 0;
  }

  main.recruit .section2 .left .child ul li {
    margin-top: 44px;
  }

  main.recruit .section2 .left .child ul li .tit {
    font-size: 3.5rem;
  }

  main.recruit .section2 .left .child ul li .txt {
    font-size: 2.2rem;
    margin-top: 4px;
  }

  main.recruit .section2 .right {
    width: 100%;
    overflow: hidden;
    height: 500px;
  }

  main.recruit .section2 .right img {
    position: relative;
    transform: translate3d(0, 0, 0);
  }

  main.recruit .section2 h2 {
    left: 96%;
    top: 557px;
    font-size: 12rem;
  }

  main.recruit .section3 .child {
    display: block;
    padding-top: 196px;
    padding-bottom: 70px;
    width: 87%;
    position: relative;
  }

  main.recruit .section3 .child .cont {
    width: auto;
  }

  main.recruit .section3 .child ul {
    width: auto;
    margin-top: 64px;
    border-width: 0;
    padding-left: 0;
  }

  main.recruit .section3 .child ul li {
    margin-bottom: 40px;
  }

  main.recruit .section3 .child ul li span.num {
    width: 60px;
    height: 60px;
    font-size: 2.8rem;
    margin-right: 6%;
  }

  main.recruit .section3 .child ul li span.txt {
    font-size: 2.8rem;
    width: 81%;
  }

  main.recruit .section4 .child {
    padding-top: 196px;
    padding-bottom: 163px;
    width: 87%;
    position: relative;
  }

  main.recruit .section4 .child h2 {
    left: 59%;
    line-height: 0.9;
    top: 200px;
    text-align: right;
    white-space: inherit;
    font-size: 12rem;
  }

  main.recruit .section4 .child .cont .chunk h3 span:nth-child(3) {
    margin-top: 2px;
  }

  main.recruit .section4 .child .cont .chunk .txt {
    font-size: 2.2rem;
    margin-top: 52px;
    line-height: 1.95;
  }

  main.recruit .section4 .child .cont .chunk .txt2 {
    font-size: 3.4rem;
    margin-top: 40px;
    line-height: 1.8;
  }

  main.recruit .section4 .child .cont .chunk .txt2 div {
    line-height: 1.6;
    margin-bottom: 21px;
  }

  main.recruit .section4 .child .cont .chunk .txt2 div span {
    box-shadow: 0px -34px 0px 0px #f1f1f1 inset;
  }

  main.recruit .section4 .child .cont .chunk .txt3 {
    margin-top: 25px;
  }

  main.recruit .section4 .child ul.first > li {
    margin-top: 22px;
  }

  main.recruit .section4 .child ul.first > li:first-child {
    margin-top: 65px;
  }

  main.recruit .section4 .child ul.first > li.open > .tit:after {
    top: 1px;
  }

  main.recruit .section4 .child ul.first > li > .tit {
    font-size: 4.0rem;
    border-bottom: 4px solid #000;
    padding-bottom: 14px;
  }

  main.recruit .section4 .child ul.first > li > .tit:before {
    width: 38px;
    height: 4px;
    right: 8px;
    top: 18px;
  }

  main.recruit .section4 .child ul.first > li > .tit:after {
    width: 4px;
    height: 38px;
    right: 25px;
    top: 0px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second {
    margin-top: -20px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li {
    padding-bottom: 34px;
    margin: 56px auto 56px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .job_tit {
    font-size: 4.0rem;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .job_tit span {
    font-size: 2.8rem;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .job_txt {
    font-size: 2.2rem;
    margin-top: 12px;
    line-height: 1.95;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details {
    display: block;
    margin-top: 32px;
    border-left-width: 4px;
    margin-left: 8px;
    padding-left: 48px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail {
    margin-bottom: 20px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .tit {
    font-size: 2.2rem;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .third {
    font-size: 2.2rem;
    margin-top: 6px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .third p {
    line-height: 1.95;
  }

  main.recruit .section5 .child {
    padding-top: 195px;
    padding-bottom: 100px;
    width: 87%;
    position: relative;
  }

  main.recruit .section5 .child .cont {
    width: 100%;
  }

  main.recruit .section5 .child .img .pc {
    display: none;
  }

  main.recruit .section5 .child .img .sp {
    display: block;
  }
}

@media screen and (max-width: 559px) {
  main.recruit .main_visual .child .left h1 {
    font-size: 3.0rem;
    padding-top: 140px;
  }

  main.recruit .main_visual .child .left .sub_tit {
    font-size: 1.2rem;
    margin-top: 2px;
  }

  main.recruit .main_visual .child .right {
    padding-top: 144px;
  }

  main.recruit .main_visual .child .right ul li {
    font-size: 1.6rem;
    margin-bottom: 12px;
  }

  main.recruit .main_visual .child .right ul li span {
    font-size: 1.0rem;
    top: -2px;
    margin-right: 10px;
  }

  main.recruit > section .child h2 {
    font-size: 6rem;
  }

  main.recruit > section .child .chunk h3 span:first-child {
    font-size: 1.5rem;
  }

  main.recruit > section .child .chunk h3 span:first-child:after {
    width: 26px;
    margin-left: 6px;
    margin-right: 6px;
  }

  main.recruit > section .child .chunk h3 span:nth-child(2) {
    font-size: 2.75rem;
  }

  main.recruit > section .child .chunk h3 span:nth-child(3) {
    font-size: 1.2rem;
  }

  main.recruit .section1 .child {
    padding-bottom: 0px;
  }

  main.recruit .section1 .child h2 {
    top: 363px;
    left: -85px;
    font-size: 6rem;
  }

  main.recruit .section1 .child .cont {
    margin-top: 0px;
  }

  main.recruit .section1 .child .cont .img {
    margin-top: -36px;
    height: 263px;
  }

  main.recruit .section1 .child .cont .chunk h3 {
    margin-top: 112px;
    margin-left: 62.4%;
  }

  main.recruit .section1 .child .cont .chunk .copy {
    font-size: 2.5rem;
    margin-top: 93px;
  }

  main.recruit .section1 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 13px;
    margin-right: 0;
  }

  main.recruit .section1 .child .cont .chunk ul.links {
    font-size: 1.3rem;
    margin-top: 41px;
  }

  main.recruit .section1 .child .cont .chunk ul.links li {
    position: relative;
    margin-right: 0;
    width: 100%;
  }

  main.recruit .section1 .child .cont .chunk ul.links li + li {
    margin-left: 2.8rem;
  }

  main.recruit .section1 .child .cont .chunk ul.links li:first-child {
    width: 100%;
  }

  main.recruit .section1 .child .cont .chunk ul.links li:nth-child(2) {
    width: 100%;
  }

  main.recruit .section1 .child .cont .chunk ul.links li:nth-child(3) {
    width: 100%;
  }

  main.recruit .section1 .child .cont .chunk ul.links li a:before {
    height: 1px;
    top: 27px;
  }

  main.recruit .section1 .child .cont .chunk ul.links li a:after {
    width: 6px;
    height: 7px;
    right: 0px;
    top: 4px;
  }

  main.recruit .section1 .child .cont .chunk .link-full-btn {
    padding-bottom: 13px;
    font-size: 1.3rem;
    margin-top: 20px;
    margin-bottom: 28px;
    width: 100%;
  }

  main.recruit .section1 .child .cont .chunk .link-full-btn:hover:before {
    animation: line .6s;
  }

  main.recruit .section1 .child .cont .chunk .link-full-btn:before {
    height: 1px;
    left: 0;
  }

  main.recruit .section1 .child .cont .chunk .link-full-btn:after {
    content: "";
    background-image: url("/assets/img/common/external_gray.png");
    background-repeat: no-repeat;
    background-size: cover;
    display: inline-block;
    width: 7px;
    height: 6px;
    position: absolute;
    right: 5px;
    top: 3px;
  }

  main.recruit .section2 .left .child {
    margin: 13px auto 53px;
  }

  main.recruit .section2 .left .child ul {
    margin-top: 33px;
  }

  main.recruit .section2 .left .child ul li {
    margin-top: 15px;
  }

  main.recruit .section2 .left .child ul li:last-of-type {
    margin-bottom: 75px;
  }

  main.recruit .section2 .left .child ul li .tit {
    font-size: 1.75rem;
  }

  main.recruit .section2 .left .child ul li .txt {
    font-size: 1.1rem;
    margin-top: 2px;
  }

  main.recruit .section2 .right {
    height: 250px;
  }

  main.recruit .section2 h2 {
    left: 96%;
    top: 278px;
    font-size: 6.0rem;
  }

  main.recruit .section3 .child {
    padding-top: 30px;
    padding-bottom: 35px;
  }

  main.recruit .section3 .child ul {
    margin-top: 30px;
  }

  main.recruit .section3 .child ul li {
    margin-bottom: 20px;
  }

  main.recruit .section3 .child ul li span.num {
    width: 30px;
    height: 30px;
    font-size: 1.4rem;
  }

  main.recruit .section3 .child ul li span.txt {
    font-size: 1.4rem;
  }

  main.recruit .section4 .child {
    padding-top: 49px;
    padding-bottom: 80px;
  }

  main.recruit .section4 .child h2 {
    top: 100px;
    font-size: 6rem;
  }

  main.recruit .section4 .child .cont .chunk .txt {
    font-size: 1.1rem;
    margin-top: 26px;
  }

  main.recruit .section4 .child .cont .chunk .txt2 {
    font-size: 1.7rem;
    margin-top: 20px;
  }

  main.recruit .section4 .child .cont .chunk .txt2 div {
    margin-bottom: 10px;
  }

  main.recruit .section4 .child .cont .chunk .txt2 div span {
    box-shadow: 0px -18px 0px 0px #f1f1f1 inset;
  }

  main.recruit .section4 .child .cont .chunk .txt3 {
    margin-top: 13px;
  }

  main.recruit .section4 .child ul.first > li {
    margin-top: 11px;
  }

  main.recruit .section4 .child ul.first > li:first-child {
    margin-top: 34px;
  }

  main.recruit .section4 .child ul.first > li > .tit {
    font-size: 2.0rem;
    border-bottom: 2px solid #000;
    padding-bottom: 7px;
  }

  main.recruit .section4 .child ul.first > li > .tit:before {
    width: 19px;
    height: 2px;
    right: 4px;
    top: 9px;
  }

  main.recruit .section4 .child ul.first > li > .tit:after {
    width: 2px;
    height: 19px;
    right: 12.5px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second {
    margin-top: -10px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li {
    padding-bottom: 17px;
    margin: 0 auto 28px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .job_tit {
    font-size: 2.0rem;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .job_tit span {
    font-size: 1.4rem;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .job_txt {
    font-size: 1.1rem;
    margin-top: 6px;
    line-height: 1.95;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details {
    display: block;
    margin-top: 16px;
    border-left-width: 2px;
    margin-left: 4px;
    padding-left: 24px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail {
    margin-bottom: 10px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .tit {
    font-size: 1.1rem;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .third {
    font-size: 1.1rem;
    margin-top: 3px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .details .detail .third p {
    padding-left: 12px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry {
    margin-top: 25px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .tit {
    color: #ff7000;
    font-size: 1.3rem;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text {
    font-size: 1.1rem;
    line-height: 2;
    margin-top: 10px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text a {
    position: relative;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text a[target=_blank] {
    padding-right: 1.2em;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .text a[target=_blank]:after {
    width: 7px;
    height: 6px;
    display: inline-block;
    position: absolute;
    top: 2px;
    margin-left: 2px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn {
    padding-bottom: 12px;
    text-align: left;
    font-size: 2.0rem;
    margin-top: 25px;
    margin-bottom: 23px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn:before {
    height: 1.5px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .btn:after {
    width: 7px;
    height: 8px;
    right: 5px;
    top: 3px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr {
    flex-direction: column;
    padding-bottom: 15px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-item + .bnr-item {
    margin-left: 0;
    margin-top: 9px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-link {
    width: 100%;
    padding-bottom: 34.426229508196721%;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-link:after {
    width: 7px;
    height: 6px;
    right: 6px;
    bottom: 6px;
  }

  main.recruit .section4 .child ul.first > li .cont ul.second > li .entry .bnr-caption {
    font-size: 1.1rem;
    line-height: 1.90909;
    letter-spacing: 0.05em;
    margin-top: 5px;
  }

  main.recruit .section4 .child div.banners {
    margin-top: 41px;
  }

  main.recruit .section4 .child div.banners div.banners_child a:first-of-type {
    margin-right: 15px;
  }

  main.recruit .section4 .child div.banners div.banners_child a img {
    width: 150px;
  }

  main.recruit .section5 .child {
    padding-top: 30px;
    padding-bottom: 75px;
  }

  main.recruit .section5 .child .img {
    margin-top: 25px;
  }
}
/*
z-index

 */

main.contact {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.contact .main_visual {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 140px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: flex;
}

main.contact .main_visual .left {
  width: 75%;
}

main.contact .main_visual .left .child {
  width: 83%;
  margin: 0 0 0 auto;
}

main.contact .main_visual .left .child h1 {
  font-size: 6.0em;
  font-weight: 500;
  left: 3.9%;
  letter-spacing: -0.018em;
  line-height: 0.9;
  z-index: 104;
  pointer-events: none;
  padding-top: 283px;
}

main.contact .main_visual .left .child .sub_tit {
  font-size: 1.8rem;
  margin-top: 5px;
}

main.contact .main_visual .right {
  width: 25%;
  padding-top: 286px;
  line-height: 1.25;
  font-size: 1.8rem;
  color: #a0a097;
}

main.contact .main_visual .right:before {
  position: absolute;
  content: "";
  width: 2px;
  height: 60px;
  top: 290px;
  background-color: #e0ddda;
}

main.contact .main_visual .right .child {
  position: relative;
  left: 50%;
  display: inline-block;
  transform: translate3d(-55%, 0, 0);
}

main.contact .contents {
  width: 100%;
  display: flex;
  border-top: 1px solid #d8d8d6;
}

main.contact .contents .left {
  width: 75%;
  background-color: #eaeae2;
  position: relative;
  padding-bottom: 250px;
}

main.contact .contents .left .child {
  position: relative;
  margin: 0 0 0 auto;
  width: 82.5%;
  font-size: 1.5rem;
}

main.contact .contents .left .child .supplementation {
  padding-top: 100px;
}

main.contact .contents .left .child ul {
  margin-top: 88px;
  width: 79%;
}

main.contact .contents .left .child ul li {
  margin-top: 41px;
}

main.contact .contents .left .child ul li.error .message {
  display: block;
}

main.contact .contents .left .child ul li.checkbox_row {
  margin-top: 77px;
}

main.contact .contents .left .child ul li.checkbox_row .cont {
  width: 100%;
  text-align: center;
}

main.contact .contents .left .child ul li.checkbox_row .cont .check01 {
  display: none;
}

main.contact .contents .left .child ul li.checkbox_row .cont .check01 + label {
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
}

main.contact .contents .left .child ul li.checkbox_row .cont .check01 + label:before {
  content: "";
  display: block;
  position: absolute;
  top: -6px;
  left: 0px;
  width: 25px;
  height: 25px;
  border: 1px solid #dddddd;
  background-color: #fff;
}

main.contact .contents .left .child ul li.checkbox_row .cont .check01:checked + label {
  color: #000;
}

main.contact .contents .left .child ul li.checkbox_row .cont .check01:checked + label:after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 7px;
  width: 7px;
  height: 10px;
  transform: rotate(46deg);
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
}

main.contact .contents .left .child ul li.checkbox_row .cont .checkbox_txt {
  font-size: 1.4rem;
  color: #252e35;
  font-weight: 500;
}

main.contact .contents .left .child ul li.checkbox_row .cont .checkbox_txt a {
  padding-bottom: 1px;
  border-bottom: 1px solid #252e35;
}

main.contact .contents .left .child ul li.checkbox_row .message {
  text-align: center;
  margin-top: 15px;
  margin-left: 0;
}

main.contact .contents .left .child ul li.button_row {
  margin-top: 70px;
}

main.contact .contents .left .child ul li.button_row .cont {
  width: 100%;
  text-align: center;
}

main.contact .contents .left .child ul li.button_row .cont button {
  display: inline-block;
  width: 320px;
  color: #fff;
  background-color: #212121;
  height: 70px;
  font-size: 1.8rem;
  font-weight: 600;
  position: relative;
  cursor: pointer;
  border-radius: 40px;
  padding-right: 25px;
  padding-top: 2px;
  transition: opacity 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.contact .contents .left .child ul li.button_row .cont button:hover {
  opacity: .5;
}

main.contact .contents .left .child ul li.button_row .cont button:hover:after {
  animation: arrow8 .6s;
}

main.contact .contents .left .child ul li.button_row .cont button:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_white_mini.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 14px;
  height: 16px;
  right: 39px;
  top: 26px;
}

main.contact .contents .left .child ul li.select_row .cont label {
  position: relative;
}

main.contact .contents .left .child ul li.select_row .cont label:after {
  content: "";
  background-image: url("/assets/img/contact/arrow.png");
  background-size: contain;
  position: absolute;
  display: inline-block;
  width: 14px;
  height: 9px;
  top: 2px;
  right: 29px;
}

main.contact .contents .left .child ul li.select_row select {
  margin-top: 14px;
  border: none;
  height: 63px;
  border-radius: 0px !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 340px;
  font-size: 1.8rem;
  padding-left: 25px;
  position: relative;
  background: #fff;
}

main.contact .contents .left .child ul li.select_row select::-ms-expand {
  display: none;
}

main.contact .contents .left .child ul li .tit {
  margin-top: 30px;
  font-weight: 600;
  display: flex;
}

main.contact .contents .left .child ul li .message {
  font-size: 1.3rem;
  color: #ff0000;
  font-weight: 400;
  margin-left: 31px;
  position: relative;
  top: 2px;
  display: none;
}

main.contact .contents .left .child ul li .cont {
  margin-top: 0px;
}

main.contact .contents .left .child ul li input {
  font-size: 1.8rem;
  margin-top: 14px;
  padding: 20px;
  width: 100%;
  border: none;
}

main.contact .contents .left .child ul li textarea {
  font-size: 1.8rem;
  border: none;
  background: #fff;
  width: 100%;
  height: 300px;
  resize: none;
  padding: 21px 24px;
  margin-top: 14px;
}

main.contact .contents .right {
  width: 25%;
  font-size: 1.3rem;
}

main.contact .contents .right ul {
  margin-top: 86px;
  position: relative;
  left: 50%;
  transform: translate3d(-47%, 0, 0);
  display: inline-block;
}

main.contact .contents .right ul li {
  position: relative;
  font-weight: 600;
  margin-bottom: 20px;
  color: #999999;
}

main.contact .contents .right ul li.current {
  color: #000;
}

main.contact .contents .right ul li.current:before {
  background-color: #000;
}

main.contact .contents .right ul li.current:after {
  color: #fff;
}

main.contact .contents .right ul li:nth-child(2):after {
  content: "2";
}

main.contact .contents .right ul li:nth-child(3):after {
  content: "3";
}

main.contact .contents .right ul li:nth-child(3) span:after {
  content: "";
  display: none;
}

main.contact .contents .right ul li:before {
  content: "";
  position: relative;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #b1b1b0;
  width: 35px;
  height: 35px;
  display: inline-block;
  top: 14px;
  left: 0;
  margin-right: 25px;
}

main.contact .contents .right ul li:after {
  content: "1";
  color: #999999;
  position: absolute;
  top: 26px;
  left: 15px;
  font-family: nimbus-sans, sans-serif;
}

main.contact .contents .right ul li span:after {
  content: "";
  background-color: #999999;
  position: absolute;
  top: 50px;
  left: 19px;
  width: 1px;
  height: 25px;
}

@media screen and (max-width: 1340px) {
  main.contact .news_list ul li a:after {
    right: 100px;
  }
}

@media screen and (max-width: 1023px) {
  main.contact .main_visual {
    padding-bottom: 128px;
  }

  main.contact .main_visual .left {
    width: 62%;
    left: 6%;
    position: relative;
  }

  main.contact .main_visual .left .child {
    width: 100%;
  }

  main.contact .main_visual .left .child h1 {
    font-size: 6.5rem;
    left: 0%;
    padding-top: 278px;
    letter-spacing: 0.006em;
    line-height: 1.1;
    white-space: nowrap;
  }

  main.contact .main_visual .left .child .sub_tit {
    font-size: 2.6rem;
    margin-top: 0;
  }

  main.contact .main_visual .right {
    padding-top: 288px;
    font-size: 2.6rem;
    width: 32%;
    position: relative;
    line-height: 1.1;
  }

  main.contact .main_visual .right:before {
    top: 290px;
    width: 2px;
    height: 80px;
    left: 5px;
  }

  main.contact .main_visual .right .child {
    transform: translate3d(-36%, 0, 0);
  }

  main.contact .contents {
    flex-direction: column-reverse;
  }

  main.contact .contents .left {
    width: 100%;
    padding-bottom: 248px;
  }

  main.contact .contents .left .child {
    font-size: 2.2rem;
    width: 87%;
    margin: 0 auto;
  }

  main.contact .contents .left .child .supplementation {
    padding-top: 99px;
  }

  main.contact .contents .left .child ul {
    margin-top: 82px;
    width: 100%;
  }

  main.contact .contents .left .child ul li {
    margin-top: 57px;
  }

  main.contact .contents .left .child ul li:first-child {
    margin-top: 0;
  }

  main.contact .contents .left .child ul li.checkbox_row {
    margin-top: 70px;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont {
    width: 100%;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .check01 + label:before {
    width: 32px;
    height: 32px;
    top: -3px;
    left: -1px;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .check01 + label {
    margin-right: 32px;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .check01:checked + label:after {
    top: 2px;
    left: 8px;
    width: 10px;
    height: 14px;
    border-bottom: 4px solid #000;
    border-right: 4px solid #000;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .checkbox_txt {
    font-size: 2.2rem;
  }

  main.contact .contents .left .child ul li.button_row {
    margin-top: 33px;
  }

  main.contact .contents .left .child ul li.button_row .cont {
    width: 74%;
    margin: 0 auto;
  }

  main.contact .contents .left .child ul li.button_row .cont button {
    font-size: 1.5rem;
    width: 100%;
    height: 53px;
    padding-right: 11px;
    padding-top: 0px;
    border-radius: 80px;
  }

  main.contact .contents .left .child ul li.button_row .cont button:after {
    width: 11px;
    height: 12px;
    right: 25px;
    top: 19px;
  }

  main.contact .contents .left .child ul li .tit {
    margin-top: 0;
  }

  main.contact .contents .left .child ul li .tit .message {
    top: 6px;
  }

  main.contact .contents .left .child ul li .cont {
    margin-top: 9px;
  }

  main.contact .contents .left .child ul li.select_row .cont label:after {
    width: 22px;
    height: 14px;
    top: 3px;
    right: 31px;
  }

  main.contact .contents .left .child ul li.select_row select {
    margin-top: 10px;
    height: 80px;
    padding-left: 31px;
    width: 100%;
    font-size: 2.6rem;
  }

  main.contact .contents .left .child ul li input {
    font-size: 2.6rem;
    margin-top: 9px;
    padding: 25px 20px;
    width: 100%;
  }

  main.contact .contents .left .child ul li textarea {
    margin-top: 8px;
    width: 100%;
    height: 350px;
  }

  main.contact .contents .right {
    width: 100%;
  }

  main.contact .contents .right ul {
    display: flex;
    margin: 64px auto 68px;
    left: 0;
    transform: translateX(0);
    width: 87%;
  }

  main.contact .contents .right ul li {
    font-size: 2rem;
    margin-right: 34px;
  }

  main.contact .contents .right ul li:before {
    width: 40px;
    height: 40px;
    margin-right: 14px;
    top: 13px;
  }

  main.contact .contents .right ul li:after {
    top: 24px;
    left: 16px;
  }

  main.contact .contents .right ul li span:after {
    display: inline-block;
    position: relative;
    top: -7px;
    left: 17px;
    width: 30px;
    height: 1px;
  }
}

@media screen and (max-width: 770px) {
  main.contact .contents .left .child ul {
    width: 100%;
  }

  main.contact .contents .right ul li {
    margin-right: 17px;
  }

  main.contact .contents .right ul li span {
    font-size: 1.3rem;
  }

  main.contact .contents .right ul li span:after {
    width: 15px;
    left: 8px;
  }
}

@media screen and (max-width: 559px) {
  main.contact .main_visual {
    padding-bottom: 64px;
  }

  main.contact .main_visual .left .child h1 {
    font-size: 3.25rem;
    padding-top: 139px;
  }

  main.contact .main_visual .left .child .sub_tit {
    font-size: 1.3rem;
  }

  main.contact .main_visual .right {
    padding-top: 144px;
    font-size: 1.3rem;
  }

  main.contact .main_visual .right:before {
    top: 145px;
    width: 1px;
    height: 40px;
    left: 2px;
  }

  main.contact .contents .left {
    padding-bottom: 124px;
  }

  main.contact .contents .left .child {
    font-size: 1.1rem;
  }

  main.contact .contents .left .child .supplementation {
    padding-top: 49px;
  }

  main.contact .contents .left .child ul {
    margin-top: 40px;
    width: 100%;
  }

  main.contact .contents .left .child ul li {
    margin-top: 28.5px;
  }

  main.contact .contents .left .child ul li.checkbox_row {
    margin-top: 35px;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .check01 + label:before {
    width: 16px;
    height: 16px;
    left: 9px;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .check01 + label {
    margin-right: 16px;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .check01:checked + label:after {
    top: 0px;
    left: 15px;
    width: 5px;
    height: 7px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
  }

  main.contact .contents .left .child ul li.checkbox_row .cont .checkbox_txt {
    font-size: 1.1rem;
  }

  main.contact .contents .left .child ul li.checkbox_row .message {
    margin-top: 10px;
  }

  main.contact .contents .left .child ul li .tit .message {
    top: 1px;
  }

  main.contact .contents .left .child ul li.select_row .cont label:after {
    width: 11px;
    height: 7px;
    top: 1px;
    right: 16px;
  }

  main.contact .contents .left .child ul li.select_row select {
    margin-top: 3px;
    height: 40px;
    padding-left: 13px;
    font-size: 1.6rem;
  }

  main.contact .contents .left .child ul li .message {
    font-size: 1.0rem;
    top: 1px;
  }

  main.contact .contents .left .child ul li input {
    font-size: 1.6rem;
    margin-top: 0px;
    padding: 11px 20px;
  }

  main.contact .contents .left .child ul li textarea {
    margin-top: 0px;
    height: 177px;
    font-size: 1.6rem;
  }

  main.contact .contents .right ul {
    margin: 30px auto 25px;
  }

  main.contact .contents .right ul li {
    font-size: 1rem;
    margin-right: 18px;
  }

  main.contact .contents .right ul li:before {
    width: 20px;
    height: 20px;
    margin-right: 5px;
    top: 8px;
  }

  main.contact .contents .right ul li:after {
    top: 14px;
    left: 8px;
  }

  main.contact .contents .right ul li span {
    font-size: 1rem;
  }

  main.contact .contents .right ul li span:after {
    top: -3px;
    left: 8px;
    width: 15px;
    height: 1px;
  }
}

@media screen and (max-width: 370px) {
  main.contact .contents .right ul li {
    margin-right: 7px;
  }

  main.contact .contents .right ul li:before {
    margin-right: 2px;
  }

  main.contact .contents .right ul li span:after {
    left: 4px;
    width: 8px;
  }
}
/*
z-index

 */

main.contact_confirm .contents .left {
  padding-bottom: 225px;
}

main.contact_confirm .contents .left .child {
  padding-top: 12px;
}

main.contact_confirm .contents .left .child ul li {
  margin-top: 70px;
}

main.contact_confirm .contents .left .child ul li.button_row {
  margin-top: 96px;
}

main.contact_confirm .contents .left .child ul li.button_row .cont {
  display: flex;
  width: 79%;
  justify-content: center;
}

main.contact_confirm .contents .left .child ul li.button_row .cont button {
  display: inline-block;
  width: 320px;
  color: #fff;
  background-color: #212121;
  height: 70px;
  font-size: 1.8rem;
  font-weight: 600;
  position: relative;
  cursor: pointer;
  border-radius: 40px;
}

main.contact_confirm .contents .left .child ul li.button_row .cont button:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_white_mini.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 14px;
  height: 16px;
  right: 39px;
  top: 27px;
}

main.contact_confirm .contents .left .child ul li.button_row .cont button.back {
  background-color: #bdbdb6;
  width: 140px;
  margin-right: 40px;
  padding-left: 29px;
  border-width: 0;
}

main.contact_confirm .contents .left .child ul li.button_row .cont button.back:hover {
  opacity: .7;
}

main.contact_confirm .contents .left .child ul li.button_row .cont button.back:hover:after {
  animation: arrow_rev_4 .6s;
}

main.contact_confirm .contents .left .child ul li.button_row .cont button.back:after {
  right: auto;
  left: 27px;
  background-image: url("/assets/img/common/arrow_left_white_mini.png");
}

main.contact_confirm .contents .left .child ul li.textarea_row .cont {
  font-size: 1.5rem;
  line-height: 2;
  width: 79%;
}

main.contact_confirm .contents .left .child ul li .tit {
  color: #6c6c6c;
  font-weight: 600;
}

main.contact_confirm .contents .left .child ul li .cont {
  font-size: 2.0rem;
  margin-top: 25px;
}

@media screen and (max-width: 1023px) {
  main.contact_confirm .contents .left {
    padding-bottom: 125px;
  }

  main.contact_confirm .contents .left .child {
    padding-top: 61px;
  }

  main.contact_confirm .contents .left .child ul {
    margin-top: 38px;
  }

  main.contact_confirm .contents .left .child ul li {
    margin-top: 72px;
  }

  main.contact_confirm .contents .left .child ul li .cont {
    font-size: 2.8rem;
    margin-top: 27px;
  }

  main.contact_confirm .contents .left .child ul li.textarea_row .cont {
    width: 100%;
    font-size: 2.2rem;
    line-height: 1.95;
    margin-top: 27px;
  }

  main.contact_confirm .contents .left .child ul li.button_row {
    margin-top: 52px;
  }

  main.contact_confirm .contents .left .child ul li.button_row .cont {
    width: 100%;
    margin: 0;
  }

  main.contact_confirm .contents .left .child ul li.button_row .cont button {
    height: 53px;
    width: 79%;
    font-size: 1.5rem;
    padding-top: 3px;
    border-radius: 50px;
  }

  main.contact_confirm .contents .left .child ul li.button_row .cont button:after {
    width: 11px;
    height: 12px;
    right: 23px;
    top: 20px;
  }

  main.contact_confirm .contents .left .child ul li.button_row .cont button.back {
    width: 32%;
    margin-right: 4%;
    font-size: 1.1rem;
  }

  main.contact_confirm .contents .left .child ul li.button_row .cont button.back:after {
    left: 19px;
    top: 20.5px;
  }
}

@media screen and (max-width: 559px) {
  main.contact_confirm .contents .left .child {
    padding-top: 10px;
  }

  main.contact_confirm .contents .left .child ul li {
    margin-top: 35px;
  }

  main.contact_confirm .contents .left .child ul li .cont {
    font-size: 1.4rem;
    margin-top: 15px;
  }

  main.contact_confirm .contents .left .child ul li.textarea_row .cont {
    font-size: 1.1rem;
    margin-top: 10px;
  }
}
/*
z-index

 */

main.contact_complete .contents .left {
  padding-top: 175px;
}

main.contact_complete .contents .left .child .message {
  font-size: 12.0rem;
  color: #ff7000;
  font-weight: 500;
}

main.contact_complete .contents .left .child .txt {
  margin-top: 49px;
  margin-left: 110px;
  line-height: 2.1;
  width: 65%;
}

main.contact_complete .contents .left .child .btn {
  margin-top: 60px;
  margin-left: 110px;
  font-weight: 500;
  font-size: 1.5rem;
  position: relative;
  display: inline-block;
}

main.contact_complete .contents .left .child .btn a {
  display: block;
  padding-bottom: 13px;
  transition: opacity 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.contact_complete .contents .left .child .btn a:hover {
  opacity: .5;
}

main.contact_complete .contents .left .child .btn a:hover:before {
  animation: line .6s;
}

main.contact_complete .contents .left .child .btn a:hover:after {
  animation: arrow8 .6s;
}

main.contact_complete .contents .left .child .btn a:before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #000000;
  display: inline-block;
  position: absolute;
  top: 27px;
  left: 0;
}

main.contact_complete .contents .left .child .btn a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_next_black_mini.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 10px;
  height: 12px;
  display: inline-block;
  margin-left: 45px;
  position: relative;
  top: 1px;
}

@media screen and (max-width: 1023px) {
  main.contact_complete .contents .left {
    padding-top: 49px;
    padding-bottom: 260px;
  }

  main.contact_complete .contents .left .child {
    margin: 49px auto 0;
  }

  main.contact_complete .contents .left .child .message {
    font-size: 18.3vw;
    white-space: nowrap;
  }

  main.contact_complete .contents .left .child .txt {
    margin: 37px auto 0;
    width: 85%;
    line-height: 1.95;
  }

  main.contact_complete .contents .left .child .btn {
    margin-top: 82px;
    margin-left: 7.7%;
    font-size: 3.0rem;
  }

  main.contact_complete .contents .left .child .btn a:before {
    top: 40px;
  }

  main.contact_complete .contents .left .child .btn a:after {
    width: 14px;
    height: 16px;
    top: -3px;
    margin-left: 48px;
  }
}

@media screen and (max-width: 559px) {
  main.contact_complete .contents .left {
    padding-top: 49px;
    padding-bottom: 130px;
  }

  main.contact_complete .contents .left .child {
    margin: 0 auto;
  }

  main.contact_complete .contents .left .child .txt {
    margin: 17px auto 0;
  }

  main.contact_complete .contents .left .child .btn {
    margin-top: 42px;
    font-size: 1.5rem;
  }

  main.contact_complete .contents .left .child .btn a:before {
    top: 20px;
  }

  main.contact_complete .contents .left .child .btn a:after {
    width: 7px;
    height: 8px;
    top: -1px;
    margin-left: 24px;
  }
}
/*
z-index

 */

main.privacy_policy {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  perspective: 1000px;
}

main.privacy_policy .main_visual {
  width: 100%;
  max-width: 1800px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-bottom: 1px solid #d8d8d6;
}

main.privacy_policy .main_visual .child {
  max-width: 1070px;
  margin: 0 auto 140px;
}

main.privacy_policy .main_visual .child h1 {
  font-size: 5.6em;
  font-weight: 500;
  left: 3.9%;
  letter-spacing: -0.018em;
  line-height: 0.9;
  z-index: 104;
  pointer-events: none;
  padding-top: 282px;
}

main.privacy_policy .main_visual .child .sub_tit {
  font-size: 1.7rem;
  margin-top: 10px;
}

main.privacy_policy .section1 {
  font-size: 1.4rem;
  letter-spacing: -0.02em;
}

main.privacy_policy .section1 .child {
  text-align: justify;
  margin: 77px auto 240px;
  max-width: 1060px;
  line-height: 1.8;
}

main.privacy_policy .section1 .child h3 {
  font-size: 1.6rem;
  margin-top: 30px;
  margin-bottom: 4px;
}

main.privacy_policy .section1 .child p:first-child {
  margin-bottom: 57px;
}

@media screen and (max-width: 1150px) {
  main.privacy_policy .main_visual .child {
    width: 87%;
    margin: 0px auto 120px;
  }

  main.privacy_policy .main_visual .child h1 {
    font-size: 6.5rem;
    padding-top: 276px;
    line-height: 1.1;
  }

  main.privacy_policy .main_visual .child .sub_tit {
    font-size: 2.6rem;
    margin-top: 6px;
  }

  main.privacy_policy .section1 {
    font-size: 2.6rem;
  }

  main.privacy_policy .section1 .child {
    margin: 113px auto 0px;
    padding-bottom: 212px;
    width: 87%;
  }

  main.privacy_policy .section1 .child h3 {
    font-size: 2.8rem;
    margin-top: 39px;
  }
}

@media screen and (max-width: 1023px) {
  main.privacy_policy .section1 .child p a:after {
    top: 36px;
  }
}

@media screen and (max-width: 559px) {
  main.privacy_policy .main_visual .child {
    width: 87%;
    margin: 0px auto 60px;
  }

  main.privacy_policy .main_visual .child h1 {
    font-size: 3.25rem;
    padding-top: 138px;
    line-height: 1.1;
  }

  main.privacy_policy .main_visual .child .sub_tit {
    font-size: 1.3rem;
    margin-top: 3px;
  }

  main.privacy_policy .section1 {
    font-size: 1.3rem;
  }

  main.privacy_policy .section1 .child {
    margin: 56px auto 0;
    padding-bottom: 108px;
    width: 87%;
  }

  main.privacy_policy .section1 .child h3 {
    font-size: 1.4rem;
    margin-top: 19px;
    margin-bottom: 2px;
  }

  main.privacy_policy .section1 .child p a:after {
    top: 18px;
  }

  main.privacy_policy .section1 .child p:first-child {
    margin-bottom: 30px;
  }
}
/*
z-index
 */

main.error404 .main_visual {
  margin-top: 282px;
  position: relative;
}

main.error404 .main_visual h1 {
  color: #ff7000;
  font-size: 21vw;
  white-space: nowrap;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.01em;
}

main.error404 .main_visual h2 {
  position: absolute;
  color: #0022ff;
  font-size: 21vw;
  font-weight: 500;
  top: 0;
  white-space: nowrap;
  mix-blend-mode: multiply;
}

main.error404 .main_visual h2 span {
  margin-right: 8vw;
  display: inline-block;
}

main.error404 .txt {
  text-align: center;
  font-size: 1.6rem;
  margin-top: -33px;
}

main.error404 .btn {
  margin-top: 40px;
  margin-bottom: 220px;
  font-size: 1.6rem;
  display: inline-block;
  letter-spacing: 0;
  position: relative;
  left: 50%;
  font-weight: 400;
  transform: translate3d(-50%, 0, 0);
}

main.error404 .btn a {
  color: rgba(0, 0, 0, 0.8);
  border: 1px solid #a8aaa6;
  padding: 20px 29px 20px 31px;
  display: block;
  border-radius: 30px;
  transition: color 100ms, border 100ms, background 100ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.error404 .btn a:hover {
  border: 1px solid rgba(0, 0, 0, 0.8);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
}

main.error404 .btn a:hover:after {
  animation: arrow8 .5s;
  background-image: url("/assets/img/common/arrow_right_white.png");
}

main.error404 .btn a:after {
  content: "";
  background-image: url("/assets/img/common/arrow_right_gray.png");
  display: inline-block;
  width: 9px;
  height: 10px;
  margin-left: 22px;
  margin-right: 0px;
  background-size: contain;
  opacity: .8;
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (max-width: 1023px) {
  main.error404 .main_visual {
    margin-top: 0;
    padding-top: 300px;
  }

  main.error404 .main_visual h2 {
    top: 300px;
  }

  main.error404 .txt {
    margin-top: 17px;
  }
}

@media screen and (max-width: 559px) {
  main.error404 .txt {
    font-size: 1.2rem;
  }

  main.error404 .btn {
    margin-top: 24px;
    font-size: 1.1rem;
    margin-bottom: 200px;
  }

  main.error404 .btn a {
    padding: 10px 15px 10px 17px;
  }

  main.error404 .btn a:after {
    margin-left: 8px;
    top: 0.5px;
    position: relative;
  }
}