@charset "UTF-8";
/*   
Theme Name: Point Pictures Inc. Original style
Theme URI: 
Description: A original theme to Point Pictures Inc.
Author: Masayuki Kawakubo
Author URI: http://knight-dl.jp
Version: 1.2

*/
/*   

1. INITIAL

*/
/* ---------------------------------------------------------------------------------------- */
/* INITIAL
/* ---------------------------------------------------------------------------------------- */
* {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: none;
}

* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  overflow: scroll-y;
}

::before, ::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  text-decoration: inherit;
  vertical-align: inherit;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}

small {
  font-size: 80%;
}

[hidden], template {
  display: none;
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active, a:hover {
  outline-width: 0;
}

h1, h2, h3, h4, h5, h6, p, li, dt, dd {
  font-size: 1em;
  font-weight: normal;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

b, strong {
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Specify media element style
/* ---------------------------------------------------------------------------------------- */
img {
  border-style: none;
  vertical-align: bottom;
}

progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
}

audio, canvas, progress, video {
  display: inline-block;
}

/* Acessibility
/* ---------------------------------------------------------------------------------------- */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

/* Selection
/* ---------------------------------------------------------------------------------------- */
::-moz-selection {
  background-color: #000;
  color: #fff;
  text-shadow: none;
}

::selection {
  background-color: #000;
  color: #fff;
  text-shadow: none;
}

/* ---------------------------------------------------------------------------------------- */
/* COMMON
/* ---------------------------------------------------------------------------------------- */
html {
  height: 100%;
  font-size: 50%;
}

body {
  font-size: 1em;
  line-height: 1.7;
  font-family: "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #44AD00;
  text-align: center;
}

.anime {
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.flt-R {
  float: right;
}

.flt-L {
  float: left;
}

.flt-C {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.tb-L {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.tb-R {
  margin-right: 0;
  margin-left: auto;
  text-align: right;
}

.clr-L {
  clear: left;
}

.clr-R {
  clear: right;
}

.clr-B {
  clear: both;
}

.aln-R {
  text-align: right;
}

.aln-C {
  text-align: center;
}

.aln-L {
  text-align: left;
}

.noshow {
  display: none;
}

.clearfix:after, .row:after {
  content: ' ';
  display: block;
  clear: both;
}

.clear {
  clear: both;
  visibility: hidden;
  width: 0;
  height: 0;
}

.border-box {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.linkbox .readmore, .lkbx .readmore {
  display: none;
}

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

.only480, .only320 {
  display: none;
}

.onlySMP {
  display: none;
}

.onlyPC, .noSMP {
  display: inherit;
}

.notice {
  font-weight: bold;
}

h1, h2, h3 {
  color: #4BCC00;
  line-height: 1.5;
}

h1 {
  font-size: 5em;
  line-height: 1.2;
  font-family: 'notoLight', sans-serif;
}

h2 {
  font-size: 2.5em;
}

h3 {
  font-size: 2.25em;
  font-weight: bold;
}

h4 {
  font-size: 2.15em;
}

h5, h6, p, li, dt, dd, th, td {
  font-size: 2em;
}

dt li, dd li, th li, td li {
  font-size: 1em;
}

p {
  line-height: 1.9;
}

p + h3, p + h4, p + p {
  margin-top: 1.5em;
}

p + p.fntS {
  margin-top: 0;
}

* + .fntMS {
  margin-top: .5em;
}

.fntM {
  font-size: 1.8em;
  line-height: 1.8;
}

.fntS {
  font-size: 0.83em;
  line-height: 1.5;
}

.fntL {
  font-size: 1.25em;
}

.fntBold {
  font-weight: bold;
}

.clr-gr {
  color: #555;
}

p.fntMS {
  font-size: 1.75em;
  line-height: 1.5;
}

.asterisk {
  display: block;
  text-indent: -1em;
  margin-left: 1em;
}

a {
  color: #338200;
  text-decoration: none;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

a:active, a:hover {
  color: #AEEA88;
}

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

.list-norm {
  margin-left: 2.5em;
}

.list-norm.wide-space {
  margin-bottom: 2.25em;
}

ol.list-norm {
  list-style: decimal;
}

ul.list-norm {
  list-style: circle;
}

.list-norm li {
  margin-bottom: .25em;
}

.list-norm.wide-space li {
  margin-bottom: 1em;
}

.list-norm li:last-child {
  margin-bottom: 0;
}

ul + h3, ul + h4, ul + h5, ul + h6, ul + p, ul + dl, ul + ul {
  margin-top: 2em;
}

.dl-flt {
  overflow: hidden;
}

.dl-flt dt {
  float: left;
  margin-top: 1em;
  width: 10em;
}

.dl-flt dd {
  margin-left: 10em;
  margin-top: 1em;
}

.dl-flt dt:nth-of-type(1), .dl-flt dd:nth-of-type(1) {
  margin-top: 0;
}

table {
  border-collapse: collapse;
}

.tb-norm, .tb-no-border {
  position: relative;
  margin-bottom: 1em;
}

.tb-norm th, .tb-norm td {
  padding: 1em;
  border: 1px solid #DDD;
  vertical-align: top;
}

.tb-norm thead th {
  background-color: #EEE;
}

.tb-norm tbody th {
  background-color: #F5F5F5;
}

.tb-norm.border-top-only th, .tb-norm.border-top-only td {
  padding: 1em 0;
  border: none;
  border-top: 1px solid #CCC;
}

.tb-norm.border-top-only thead th {
  background: none;
}

.tb-norm.border-top-only tbody th {
  background: none;
}

.inner-wrap {
  position: relative;
  max-width: 1200px;
  padding-left: 15em;
  padding-right: 15em;
  margin: 0 auto;
  text-align: left;
}

.inner-wrap.aln-C {
  text-align: center;
}

.inner-wrap.narrow-width {
  max-width: 960px;
}

.inner-wrap.thin-width {
  max-width: 740px;
}

.inner-wrap.fullW {
  max-width: none;
}

#Mask-cnt {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #4BCC00;
  z-index: 599;
}

#Bg-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 800;
  opacity: 0;
  cursor: pointer;
}

#Btn-close-modal,
.close-modal-opng {
  position: absolute;
  top: -64px;
  right: 0;
  margin-left: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #FFF;
  background-color: rgba(0, 0, 0, 0.2);
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(assets/img/common/btn-close.svg);
  cursor: pointer;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  opacity: .4;
  -ms-background-size: 40px 40px;
  background-size: 40px 40px;
}

#Btn-close-modal:hover,
.close-modal-opng:hover {
  opacity: .8;
}

.ball {
  position: fixed;
  top: 50%;
  left: 50%;
  background-color: #4BCC00;
  z-index: 601;
}

.ball.zoom {
  -webkit-animation: bounce .3s ease-in-out forwards;
  animation: bounce .3s ease-in-out forwards;
}

@keyframes bounce {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes bounce {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

.ball.zoomOut {
  -webkit-animation: ballZoomOut 3s ease-in-out forwards;
  animation: ballZoomOut 3s ease-in-out forwards;
}

@keyframes ballZoomOut {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    background-color: #4BCC00;
  }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0);
    background-color: #FFF;
  }
}

@-webkit-keyframes ballZoomOut {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    background-color: #4BCC00;
  }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0);
    background-color: #FFF;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PRELOADER
/* ---------------------------------------------------------------------------------------- */
#Preloader {
  position: fixed;
  top: 40vh;
  left: 0;
  width: 100%;
  height: 0;
  z-index: 700;
}

#Preloader .logo {
  position: absolute;
  top: -94px;
  left: 110%;
  margin-left: -47px;
  width: 94px;
  height: 94px;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(assets/img/header/logo-large-white.png);
  -ms-background-size: 94px 94px;
  background-size: 94px 94px;
}

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
  #Preloader .logo {
    background-image: url(assets/img/header/logo-large-white@2x.png);
  }
}

#Preloader .line {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 1px solid #AEEA88;
}

.shake-logo {
  -webkit-animation: shake 0.3s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  animation: shake 0.3s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes shake {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
            transform: translate(2px, 1px) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
            transform: translate(-1px, -2px) rotate(-1deg);
  }
  20% {
    -webkit-transform: translate(-2px, 0px) rotate(1deg);
            transform: translate(-2px, 0px) rotate(1deg);
  }
  30% {
    -webkit-transform: translate(0px, 1px) rotate(0deg);
            transform: translate(0px, 1px) rotate(0deg);
  }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
            transform: translate(1px, -1px) rotate(1deg);
  }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
            transform: translate(-1px, 2px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translate(-2px, 1px) rotate(0deg);
            transform: translate(-2px, 1px) rotate(0deg);
  }
  70% {
    -webkit-transform: translate(2px, 1px) rotate(-1deg);
            transform: translate(2px, 1px) rotate(-1deg);
  }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
            transform: translate(-1px, -1px) rotate(1deg);
  }
  90% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
            transform: translate(1px, 1px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

@-webkit-keyframes shake {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
            transform: translate(2px, 1px) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
            transform: translate(-1px, -2px) rotate(-1deg);
  }
  20% {
    -webkit-transform: translate(-2px, 0px) rotate(1deg);
            transform: translate(-2px, 0px) rotate(1deg);
  }
  30% {
    -webkit-transform: translate(0px, 1px) rotate(0deg);
            transform: translate(0px, 1px) rotate(0deg);
  }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
            transform: translate(1px, -1px) rotate(1deg);
  }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
            transform: translate(-1px, 2px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translate(-2px, 1px) rotate(0deg);
            transform: translate(-2px, 1px) rotate(0deg);
  }
  70% {
    -webkit-transform: translate(2px, 1px) rotate(-1deg);
            transform: translate(2px, 1px) rotate(-1deg);
  }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
            transform: translate(-1px, -1px) rotate(1deg);
  }
  90% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
            transform: translate(1px, 1px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

/* ---------------------------------------------------------------------------------------- */
/* GLOBAL-HEADER
/* ---------------------------------------------------------------------------------------- */
#Global-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 5em 5em 0;
  z-index: 10;
}

#Global-header h1 {
  position: relative;
  font-size: 1px;
  line-height: 1;
}

#Global-header h1 a {
  position: relative;
  width: 204px;
  height: 34px;
  display: block;
}

#Global-header h1 span {
  position: absolute;
}

#Global-header h1 span img {
  width: 100%;
  height: auto;
}

#Global-header h1 .logo {
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
}

#Global-header h1 .title {
  left: 44px;
  top: 9px;
  width: 160px;
  height: 16px;
}

#Trigger {
  position: fixed;
  top: 3em;
  right: 3em;
  width: 48px;
  height: 48px;
  z-index: 599;
  cursor: pointer;
  display: block;
  background-color: #4BCC00;
}

#page-home #Trigger {
  background-color: #F0F0F0;
}

#Trigger .txt {
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 100%;
  text-align: center;
  font-family: 'LatoWeb', sans-serif;
  color: #FFF;
  line-height: 1;
}

#page-home #Trigger .txt {
  color: #4BCC00;
}

#Trigger .bar {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 24px;
  height: 15px;
}

#Trigger .bar span, #Trigger .bar:before, #Trigger .bar:after {
  position: absolute;
  height: 0;
  border-top: 1px solid #FFF;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

#page-home #Trigger .bar span, #page-home #Trigger .bar:before, #page-home #Trigger .bar:after {
  border-color: #4BCC00;
}

#Trigger .bar span {
  top: 7px;
  left: 0;
  width: 20px;
  -webkit-animation: barGrowFirstA .3s forwards;
  animation: barGrowFirstA .3s forwards;
}

#Trigger .bar:before {
  top: 0;
  left: 0;
  width: 24px;
  content: ' ';
  -webkit-animation: barGrowFirstB .3s forwards;
  animation: barGrowFirstB .3s forwards;
}

#Trigger .bar:after {
  bottom: 0;
  left: 0;
  width: 15px;
  content: ' ';
  -webkit-animation: barGrowFirstC .3s forwards;
  animation: barGrowFirstC .3s forwards;
}

#Trigger:hover .bar span {
  -webkit-animation: barGrowA .2s forwards;
  animation: barGrowA .2s forwards;
}

#Trigger:hover .bar:before {
  -webkit-animation: barGrowB .2s forwards;
  animation: barGrowB .2s forwards;
}

#Trigger:hover .bar:after {
  -webkit-animation: barGrowC .2s forwards;
  animation: barGrowC .2s forwards;
}

@keyframes barGrowFirstA {
  0% {
    width: 24px;
  }
  100% {
    width: 20px;
  }
}

@keyframes barGrowFirstB {
  0% {
    width: 24px;
  }
  100% {
    width: 24px;
  }
}

@keyframes barGrowFirstC {
  0% {
    width: 24px;
  }
  100% {
    width: 15px;
  }
}

@-webkit-keyframes barGrowFirstA {
  0% {
    width: 24px;
  }
  100% {
    width: 20px;
  }
}

@-webkit-keyframes barGrowFirstB {
  0% {
    width: 24px;
  }
  100% {
    width: 24px;
  }
}

@-webkit-keyframes barGrowFirstC {
  0% {
    width: 24px;
  }
  100% {
    width: 15px;
  }
}

@keyframes barGrowA {
  0% {
    width: 20px;
  }
  100% {
    width: 24px;
  }
}

@keyframes barGrowB {
  0% {
    width: 24px;
  }
  100% {
    width: 24px;
  }
}

@keyframes barGrowC {
  0% {
    width: 15px;
  }
  100% {
    width: 24px;
  }
}

@-webkit-keyframes barGrowA {
  0% {
    width: 20px;
  }
  100% {
    width: 24px;
  }
}

@-webkit-keyframes barGrowB {
  0% {
    width: 24px;
  }
  100% {
    width: 24px;
  }
}

@-webkit-keyframes barGrowC {
  0% {
    width: 15px;
  }
  100% {
    width: 24px;
  }
}

#Btn-top {
  position: fixed;
  bottom: 3em;
  right: 3em;
  width: 48px;
  height: 48px;
  z-index: 598;
  cursor: pointer;
  display: block;
  background-color: #4BCC00;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(assets/img/common/arrow-top.svg);
  -ms-background-size: 48px 48px;
  background-size: 48px 48px;
}

/* ---------------------------------------------------------------------------------------- */
/* GLOBAL-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
#Global-navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 12em;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 599;
  display: none;
}

#Global-navigation .btn-close {
  position: absolute;
  top: 3em;
  right: 3em;
  width: 48px;
  height: 48px;
  z-index: 599;
  cursor: pointer;
  display: block;
  background-color: #4BCC00;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

#page-home #Global-navigation .btn-close {
  background-color: #F0F0F0;
}

#Global-navigation .btn-close .txt {
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 100%;
  text-align: center;
  font-family: 'LatoWeb', sans-serif;
  color: #FFF;
  line-height: 1;
}

#page-home #Global-navigation .btn-close .txt {
  color: #4BCC00;
}

#Global-navigation .btn-close .bar {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -4px;
  width: 0;
  height: 0;
}

#Global-navigation .btn-close .bar span, #Global-navigation .btn-close .bar:before {
  position: absolute;
  height: 0;
  border-top: 1px solid #FFF;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

#Global-navigation .btn-close .bar span {
  top: 0;
  left: 0;
  margin-left: -12px;
  width: 24px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#Global-navigation .btn-close .bar:before {
  top: 0;
  left: 0;
  margin-left: -12px;
  width: 24px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  content: ' ';
}

#page-home #Global-navigation .btn-close .bar span, #page-home #Global-navigation .btn-close .bar:before {
  border-color: #4BCC00;
}

#Global-navigation .btn-close:hover {
  opacity: .7;
}

#Global-navigation .wrap-nav-block {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  padding-left: 9em;
  padding-right: 9em;
}

#Global-navigation .wrap-nav-block p.link-home {
  margin-bottom: 2em;
  font-size: 2em;
  font-weight: bold;
}

#Global-navigation .nav-block {
  position: relative;
  float: left;
  width: 50%;
}

#Global-navigation .nav-block h3 {
  margin-bottom: 1em;
}

#Global-navigation ul {
  letter-spacing: -.4em;
}

#Global-navigation ul li {
  position: relative;
  display: inline-block;
  letter-spacing: normal;
  line-height: 1.4;
  width: 50%;
  vertical-align: top;
  margin-bottom: 1em;
}

#Global-navigation ul li:after {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 0;
  border-top: 1px solid #AEEA88;
  content: ' ';
}

#Global-navigation ul li a {
  display: block;
  padding: .5em 1em 1em;
}

/* ---------------------------------------------------------------------------------------- */
/* GLOBAL-FOOTER
/* ---------------------------------------------------------------------------------------- */
#Global-footer {
  position: relative;
  z-index: 1;
  padding: 6em;
}

#page-home #Global-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

#Global-footer .copyright {
  font-size: 1.5em;
  line-height: 1.4;
  letter-spacing: .075em;
  font-family: 'LatoWeb', sans-serif;
  color: #333;
}

/* ---------------------------------------------------------------------------------------- */
/* CONTENT
/*
/* GREEN (DARKEST)              #338200
/* GREEN (DARKER)                #44AD00
/* GREEN (BASE-COLOR)          #4BCC00
/* GREEN (LIGHTER)               #AEEA88
/* 
/* ---------------------------------------------------------------------------------------- */
body {
  background-color: #FFF;
}

.border-left, .border-right, .border-top, .border-bottom {
  position: fixed;
  background-color: #4BCC00;
  z-index: 600;
}

#page-home .border-left, #page-home .border-right, #page-home .border-top, #page-home .border-bottom {
  background-color: #f0f0f0;
}

.border-left {
  top: 0;
  left: 0;
  width: 3em;
  height: 100%;
}

.border-right {
  top: 0;
  right: 0;
  width: 3em;
  height: 100%;
}

.border-top {
  top: 0;
  left: 0;
  height: 3em;
  width: 100%;
}

.border-bottom {
  bottom: 0;
  left: 0;
  height: 3em;
  width: 100%;
}

.atl-norm {
  position: relative;
  text-align: left;
  margin-bottom: 6em;
}

.corner-header {
  position: relative;
  width: 100%;
  text-align: center;
  padding: 186px 0 5em;
}

.page-samplemovie .corner-header {
  padding-bottom: 8em;
}

.corner-header:before {
  position: absolute;
  top: -300px;
  left: 50%;
  content: ' ';
  width: 0;
  height: 170px;
  border-left: 1px solid #4BCC00;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.corner-header.loaded:before {
  top: 0;
}

.corner-header h1 {
  letter-spacing: -.05em;
  opacity: 0;
}

.corner-header h1.double-line {
  line-height: 1;
}

.corner-header h1 span {
  font-size: .625em;
}

.corner-header h1 span.recruiting {
  font-size: .5em;
}

.corner-header h1 span.en {
  font-family: 'LatoWeb', sans-serif;
  letter-spacing: .1em;
  font-size: .7em;
}

.corner-header .icon {
  position: absolute;
  top: 170px;
  left: 50%;
  margin-top: -48px;
  margin-left: 24px;
  width: 48px;
  height: 48px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  -ms-background-size: 100% auto;
  background-size: 100% auto;
}

.page-intro .corner-header .icon {
  background-image: url(assets/img/icons/i-time.svg);
}

.page-news .corner-header .icon {
  background-image: url(assets/img/icons/i-news.svg);
}

.page-about .corner-header .icon {
  background-image: url(assets/img/icons/i-company.svg);
}

.page-organization .corner-header .icon {
  background-image: url(assets/img/icons/i-company.svg);
}

.page-pastwork .corner-header .icon {
  background-image: url(assets/img/icons/i-pastwork.svg);
}

.page-recruiting .corner-header .icon,
[class^="page-job0"] .corner-header .icon {
  background-image: url(assets/img/icons/i-recruit.svg);
}

.page-access .corner-header .icon {
  background-image: url(assets/img/icons/i-access.svg);
}

.page-shop .corner-header .icon {
  background-image: url(assets/img/icons/i-shop.svg);
}

.page-animation .corner-header .icon, .page-cg .corner-header .icon, .page-other .corner-header .icon, .page-samplemovie .corner-header .icon {
  background-image: url(assets/img/icons/i-film.svg);
}

#Page-container .content {
  opacity: 0;
}

.scn-norm {
  position: relative;
}

.scn-norm.thin-width {
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
}

.scn-norm + section {
  margin-top: 6em;
}

.scn-norm + .wide-mgn {
  margin-top: 8em;
}

.scn-norm + aside {
  margin-top: 3em;
}

.scn-norm.with-left-border + section {
  padding-top: 6em;
  margin-top: 0;
}

.scn-norm.with-left-border:before {
  position: absolute;
  top: 0;
  left: -24px;
  content: ' ';
  width: 0;
  height: 100%;
  border-left: 1px solid #4BCC00;
}

.scn-norm.with-left-border.first-scn:before {
  top: 1.25em;
}

.scn-norm.with-left-border.last-scn:before {
  height: 7.25em;
}

.scn-norm h2 {
  position: relative;
  margin-bottom: 1em;
}

.scn-norm.with-left-border h2:before {
  position: absolute;
  top: .5em;
  left: -24px;
  margin-left: -4px;
  content: ' ';
  width: 9px;
  height: 9px;
  background-color: #4BCC00;
  border-radius: 4.5px;
}

.fig-under-construction {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.fig-under-construction img {
  max-width: 200px;
  height: auto;
}

h3.with-border {
  border-bottom: 1px dotted #4BCC00;
  padding-bottom: .5em;
  margin-bottom: 1em;
}

#Modal {
  position: fixed;
  top: 50%;
  left: 50%;
  background-color: #FFF;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
  z-index: 801;
  animation: modalSlideIn .3s forwards;
  -webkit-animation: modalSlideIn .3s forwards;
}

@keyframes modalSlideIn {
  0% {
    top: 150%;
  }
  100% {
    top: 50%;
  }
}

@-webkit-keyframes modalSlideIn {
  0% {
    top: 150%;
  }
  100% {
    top: 50%;
  }
}

.vd-area {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  background-color: #000;
}

.vd-area iframe, .vd-area #vd-mpg,
.vd-area #vd-opng {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.atl-error {
  position: relative;
  padding: 30vh 0;
  text-align: center;
}

.atl-error > div {
  font-family: 'LatoWebLight', sans-serif;
  font-size: 8em;
  line-height: 1;
  margin-bottom: 24px;
}

.atl-error a {
  font-family: 'LatoWeBold', sans-serif;
}

#Local-navigation {
  position: relative;
  text-align: left;
  margin-bottom: 4em;
}

#Local-navigation ul {
  letter-spacing: -.4em;
}

#Local-navigation li {
  position: relative;
  letter-spacing: normal;
  vertical-align: top;
  text-align: center;
  display: inline-block;
  width: 33.33333333%;
  padding: 0 16px 16px;
  font-size: 1.85em;
  line-height: 1.4;
}

#Local-navigation li a {
  position: relative;
  display: block;
  padding-bottom: 12px;
}

#Local-navigation li a:before {
  position: absolute;
  top: -12px;
  left: 50%;
  margin-left: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #FFF;
  border: 1px solid #4BCC00;
  overflow: hidden;
  content: ' ';
}

/* ---------------------------------------------------------------------------------------- */
/* HOME
/* ---------------------------------------------------------------------------------------- */
.bg-green {
  position: absolute;
  top: 40vh;
  left: 0;
  width: 100%;
  height: 60vh;
  background-color: #4BCC00;
  z-index: 0;
}

#Home-header {
  position: absolute;
  top: 40vh;
  left: 0;
  width: 100%;
  z-index: 10;
  background-color: #DDD;
}

#Home-header .logo-lrg {
  position: absolute;
  top: -94px;
  left: 50%;
  margin-left: -47px;
  width: 94px;
  height: 94px;
  -webkit-transition: opacity .15s ease-in-out;
  transition: opacity .15s ease-in-out;
}

#Home-header .logo-lrg:hover {
  opacity: .7;
}

#Home-header .title-lrg {
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -93px;
  width: 186px;
  height: 20px;
}

.tilt-title {
  animation: tilt 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  -webkit-animation: tilt 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes tilt {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
            transform: translate(2px, 1px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(30deg);
            transform: translate(0, 0) rotate(30deg);
  }
}

@-webkit-keyframes tilt {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
            transform: translate(2px, 1px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(30deg);
            transform: translate(0, 0) rotate(30deg);
  }
}

.home-nav {
  position: relative;
  float: left;
  width: 50%;
  padding: 40vh 0 0;
  margin-top: -6em;
  z-index: 2;
}

.home-nav h2 {
  font-size: 4em;
  line-height: 1;
  color: #4BCC00;
}

.home-nav nav {
  text-align: left;
  margin-top: 4.5em;
  width: 100%;
  padding-left: 50%;
  margin-left: -7em;
}

.home-nav nav li {
  line-height: 1.4;
}

.home-nav nav li a {
  color: #FFF;
  font-weight: bold;
  display: inline-block;
  padding: .5em 0 1em;
  width: 12em;
}

.home-nav nav li a:hover {
  color: #000;
}

.headline-home {
  position: absolute;
  top: -50px;
  left: 50%;
  z-index: 11;
  -webkit-transform: scale(0);
          transform: scale(0);
}

.headline-home.show-headline {
  animation: headlinePop .2s forwards;
  -webkit-animation: headlinePop .2s forwards;
}

@keyframes headlinePop {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@-webkit-keyframes headlinePop {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.headline-home dl {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -250px;
  width: 500px;
  padding: 16px;
  background-color: #F5F5F5;
  border-radius: 8px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.headline-home dl:after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -10px;
  content: ' ';
  border: 10px solid transparent;
  border-top-color: #F5F5F5;
}

.headline-home dt {
  font-family: 'LatoWebMedium', sans-serif;
  color: #555;
}

.headline-home dd a {
  color: #333;
}

.headline-home dd a:hover {
  color: #999;
}

/* ---------------------------------------------------------------------------------------- */
/* INTRO
/* ---------------------------------------------------------------------------------------- */
.scn-intro {
  background-repeat: no-repeat;
  background-position: right 6em;
  -ms-background-size: 72px 40px;
  background-size: 72px 40px;
}

.scn-intro#Scn1 {
  background-image: url(assets/img/intro/sec-0.svg);
  background-position: right 2em;
}

.scn-intro#Scn2 {
  background-image: url(assets/img/intro/sec-15.svg);
}

.scn-intro#Scn3 {
  background-image: url(assets/img/intro/sec-30.svg);
}

.scn-intro#Scn4 {
  background-image: url(assets/img/intro/sec-45.svg);
}

.mgn-top {
  margin-top: 1em;
  display: block;
}

.btn-norm {
  position: relative;
  border: 1px solid #4BCC00;
  color: #4BCC00;
  font-size: .92em;
  line-height: 1;
  font-weight: bold;
  padding: .5em 1em;
  display: inline-block;
}

.btn-norm:hover {
  background-color: #4BCC00;
  color: #FFF;
}

/* ---------------------------------------------------------------------------------------- */
/* ABOUT
/* ---------------------------------------------------------------------------------------- */
.list-client {
  letter-spacing: -.4em;
  text-align: center;
  margin-bottom: -.5em;
}

.list-client li {
  letter-spacing: normal;
  display: inline-block;
  margin: .5em 1em;
}

.list-client + p {
  margin-top: 0;
}

.chart-org {
  position: relative;
  border: 1px dotted #b9f398;
  padding: 1em;
  margin: 1em auto 0;
  max-width: 800px;
}

/* ---------------------------------------------------------------------------------------- */
/* ACCESS
/* ---------------------------------------------------------------------------------------- */
.wrap-half {
  position: relative;
  margin: 0 -3em;
  overflow: hidden;
}

.inner-half {
  float: left;
  width: 50%;
  padding: 0 3em;
}

.scn-norm.with-map {
  padding-bottom: 5em;
  border-bottom: 1px dotted #BBB;
}

#map-canvas {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
  margin-top: 3em;
}

#map-canvas iframe, #map-canvas object, #map-canvas embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ---------------------------------------------------------------------------------------- */
/* RECRUITMENT
/* ---------------------------------------------------------------------------------------- */
.first-copy {
  position: relative;
  text-align: center;
  font-size: 1.85em;
  line-height: 1.6;
  margin-bottom: 1.5em;
}

@media only screen and (min-width: 602px) {
  .first-copy {
    font-size: 2em;
    margin-bottom: 2em;
  }
}

@media only screen and (min-width: 851px) {
  .first-copy {
    font-size: 2.5em;
    margin-bottom: 2em;
  }
}

#Recruit-type {
  position: relative;
  margin-bottom: 1em;
}

#Recruit-type.recruit-type-ft {
  margin-top: 5em;
}

@media only screen and (min-width: 851px) {
  #Recruit-type.recruit-type-ft {
    margin-top: 7em;
  }
}

#Recruit-type ul {
  margin: 0 -.5rem;
  letter-spacing: -.4em;
  overflow: hidden;
}

#Recruit-type li {
  position: relative;
  letter-spacing: 0;
  display: inline-block;
  width: 100%;
  padding: .5rem;
  margin: 0 !important;
  vertical-align: top;
}

.wrap-backto-recruit-top {
  position: relative;
  margin-top: 20rem;
  text-align: center;
}

#Recruit-type li a,
.backto-recruit-top {
  position: relative;
  display: block;
  border: 1px solid #4BCC00;
  color: #4BCC00;
  line-height: 1.5;
  text-align: center;
  width: 100%;
  min-height: 4em;
}

.backto-recruit-top {
  /*max-width: 20em;*/
  margin: 0 auto;
}

#Recruit-type li a:hover,
.backto-recruit-top:hover {
  background-color: #4BCC00;
  color: #FFF;
}

#Recruit-type li span,
.backto-recruit-top span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  padding: 0 1em;
  text-align: center;
  font-size: .875em;
  font-weight: bold;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media only screen and (min-width: 350px) {
  #Recruit-type li {
    width: 50%;
  }
  .backto-recruit-top {
    max-width: none;
  }
  .backto-recruit-top span {
    font-size: 1em;
  }
  .wrap-backto-recruit-top {
    margin-top: 4rem;
  }
}

@media only screen and (min-width: 480px) {
  #Recruit-type ul {
    margin: 0 -1rem;
  }
  #Recruit-type li {
    padding: 1rem;
  }
}

@media only screen and (min-width: 602px) {
  #Recruit-type ul {
    margin: 0 -1.25rem;
  }
  #Recruit-type li {
    padding: 1.25rem;
  }
  #Recruit-type li a {
    min-height: 5em;
  }
  #Recruit-type li span,
  .backto-recruit-top span {
    font-size: .92em;
  }
  .backto-recruit-top {
    max-width: 15em;
  }
  .wrap-backto-recruit-top {
    margin-top: 8rem;
  }
}

@media only screen and (min-width: 851px) {
  #Recruit-type ul {
    margin: 0 -1.75rem;
  }
  #Recruit-type li {
    width: 33.33333333%;
    padding: 1.75rem;
  }
}

@media only screen and (min-width: 960px) {
  #Recruit-type ul {
    margin: 0 -2rem;
  }
  #Recruit-type li {
    padding: 2rem;
  }
}

@media only screen and (min-width: 1200px) {
  #Recruit-type ul {
    margin: 0 -2.25rem;
  }
  #Recruit-type li {
    padding: 2.25rem;
  }
}

#Modal-benefit {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 599;
  background-color: rgba(255, 255, 255, 0.95);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: none;
  margin: 0 !important;
  padding: 1em;
}

@media only screen and (min-width: 602px) {
  #Modal-benefit {
    padding: 2em;
  }
}

@media only screen and (min-width: 851px) {
  #Modal-benefit {
    padding: 3em;
  }
}

#Modal-benefit .inner {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
  padding: 8em 1em 4em;
}

#Modal-benefit h2 {
  text-align: center;
  font-size: 2.5em;
  padding: 0 !important;
  margin: 0 auto 2em !important;
}

@media only screen and (min-width: 602px) {
  #Modal-benefit .inner {
    padding: 8em 2em 4em;
  }
  #Modal-benefit h2 {
    font-size: 3em;
  }
}

@media only screen and (min-width: 851px) {
  #Modal-benefit .inner {
    padding: 8em 3em 4em;
  }
  #Modal-benefit h2 {
    font-size: 4.5em;
  }
}

.detail-benefit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-align-items: stretch;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: -1.5em -.5em;
}

.detail-benefit dl {
  position: relative;
  min-width: 2rem;
  margin: 1em 1.5em;
  width: calc(100% - 3em);
  padding: 2em 3em;
  text-align: center;
  border: 2px solid #b3f58d;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  background-color: #f8fcf6;
  border-radius: 1.5em;
}

.detail-benefit dt {
  font-size: 2em;
  margin-bottom: .75em;
}

.detail-benefit dd {
  font-size: 1.65em;
  line-height: 1.5;
  color: #444;
}

@media only screen and (min-width: 600px) {
  .detail-benefit {
    margin: -1.5em;
  }
  .detail-benefit dl {
    margin: 1.5em;
    width: calc(50% - 3em);
  }
}

@media only screen and (min-width: 768px) {
  .detail-benefit dl {
    width: calc(33.33333333% - 3em);
    min-height: 16em;
    padding-top: 3em;
  }
}

.tb-norm.tb-recruit {
  width: 100%;
  margin-top: 1em;
  border-bottom: 1px solid #DDD;
}

.tb-norm.tb-recruit + h3 {
  margin-top: 3em;
}

.tb-norm.tb-recruit th, .tb-norm.tb-recruit td {
  font-size: 1.75em;
}

.tb-recruit th {
  width: 8em;
}

.tb-norm.tb-recruit.border-top-only th {
  border-top-color: #AAA;
}

.tb-recruit td {
  color: #555;
}

.page-recruiting h2 {
  position: relative;
  padding-right: 6em;
}

.btn-apply {
  position: absolute;
  top: .15em;
  right: 0;
  border: 1px solid #4BCC00;
  color: #4BCC00;
  font-size: .8em;
  line-height: 1;
  font-weight: bold;
  padding: .5em 1em;
  display: block;
}

.btn-apply:hover {
  background-color: #4BCC00;
  color: #FFF;
}

.btn-more-benefit {
  margin-top: .5em;
}

.btn-more-benefit a {
  position: relative;
  border: 1px solid #4BCC00;
  color: #4BCC00;
  font-size: .92em;
  line-height: 1;
  font-weight: bold;
  padding: .35em .75em;
  display: inline-block;
}

.btn-more-benefit a:hover {
  background-color: #4BCC00;
  color: #FFF;
}

.btn-modal-close {
  position: fixed;
  top: 1em;
  right: 1em;
  width: 48px;
  height: 48px;
  z-index: 599;
  cursor: pointer;
  display: block;
  background-color: #F0F0F0;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

@media only screen and (min-width: 602px) {
  .btn-modal-close {
    top: 2em;
    right: 2em;
  }
}

@media only screen and (min-width: 851px) {
  .btn-modal-close {
    top: 3em;
    right: 3em;
  }
}

.btn-modal-close::before,
.btn-modal-close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  content: ' ';
  border-top: 1px solid #444;
  width: 24px;
  margin-left: -12px;
}

.btn-modal-close::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.btn-modal-close::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.btn-modal-close:hover {
  opacity: .7;
}

/* add 2018.08.29 */
.btns-inq-app {
  position: absolute;
  top: 0;
  right: 0;
  letter-spacing: -.4em;
  list-style: none;
  margin: 0;
  padding: 0;
  float: right;
}

.btns-inq-app li {
  letter-spacing: 0;
  display: inline-block;
  vertical-align: top;
  font-size: .8em;
  line-height: 1;
  margin: 0;
  padding: 0;
}

.btns-inq-app li a {
  position: relative;
  border: 1px solid #4BCC00;
  color: #4BCC00;
  font-weight: bold;
  padding: .5em 1em;
  display: block;
}

.btns-inq-app li + li a {
  border-left: none;
}

.btns-inq-app li a:hover {
  background-color: #4BCC00;
  color: #FFF;
}

.wrap-inq-app {
  overflow: hidden;
  width: 100%;
  display: none;
}

.wrap-inq-app .btns-inq-app {
  position: relative;
  float: right;
}

.wrap-inq-app .btns-inq-app li {
  font-size: 2em;
}

@media only screen and (max-width: 767px) {
  .wrap-inq-app {
    display: block;
  }
  .wrap-inq-app:not(:last-child) {
    margin-bottom: 2em;
  }
  .wrap-inq-app .btns-inq-app li {
    font-size: 1.75em;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PASTWORK
/* ---------------------------------------------------------------------------------------- */
.dl-pastwork {
  position: relative;
}

.dl-pastwork:after {
  content: ' ';
  display: block;
  clear: both;
}

.dl-pastwork dt {
  position: relative;
  float: left;
  width: 10em;
  text-align: right;
  padding-bottom: 3em;
  font-family: 'latoWeb', sans-serif;
}

.dl-pastwork dt:after {
  position: absolute;
  top: .25em;
  right: -3.5em;
  content: ' ';
  width: 1em;
  height: 1em;
  border: 1px solid #4BCC00;
  background-color: #FFF;
  border-radius: .5em;
  z-index: 1;
}

.dl-pastwork dd {
  position: relative;
  margin-left: 13em;
  padding-left: 3em;
  padding-bottom: 3em;
  color: #555;
}

.dl-pastwork dd:before {
  position: absolute;
  top: 0;
  left: 0;
  content: ' ';
  width: 0;
  height: 100%;
  border-left: 1px solid #4BCC00;
}

.dl-pastwork dd ul {
  list-style: none;
  font-size: .875em;
}

.dl-pastwork dd li {
  position: relative;
  padding-top: .5em;
  padding-left: 1.25em;
}

.dl-pastwork dd li:before {
  position: absolute;
  top: .5em;
  left: 0;
  content: '・';
}

.dl-pastwork dd li:nth-of-type(1) {
  padding-top: 0;
}

.dl-pastwork dd li:nth-of-type(1):before {
  top: 0;
}

/* ---------------------------------------------------------------------------------------- */
/* SAMPLE-MOVIE
/* ---------------------------------------------------------------------------------------- */
.list-samplemov {
  position: relative;
  list-style: none;
  letter-spacing: -.4em;
}

.list-samplemov > li {
  position: relative;
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  width: 33.33333333%;
  text-align: center;
  padding: 0 16px 32px;
}

.list-samplemov > li > a {
  position: relative;
  display: block;
  width: 100%;
  color: #338200;
  font-weight: bold;
  /*border-top:1px solid #DDD;*/
  padding: 32px 0;
  -webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.list-samplemov > li > a i {
  position: absolute;
  top: -20px;
  left: 50%;
  margin-left: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #FFF;
  border: 1px solid #DDD;
  overflow: hidden;
  z-index: 2;
  -webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.list-samplemov > li > a:before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 1px;
  content: ' ';
  margin-left: -50%;
  background-color: #DDD;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.list-samplemov > li > a i svg {
  position: relative;
  width: 100%;
  height: auto;
}

.list-samplemov li > a i .st0 {
  fill: #AAA;
}

.list-samplemov li > a:hover {
  color: #44AD00;
  border-color: #4BCC00;
}

.list-samplemov li > a:hover i {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  border-color: #4BCC00;
}

.list-samplemov li > a:hover i img {
  position: relative;
  width: 100%;
  height: 100%;
}

.list-samplemov li > a:hover i .st0 {
  fill: #4BCC00;
}

.list-samplemov li > a:hover:before {
  -webkit-transform: scale(1);
          transform: scale(1);
  background-color: #4BCC00;
}

/* ---------------------------------------------------------------------------------------- */
/* CARTOON
/* ---------------------------------------------------------------------------------------- */
body.cartoon {
  /*background-color:#cfcdb6;*/
}

.cartoon .corner-header {
  padding: 86px 0 3em;
}

.cartoon .corner-header:before {
  height: 70px;
}

.cartoon .corner-header h1 {
  font-size: 4em;
}

.page-cartoon .scn-norm figure {
  max-width: 840px;
  margin: 0 auto;
  text-align: center;
}

.cartoon .wp-pagenavi {
  font-size: 2em;
  z-index: 200;
}

.cartoon .wp-pagenavi .previouspostslink, .cartoon .wp-pagenavi .nextpostslink {
  position: absolute;
  top: 50%;
  width: 48px;
  height: 48px;
  border: 1px solid #625e32;
  border-radius: 50%;
  text-indent: -999999em;
  overflow: hidden;
  text-align: left;
  background-position: center;
  background-repeat: no-repeat;
  -ms-background-size: 100% 100%;
  background-size: 100% 100%;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.cartoon .wp-pagenavi .previouspostslink {
  right: -56px;
  background-image: url(assets/img/common/arrow-right.svg);
}

.cartoon .wp-pagenavi .nextpostslink {
  left: -56px;
  background-image: url(assets/img/common/arrow-left.svg);
}

.cartoon .wp-pagenavi .previouspostslink:hover, .cartoon .wp-pagenavi .nextpostslink:hover {
  opacity: .7;
}

/* ---------------------------------------------------------------------------------------- */
/* NEWS
/* ---------------------------------------------------------------------------------------- */
.page-news .content + .content {
  margin-top: 6em;
}

.news-date {
  float: left;
  width: 12em;
}

.news-date p {
  line-height: 1.2;
  font-family: 'LatoWebMedium', sans-serif;
}

.news-body {
  margin-left: 12em;
  border-left: 1px solid #EEE;
  padding-left: 3em;
  color: #555;
}

.news-body h1 {
  font-size: 2.75em;
  line-height: 1.5;
}

.news-body h1 + section {
  margin-top: 2em;
}

.news-body .scn-norm img {
  width: 100%;
  height: auto;
}

.news-body .scn-norm ul, .news-body .scn-norm ol {
  margin-left: 2em;
}

.page-news .wp-pagenavi {
  position: relative;
  overflow: hidden;
  padding: 32px 0 8px;
}

.page-news .wp-pagenavi .previouspostslink, .page-news .wp-pagenavi .nextpostslink {
  width: 34px;
  height: 34px;
  border: 1px solid #338200;
  border-radius: 50%;
  text-indent: -999999em;
  overflow: hidden;
  text-align: left;
  background-position: center;
  background-repeat: no-repeat;
  -ms-background-size: 100% 100%;
  background-size: 100% 100%;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.page-news .wp-pagenavi .previouspostslink {
  float: left;
  background-image: url(assets/img/common/arrow-left-green.svg);
}

.page-news .wp-pagenavi .nextpostslink {
  float: right;
  background-image: url(assets/img/common/arrow-right-green.svg);
}

.page-news .wp-pagenavi .previouspostslink:hover, .page-news .wp-pagenavi .nextpostslink:hover {
  opacity: .7;
}

/* add 2019.05.22 */
.page-about .dl-flt dd .dsp-ib,
.page-about-re .dl-flt dd .dsp-ib,
.page-about-rere .dl-flt dd .dsp-ib {
  display: inline-block;
  vertical-align: middle;
  margin-right: 2em;
}

.btn-msg {
  position: relative;
  top: -1px;
  display: inline-block;
  vertical-align: middle;
}

.btn-msg a {
  position: relative;
  border: 1px solid #4BCC00;
  color: #4BCC00;
  font-size: .8125em;
  line-height: 1;
  font-weight: bold;
  padding: .35em .75em;
}

.btn-msg a:hover {
  background-color: #4BCC00;
  color: #FFF;
}

@media only screen and (max-width: 320px) {
  .btn-msg {
    margin-top: .5em;
  }
}

#Modal-message {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 599;
  background-color: rgba(255, 255, 255, 0.95);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: none;
  margin: 0 !important;
  padding: 1em;
}

@media only screen and (min-width: 602px) {
  #Modal-message {
    padding: 2em;
  }
}

@media only screen and (min-width: 851px) {
  #Modal-message {
    padding: 3em;
  }
}

#Modal-message .inner {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  padding: 8em 2em 4em;
}

#Modal-message h2 {
  text-align: center;
  font-size: 2.5em;
  padding: 0 !important;
  margin: 0 auto 2em !important;
}

@media only screen and (min-width: 602px) {
  #Modal-message .inner {
    padding: 8em 3em 4em;
  }
  #Modal-message h2 {
    font-size: 3em;
  }
}

@media only screen and (min-width: 851px) {
  #Modal-message .inner {
    padding: 8em 4em 4em;
  }
  #Modal-message h2 {
    font-size: 4.5em;
  }
}

#Modal-message .msg-block {
  position: relative;
  padding: 2em 1.5em;
  text-align: left;
  border: 2px solid #b3f58d;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  background-color: #eefde6;
  border-radius: 1.5em;
  color: #111;
}

@media only screen and (min-width: 602px) {
  #Modal-message .msg-block {
    padding: 3em;
  }
}

@media only screen and (min-width: 851px) {
  #Modal-message .msg-block {
    padding: 4em;
  }
}

@media only screen and (min-width: 1024px) {
  #Modal-message .msg-block {
    padding: 6em;
  }
}

/* add 2020.10.11 */
#Modal.ph-modal {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.wrapper-slider {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.img-slider {
  position: relative;
  width: 100%;
  z-index: 1;
}

.img-slider--inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.img-slider .img-slider--inner ul {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 0;
  padding-top: 75%;
}

.img-slider .img-slider--inner ul li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  display: none;
}

.img-slider .img-slider--inner ul li img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: 100%;
  width: 100%;
  height: auto;
}

.img-slider .img-slider--inner ul li.portrait img {
  width: auto;
  height: 100%;
  max-height: 100%;
}

.img-slider--nav {
  position: absolute;
  top: 50%;
  margin-top: -24px;
  width: 48px;
  height: 48px;
  z-index: 10;
  padding: 4px;
  background-color: rgba(255, 255, 255, 0.95);
  cursor: pointer;
  border-radius: 24px;
}

#Modal .img-slider--nav {
  background-color: rgba(0, 0, 0, 0.5);
}

.img-slider--nav i {
  display: block;
  width: 100%;
  height: 100%;
}

.img-slider--nav i svg {
  fill: #4BCC00;
  width: 100%;
  height: auto;
}

#Modal .img-slider--nav i svg {
  fill: #555;
}

.img-slider--nav.next {
  right: -24px;
}

.img-slider--nav.prev {
  left: -24px;
}

.img-slider--paging {
  position: absolute;
  bottom: -32px;
  left: 0;
  width: 100%;
  z-index: 11;
  text-align: center;
}

.img-slider--paging ul {
  position: relative;
  letter-spacing: -.4em;
  margin: 0;
  padding: 3px;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  display: inline-block;
  font-size: 1px;
  line-height: 1;
}

.img-slider--paging li {
  position: relative;
  letter-spacing: 0;
  display: inline-block;
  margin: 0;
  width: 24px;
  height: 24px;
  padding: 8px;
  cursor: pointer;
  vertical-align: top;
  overflow: hidden;
}

.img-slider--paging li span {
  position: relative;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background-color: #FFF;
}

.img-slider--paging li.current span {
  background-color: #4BCC00;
}

@media only screen and (max-width: 601px) {
  .page-samplemovie .inner-wrap {
    padding-left: 2em;
    padding-right: 2em;
  }
  .wrapper-slider {
    padding-bottom: 56px;
  }
  .img-slider--nav {
    bottom: 0;
    margin-top: 0;
    top: inherit;
  }
  .img-slider--nav.next {
    right: 0;
  }
  .img-slider--nav.prev {
    left: 0;
  }
  #Modal .img-slider--nav {
    width: 40px;
    height: 40px;
    bottom: -48px;
    border-radius: 20px;
  }
  .img-slider--paging ul {
    padding: 2px;
    border-radius: 3px;
  }
  .img-slider--paging li {
    width: 12px;
    height: 12px;
    padding: 4px;
  }
  .img-slider--paging li span {
    width: 4px;
    height: 4px;
  }
}

#Bg-modal-opng {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.9);
  display: none;
}

#Modal-opng {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 95%;
  max-width: 1280px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1001;
  display: none;
}

@media only screen and (max-width: 979px) {
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
  #Global-navigation .wrap-nav-block {
    padding-left: 6em;
    padding-right: 6em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* CONTENT
/* ---------------------------------------------------------------------------------------- */
  .inner-wrap {
    padding-left: 10em;
    padding-right: 10em;
  }
  .corner-header {
    padding-top: 134px;
    padding-bottom: 4em;
  }
  .page-samplemovie .corner-header {
    padding-bottom: 6em;
  }
  .corner-header:before {
    height: 118px;
  }
  .corner-header .icon {
    top: 118px;
  }
  #Local-navigation li {
    font-size: 1.75em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* PASTWORK
/* ---------------------------------------------------------------------------------------- */
  .dl-pastwork dt {
    width: 4em;
  }
  .dl-pastwork dd {
    margin-left: 7em;
  }
  .wrap-half {
    position: relative;
    margin: 0 -3em;
    overflow: hidden;
  }
  .inner-half {
    float: left;
    width: 50%;
    padding: 0 3em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* SAMPLE-MOVIE
/* ---------------------------------------------------------------------------------------- */
  .list-samplemov li {
    width: 50%;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* CARTOON
/* ---------------------------------------------------------------------------------------- */
  .cartoon .wp-pagenavi {
    font-size: 2em;
    z-index: 200;
  }
  .cartoon .wp-pagenavi .previouspostslink,
  .cartoon .wp-pagenavi .nextpostslink {
    width: 32px;
    height: 32px;
  }
  .cartoon .wp-pagenavi .previouspostslink {
    left: -40px;
  }
  .cartoon .wp-pagenavi .nextpostslink {
    right: -40px;
  }
}

@media only screen and (max-width: 850px) {
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-HEADER
/* ---------------------------------------------------------------------------------------- */
  #Global-header {
    padding: 3em 3em 0;
  }
  #Trigger {
    top: 2em;
    right: 2em;
  }
  #Btn-top {
    bottom: 2em;
    right: 2em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
  #Global-navigation {
    padding-top: 8em;
  }
  #Global-navigation .btn-close {
    top: 2em;
    right: 2em;
  }
  #Global-navigation ul li {
    width: 100%;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-FOOTER
/* ---------------------------------------------------------------------------------------- */
  #Global-footer {
    padding: 5em 3em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* CONTENT
/* ---------------------------------------------------------------------------------------- */
  .border-left {
    width: 2em;
  }
  .border-right {
    width: 2em;
  }
  .border-top {
    height: 2em;
  }
  .border-bottom {
    height: 2em;
  }
  .inner-wrap {
    padding-left: 8em;
    padding-right: 8em;
  }
}

@media only screen and (max-width: 767px) {
  .noSMP {
    display: none;
  }
  h1 {
    font-size: 3.5em;
  }
  h2 {
    font-size: 2em;
  }
  h3 {
    font-size: 1.85em;
  }
  h4 {
    font-size: 1.625em;
  }
  h5, h6, p, li, dt, dd, th, td {
    font-size: 1.625em;
  }
  .fntM {
    font-size: 1.5em;
  }
  p.fntMS {
    font-size: 1.5em;
  }
  .list-norm {
    margin-left: 2em;
  }
  .atl-norm {
    margin-bottom: 4em;
  }
  .corner-header {
    padding-top: 86px;
    padding-bottom: 3em;
  }
  .page-samplemovie .corner-header {
    padding-bottom: 5em;
  }
  .corner-header:before {
    height: 70px;
  }
  .corner-header .icon {
    top: 70px;
    margin-left: 16px;
    margin-top: -32px;
    width: 32px;
    height: 32px;
  }
  .scn-norm + section {
    margin-top: 3em;
  }
  .scn-norm + .wide-mgn {
    margin-top: 5em;
  }
  .scn-norm + aside {
    margin-top: 2em;
  }
  .scn-norm.with-left-border + section {
    padding-top: 3em;
    margin-top: 0;
  }
  .scn-norm.with-left-border:before {
    left: -16px;
  }
  .scn-norm.with-left-border.first-scn:before {
    top: 1.15em;
  }
  .scn-norm.with-left-border.last-scn:before {
    height: 4em;
  }
  .scn-norm h2 {
    position: relative;
    margin-bottom: 1em;
  }
  .scn-norm.with-left-border h2:before {
    left: -16px;
  }
  .wrap-half {
    margin: 0;
  }
  .inner-half {
    float: none;
    width: 100%;
    padding: 0;
  }
  .inner-half + .inner-half {
    margin-top: 1.5em;
  }
  .fig-under-construction img {
    max-width: 40%;
  }
  #Local-navigation {
    margin-bottom: 2em;
  }
  #Local-navigation li {
    width: 50%;
    padding: 0 8px 0 0;
    text-align: left;
    font-size: 1.625em;
  }
  #Local-navigation li.dLine {
    width: 100%;
  }
  #Local-navigation li a {
    padding-bottom: 16px;
  }
  #Local-navigation li a:before {
    display: none;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* HOME
/* ---------------------------------------------------------------------------------------- */
  .home-nav {
    display: none;
  }
  .headline-home dl {
    margin-left: -200px;
    width: 400px;
    padding: 8px;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* SAMPLE-MOVIE
/* ---------------------------------------------------------------------------------------- */
  .list-samplemov li {
    padding-bottom: 16px;
  }
  .list-samplemov li a {
    padding: 24px 0;
  }
  .list-samplemov li a i {
    top: -16px;
    margin-left: -16px;
    width: 32px;
    height: 32px;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* CARTOON
/* ---------------------------------------------------------------------------------------- */
  .cartoon .corner-header {
    padding: 70px 0 3em;
  }
  .cartoon .corner-header:before {
    height: 54px;
  }
  .cartoon .corner-header h1 {
    font-size: 3em;
  }
  .cartoon .wp-pagenavi {
    position: relative;
    padding-top: 24px;
    height: 58px;
  }
  .cartoon .wp-pagenavi .previouspostslink {
    left: 0;
  }
  .cartoon .wp-pagenavi .nextpostslink {
    right: 0;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* NEWS
/* ---------------------------------------------------------------------------------------- */
  .news-date {
    float: none;
    width: auto;
    margin-bottom: .5em;
  }
  .news-date p {
    font-size: 1.785em;
  }
  .news-date br {
    display: none;
  }
  .news-body {
    margin-left: 0;
    border-left: none;
    padding-left: 0;
    color: #555;
  }
  .news-body h1 {
    font-size: 2.25em;
  }
  .news-body h1 + section {
    margin-top: 1em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* RECRUITING
/* ---------------------------------------------------------------------------------------- */
  .page-recruiting h2 {
    padding-right: 0;
  }
  .btn-apply {
    position: relative;
    clear: left;
    margin-top: 8px;
    padding: 1em;
    text-align: center;
  }
  /* add 2018.08.29 */
  .btns-inq-app {
    position: relative;
    clear: left;
    top: auto;
    right: auto;
    margin-top: 8px;
    text-align: center;
    width: 100%;
  }
  .btns-inq-app li {
    width: 50%;
    margin: 0;
  }
  .btns-inq-app li a {
    padding: 1em;
  }
  .btns-inq-app li + li a {
    border-left: none;
  }
}

@media only screen and (max-width: 601px) {
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-HEADER
/* ---------------------------------------------------------------------------------------- */
  #Global-header {
    padding: 2em 2em 0;
  }
  #Global-header h1 a {
    width: 44px;
  }
  #Global-header h1 .title {
    display: none;
  }
  #Trigger {
    top: 1em;
    right: 1em;
  }
  #Btn-top {
    bottom: 1em;
    right: 1em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
  #Global-navigation {
    padding-top: 6em;
  }
  #Global-navigation .btn-close {
    top: 1em;
    right: 1em;
  }
  #Global-navigation .wrap-nav-block {
    padding: 2em;
  }
  #Global-navigation ul li {
    width: 100%;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* CONTENT
/* ---------------------------------------------------------------------------------------- */
  .border-left {
    width: 1em;
  }
  .border-right {
    width: 1em;
  }
  .border-top {
    height: 1em;
  }
  .border-bottom {
    height: 1em;
  }
  .inner-wrap {
    padding-left: 4em;
    padding-right: 4em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* RECRUITMENT
/* ---------------------------------------------------------------------------------------- */
  .tb-norm.tb-recruit + h3 {
    margin-top: 2em;
  }
  .tb-norm.tb-recruit th,
  .tb-norm.tb-recruit td {
    display: block;
    border: none;
    padding: 0;
  }
  .tb-norm.tb-recruit th {
    width: auto;
    padding-bottom: .25em;
    border-bottom: 1px solid #DDD;
  }
  .tb-norm.tb-recruit td {
    padding-top: .25em;
    padding-bottom: 1em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* PASTWORK
/* ---------------------------------------------------------------------------------------- */
  .dl-pastwork dt {
    width: auto;
    padding-bottom: 1em;
    float: none;
    text-align: left;
  }
  .dl-pastwork dt:after {
    display: none;
  }
  .dl-pastwork dd {
    margin-left: 0;
    padding-left: 0;
    padding-bottom: 2em;
  }
  .dl-pastwork dd:before {
    display: none;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* SAMPLE-MOVIE
/* ---------------------------------------------------------------------------------------- */
  .list-samplemov li {
    width: 100%;
  }
}

@media only screen and (max-width: 479px) {
  .only480 {
    display: inherit;
  }
  .no480 {
    display: none;
  }
  h1 {
    font-size: 3em;
  }
  .dl-flt {
    overflow: hidden;
  }
  .dl-flt dt {
    float: none;
    margin-top: .5em;
    width: auto;
  }
  .dl-flt dd {
    margin-left: 0;
    margin-top: .5em;
  }
  .dl-flt dt:nth-of-type(1),
  .dl-flt dd:nth-of-type(1) {
    margin-top: 0;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
  #Global-navigation ul {
    font-size: .92em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* GLOBAL-FOOTER
/* ---------------------------------------------------------------------------------------- */
  #Global-footer {
    padding: 3em 2em;
  }
  #Global-footer .copyright {
    font-size: 1.25em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* CONTENT
/* ---------------------------------------------------------------------------------------- */
  .corner-header {
    padding-top: 62px;
    padding-bottom: 2em;
  }
  .page-samplemovie .corner-header {
    padding-bottom: 4em;
  }
  .corner-header:before {
    height: 46px;
  }
  .corner-header .icon {
    top: 46px;
    margin-left: 8px;
    margin-top: -24px;
    width: 24px;
    height: 24px;
  }
  .atl-error > div {
    font-size: 5em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* HOME
/* ---------------------------------------------------------------------------------------- */
  .headline-home dl {
    margin-left: -150px;
    width: 300px;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* ABOUT
/* ---------------------------------------------------------------------------------------- */
  .list-client {
    font-size: .875em;
  }
  .list-client li {
    margin: .25em .5em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* CARTOON
/* ---------------------------------------------------------------------------------------- */
  .cartoon .corner-header {
    padding: 62px 0 2em;
  }
  .cartoon .corner-header:before {
    height: 46px;
  }
  .cartoon .corner-header h1 {
    font-size: 2.5em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* NEWS
/* ---------------------------------------------------------------------------------------- */
  .page-news .content + .content {
    margin-top: 4em;
  }
  .news-body h1 {
    font-size: 2em;
  }
}

@media only screen and (max-width: 320px) {
  .only320 {
    display: inherit;
  }
  #Local-navigation li {
    font-size: 1.5em;
  }
  /* ---------------------------------------------------------------------------------------- */
  /* HOME
/* ---------------------------------------------------------------------------------------- */
  .headline-home dl {
    margin-left: -130px;
    width: 260px;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* FORM
/* ---------------------------------------------------------------------------------------- */
/* Forms
/* ---------------------------------------------------------------------------------------- */
fieldset {
  border: none;
}

input {
  border-radius: 0;
}

[type="number"] {
  width: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

:-ms-input-placeholder,
::-ms-input-placeholder,
:-ms-input-placeholder {
  color: #888;
}

::-ms-input-placeholder,
::-ms-input-placeholder,
:-ms-input-placeholder {
  color: #888;
}

::placeholder,
::-ms-input-placeholder,
:-ms-input-placeholder {
  color: #888;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
textarea,
select {
  font: inherit;
}

optgroup {
  font-weight: bold;
}

button {
  overflow: visible;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button {
  text-transform: none;
}

button,
input,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

select {
  max-width: 100%;
  overflow: hidden;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-placeholder {
  color: inherit;
  opacity: 0.5;
}

:-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

.form-group {
  position: relative;
  margin-bottom: 3rem;
  display: block;
}

.form-group--inner {
  display: block;
  width: 100%;
  padding: 1em 0;
  margin: 0;
  border-top: 1px solid rgba(68, 173, 0, 0.3);
}

@media print, screen and (min-width: 800px) {
  .form-group--inner {
    display: table;
    padding: 1.5em 0 0;
    margin-bottom: 1em;
  }
}

.form-group--inner.bdr-btm {
  border-bottom: 1px solid rgba(68, 173, 0, 0.3);
}

.form-group--inner .col {
  display: block;
  width: auto;
}

@media print, screen and (min-width: 800px) {
  .form-group--inner .col {
    display: table-cell;
    width: 12em;
    vertical-align: text-top;
  }
}

.form-group--inner .col.ver-top {
  vertical-align: top;
}

.form-group--inner .col + .col {
  margin-top: 0.5em;
}

@media print, screen and (min-width: 800px) {
  .form-group--inner .col + .col {
    padding-top: 0;
    width: calc(100% - 12em);
  }
}

.form-group--inner .col span.error {
  display: block;
  color: #D83536;
  margin-top: 0.5em;
}

.form-group--inner .col .inner-col {
  display: block;
}

.form-group--inner .col .inner-col:not(:last-child) {
  margin-bottom: 0.75em;
}

.form-group--inner .col .inner-col--title {
  display: block;
  font-size: 0.875em;
  margin-bottom: 0.5em;
}

.form-group--inner .mst,
.form-group--inner .opt {
  position: relative;
  display: inline-block;
  font-size: 0.7em;
  vertical-align: middle;
  font-style: normal;
  color: #f93a2b;
  margin-left: 0.5em;
}

.form-group--inner .opt {
  color: #6ea020;
}

@media print, screen and (min-width: 800px) {
  .form-group--inner.no-flt {
    margin-bottom: 0;
  }
}

.form-group--inner.no-flt dt {
  font-size: 1.8em;
}

.form-group--inner.no-flt dt .fntS {
  font-size: 0.8125em;
  color: #444;
}

@media print, screen and (min-width: 800px) {
  .form-group--inner.no-flt .col {
    display: block;
    width: auto;
    margin-bottom: 1em;
  }
}

@media print, screen and (min-width: 800px) {
  .form-group--inner.no-flt .col + .col {
    width: auto;
  }
}

.form-group--bottom {
  border-top: 1px solid #ccc;
  padding-top: 1.5em;
}

input,
textarea,
select {
  padding: 0.5em 1em;
  color: #333;
  border-radius: 0.2em;
}

textarea {
  min-height: 10em;
}

input,
textarea {
  width: 100%;
  background-color: #f5f5f5;
  border: 1px solid #f5f5f5;
}

input.ipt-S {
  width: 10em;
}

input.ipt-SS {
  width: 5em;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #999;
  background-color: #fff;
  outline: 0;
}

:disabled {
  opacity: 0.5;
}

[type="radio"],
[type="radio"] + label,
[type="checkbox"],
[type="checkbox"] + label {
  width: auto;
  display: inline-block;
}

[type="radio"],
[type="checkbox"] {
  margin-right: 0.5em;
}

.wrap-select {
  position: relative;
  display: inline-block;
  width: auto;
}

select,
.list-group-team select {
  padding: 0.5em 1em;
  background-color: #f0f0f0;
  background: -webkit-gradient(linear, left bottom, left top, from(#f2f2f2), to(#fff));
  background: linear-gradient(0deg, #f2f2f2, #fff);
  padding-right: 32px;
  border: 1px solid #DDDDDD;
  cursor: pointer;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: normal;
}

.form-group select {
  max-width: calc(100vw - 4rem - 32px);
}

@media print, screen and (min-width: 350px) {
  .form-group select {
    max-width: calc(100vw - 4rem - 48px);
  }
}

@media print, screen and (min-width: 576px) {
  .form-group select {
    max-width: calc(100vw - 4rem - 96px);
  }
}

@media print, screen and (min-width: 960px) {
  .form-group select {
    max-width: 100%;
  }
}

.list-group-team select {
  border: 1px solid #bbb;
}

.btn-label input[type="radio"],
.btn-label input[type="checkbox"],
.txt-label input[type="radio"],
.txt-label input[type="checkbox"] {
  display: none;
}

.btn-label label {
  position: relative;
  padding: 0.5em 1em;
  border: 1px solid #aaa;
  background-color: #f5f5f5;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin-left: -1px;
  margin-top: -1px;
}

.btn-label label:hover {
  background-color: #ccc;
  color: #111;
}

.btn-label.sort-item label {
  padding: 0.5em 0.5em;
  background-color: #fff;
  border-color: #ddd;
}

@media print, screen and (min-width: 350px) {
  .btn-label.sort-item label {
    padding: 0.5em 0.75em;
  }
}

.btn-label.separated label {
  padding: 1em 0.5em;
  background-color: #fff;
  border-radius: 0;
}

.btn-label.separated label.btn-img label {
  padding: 0;
  background-color: #000;
  border-radius: 0;
  border: none;
}

.btn-label.full label {
  width: 100%;
}

.btn-label:not(:first-child) label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-label:not(:last-child) label {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-label.separated :not(:last-child) label {
  border-right: 1px solid #aaa;
}

.btn-label.separated.btn-img :not(:last-child) label {
  border: none;
}

.txt-label label {
  position: relative;
  padding: 0.25em 0;
  padding-left: 1em;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.txt-label label::before {
  position: relative;
  content: "・";
  margin-left: -1em;
  margin-right: 0.5em;
  display: inline-block;
}

.txt-label label:hover {
  color: #111;
}

.btn-label input[type="radio"]:checked + label,
.btn-label input[type="checkbox"]:checked + label {
  background-color: #555;
  color: #fff;
}

.btn-label.btn-img input[type="radio"]:checked + label,
.btn-label.btn-img input[type="checkbox"]:checked + label {
  background-color: #000;
  border: 3px solid #e7cd00;
}

.btn-label.btn-img label img {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.btn-label.btn-img input[type="radio"]:checked + label img,
.btn-label.btn-img input[type="checkbox"]:checked + label img {
  opacity: 0.5;
}

.txt-label input[type="checkbox"]:checked + label {
  font-weight: bold;
}

.txt-label input[type="checkbox"]:checked + label::before {
  content: "-";
}

.form-help {
  display: inline-block;
  font-size: 0.83em;
  line-height: 1.4;
  margin-top: 0.5em;
}

.error label,
.error .label {
  color: #D83536;
}

.error input,
.error select,
.error .btn-label label {
  border-color: #D83536;
}

.error-msg {
  display: block;
  color: #D83536;
  margin-top: 0.5em;
}

.form-btns {
  position: relative;
  border-top: 1px solid #ccc;
  padding-top: 1.5rem;
  margin-top: 2rem;
}

@media print, screen and (min-width: 960px) {
  .form-btns {
    margin-top: 3rem;
    padding-top: 2rem;
  }
}

.form-btns ul {
  list-style: none;
  letter-spacing: -0.4em;
  display: block;
  width: 100%;
  margin: -0.25rem;
}

.form-btns ul li {
  letter-spacing: 0;
  display: inline-block;
  margin: 0;
  padding: 0.25rem;
}

.form-group--buttons {
  position: relative;
  border-top: 1px solid #ccc;
  padding-top: 1.5rem;
}

.form-group--buttons ul {
  list-style: none;
  letter-spacing: -0.4em;
  display: block;
  width: 100%;
  margin: -0.25rem;
}

.form-group--buttons ul li {
  letter-spacing: 0;
  display: inline-block;
  margin: 0;
  padding: 0.25rem;
}

.list-ib {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  letter-spacing: -0.4em;
}

.list-ib li {
  letter-spacing: 0;
  display: inline-block;
  margin: 0.25em;
}

.wrap-btns {
  margin-top: 2em;
  font-size: 1.05em;
}

.wrap-btns .btn {
  display: block;
  border: 1px solid #3baf36;
  padding: 0.5em 1em;
  cursor: pointer;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.wrap-btns .btn:hover {
  background-color: #3baf36;
  color: #fff;
}

.btn-backhome {
  display: inline-block;
  border: 1px solid #3baf36;
  padding: 0.5em 2em;
  cursor: pointer;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.btn-backhome:hover {
  background-color: #3baf36;
  color: #fff;
}

.mw_wp_form_confirm .form-group--inner .mst,
.mw_wp_form_confirm .form-group--inner .opt {
  display: none;
}

.mw_wp_form_confirm .form-group--inner dt {
  opacity: .7;
}

.mw_wp_form_confirm .form-group--inner dd {
  color: #307a00;
}

.dsp-b {
  display: block;
}

.dsp-ib {
  display: inline-block;
}

.mgn-btm {
  margin-bottom: 2em;
}

.page-inquiry .corner-header .icon {
  background-image: url(assets/img/icons/i-inquiry.svg);
}

.check-policy {
  position: relative;
  text-align: center;
  font-size: 2em;
  display: block;
  margin-top: 2em;
}

@media print, screen and (max-width: 767px) {
  .check-policy br {
    display: none;
  }
}

.check-policy .mst,
.check-policy .opt {
  position: relative;
  display: inline-block;
  font-size: 0.7em;
  vertical-align: middle;
  font-style: normal;
  color: #f93a2b;
  margin-left: 0.5em;
}

.check-policy .link-privacy-policy {
  display: inline;
  text-decoration: underline;
  cursor: pointer;
}

.link-to-inquiry {
  position: relative;
  margin: 2em 0;
  text-align: left;
}

@media print, screen and (min-width: 800px) {
  .link-to-inquiry {
    margin: 2.5em 0;
  }
}

.link-to-inquiry a {
  display: inline-block;
  border: 3px solid #4BCC00;
  color: #4BCC00;
  line-height: 1;
  font-weight: bold;
  padding: 1em;
}

.link-to-inquiry a:hover {
  background-color: #4BCC00;
  color: #FFF;
}

.page-privacy-policy .corner-header .icon {
  background-image: url(assets/img/icons/i-company.svg);
}

.scn-norm.scn-privacy-policy {
  position: relative;
}

.scn-norm.scn-privacy-policy h2 {
  text-align: center;
  margin-bottom: 2em;
  font-size: 2.75em;
}

.scn-norm.scn-privacy-policy h2 .sml {
  display: block;
  font-size: .875em;
}

.scn-norm.scn-privacy-policy h3 {
  margin-bottom: .75em;
  font-size: 2.25em;
  font-weight: 400;
}

.modal-pp {
  position: fixed;
  top: 10%;
  left: 50%;
  width: calc(100% - 2em);
  max-width: 860px;
  height: 80%;
  padding: 1em .5em;
  overflow-y: scroll;
  background-color: #FFF;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1000;
}

@media print, screen and (min-width: 800px) {
  .modal-pp {
    padding: 2em;
  }
}

.modal-pp--inner {
  text-align: left;
  padding: 4em 2em;
}

@media print, screen and (min-width: 800px) {
  .modal-pp--inner {
    padding: 6em 4em;
  }
}

.btn-modal-pp-close {
  position: fixed;
  top: 1em;
  right: 1em;
  width: 48px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.02);
  z-index: 1001;
  cursor: pointer;
}

@media print, screen and (min-width: 768px) {
  .btn-modal-pp-close {
    top: 2em;
    right: 2em;
  }
}

@media print, screen and (min-width: 960px) {
  .btn-modal-pp-close {
    top: 3em;
    right: 3em;
  }
}

.btn-modal-pp-close i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  display: block;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.btn-modal-pp-close i::before {
  position: absolute;
  top: 0;
  left: -10px;
  width: 21px;
  height: 0;
  display: block;
  content: ' ';
  border-top: 1px solid #FFF;
}

.btn-modal-pp-close i::after {
  position: absolute;
  top: -10px;
  left: 0;
  height: 21px;
  width: 0;
  display: block;
  content: ' ';
  border-left: 1px solid #FFF;
}

.btn-sns-twitter {
  position: fixed;
  top: 3em;
  right: 3em;
  margin-right: 48px;
  z-index: 10;
}

.btn-sns-twitter a {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  background-color: #4BCC00;
  padding: 8px;
}

.btn-sns-twitter a svg {
  width: 100%;
  height: 100%;
  fill: #FFF;
}

.btn-sns-twitter a:hover {
  color: #44AD00;
}

@media only screen and (max-width: 850px) {
  .btn-sns-twitter {
    top: 2em;
    right: 2em;
  }
}

@media only screen and (max-width: 601px) {
  .btn-sns-twitter {
    top: 1em;
    right: 1em;
  }
}
/*# sourceMappingURL=style.css.map */

