@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css?family=Montserrat:200,300,500,600");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

@-webkit-keyframes top-scroll {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  45% {
    -webkit-transform: translate(0, 7px);
    transform: translate(0, 7px);
  }
  55% {
    -webkit-transform: translate(0, 7px);
    transform: translate(0, 7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes top-scroll {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  45% {
    -webkit-transform: translate(0, 7px);
    transform: translate(0, 7px);
  }
  55% {
    -webkit-transform: translate(0, 7px);
    transform: translate(0, 7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

body, select, input, textarea {
  color: #1c212a;
  font-family: YuGothicM, YuGothic, Meiryo, -apple-system, blinkMacSystemFont, "Helvetica Neue", "Segoe UI", sans-serif;
}

a {
  color: inherit;
  text-decoration: inherit;
  cursor: inherit;
  cursor: pointer;
}

a:active, a:focus {
  outline: none;
}

/* Windows */
@font-face {
  font-family: YuGothicM;
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* Windows8.1ではMediumがないのでRegularを指定 */
}

@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local("YoGothic-Bold"), local("Yu Gothic");
  /* Chrome用 */
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
}

.sticky.sticky-fixed.is-sticky {
  position: fixed;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.sticky.sticky-fixed.is-sticky:not([style*="margin-top"]) {
  margin-top: 0 !important;
}

.sticky.sticky-fixed.is-sticky:not([style*="margin-bottom"]) {
  margin-bottom: 0 !important;
}

.sticky.sticky-fixed.is-absolute {
  position: absolute;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  line-height: 0;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*--------------------------------------------------
* body
* --------------------------------------------------*/
body,
p, h1, h2, h3, h4, h5, h6,
div, span {
  letter-spacing: 0.06rem;
}

li {
  list-style: none;
}

@media all and (max-width: 758px) {
  body {
    background: #FFF;
    will-change: opacity;
    -webkit-transition: opacity 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    transition: opacity 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    /* easeOutQuint */
    opacity: 0;
  }
  body.show {
    opacity: 1;
  }
  main {
    width: 100%;
  }
}

@media all and (min-width: 759px) {
  body {
    background: #FFF;
    will-change: opacity;
    min-width: 1124px;
    -webkit-transition: opacity 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    transition: opacity 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    /* easeOutQuint */
    opacity: 0;
  }
  body.show {
    opacity: 1;
  }
  main {
    width: 100%;
  }
}

/*--------------------------------------------------
* Header
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .l-header {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 12;
  }
  .l-header__inner {
    height: 0;
    padding-top: 14.6666666667%;
    width: 100%;
    margin: 0 auto;
    position: relative;
    background: rgba(255, 255, 255, 0.2);
  }
  .l-header__inner h1 {
    position: absolute;
    top: 0;
    width: 39.3333333333%;
    max-width: 295px;
    padding: 4% 0 0 3.3333333333%;
  }
  .l-header__inner h1 a {
    display: block;
    line-height: 0;
    position: relative;
  }
  .l-header__inner h1 img {
    width: 100%;
    top: 0;
    position: absolute;
  }
  .l-header__inner nav {
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: 77.3333333333%;
    height: 100vh;
    background: #fdff53;
    -webkit-transform: translate(100%, 0);
    transform: translate(100%, 0);
  }
  .l-header__inner nav ul {
    padding: 17.2413793103% 0;
  }
  .l-header__inner nav li {
    display: block;
    padding-left: 18.9655172414%;
  }
  .l-header__inner nav li a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #1c212a !important;
    position: relative;
    padding: 6.0344827586% 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 0.8;
    display: block;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .l-header__inner nav li a {
    font-size: 15.5555555556px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .l-header__inner nav li a {
    font-size: 17.5px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .l-header__inner nav li a {
    font-size: 23.3333333333px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) {
  .l-header__inner nav #navi-contact {
    margin: 5.1724137931% 0;
  }
  .l-header__inner nav #navi-contact a {
    border: #000 1px solid;
    text-align: center;
    margin-right: 17.2413793103%;
    position: relative;
  }
  .l-header__inner nav #navi-contact a:before {
    position: absolute;
    background: url("/assets/images/common/icon-mail-b.svg") top left no-repeat;
    background-size: contain;
    content: '';
    width: 11.1111111111%;
    padding-top: 7.2222222222%;
    top: 50%;
    margin-left: -15%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    height: 0;
  }
  .l-header__inner nav #navi-facebook a {
    position: relative;
    padding-left: 8.6956521739%;
  }
  .l-header__inner nav #navi-facebook a:before {
    position: absolute;
    background: url("/assets/images/common/icon-f-b.svg") top left no-repeat;
    background-size: contain;
    content: '';
    width: 8.6956521739%;
    padding-top: 5.652173913%;
    top: 50%;
    margin-left: -7.3913043478%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    height: 0;
  }
  .l-header.navi-shown {
    z-index: 13;
  }
  .l-header.navi-shown nav {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .l-header.navi-shown .navi-button .line2 {
    opacity: 0;
  }
  .l-header.navi-shown .navi-button .line1 {
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    margin-top: 0;
  }
  .l-header.navi-shown .navi-button .line3 {
    -webkit-transform: rotate(-315deg);
    transform: rotate(-315deg);
    margin-top: 0;
  }
  .l-header.navi-shown #fixednavi-area {
    -webkit-transition: all 0ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 0ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate(0, 0%);
    transform: translate(0, 0%);
  }
  #fixednavi-area {
    position: fixed;
    will-change: transform;
    top: 0;
    left: 0;
    -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate(0, -400%);
    transform: translate(0, -400%);
  }
  #fixednavi-area.show {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .navi-button {
    position: absolute;
    right: 0;
    top: 0;
    background: #fdff53;
    width: 14.6666666667%;
    padding-top: 14.6666666667%;
    height: 0;
  }
  .navi-button .line {
    width: 27.2727272727%;
    moz-transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    background: #2e2e4e;
    margin: auto;
    will-change: transform;
  }
  .navi-button .line1 {
    margin-top: -9.0909090909%;
  }
  .navi-button .line3 {
    margin-top: 9.0909090909%;
  }
}

@media all and (min-width: 759px) {
  .l-header {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 9;
  }
  .l-header__inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
    background: rgba(255, 255, 255, 0.2);
    height: 90px;
  }
  .l-header__inner h1 {
    width: 195px;
    max-width: 195px;
    padding: 30px 0 0 37px;
    position: relative;
  }
  .l-header__inner h1 a {
    display: block;
    line-height: 0;
    position: relative;
  }
  .l-header__inner h1 img {
    width: 100%;
    position: absolute;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    top: 0;
    left: 0;
  }
  .l-header__inner nav {
    position: absolute;
    right: 30px;
    top: 39px;
  }
  .l-header__inner nav li {
    display: inline-block;
    padding-left: 32px;
  }
  .l-header__inner nav li a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #FFF;
    font-size: 14px;
    position: relative;
    padding-bottom: 8px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 0.8;
    display: block;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-header__inner nav li a:after {
    position: absolute;
    content: '';
    width: 100%;
    left: 0;
    bottom: 0;
    background: #fdff53;
    height: 2px;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
  }
  .l-header__inner nav li a:hover:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .l-header__inner nav #navi-facebook {
    display: none;
  }
  #fixednavi-area {
    position: fixed;
    will-change: transform;
    top: 0;
    left: 0;
    -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate(0, -260%);
    transform: translate(0, -260%);
  }
  #fixednavi-area.show {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

#fixednavi-area.blue .blue {
  opacity: 0;
}

#fixednavi-area.blue .white {
  opacity: 1;
}

#fixednavi-area.blue nav a {
  color: #FFF;
}

#fixednavi-area.white .blue {
  opacity: 1;
}

#fixednavi-area.white .white {
  opacity: 0;
}

#fixednavi-area.white nav a {
  color: #2e2e4e;
}

/*--------------------------------------------------
* Footer
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .topto {
    padding: 4% 0 3.7333333333%;
  }
  .topto a {
    display: block;
    margin: 0 auto;
    width: 3.0666666667%;
    padding-top: 12.6666666667%;
    background: url("/assets/images/index/arrow-up.svg") top center no-repeat;
    background-size: contain;
  }
  .l-footer {
    background: #FFF;
    width: 100%;
    padding-bottom: 4.6666666667%;
    position: relative;
  }
  .l-footer__inner {
    border-top: #dddddd 1px solid;
    margin: 0 auto;
    padding-top: 6%;
    width: 100%;
    text-align: center;
    vertical-align: middle;
  }
  .l-footer ul {
    margin-bottom: 6.6666666667%;
  }
  .l-footer ul li {
    display: inline-block;
    padding: 0 4.6666666667%;
    border-right: 1px solid #a9a9a9;
  }
  .l-footer ul li:last-child {
    border-right: 0;
  }
  .l-footer ul li a {
    font-weight: bold;
    line-height: 0.8;
    padding-bottom: 2px;
    border-bottom: 1px solid #a9a9a9;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: relative;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .l-footer ul li a {
    font-size: 13.3333333333px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .l-footer ul li a {
    font-size: 15px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .l-footer ul li a {
    font-size: 20px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) {
  .l-footer ul li a:hover {
    color: #00ffd2;
  }
  .l-footer ul li a:hover:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .l-footer ul li a:after {
    position: absolute;
    left: 0;
    bottom: -1px;
    height: 1px;
    width: 100%;
    content: '';
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #00ffd2;
  }
  .l-footer .copyright {
    text-align: center;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .l-footer .copyright {
    font-size: 11.1111111111px;
    font-size: 2.6666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .l-footer .copyright {
    font-size: 12.5px;
    font-size: 2.6666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .l-footer .copyright {
    font-size: 16.6666666667px;
    font-size: 2.6666666667vw;
  }
}

@media all and (min-width: 759px) {
  .l-footer {
    background: #FFF;
    border-top: #2e2e4e 1px solid;
    width: 100%;
    padding-top: 30px;
    padding-bottom: 15px;
    position: relative;
  }
  .l-footer__inner {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    text-align: center;
    vertical-align: middle;
  }
  .l-footer ul {
    margin-bottom: 20px;
  }
  .l-footer ul li {
    display: inline-block;
    padding: 0 1.5625%;
    border-right: 1px solid #a9a9a9;
  }
  .l-footer ul li:last-child {
    border-right: 0;
  }
  .l-footer ul li a {
    font-size: 12px;
    font-weight: bold;
    line-height: 0.8;
    padding-bottom: 2px;
    border-bottom: 1px solid #a9a9a9;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: relative;
  }
  .l-footer ul li a:hover {
    color: #4669ff;
  }
  .l-footer ul li a:hover:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .l-footer ul li a:after {
    position: absolute;
    left: 0;
    bottom: -1px;
    height: 1px;
    width: 100%;
    content: '';
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #4669ff;
  }
  .l-footer .copyright {
    font-size: 11px;
    text-align: center;
  }
}

/*--------------------------------------------------
* Left SideNavi
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .l-leftnavi {
    display: none;
  }
  /*--------------------------------------------------
  * Right SideNavi [SP]
  * --------------------------------------------------*/
  .l-rightnavi {
    position: fixed;
    right: 14.6666666667%;
    top: 0;
    z-index: 12;
    margin-top: 2.9333333333%;
    width: 38%;
    -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate(0, -200%);
    transform: translate(0, -200%);
    font-size: 0;
  }
  .l-rightnavi.show {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .l-rightnavi #sidenavi-tel {
    -webkit-transform: translate(0, -2px);
    transform: translate(0, -2px);
  }
  .l-rightnavi #sidenavi-tel a img {
    width: 47.1428571429%;
  }
  .l-rightnavi #sidenavi-mail {
    -webkit-transform: translate(0, -1px);
    transform: translate(0, -1px);
  }
  .l-rightnavi #sidenavi-mail a img {
    width: 54.2857142857%;
  }
  .l-rightnavi #sidenavi-pin a img {
    width: 42.8571428571%;
  }
  .l-rightnavi #sidenavi-facebook {
    -webkit-transform: translate(0, 1px);
    transform: translate(0, 1px);
  }
  .l-rightnavi #sidenavi-facebook a img {
    width: 24.2857142857%;
  }
  .l-rightnavi li {
    width: 24.5614035088%;
    padding-top: 24.5614035088%;
    display: inline-block;
    position: relative;
  }
  .l-rightnavi li:last-child {
    border: none;
  }
  .l-rightnavi li a {
    display: block;
    line-height: 0;
    top: 0;
    left: 0;
    border: 0;
    height: 100%;
    width: 100%;
    margin: 0 0 0 auto;
    overflow: hidden;
    position: absolute;
    left: auto;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-rightnavi li a img {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-rightnavi li a .white {
    opacity: 1;
  }
  .l-rightnavi li a .blue {
    opacity: 0;
  }
  .l-rightnavi li a p {
    display: none;
  }
  body.white .l-rightnavi li a .white {
    opacity: 0;
  }
  body.white .l-rightnavi li a .blue {
    opacity: 1;
  }
}

@media all and (min-width: 759px) {
  .l-leftnavi {
    position: fixed;
    top: 50%;
    left: 30px;
    text-align: center;
    z-index: 10;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .l-leftnavi li {
    display: block;
    position: relative;
    height: 40px;
    width: 30px;
  }
  .l-leftnavi li p {
    opacity: 0;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-leftnavi li a {
    -webkit-transform: translate(-18%, -50%) rotate(-90deg);
    transform: translate(-18%, -50%) rotate(-90deg);
    position: absolute;
    text-align: center;
    font-size: 12px;
    width: 40px;
    height: 30px;
    top: 50%;
    display: block;
  }
  .l-leftnavi li a .dot {
    position: absolute;
    left: 50%;
    margin: 20px auto 0;
    width: 40px;
    height: 5px;
    text-align: center;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  .l-leftnavi li a .dot .body {
    background: #FFF;
    width: 5px;
    height: 5px;
    position: absolute;
    border-radius: 50%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2;
    will-change: transform;
    -webkit-transition: all 460ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
    transition: all 460ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
    /* easeOutQuint */
  }
  .l-leftnavi li a .dot:after, .l-leftnavi li a .dot:before {
    content: '';
    position: absolute;
    width: 50%;
    height: 5px;
    will-change: transform;
    moz-transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    margin: auto;
  }
  .l-leftnavi li a .dot:after {
    left: 0;
    background: rgba(255, 255, 255, 0.1);
  }
  .l-leftnavi li a .dot:before {
    right: 0;
    z-index: 1;
    background: rgba(255, 255, 255, 0.1);
  }
  .l-leftnavi li a:hover .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  .l-leftnavi li a:hover p {
    opacity: 1;
  }
  .l-leftnavi li p {
    position: absolute;
    left: 50%;
    white-space: nowrap;
    color: #FFF;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  .l-leftnavi #sidenavi-mission .dot:before {
    display: none;
  }
  .l-leftnavi #sidenavi-contact .dot:after {
    display: none;
  }
  .l-leftnavi .next {
    width: 9px;
    display: block;
    margin: 0 0 0 15px;
    -webkit-animation: none;
            animation: none;
  }
  .l-leftnavi .next img {
    width: 100%;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  main#home.mission .mission p {
    opacity: 1;
  }
  main#home.mission .mission .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.whatwedo .whatwedo p {
    opacity: 1;
  }
  main#home.whatwedo .whatwedo .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.issue .issue p {
    opacity: 1;
  }
  main#home.issue .issue .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.afterissue .afterissue p {
    opacity: 1;
  }
  main#home.afterissue .afterissue .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.graph .graph p {
    opacity: 1;
  }
  main#home.graph .graph .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.devices .devices p {
    opacity: 1;
  }
  main#home.devices .devices .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.staff .staff p {
    opacity: 1;
  }
  main#home.staff .staff .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.news .news p {
    opacity: 1;
  }
  main#home.news .news .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.recruit .recruit p {
    opacity: 1;
  }
  main#home.recruit .recruit .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.company .company p {
    opacity: 1;
  }
  main#home.company .company .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main#home.contact .contact p {
    opacity: 1;
  }
  main#home.contact .contact .dot .body {
    background: #4669ff;
    -webkit-transform: scale(2, 2);
    transform: scale(2, 2);
  }
  main.keyvisual .l-leftnavi .next {
    pointer-events: none;
    -webkit-animation-name: top-scroll;
            animation-name: top-scroll;
    -webkit-animation-delay: 0.2ms;
            animation-delay: 0.2ms;
    -webkit-animation-duration: 2.6s;
            animation-duration: 2.6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
  main.keyvisual .l-leftnavi .next img {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  /*--------------------------------------------------
  * Right SideNavi [PC]
  * --------------------------------------------------*/
  .l-rightnavi {
    position: fixed;
    right: 30px;
    top: 50%;
    width: 38px;
    z-index: 12;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .l-rightnavi #sidenavi-tel {
    -webkit-transform: translate(0, -2px);
    transform: translate(0, -2px);
  }
  .l-rightnavi #sidenavi-tel a:hover {
    width: 180px;
  }
  .l-rightnavi #sidenavi-tel a:hover img {
    left: 6.1111111111%;
  }
  .l-rightnavi #sidenavi-tel a img {
    width: 16px;
  }
  .l-rightnavi #sidenavi-tel a p {
    left: 36px;
  }
  .l-rightnavi #sidenavi-mail {
    -webkit-transform: translate(0, -1px);
    transform: translate(0, -1px);
  }
  .l-rightnavi #sidenavi-mail a:hover {
    width: 180px;
  }
  .l-rightnavi #sidenavi-mail a:hover img {
    left: 6.1111111111%;
  }
  .l-rightnavi #sidenavi-mail a img {
    width: 19px;
  }
  .l-rightnavi #sidenavi-mail a p {
    left: 34px;
  }
  .l-rightnavi #sidenavi-pin a:hover {
    width: 150px;
  }
  .l-rightnavi #sidenavi-pin a:hover img {
    left: 7.3333333333%;
  }
  .l-rightnavi #sidenavi-pin a img {
    width: 16px;
  }
  .l-rightnavi #sidenavi-pin a p {
    left: 36px;
  }
  .l-rightnavi #sidenavi-facebook {
    -webkit-transform: translate(0, 1px);
    transform: translate(0, 1px);
  }
  .l-rightnavi #sidenavi-facebook a:hover {
    width: 121px;
  }
  .l-rightnavi #sidenavi-facebook a:hover img {
    left: 9.0909090909%;
  }
  .l-rightnavi #sidenavi-facebook a img {
    width: 8px;
  }
  .l-rightnavi #sidenavi-facebook a p {
    left: 33px;
  }
  .l-rightnavi li {
    height: 38px;
    display: block;
    position: relative;
  }
  .l-rightnavi li:last-child {
    border: none;
  }
  .l-rightnavi li a {
    display: block;
    line-height: 0;
    border: rgba(255, 255, 255, 0.4) 1px solid;
    height: 100%;
    width: 38px;
    margin: 0 0 0 auto;
    overflow: hidden;
    position: absolute;
    right: 0;
    left: auto;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-rightnavi li a img {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-rightnavi li a .white {
    opacity: 1;
  }
  .l-rightnavi li a .blue {
    opacity: 0;
  }
  .l-rightnavi li a p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    opacity: 0;
    font-size: 14px;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    top: 50%;
    color: #FFF;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    will-change: opacity;
  }
  .l-rightnavi li a:hover {
    background: #FFF;
    border: #FFF 1px solid;
  }
  .l-rightnavi li a:hover img {
    right: auto;
  }
  .l-rightnavi li a:hover p {
    color: #2e2e4e;
    opacity: 1;
  }
  .l-rightnavi li a:hover .white {
    opacity: 0;
  }
  .l-rightnavi li a:hover .blue {
    opacity: 1;
  }
  body.white .l-leftnavi li a .dot .body {
    background: #101023;
  }
  body.white .l-leftnavi li a .dot:after {
    left: 0;
    background: rgba(16, 16, 35, 0.08);
  }
  body.white .l-leftnavi li a .dot:before {
    right: 0;
    z-index: 1;
    background: rgba(16, 16, 35, 0.08);
  }
  body.white .l-leftnavi li a p {
    color: #101023;
  }
  body.white .l-rightnavi li:last-child {
    border: none;
  }
  body.white .l-rightnavi li a {
    border: #b0b0bc 1px solid;
  }
  body.white .l-rightnavi li a .white {
    opacity: 0;
  }
  body.white .l-rightnavi li a .blue {
    opacity: 1;
  }
  body.white .l-rightnavi li a:hover {
    background: #2e2e4e;
    border: #2e2e4e 1px solid;
  }
  body.white .l-rightnavi li a:hover .white {
    opacity: 1;
  }
  body.white .l-rightnavi li a:hover .blue {
    opacity: 0;
  }
  body.white .l-rightnavi li a:hover p {
    color: #FFF;
  }
}

/*--------------------------------------------------
* Modal
* --------------------------------------------------*/
.l-modal {
  width: 100%;
  height: 100%;
  height: 100vh;
  display: none;
  opacity: 0;
  will-change: opacity, transform;
  position: fixed;
  top: 0;
  left: 0;
}

.l-modal .close-button {
  position: absolute;
  display: block;
}

.l-modal .close-button img {
  width: 100%;
}

.l-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.55);
}

body.page-fixed {
  overflow: hidden;
}

/*--------------------------------------------------
* Button
* --------------------------------------------------*/
.c-button {
  display: block;
  text-align: center;
  position: relative;
  outline: none;
  margin: 0 auto;
}

.c-button p {
  text-align: center;
  line-height: 0.8;
  display: inline-block;
}

.c-button:after {
  display: block;
}

/*--------------------------------------------------
* PageTop
* --------------------------------------------------*/
/*--------------------------------------------------
* Section
* --------------------------------------------------*/
.c-section {
  width: 100%;
  box-sizing: border-box;
}

.c-section__inner {
  margin: 0 auto;
}

/*--------------------------------------------------
* Grid
* --------------------------------------------------*/
.grid {
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
}

.grid > .grid_col-12 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.grid > .grid_col-11 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
}

.grid > .grid_col-10 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
}

.grid > .grid_col-9 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
}

.grid > .grid_col-8 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
}

.grid > .grid_col-7 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
}

.grid > .grid_col-6 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

.grid > .grid_col-5 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
}

.grid > .grid_col-4 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
}

.grid > .grid_col-3 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
}

.grid > .grid_col-2 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
}

.grid > .grid_col-1 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
}

/*--------------------------------------------------
* Table
* --------------------------------------------------*/
.c-table {
  display: table;
}

.c-table__tr {
  display: table-row-group;
}

.c-table__th {
  display: table-cell;
  font-weight: bold;
}

.c-table__td {
  display: table-cell;
}

/*--------------------------------------------------
* Section
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .p-section {
    position: relative;
    padding-top: 18.1333333333%;
  }
  .p-section .cover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    background: rgba(11, 11, 50, 0.5);
  }
  .p-section__inner {
    width: 86.6666666667%;
    margin: 0 auto;
  }
  .p-section__inner h2 {
    position: relative;
  }
  .p-section__inner h2 p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #232345;
    padding-bottom: 8.1538461538%;
    line-height: 0.7;
    -webkit-transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
    opacity: 0;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-section__inner h2 p {
    font-size: 44.4444444444px;
    font-size: 10.6666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-section__inner h2 p {
    font-size: 50px;
    font-size: 10.6666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-section__inner h2 p {
    font-size: 66.6666666667px;
    font-size: 10.6666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-section__inner h2:after {
    position: absolute;
    content: '';
    background: #4669ff;
    width: 13.8461538462%;
    max-width: 90px;
    height: 3px;
    -webkit-transition: all 900ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
    transition: all 900ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
    /* easeInOutQuint */
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .p-section__inner h2.white p {
    color: #FFF;
  }
  .p-section__inner h2.appear p {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1;
  }
  .p-section__inner h2.appear:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .p-section__inner h3.p-section__title {
    position: relative;
    margin-bottom: 12.3076923077%;
  }
  .p-section__inner h3.p-section__title p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    white-space: nowrap;
    color: #181833;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 0.7;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-section__inner h3.p-section__title p {
    font-size: 50px;
    font-size: 12vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-section__inner h3.p-section__title p {
    font-size: 56.25px;
    font-size: 12vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-section__inner h3.p-section__title p {
    font-size: 75px;
    font-size: 12vw;
  }
}

@media all and (max-width: 758px) {
  .p-section__inner h3.p-section__title span {
    color: #FFF;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    margin: -0.3076923077% auto auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-section__inner h3.p-section__title span {
    font-size: 15.5555555556px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-section__inner h3.p-section__title span {
    font-size: 17.5px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-section__inner h3.p-section__title span {
    font-size: 23.3333333333px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-section__textarea > p {
    text-align: justify;
    line-height: 1.7;
    letter-spacing: 0.04rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .p-section__textarea p.lazyclass {
    opacity: 0;
    -webkit-transform: translate(0, 40%);
    transform: translate(0, 40%);
    -webkit-transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-section__textarea p.lazyclass.appear {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .p-section .text-area p {
    text-align: justify;
    font-weight: normal;
    line-height: 1.8;
    letter-spacing: 0.06rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-section .text-area p {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-section .text-area p {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-section .text-area p {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-section .text-area p.note {
    letter-spacing: 0.02rem;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-section .text-area p.note {
    font-size: 12.2222222222px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-section .text-area p.note {
    font-size: 13.75px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-section .text-area p.note {
    font-size: 18.3333333333px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-section__imagearea {
    line-height: 0;
  }
  .p-section.p-white {
    background: #FFF;
  }
  .p-section.p-blue {
    background: #2e2e4e;
  }
}

@media all and (min-width: 759px) {
  .p-section {
    position: relative;
  }
  .p-section .cover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    background: rgba(11, 11, 50, 0.5);
  }
  .p-section__inner {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 22px;
  }
  .p-section__inner h2 {
    position: relative;
  }
  .p-section__inner h2 p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 60px;
    color: #232345;
    padding-bottom: 28px;
    line-height: 0.7;
    opacity: 0;
    -webkit-transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
  }
  .p-section__inner h2:after {
    position: absolute;
    content: '';
    background: #4669ff;
    width: 6.1224489796%;
    max-width: 60px;
    height: 3px;
    -webkit-transition: all 900ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
    transition: all 900ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
    /* easeInOutQuint */
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .p-section__inner h2.white p {
    color: #FFF;
  }
  .p-section__inner h2.appear p {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1;
  }
  .p-section__inner h2.appear:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .p-section__inner h3.p-section__title {
    position: relative;
    margin-bottom: 10.2040816327%;
  }
  .p-section__inner h3.p-section__title p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 130px;
    color: #181833;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 0.7;
  }
  .p-section__inner h3.p-section__title span {
    color: #FFF;
    font-size: 22px;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    margin: -14px auto auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .p-section__textarea > p {
    text-align: justify;
    line-height: 1.7;
    letter-spacing: 0.04rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .p-section__textarea p.lazyclass {
    opacity: 0;
    -webkit-transform: translate(0, 40%);
    transform: translate(0, 40%);
    -webkit-transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1000ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-section__textarea p.lazyclass.appear {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .p-section .text-area p {
    text-align: justify;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.06rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .p-section .text-area p.note {
    font-size: 13px;
    margin-top: 3px;
    letter-spacing: 0.02rem;
  }
  .p-section__imagearea {
    line-height: 0;
  }
  .p-section.p-white {
    background: #FFF;
    padding-top: 165px;
  }
  .p-section.p-blue {
    background: #2e2e4e;
    padding-top: 130px;
  }
}

/*--------------------------------------------------
* Modal
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .p-modal {
    z-index: 200;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    background: #282844;
  }
  .p-modal .close-button {
    width: 6.1538461538%;
    padding-top: 6.1538461538%;
    height: 0;
    top: 0;
    right: 0;
    position: absolute;
    margin-top: 6.1538461538%;
    -webkit-transition: all 300ms cubic-bezier(0.175, 0.885, 0.32, 1) 0ms;
    /* older webkit */
    -webkit-transition: all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
    transition: all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
    /* easeOutBack */
  }
  .p-modal .close-button .line {
    position: absolute;
    height: 2px;
    width: 100%;
    background: white;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .p-modal .close-button .line1 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .p-modal .close-button .line2 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .p-modal .close-button:hover {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .p-modal__overlay {
    background: none;
    height: 350%;
  }
  .p-modal__inner {
    position: relative;
    background: #282844;
    width: 86.6666666667%;
    padding: 10.7692307692% 0 0;
    margin: 13.3333333333% auto;
  }
  .p-modal__inner .wrap .image-area {
    width: 51.2307692308%;
    margin: 0 auto 7.6923076923%;
  }
  .p-modal__inner .wrap .image-area img {
    width: 100%;
  }
  .p-modal__inner .wrap .text-area {
    width: 100%;
    color: #FFF;
    text-align: left;
  }
  .p-modal__inner .wrap .text-area p {
    margin-bottom: 7.6923076923%;
    line-height: 1.8;
    text-align: justify;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-modal__inner .wrap .text-area p {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-modal__inner .wrap .text-area p {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-modal__inner .wrap .text-area p {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-modal__inner .wrap .text-area .en p {
    font-size: 13.3333333333px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-modal__inner .wrap .text-area .en p {
    font-size: 15px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-modal__inner .wrap .text-area .en p {
    font-size: 20px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) {
  .p-modal h2 {
    margin-bottom: 10.7692307692%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    text-align: left;
  }
  .p-modal h2 p {
    text-align: left;
    padding-bottom: 4.6153846154%;
    letter-spacing: 0.12rem;
    color: #FFF;
    display: inline-block;
    border-bottom: #FFF 4px solid;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-modal h2 p {
    font-size: 15.5555555556px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-modal h2 p {
    font-size: 17.5px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-modal h2 p {
    font-size: 23.3333333333px;
    font-size: 3.7333333333vw;
  }
}

@media all and (min-width: 759px) {
  .p-modal {
    z-index: 200;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    background: #2e2e4e;
  }
  .p-modal .close-button {
    width: 7.1428571429%;
    padding-top: 7.1428571429%;
    height: 0;
    top: 0;
    right: 0;
    position: absolute;
    margin-top: 4.0816326531%;
    right: 8.3333333333%;
    -webkit-transition: all 300ms cubic-bezier(0.175, 0.885, 0.32, 1) 0ms;
    /* older webkit */
    -webkit-transition: all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
    transition: all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
    /* easeOutBack */
  }
  .p-modal .close-button .line {
    position: absolute;
    height: 1px;
    width: 100%;
    background: white;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .p-modal .close-button .line1 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .p-modal .close-button .line2 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .p-modal .close-button:hover {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .p-modal__overlay {
    background: none;
    height: 350%;
  }
  .p-modal__inner {
    position: relative;
    background: #282844;
    width: 100%;
    max-width: 840px;
    padding: 7.1428571429% 7.1428571429% 5.1020408163%;
    margin: 150px auto;
  }
  .p-modal__inner .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p-modal__inner .wrap .image-area {
    -ms-flex-preferred-size: 39.6428571429%;
        flex-basis: 39.6428571429%;
  }
  .p-modal__inner .wrap .image-area img {
    width: 100%;
  }
  .p-modal__inner .wrap .text-area {
    -ms-flex-preferred-size: 53.5714285714%;
        flex-basis: 53.5714285714%;
    color: #FFF;
    text-align: left;
    margin-top: -5px;
  }
  .p-modal__inner .wrap .text-area p {
    margin-bottom: 25px;
    line-height: 1.8;
    font-size: 15px;
    text-align: justify;
  }
  .p-modal__inner .wrap .text-area .en p {
    font-size: 13px;
  }
  .p-modal h2 {
    margin-bottom: 4.7619047619%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    text-align: left;
  }
  .p-modal h2 p {
    font-size: 18px;
    text-align: left;
    padding-bottom: 20px;
    letter-spacing: 0.12rem;
    color: #FFF;
    display: inline-block;
    border-bottom: #FFF 3px solid;
  }
}

/*--------------------------------------------------
* Section
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .js-keyvisuals {
    height: 100vh;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .js-keyvisuals .slickwrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .js-keyvisuals .slick-list {
    height: 100%;
  }
  .js-keyvisuals .slick-list .slick-track {
    height: 100%;
  }
  .js-keyvisuals .slick1 {
    background: url("/assets/images/index/kv/main_1_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick2 {
    background: url("/assets/images/index/kv/main_2_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick3 {
    background: url("/assets/images/index/kv/main_3_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick4 {
    background: url("/assets/images/index/kv/main_4_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick5 {
    background: url("/assets/images/index/kv/main_5_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick6 {
    background: url("/assets/images/index/kv/main_6_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick7 {
    background: url("/assets/images/index/kv/main_7_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick8 {
    background: url("/assets/images/index/kv/main_8_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick9 {
    background: url("/assets/images/index/kv/main_9_sp.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .kv {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .js-keyvisuals a.scroll img {
    -webkit-animation-name: top-scroll;
            animation-name: top-scroll;
    -webkit-animation-duration: 3s;
            animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
  .js-keyvisuals h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: auto;
    width: 54.7692307692%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
  }
  .js-keyvisuals h1 .titlearea {
    line-height: 0;
    position: relative;
  }
  .js-keyvisuals h1 .titlearea #digi_ana {
    width: 100%;
    height: 100%;
  }
  .js-keyvisuals h1 .titlearea .fill {
    background: url("/assets/images/sp/digi_ana_fill.svg") top center no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
  }
  .js-keyvisuals h1 .title-cross {
    position: absolute;
    left: 50%;
    top: 0;
    width: 32.3033707865%;
    margin-top: 24.1573033708%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
  }
  .js-keyvisuals h1 .title-cross svg {
    width: 100%;
    height: auto;
  }
  .js-keyvisuals h1 p {
    padding-top: 18.2584269663%;
    color: #FFF;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    white-space: nowrap;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .js-keyvisuals h1 p {
    font-size: 18.8888888889px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .js-keyvisuals h1 p {
    font-size: 21.25px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .js-keyvisuals h1 p {
    font-size: 28.3333333333px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) {
  .next {
    width: 2%;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto 4%;
    bottom: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .next img {
    -webkit-animation-name: top-scroll;
            animation-name: top-scroll;
    -webkit-animation-delay: 0.2ms;
            animation-delay: 0.2ms;
    -webkit-animation-duration: 2.6s;
            animation-duration: 2.6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}

@media all and (min-width: 759px) {
  .js-keyvisuals {
    height: 100vh;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .js-keyvisuals .slickwrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .js-keyvisuals .slick-list {
    height: 100%;
  }
  .js-keyvisuals .slick-list .slick-track {
    height: 100%;
  }
  .js-keyvisuals .slick1 {
    background: url("/assets/images/index/kv/main_1_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick2 {
    background: url("/assets/images/index/kv/main_2_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick3 {
    background: url("/assets/images/index/kv/main_3_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick4 {
    background: url("/assets/images/index/kv/main_4_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick5 {
    background: url("/assets/images/index/kv/main_5_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick6 {
    background: url("/assets/images/index/kv/main_6_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick7 {
    background: url("/assets/images/index/kv/main_7_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick8 {
    background: url("/assets/images/index/kv/main_8_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .slick9 {
    background: url("/assets/images/index/kv/main_9_pc.jpg") center center no-repeat;
    background-size: cover;
    height: 100vh;
  }
  .js-keyvisuals .kv {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .js-keyvisuals a.scroll img {
    -webkit-animation-name: top-scroll;
            animation-name: top-scroll;
    -webkit-animation-duration: 3s;
            animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
  .js-keyvisuals h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: auto;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
  }
  .js-keyvisuals h1 .titlearea {
    line-height: 0;
    position: relative;
  }
  .js-keyvisuals h1 .titlearea .fill {
    background: url("/assets/images/index/kv/digi_ana_fill.svg") top center no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
  }
  .js-keyvisuals h1 .title-cross {
    position: absolute;
    left: 50%;
    top: -40px;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  .js-keyvisuals h1 p {
    padding-top: 45px;
    color: #FFF;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 28px;
  }
}

/*--------------------------------------------------
* Button
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .p-button {
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    border: #cccccc 1px solid;
    height: 0;
    background: #FFF;
    padding-top: 15.3846153846%;
    font-weight: bold;
    opacity: 0;
  }
  .p-button.appear {
    opacity: 1;
  }
  .p-button .p-button__text {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #181833;
    font-weight: bold;
    letter-spacing: 0.12rem;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-button .p-button__text {
    font-size: 16.6666666667px;
    font-size: 4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-button .p-button__text {
    font-size: 18.75px;
    font-size: 4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-button .p-button__text {
    font-size: 25px;
    font-size: 4vw;
  }
}

@media all and (max-width: 758px) {
  .p-button:after {
    position: absolute;
    background: #00ffd2;
    width: 100%;
    content: '';
    height: 0;
    padding-top: 1.0769230769%;
    bottom: 0;
    left: 0;
    will-change: transform;
    -webkit-transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    /* easeOutQuint */
    moz-transform-origin: 0 100%;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

@media all and (min-width: 759px) {
  .p-button {
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    border: #cccccc 1px solid;
    height: 60px;
    opacity: 0;
  }
  .p-button.appear {
    opacity: 1;
  }
  .p-button .p-button__text {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #181833;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.12rem;
    text-align: center;
    z-index: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-button:after {
    position: absolute;
    background: #00ffd2;
    width: 100%;
    content: '';
    height: 4px;
    bottom: 0;
    left: 0;
    will-change: transform;
    -webkit-transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    /* easeOutQuint */
    moz-transform-origin: 0 100%;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  .p-button:hover .p-button__text {
    color: #1c212a;
  }
  .p-button:hover .p-button__text:after {
    -webkit-transform: translate(4px, 0);
    transform: translate(4px, 0);
  }
  .p-button:hover:after {
    height: 100%;
  }
}

/*--------------------------------------------------
* Home [SP]
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .p-home {
    /*--------------------------------------------------
    * Mission
    * --------------------------------------------------*/
    /*--------------------------------------------------
  * Issue
  * --------------------------------------------------*/
    /*--------------------------------------------------
    * After Issue
    * --------------------------------------------------*/
    /*--------------------------------------------------
    * What We Do
    * --------------------------------------------------*/
    /*--------------------------------------------------
    * graph
    * --------------------------------------------------*/
    /*--------------------------------------------------
    *devices
    * --------------------------------------------------*/
    /*--------------------------------------------------
    * Staff
    * --------------------------------------------------*/
    /*--------------------------------------------------
    * Recruit
    * --------------------------------------------------*/
    /*--------------------------------------------------
    * News
    * --------------------------------------------------*/
    /*--------------------------------------------------
    * Company
    * --------------------------------------------------*/
    /*--------------------------------------------------
    * Contact
    * --------------------------------------------------*/
  }
  .p-home main {
    overflow: hidden;
  }
  .p-home #mission .p-section__inner {
    position: relative;
    padding-bottom: 20%;
  }
  .p-home #mission .p-section__inner h2 p {
    color: #c3c3cc;
  }
  .p-home #mission .p-section__textarea {
    position: relative;
    z-index: 1;
  }
  .p-home #mission .p-section__textarea > p {
    color: #101023;
    margin-bottom: 6.9230769231%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #mission .p-section__textarea > p {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #mission .p-section__textarea > p {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #mission .p-section__textarea > p {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #mission .p-section__textarea > p.lead {
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.16rem;
    margin-top: 8.4615384615%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #mission .p-section__textarea > p.lead {
    font-size: 18.8888888889px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #mission .p-section__textarea > p.lead {
    font-size: 21.25px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #mission .p-section__textarea > p.lead {
    font-size: 28.3333333333px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #mission .p-section__imagearea {
    margin-bottom: 6.1538461538%;
    width: 100%;
  }
  .p-home #mission .p-section__imagearea img {
    width: 100%;
  }
  .p-home #issue {
    overflow: visible;
  }
  .p-home #issue .issue-wrap {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 12.3076923077%;
  }
  .p-home #issue .slick-prev,
  .p-home #issue .slick-next {
    position: absolute;
    font-size: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    border: 0;
    background: none;
    outline: none;
    width: 7.3846153846%;
    padding-top: 14.1538461538%;
  }
  .p-home #issue .slick-prev {
    left: 0;
    background: url("/assets/images/sp/arrow-left.svg") center center no-repeat;
    background-size: contain;
    z-index: 10;
  }
  .p-home #issue .slick-next {
    right: 0;
    background: url("/assets/images/sp/arrow-right.svg") center center no-repeat;
    background-size: contain;
    z-index: 10;
  }
  .p-home #issue .slick-disabled {
    opacity: 0;
  }
  .p-home #issue .slick-dots {
    text-align: center;
    line-height: 0;
    margin-top: 7.6923076923%;
  }
  .p-home #issue .slick-dots li {
    display: inline-block;
    position: relative;
    content: '';
    height: 0;
    width: 3.0769230769%;
    padding-top: 3.0769230769%;
    margin: 0 2%;
  }
  .p-home #issue .slick-dots li button {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    border-radius: 50%;
    background: #FFF;
    border: 0;
    color: #FFF;
    line-height: 0;
    font-size: 0;
    outline: none;
    cursor: pointer;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-home #issue .slick-dots li button:hover {
    background: #4669ff;
  }
  .p-home #issue .slick-dots li.slick-active button {
    background: #4669ff;
  }
  .p-home #issue .issue .data {
    text-align: center;
    line-height: 0.8;
  }
  .p-home #issue .issue .data p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 200;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    color: #FFF;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #issue .issue .data p {
    font-size: 70px;
    font-size: 16.8vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #issue .issue .data p {
    font-size: 78.75px;
    font-size: 16.8vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #issue .issue .data p {
    font-size: 105px;
    font-size: 16.8vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #issue .issue .data span {
    color: #fdff53;
    font-family: 'Montserrat', sans-serif;
    font-weight: 200;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #issue .issue .data span {
    font-size: 37.7777777778px;
    font-size: 9.0666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #issue .issue .data span {
    font-size: 42.5px;
    font-size: 9.0666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #issue .issue .data span {
    font-size: 56.6666666667px;
    font-size: 9.0666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #issue .issue .text-area {
    width: 72.3076923077%;
    margin: 0 auto;
  }
  .p-home #issue .issue .text-area p {
    color: #FFF;
  }
  .p-home #issue .issue .image-area {
    margin: 0 auto;
    text-align: center;
    width: 72.3076923077%;
  }
  .p-home #issue .issue .image-area img {
    width: 100%;
    margin: 0 auto;
  }
  .p-home #issue .issue1 .image-area {
    margin-top: 7.6923076923%;
    margin-bottom: 6.1538461538%;
  }
  .p-home #issue .issue2 .image-area {
    margin-top: 4.6153846154%;
    margin-bottom: 9.2307692308%;
  }
  .p-home #issue .issue2 .image-area img {
    width: 100%;
  }
  .p-home #issue .issue3 .image-area {
    margin-top: 9.2307692308%;
    margin-bottom: 7.6923076923%;
  }
  .p-home #issue .issue3 .image-area img {
    width: 100%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #issue .issue2 .data span {
    font-size: 30px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #issue .issue2 .data span {
    font-size: 33.75px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #issue .issue2 .data span {
    font-size: 45px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #issue .issue3 .data span {
    font-size: 30px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #issue .issue3 .data span {
    font-size: 33.75px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #issue .issue3 .data span {
    font-size: 45px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #issue .down {
    background: #FFF;
    position: relative;
    width: 100%;
    padding-top: 17.3333333333%;
  }
  .p-home #issue .down:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #2e2e4e;
    top: -1px;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 0%);
            clip-path: polygon(0% 0%, 100% 0%, 50% 0%);
    -webkit-transition: all 1200ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1200ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-home #issue .down.appear:after {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
  .p-home #afterissue {
    padding-top: 12%;
  }
  .p-home #afterissue .p-section__inner {
    text-align: center;
  }
  .p-home #afterissue p.lead {
    color: #393957;
    text-align: left;
    display: inline-block;
    font-weight: bold;
    position: relative;
    line-height: 1.8;
    padding-bottom: 0;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #afterissue p.lead {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #afterissue p.lead {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #afterissue p.lead {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #afterissue p.lead .last {
    display: inline;
    position: relative;
    padding-bottom: 0.4615384615%;
    border-bottom: 0px solid #fdff53;
    -webkit-transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1) 200ms;
    transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1) 200ms;
    /* easeInOutQuint */
  }
  .p-home #afterissue p.lead .last.appear:after {
    border-bottom: 4px solid #fdff53;
  }
  .p-home #afterissue .image-area {
    margin-top: 9.2307692308%;
    line-height: 0;
  }
  .p-home #afterissue .image1 {
    width: 21.5384615385%;
    line-height: 0;
    margin-right: 3.0769230769%;
  }
  .p-home #afterissue .image2 {
    width: 15.6923076923%;
    line-height: 0;
    margin-left: 3.0769230769%;
  }
  .p-home #whatwedo {
    z-index: 3;
  }
  .p-home #whatwedo h3.p-section__title {
    margin-bottom: 13.8461538462%;
  }
  .p-home #whatwedo .p-section__inner {
    position: relative;
  }
  .p-home #whatwedo .p-section__textarea .lead {
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.03rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    margin-bottom: 6.1538461538%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #whatwedo .p-section__textarea .lead {
    font-size: 17.7777777778px;
    font-size: 4.2666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #whatwedo .p-section__textarea .lead {
    font-size: 20px;
    font-size: 4.2666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #whatwedo .p-section__textarea .lead {
    font-size: 26.6666666667px;
    font-size: 4.2666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #whatwedo .p-section__textarea .lead span {
    color: #fdff53;
  }
  .p-home #whatwedo .p-section__textarea > p {
    text-align: left;
    color: #FFF;
    letter-spacing: 0.06rem;
    line-height: 1.8;
    margin-bottom: 6.1538461538%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #whatwedo .p-section__textarea > p {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #whatwedo .p-section__textarea > p {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #whatwedo .p-section__textarea > p {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #whatwedo .p-button {
    margin: 7.6923076923% auto 0;
    background: transparent;
  }
  .p-home #whatwedo .p-button p {
    color: #FFF;
  }
  .p-home #whatwedo .p-section__imagearea {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 34.6666666667%;
  }
  .p-home #whatwedo .p-section__imagearea img {
    position: relative;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: 100%;
    top: 0;
  }
  .p-home #whatwedo .p-section__imagearea > div {
    position: absolute;
    display: inline-block;
  }
  .p-home #whatwedo .p-section__imagearea .image1 {
    display: none;
  }
  .p-home #whatwedo .p-section__imagearea .image2 {
    top: 0;
    width: 35.8461538462%;
    max-width: 233px;
    left: 33.8461538462%;
    margin-top: 6.1538461538%;
  }
  .p-home #whatwedo .p-section__imagearea .image2 img {
    moz-transform-origin: 0% 100%;
    -webkit-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
  }
  .p-home #whatwedo .p-section__imagearea .image3 {
    display: none;
  }
  .p-home #whatwedo .p-section__imagearea .image4 {
    top: 0;
    width: 34%;
    max-width: 221px;
    right: -3.6923076923%;
  }
  .p-home #whatwedo .p-section__imagearea .image5 {
    display: none;
  }
  .p-home #whatwedo .p-section__imagearea .image6 {
    top: 0;
    left: -3.6923076923%;
    width: 37.5384615385%;
    max-width: 244px;
  }
  .p-home #graph {
    z-index: 2;
    padding-top: 0;
  }
  .p-home #graph .p-section__inner {
    padding: 0;
  }
  .p-home #graph p.lead {
    color: #FFF;
    text-align: center;
    line-height: 1.9;
    margin: 0 auto;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #graph p.lead {
    font-size: 18.8888888889px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #graph p.lead {
    font-size: 21.25px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #graph p.lead {
    font-size: 28.3333333333px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #graph p.lead:before {
    content: '';
    display: block;
    padding-top: 26.1538461538%;
  }
  .p-home #graph p.lead:after {
    content: '';
    display: block;
    padding-bottom: 55.3846153846%;
  }
  .p-home #graph p.note {
    position: absolute;
    right: 2.6666666667%;
    text-align: right;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #graph p.note {
    font-size: 10px;
    font-size: 2.4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #graph p.note {
    font-size: 11.25px;
    font-size: 2.4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #graph p.note {
    font-size: 15px;
    font-size: 2.4vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #graph .graph-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
  }
  .p-home #graph .graphbody {
    display: none;
    width: 100%;
    line-height: 0;
    box-sizing: border-box;
    height: 0;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .p-home #graph .graph {
    position: relative;
    height: 100%;
  }
  .p-home #graph .graph2013 {
    -ms-flex-preferred-size: 10.6666666667%;
        flex-basis: 10.6666666667%;
  }
  .p-home #graph .graph2013 .graph-body {
    padding-top: 96.25%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 100% 101%, 100% 101%);
  }
  .p-home #graph .graph2013 .balloon-area {
    margin-bottom: 243.75%;
  }
  .p-home #graph .graph2013 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 200ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 200ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 200ms;
    /* easeOutBack */
  }
  .p-home #graph .graph2014 {
    -ms-flex-preferred-size: 21.3333333333%;
        flex-basis: 21.3333333333%;
  }
  .p-home #graph .graph2014 .graph-body {
    padding-top: 68.125%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  .p-home #graph .graph2014 .balloon-area {
    margin-bottom: 142.5%;
  }
  .p-home #graph .graph2014 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 500ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 500ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 500ms;
    /* easeOutBack */
  }
  .p-home #graph .graph2015 {
    -ms-flex-preferred-size: 21.6%;
        flex-basis: 21.6%;
  }
  .p-home #graph .graph2015 .graph-body {
    padding-top: 92.5925925926%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 800ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 800ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  .p-home #graph .graph2015 .balloon-area {
    margin-bottom: 166.666666667%;
  }
  .p-home #graph .graph2015 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 800ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 800ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 800ms;
    /* easeOutBack */
  }
  .p-home #graph .graph2017 {
    -ms-flex-preferred-size: 21.3333333333%;
        flex-basis: 21.3333333333%;
  }
  .p-home #graph .graph2017 .graph-body {
    padding-top: 151.875%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1100ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1100ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  .p-home #graph .graph2017 .balloon-area {
    margin-bottom: 243.75%;
  }
  .p-home #graph .graph2017 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 1100ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1100ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1100ms;
    /* easeOutBack */
  }
  .p-home #graph .graph2019 {
    -ms-flex-preferred-size: 25.0666666667%;
        flex-basis: 25.0666666667%;
  }
  .p-home #graph .graph2019 .graph-body {
    padding-top: 289.893617021%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1400ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1400ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  .p-home #graph .graph2019 .balloon-area {
    -webkit-transform: translate(-10%, 0);
    transform: translate(-10%, 0);
    margin-bottom: 292.553191489%;
    margin-right: 15.9574468085%;
  }
  .p-home #graph .graph2019 .balloon-area .balloon {
    background: #fdff53;
    moz-transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 1400ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1400ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1400ms;
    /* easeOutBack */
  }
  .p-home #graph .graph2019 .balloon-area .balloon:after {
    background: url("/assets/images/index/balloon-foot-y.svg") top left no-repeat;
    background-size: contain;
  }
  .p-home #graph .graph2019 .balloon-area .balloon p {
    color: #000;
  }
  .p-home #graph .graph-area.appear .graph2013 .graph-body {
    -webkit-clip-path: polygon(0 101%, 100% 101%, 100% 0%);
            clip-path: polygon(0 101%, 100% 101%, 100% 0%);
  }
  .p-home #graph .graph-area.appear .graph2013 .balloon-area {
    width: 116.25%;
  }
  .p-home #graph .graph-area.appear .graph2013 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .p-home #graph .graph-area.appear .graph2014 .graph-body {
    -webkit-clip-path: polygon(0 30.5555555556%, 0 101%, 100% 101%, 100% 0%);
            clip-path: polygon(0 30.5555555556%, 0 101%, 100% 101%, 100% 0%);
  }
  .p-home #graph .graph-area.appear .graph2014 .balloon-area {
    width: 58.125%;
  }
  .p-home #graph .graph-area.appear .graph2014 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .p-home #graph .graph-area.appear .graph2015 .graph-body {
    -webkit-clip-path: polygon(0 27.5167785235%, 0 101%, 100% 101%, 100% 0%);
            clip-path: polygon(0 27.5167785235%, 0 101%, 100% 101%, 100% 0%);
  }
  .p-home #graph .graph-area.appear .graph2015 .balloon-area {
    width: 57.4074074074%;
  }
  .p-home #graph .graph-area.appear .graph2015 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .p-home #graph .graph-area.appear .graph2017 .graph-body {
    -webkit-clip-path: polygon(0 37.9166666667%, 0 101%, 100% 101%, 100% 0%);
            clip-path: polygon(0 37.9166666667%, 0 101%, 100% 101%, 100% 0%);
  }
  .p-home #graph .graph-area.appear .graph2017 .balloon-area {
    width: 58.125%;
  }
  .p-home #graph .graph-area.appear .graph2017 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .p-home #graph .graph-area.appear .graph2019 .graph-body {
    -webkit-clip-path: polygon(0 56.043956044%, 0 101%, 100% 101%, 100% 0%);
            clip-path: polygon(0 56.043956044%, 0 101%, 100% 101%, 100% 0%);
  }
  .p-home #graph .graph-area.appear .graph2019 .balloon-area {
    width: 49.4680851064%;
  }
  .p-home #graph .graph-area.appear .graph2019 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .p-home #graph .balloon-area {
    position: absolute;
    right: 0;
    bottom: 0;
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
  }
  .p-home #graph .balloon-area p.year {
    margin-bottom: 8.6021505376%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #graph .balloon-area p.year {
    font-size: 11.6666666667px;
    font-size: 2.8vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #graph .balloon-area p.year {
    font-size: 13.125px;
    font-size: 2.8vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #graph .balloon-area p.year {
    font-size: 17.5px;
    font-size: 2.8vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #graph .balloon-area p {
    color: #fff;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #graph .balloon-area p {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #graph .balloon-area p {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #graph .balloon-area p {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #graph .balloon-area p span {
    display: block;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #graph .balloon-area p span {
    font-size: 10px;
    font-size: 2.4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #graph .balloon-area p span {
    font-size: 11.25px;
    font-size: 2.4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #graph .balloon-area p span {
    font-size: 15px;
    font-size: 2.4vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #graph .balloon-area .balloon {
    background: #4669ff;
    border-radius: 50%;
    width: 100%;
    padding-top: 100%;
    position: absolute;
    -webkit-transform: scale(0, 0);
    transform: scale(0, 0);
    moz-transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
  }
  .p-home #graph .balloon-area .balloon:after {
    content: '';
    background: url("/assets/images/index/balloon-foot-b.svg") top left no-repeat;
    background-size: contain;
    width: 15.2173913043%;
    padding-top: 15.2173913043%;
    left: 0;
    right: 0;
    margin: 0 auto -13.0434782609%;
    position: absolute;
    bottom: 0;
  }
  .p-home #graph .balloon-area .balloon p {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .p-home #graph .graph-body {
    background: #FFF;
    border: #FFF 1px solid;
    width: 100%;
    height: 0;
    bottom: 0;
    position: absolute;
  }
  .p-home #devices {
    padding-top: 18.6666666667%;
    padding-bottom: 10.6666666667%;
  }
  .p-home #devices .lead {
    color: #1c212a;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5.3846153846%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #devices .lead {
    font-size: 18.8888888889px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #devices .lead {
    font-size: 21.25px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #devices .lead {
    font-size: 28.3333333333px;
    font-size: 4.5333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #devices p {
    color: #1c212a;
    text-align: left;
    -webkit-transition: all 26pxms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 26pxms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    line-height: 1.8;
    letter-spacing: 0.06rem;
  }
  .p-home #devices .devices {
    display: block;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 13.8461538462%;
  }
  .p-home #devices .devices .cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    background: #4669ff;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    moz-transform-origin: 0 100%;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  .p-home #devices .devices .device {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    background: #fdff53;
    margin-bottom: 9.2307692308%;
  }
  .p-home #devices .devices .image-area {
    position: absolute;
    left: 0;
  }
  .p-home #devices .devices .image-area img {
    width: 100%;
  }
  .p-home #devices .devices .text-area {
    -ms-flex-preferred-size: 52.3076923077%;
        flex-basis: 52.3076923077%;
    position: relative;
    padding: 10.7692307692% 0 9.5384615385%;
  }
  .p-home #devices .devices .text-area p {
    text-align: left;
    line-height: 1.5;
    letter-spacing: 0.01rem;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #devices .devices .text-area p {
    font-size: 15.5555555556px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #devices .devices .text-area p {
    font-size: 17.5px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #devices .devices .text-area p {
    font-size: 23.3333333333px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #devices .devices .text-area p.name {
    font-weight: bold;
    position: relative;
    letter-spacing: 0.12rem;
    padding-bottom: 1.6393442623%;
    padding-left: 1.3114754098%;
    margin-top: 6.5573770492%;
    display: inline-block;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #devices .devices .text-area p.name {
    font-size: 16.6666666667px;
    font-size: 4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #devices .devices .text-area p.name {
    font-size: 18.75px;
    font-size: 4vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #devices .devices .text-area p.name {
    font-size: 25px;
    font-size: 4vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #devices .devices .text-area p.name:after {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    width: 100%;
    background: #FFF;
    content: '';
  }
  .p-home #devices .devices .device1 .image-area {
    width: 36.9230769231%;
    margin-left: 5.2307692308%;
  }
  .p-home #devices .devices .device2 .image-area {
    width: 48.3076923077%;
    margin-top: -2.7692307692%;
    margin-left: -4.6153846154%;
  }
  .p-home #devices .devices .device3 .image-area {
    width: 50.9230769231%;
    margin-top: -5.6923076923%;
    margin-left: -5.2307692308%;
  }
  .p-home #devices .medias {
    margin-top: 13.0769230769%;
  }
  .p-home #devices .medias p {
    text-align: center;
    padding-bottom: 3.5384615385%;
    font-weight: bold;
    line-height: 1;
    border-bottom: #dddddd 1px solid;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #devices .medias p {
    font-size: 15.5555555556px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #devices .medias p {
    font-size: 17.5px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #devices .medias p {
    font-size: 23.3333333333px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #devices .medias .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 3;
        -ms-flex-positive: 3;
            flex-grow: 3;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 3.5384615385%;
  }
  .p-home #devices .medias .wrap a {
    display: inline-block;
    line-height: 0;
    margin-bottom: 3.3846153846%;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-home #devices .medias .wrap a img {
    width: 100%;
  }
  .p-home #devices .medias .wrap a:hover {
    opacity: 0.8;
  }
  .p-home #devices .medias .wrap .wbs {
    width: 21.2307692308%;
  }
  .p-home #devices .medias .wrap .nikkei {
    width: 41.6923076923%;
  }
  .p-home #devices .medias .wrap .nikkei-b {
    width: 30.4615384615%;
  }
  .p-home #devices .medias .wrap .nhk {
    width: 23.6923076923%;
  }
  .p-home #devices .medias .wrap .president {
    width: 30.4615384615%;
  }
  .p-home #devices .medias .wrap .forbes {
    width: 22.4615384615%;
  }
  .p-home #staff {
    padding-bottom: 17.3333333333%;
  }
  .p-home #staff .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: url("/assets/images/index/staff/bg.jpg") center center no-repeat;
    background-size: cover;
  }
  .p-home #staff .bg:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(35, 35, 69, 0.8);
  }
  .p-home #staff .staff-area {
    text-align: left;
    font-size: 0;
    letter-spacing: 0;
    margin-top: 10.7692307692%;
    padding-bottom: 10.4615384615%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    will-change: transform;
    -webkit-transition: all 1900ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1900ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-home #staff .staff {
    display: inline-block;
    width: 49.2307692308%;
    margin: 0.7692307692%;
    position: relative;
    opacity: 0;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    /* easeOutQuint */
    /*
        &:hover {
          .text-area {
            @include transform(translate(0, 0%));
            p {
              &.comment {
                opacity: 1;
              }
            }
          }
          .image-area {
            opacity: 0.1;
          }
        }
        */
  }
  .p-home #staff .staff .wrap {
    overflow: hidden;
    height: 100%;
    padding-bottom: 33.75%;
    -webkit-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }
  .p-home #staff .staff.appear {
    opacity: 1;
  }
  .p-home #staff .staff:nth-child(2n) {
    margin-right: 0;
    -webkit-transform: translate(0, 6.1538461538%);
    transform: translate(0, 6.1538461538%);
  }
  .p-home #staff .staff:nth-child(2n + 1) {
    margin-left: 0;
  }
  .p-home #staff .staff .image-area {
    line-height: 0;
    -webkit-transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-home #staff .staff .image-area img {
    width: 100%;
  }
  .p-home #staff .staff .text-area {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    -webkit-transform: translate(0, 74.4680851064%);
    transform: translate(0, 74.4680851064%);
    padding: 0 7.3469387755%;
    -webkit-transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-home #staff .staff .text-area .info {
    width: 100%;
    position: relative;
    padding-top: 38.7755102041%;
  }
  .p-home #staff .staff .text-area .info p {
    line-height: 1.7;
  }
  .p-home #staff .staff .text-area .info-wrap {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .p-home #staff .staff .text-area p {
    color: #FFF;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #staff .staff .text-area p.position {
    font-size: 9.4444444444px;
    font-size: 2.2666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #staff .staff .text-area p.position {
    font-size: 10.625px;
    font-size: 2.2666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #staff .staff .text-area p.position {
    font-size: 14.1666666667px;
    font-size: 2.2666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #staff .staff .text-area p.name {
    line-height: 1.5;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #staff .staff .text-area p.name {
    font-size: 13.3333333333px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #staff .staff .text-area p.name {
    font-size: 15px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #staff .staff .text-area p.name {
    font-size: 20px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #staff .staff .text-area p.comment {
    opacity: 0;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #staff .staff .text-area p.comment {
    font-size: 11.1111111111px;
    font-size: 2.6666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #staff .staff .text-area p.comment {
    font-size: 12.5px;
    font-size: 2.6666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #staff .staff .text-area p.comment {
    font-size: 16.6666666667px;
    font-size: 2.6666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #staff .staff .text-area p.comment span {
    display: block;
    text-align: center;
    white-space: nowrap;
    margin-bottom: 4.0816326531%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #staff .staff .text-area p.comment span {
    font-size: 9.4444444444px;
    font-size: 2.2666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #staff .staff .text-area p.comment span {
    font-size: 10.625px;
    font-size: 2.2666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #staff .staff .text-area p.comment span {
    font-size: 14.1666666667px;
    font-size: 2.2666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #staff .staff:nth-child(3n) .text-area {
    background: rgba(70, 105, 255, 0.5);
  }
  .p-home #staff .staff:nth-child(3n + 1) .text-area {
    background: rgba(252, 255, 0, 0.5);
  }
  .p-home #staff .staff:nth-child(3n - 1) .text-area {
    background: rgba(0, 255, 210, 0.5);
  }
  .p-home #recruit {
    padding-bottom: 20%;
  }
  .p-home #recruit h2 {
    margin-bottom: 6.1538461538%;
  }
  .p-home #recruit .p-section__inner {
    position: relative;
  }
  .p-home #recruit .p-section__textarea > p {
    color: #101023;
    margin-bottom: 5.8461538462%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #recruit .p-section__textarea > p {
    font-size: 15.5555555556px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #recruit .p-section__textarea > p {
    font-size: 17.5px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #recruit .p-section__textarea > p {
    font-size: 23.3333333333px;
    font-size: 3.7333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #recruit .p-section__imagearea {
    position: relative;
    width: 100%;
  }
  .p-home #recruit .p-section__imagearea img {
    width: 100%;
  }
  .p-home #recruit .p-section__imagearea > p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    color: #fdff53;
    position: absolute;
    left: 0;
    right: 0;
    margin: -9.2307692308% auto 0;
    letter-spacing: 0.14rem;
    text-align: center;
    line-height: 0.7;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #recruit .p-section__imagearea > p {
    font-size: 33.3333333333px;
    font-size: 8vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #recruit .p-section__imagearea > p {
    font-size: 37.5px;
    font-size: 8vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #recruit .p-section__imagearea > p {
    font-size: 50px;
    font-size: 8vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #recruit .p-section__imagearea a {
    margin-top: 12.3076923077%;
  }
  .p-home #news {
    padding-bottom: 10.6666666667%;
    padding-top: 17.3333333333%;
  }
  .p-home #news h2 {
    margin-bottom: 5.3333333333%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .p-home #news h2:after {
    bottom: -1px;
  }
  .p-home #news .p-category__tabs {
    position: absolute;
    left: 0;
    top: 0;
    white-space: nowrap;
    text-align: center;
    width: 100%;
    margin-top: 23.0769230769%;
  }
  .p-home #news .p-category__tabs a.p-category__tab {
    display: inline-block;
    padding: 1.8461538462% 1.5384615385%;
    margin-left: 1.5384615385%;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: relative;
  }
  .p-home #news .p-category__tabs a.p-category__tab:after {
    content: '';
    background: url("/assets/images/index/balloon-foot-y.svg") top left no-repeat;
    background-size: contain;
    width: 10px;
    height: 8px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0;
  }
  .p-home #news .p-category__tabs a.p-category__tab:hover, .p-home #news .p-category__tabs a.p-category__tab.active {
    background: #fdff53;
  }
  .p-home #news .p-category__tabs a.p-category__tab:hover:after, .p-home #news .p-category__tabs a.p-category__tab.active:after {
    opacity: 1;
  }
  .p-home #news .p-category__tabs a.p-category__tab:hover p, .p-home #news .p-category__tabs a.p-category__tab.active p {
    color: #181833;
    font-weight: bold;
  }
  .p-home #news .p-category__tabs p {
    padding: 0;
    letter-spacing: 0.02rem;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #news .p-category__tabs p {
    font-size: 12.2222222222px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #news .p-category__tabs p {
    font-size: 13.75px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #news .p-category__tabs p {
    font-size: 18.3333333333px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #news .p-category__news {
    margin-top: 18.4615384615%;
  }
  .p-home #news .p-category__newsset {
    will-change: opacity, transform;
    border-bottom: 1px solid #262643;
    padding-bottom: 4%;
    margin-bottom: 4.6153846154%;
  }
  .p-home #news .p-category__newsset:last-child {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .p-home #news .p-category__newsset p, .p-home #news .p-category__newsset a {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .p-home #news .p-category__newsset a {
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .p-home #news .p-category__newsset a:hover {
    color: #00ffd2;
  }
  .p-home #news .p-category__newsset .label {
    width: 39.2307692308%;
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    text-align: center;
    padding: 1.5384615385% 0 1.2307692308%;
    vertical-align: middle;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #news .p-category__newsset .label {
    font-size: 12.2222222222px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #news .p-category__newsset .label {
    font-size: 13.75px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #news .p-category__newsset .label {
    font-size: 18.3333333333px;
    font-size: 2.9333333333vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #news .p-category__newsset .date {
    margin-left: 2.7692307692%;
    display: inline-block;
    color: #9898a3;
    vertical-align: middle;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #news .p-category__newsset .date {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #news .p-category__newsset .date {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #news .p-category__newsset .date {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #news .p-category__newsset .body {
    display: block;
    margin-top: 2.4615384615%;
    line-height: 1.5;
    color: #FFF;
    vertical-align: middle;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #news .p-category__newsset .body {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #news .p-category__newsset .body {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #news .p-category__newsset .body {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #company h2 {
    margin-bottom: 9.2307692308%;
  }
  .p-home #company .p-section__inner {
    position: relative;
    padding-bottom: 15.3846153846%;
  }
  .p-home #company .c-table {
    width: 100%;
  }
  .p-home #company .c-table__th {
    white-space: nowrap;
    border-bottom: #e8e8e8 1px solid;
    padding: 1.8461538462% 3.0769230769% 1.8461538462% 0;
    width: 23.0769230769%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #company .c-table__th {
    font-size: 12.7777777778px;
    font-size: 3.0666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #company .c-table__th {
    font-size: 14.375px;
    font-size: 3.0666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #company .c-table__th {
    font-size: 19.1666666667px;
    font-size: 3.0666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #company .c-table__td {
    border-bottom: #e8e8e8 1px solid;
    padding: 1.8461538462% 0;
    line-height: 1.6;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #company .c-table__td {
    font-size: 12.7777777778px;
    font-size: 3.0666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #company .c-table__td {
    font-size: 14.375px;
    font-size: 3.0666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #company .c-table__td {
    font-size: 19.1666666667px;
    font-size: 3.0666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #company .c-table .noborder {
    border: 0;
  }
  .p-home #company .p-innertable {
    width: 100%;
  }
  .p-home #company .p-innertable .c-table__td {
    border-bottom: 0;
    padding: 0;
  }
  .p-home #company .p-section__imagearea {
    background: #CCC;
    margin-top: 9.2307692308%;
    overflow: hidden;
    position: relative;
    padding-top: 69.2307692308%;
  }
  .p-home #company .p-section__imagearea iframe {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-home #contact .p-section__inner {
    padding-bottom: 25.3333333333%;
    display: block;
  }
  .p-home #contact h2 {
    margin-bottom: 7.6923076923%;
  }
  .p-home #contact .p-section__textarea p {
    color: #FFF;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #contact .p-section__textarea p {
    font-size: 14.4444444444px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #contact .p-section__textarea p {
    font-size: 16.25px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #contact .p-section__textarea p {
    font-size: 21.6666666667px;
    font-size: 3.4666666667vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #contact .p-section__textarea p.telnote {
    margin-bottom: 6.862745098%;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #contact .p-section__textarea p.telnote {
    font-size: 13.3333333333px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #contact .p-section__textarea p.telnote {
    font-size: 15px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #contact .p-section__textarea p.telnote {
    font-size: 20px;
    font-size: 3.2vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #contact .p-section__textarea .tel {
    display: inline-block;
    margin-top: 6.1538461538%;
    margin-bottom: 3.8461538462%;
    color: #fdff53;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media all and (max-width: 758px) and (max-width: 420px) {
  .p-home #contact .p-section__textarea .tel {
    font-size: 30px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 421px) {
  .p-home #contact .p-section__textarea .tel {
    font-size: 33.75px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) and (min-width: 601px) {
  .p-home #contact .p-section__textarea .tel {
    font-size: 45px;
    font-size: 7.2vw;
  }
}

@media all and (max-width: 758px) {
  .p-home #contact .p-section__textarea .tel:hover {
    color: #4669ff;
  }
  .p-home #contact .p-section__textarea .p-button {
    background: transparent;
  }
  .p-home #contact .p-section__textarea .p-button .p-button__text {
    color: #FFF;
  }
  .p-home #contact .p-section__textarea .p-button:hover .p-button__text {
    color: #1c212a;
  }
}

/*--------------------------------------------------
* Home [PC]
* --------------------------------------------------*/
@media all and (min-width: 759px) {
  .p-home {
    /*--------------------------------------------------
  * Mission
  * --------------------------------------------------*/
  }
  .p-home main {
    overflow: hidden;
  }
  .p-home #mission .p-section__inner {
    position: relative;
    padding-bottom: 190px;
  }
  .p-home #mission .p-section__inner h2 p {
    color: #c3c3cc;
  }
  .p-home #mission .p-section__textarea {
    width: 40.8163265306%;
    max-width: 400px;
  }
  .p-home #mission .p-section__textarea > p {
    font-size: 15px;
    color: #101023;
    margin-bottom: 5%;
  }
  .p-home #mission .p-section__textarea > p.lead {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.8;
    letter-spacing: 0.16rem;
    margin-top: 8.75%;
  }
  .p-home #mission .p-section__imagearea {
    position: absolute;
    top: 0;
    margin-top: 7.1428571429%;
    left: 47.9591836735%;
    max-width: 740px;
    width: 75.5102040816%;
  }
  .p-home #mission .p-section__imagearea img {
    width: 100%;
  }
  /*--------------------------------------------------
  * Issue
  * --------------------------------------------------*/
  #issue {
    overflow: visible;
  }
  #issue .issue-wrap {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 9.1836734694%;
  }
  #issue .slick-slide {
    text-align: center;
  }
  #issue .issue {
    width: 28.0612244898%;
    max-width: 275px;
  }
  #issue .issue .data {
    text-align: center;
    line-height: 0.8;
  }
  #issue .issue .data p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 200;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    color: #FFF;
    font-size: 74px;
  }
  #issue .issue .data span {
    color: #fdff53;
    font-size: 40px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 200;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  #issue .issue .text-area p {
    color: #FFF;
  }
  #issue .issue .image-area {
    text-align: center;
  }
  #issue .issue .image-area img {
    margin: 0 auto;
    width: 100%;
  }
  #issue .issue1 .image-area {
    margin-top: 50px;
    margin-bottom: 32px;
  }
  #issue .issue2 {
    margin: 0 20px;
  }
  #issue .issue2 .image-area {
    margin-top: 30px;
    margin-bottom: 50px;
  }
  #issue .issue2 .image-area img {
    width: 278px;
  }
  #issue .issue2 .data span {
    font-size: 30px;
  }
  #issue .issue3 .image-area {
    margin-top: 35px;
    margin-bottom: 45px;
  }
  #issue .issue3 .image-area img {
    width: 278px;
  }
  #issue .issue3 .data span {
    font-size: 30px;
  }
  #issue .down {
    background: #FFF;
    position: relative;
    width: 100%;
    padding-top: 12.6953125%;
  }
  #issue .down:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #2e2e4e;
    top: -1px;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 0%);
            clip-path: polygon(0% 0%, 100% 0%, 50% 0%);
    -webkit-transition: all 1200ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1200ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #issue .down.appear:after {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
  /*--------------------------------------------------
  * After Issue
  * --------------------------------------------------*/
  #afterissue .p-section__inner {
    text-align: center;
  }
  #afterissue p.lead {
    color: #393957;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    position: relative;
    line-height: 2;
    margin-bottom: 5px;
  }
  #afterissue p.lead .last {
    display: inline-block;
    position: relative;
  }
  #afterissue p.lead .last:after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #fdff53;
    content: '';
    display: inline-block;
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1) 200ms;
    transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1) 200ms;
    /* easeInOutQuint */
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
  }
  #afterissue p.lead .last.appear:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  #afterissue .image-area {
    line-height: 0;
    margin-top: 9.8979591837%;
  }
  #afterissue .image1 {
    width: 18.0612244898%;
    max-width: 177px;
    line-height: 0;
  }
  #afterissue .image2 {
    width: 5.8163265306%;
    max-width: 57px;
    line-height: 0;
    margin-left: 20px;
  }
  /*--------------------------------------------------
  * What We Do
  * --------------------------------------------------*/
  #whatwedo {
    padding-bottom: 50px;
  }
  #whatwedo h3.p-section__title {
    margin-bottom: 5.612244898%;
  }
  #whatwedo .p-section__inner {
    position: relative;
  }
  #whatwedo .p-section__textarea .lead {
    font-size: 24px;
    -webkit-font-feature-settings: "none";
            font-feature-settings: "none";
    font-weight: bold;
    margin-bottom: 4.0816326531%;
  }
  #whatwedo .p-section__textarea .lead span {
    color: #fdff53;
  }
  #whatwedo .p-section__textarea > p {
    text-align: center;
    color: #FFF;
    letter-spacing: 0.16rem;
    line-height: 1.8;
    font-size: 16px;
    margin-bottom: 3.0612244898%;
  }
  #whatwedo .p-button {
    width: 40.8163265306%;
    max-width: 400px;
    margin: 0 auto;
  }
  #whatwedo .p-button p {
    color: #FFF;
  }
  #whatwedo .p-button:hover .p-button__text {
    color: #1c212a;
  }
  #whatwedo .p-section__imagearea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  #whatwedo .p-section__imagearea img {
    position: absolute;
    -webkit-transition: all 800ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 800ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: 100%;
    top: 0;
    will-change: transform, opacity;
    opacity: 0;
  }
  #whatwedo .p-section__imagearea > div {
    position: absolute;
    perspective: 400px;
    -webkit-perspective: 400px;
  }
  #whatwedo .p-section__imagearea .image1 {
    width: 23.4693877551%;
    max-width: 230px;
    padding-top: 17.3469387755%;
    left: -1.5306122449%;
    margin-top: 13.2653061224%;
  }
  #whatwedo .p-section__imagearea .image1 img {
    -webkit-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
  }
  #whatwedo .p-section__imagearea .image1.appear img {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #whatwedo .p-section__imagearea .image2 {
    width: 26.0204081633%;
    max-width: 255px;
    right: -5.7142857143%;
    margin-top: 12.2448979592%;
    padding-top: 21.5306122449%;
  }
  #whatwedo .p-section__imagearea .image2 img {
    -webkit-transform: rotateY(0deg) translate(100%, 0);
    transform: rotateY(0deg) translate(100%, 0);
  }
  #whatwedo .p-section__imagearea .image2.appear img {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #whatwedo .p-section__imagearea .image3 {
    width: 19.387755102%;
    max-width: 190px;
    left: -8.1632653061%;
    margin-top: 31.6326530612%;
    padding-top: 14.2857142857%;
  }
  #whatwedo .p-section__imagearea .image3 img {
    -webkit-transform: rotateY(0deg) translate(-100%, 0);
    transform: rotateY(0deg) translate(-100%, 0);
  }
  #whatwedo .p-section__imagearea .image3.appear img {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #whatwedo .p-section__imagearea .image4 {
    width: 21.9387755102%;
    max-width: 215px;
    right: -8.9795918367%;
    margin-top: 32.6530612245%;
    padding-top: 12.4489795918%;
  }
  #whatwedo .p-section__imagearea .image4 img {
    -webkit-transform: rotateY(0deg) translate(100%, 0);
    transform: rotateY(0deg) translate(100%, 0);
  }
  #whatwedo .p-section__imagearea .image4.appear img {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #whatwedo .p-section__imagearea .image5 {
    width: 22.4489795918%;
    max-width: 220px;
    left: -4.0816326531%;
    margin-top: 49.0816326531%;
    padding-top: 16.7346938776%;
  }
  #whatwedo .p-section__imagearea .image5 img {
    moz-transform-origin: 100% 0;
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: rotateY(0deg) translate(-100%, 0);
    transform: rotateY(0deg) translate(-100%, 0);
  }
  #whatwedo .p-section__imagearea .image5.appear img {
    opacity: 1;
    -webkit-transform: translate(0, -10%);
    transform: translate(0, -10%);
  }
  #whatwedo .p-section__imagearea .image6 {
    width: 20.612244898%;
    max-width: 202px;
    right: -2.0408163265%;
    margin-top: 50.2040816327%;
    padding-top: 17.8571428571%;
  }
  #whatwedo .p-section__imagearea .image6 img {
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: rotateY(0deg) translate(100%, 0);
    transform: rotateY(0deg) translate(100%, 0);
  }
  #whatwedo .p-section__imagearea .image6.appear img {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  /*--------------------------------------------------
  * graph
  * --------------------------------------------------*/
  #graph {
    padding-top: 0;
  }
  #graph .p-section__inner {
    padding: 0;
  }
  #graph p.lead {
    color: #FFF;
    text-align: center;
    font-size: 15px;
    max-width: 980px;
    margin: 0 auto;
  }
  #graph p.lead:before {
    content: '';
    display: block;
    padding-top: 17.3469387755%;
  }
  #graph p.lead:after {
    content: '';
    display: block;
    padding-bottom: 36.7346938776%;
  }
  #graph p.note {
    position: absolute;
    right: 20px;
    font-size: 12px;
    text-align: right;
  }
  #graph .graph-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
  }
  #graph .graph {
    position: relative;
    height: 100%;
  }
  #graph .graphbody {
    width: 100%;
    line-height: 0;
    box-sizing: border-box;
    height: 0;
    height: 100%;
    position: absolute;
    top: 4px;
  }
  #graph .graph2013 {
    -ms-flex-preferred-size: 10.9722222222%;
        flex-basis: 10.9722222222%;
  }
  #graph .graph2013 .graph-body {
    padding-top: 47.4683544304%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 200ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 100% 101%, 100% 101%);
  }
  #graph .graph2013 .balloon-area {
    margin-bottom: 170px;
  }
  #graph .graph2013 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 600ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 600ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 600ms;
    /* easeOutBack */
  }
  #graph .graph2014 {
    -ms-flex-preferred-size: 21.1805555556%;
        flex-basis: 21.1805555556%;
  }
  #graph .graph2014 .graph-body {
    padding-top: 35.4098360656%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  #graph .graph2014 .balloon-area {
    margin-bottom: 200px;
  }
  #graph .graph2014 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 1000ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1000ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1000ms;
    /* easeOutBack */
  }
  #graph .graph2015 {
    -ms-flex-preferred-size: 21.875%;
        flex-basis: 21.875%;
  }
  #graph .graph2015 .graph-body {
    padding-top: 48.8524590164%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1400ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1400ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  #graph .graph2015 .balloon-area {
    margin-bottom: 242px;
  }
  #graph .graph2015 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 1400ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1400ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1400ms;
    /* easeOutBack */
  }
  #graph .graph2017 {
    -ms-flex-preferred-size: 21.1805555556%;
        flex-basis: 21.1805555556%;
  }
  #graph .graph2017 .graph-body {
    padding-top: 78.6885245902%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1800ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 1800ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  #graph .graph2017 .balloon-area {
    margin-bottom: 340px;
  }
  #graph .graph2017 .balloon-area .balloon {
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 1800ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1800ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 1800ms;
    /* easeOutBack */
  }
  #graph .graph2019 {
    -ms-flex-preferred-size: 25.5555555556%;
        flex-basis: 25.5555555556%;
  }
  #graph .graph2019 .graph-body {
    padding-top: 148.369565217%;
    -webkit-transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 2200ms;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1) 2200ms;
    /* easeOutQuint */
    -webkit-clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
            clip-path: polygon(0 101%, 0 101%, 100% 101%, 100% 101%);
  }
  #graph .graph2019 .balloon-area {
    -webkit-transform: translate(-10%, 0);
    transform: translate(-10%, 0);
    margin-bottom: 620px;
    margin-right: 8.152173913%;
  }
  #graph .graph2019 .balloon-area .balloon {
    background: #fdff53;
    moz-transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1) 2200ms;
    /* older webkit */
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 2200ms;
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 2200ms;
    /* easeOutBack */
  }
  #graph .graph2019 .balloon-area .balloon:after {
    background: url("/assets/images/index/balloon-foot-y.svg") top left no-repeat;
  }
  #graph .graph2019 .balloon-area .balloon p {
    color: #000;
  }
  #graph .graph-area.appear .graph2013 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  #graph .graph-area.appear .graph2014 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  #graph .graph-area.appear .graph2015 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  #graph .graph-area.appear .graph2017 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  #graph .graph-area.appear .graph2019 .balloon-area .balloon {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  #graph .balloon-area {
    position: absolute;
    right: 0;
    width: 70px;
    bottom: 0;
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
  }
  #graph .balloon-area p.year {
    font-size: 16px;
    margin-bottom: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
  }
  #graph .balloon-area p {
    color: #fff;
    text-align: center;
    font-size: 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  #graph .balloon-area p span {
    font-size: 14px;
    display: block;
  }
  #graph .balloon-area .balloon {
    background: #4669ff;
    border-radius: 50%;
    width: 70px;
    padding-top: 70px;
    position: absolute;
    -webkit-transform: scale(0, 0);
    transform: scale(0, 0);
    moz-transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
  }
  #graph .balloon-area .balloon:after {
    content: '';
    background: url("/assets/images/index/balloon-foot-b.svg") top left no-repeat;
    width: 21.4285714286%;
    padding-top: 21.4285714286%;
    left: 0;
    right: 0;
    margin: 0 auto -14.2857142857%;
    position: absolute;
    bottom: 0;
  }
  #graph .balloon-area .balloon p {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  #graph .graph-body {
    background: #FFF;
    border: #FFF 1px solid;
    width: 100%;
    height: 0;
    bottom: 0;
    position: absolute;
  }
  /*--------------------------------------------------
  *devices
  * --------------------------------------------------*/
  #devices {
    padding-top: 45px;
    padding-bottom: 105px;
  }
  #devices .lead {
    color: #1c212a;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 35px;
  }
  #devices p {
    color: #1c212a;
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.06rem;
  }
  #devices .devices {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 140px;
  }
  #devices .devices .cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #4669ff;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    moz-transform-origin: 0 100%;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  #devices .devices .device {
    display: block;
    position: relative;
    background: #fdff53;
    -ms-flex-preferred-size: 28.5714285714%;
        flex-basis: 28.5714285714%;
  }
  #devices .devices .device:hover .cover {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  #devices .devices .device:hover .text-area p {
    color: #FFF;
  }
  #devices .devices .image-area {
    position: absolute;
    left: 0;
    right: 0;
    margin-right: auto;
    margin-left: auto;
  }
  #devices .devices .image-area img {
    width: 100%;
  }
  #devices .devices .text-area {
    position: relative;
    margin: 25% 14.2857142857% 16.0714285714%;
  }
  #devices .devices .text-area p {
    font-size: 15px;
    text-align: left;
    line-height: 1.5;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #devices .devices .text-area p.name {
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding-bottom: 5px;
    padding-left: 4px;
    margin-top: 15px;
  }
  #devices .devices .text-area p.name:after {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    width: 100%;
    background: #FFF;
    content: '';
  }
  #devices .devices .device1 .image-area {
    width: 51.7857142857%;
    margin-top: -27.8571428571%;
  }
  #devices .devices .device2 .image-area {
    width: 81.0714285714%;
    margin-top: -38.9285714286%;
    margin-left: -3.5714285714%;
  }
  #devices .devices .device3 .image-area {
    width: 78.9285714286%;
    margin-top: -43.9285714286%;
  }
  #devices .medias {
    margin-top: 9.765625%;
  }
  #devices .medias p {
    text-align: center;
    padding-bottom: 15px;
    font-weight: bold;
    line-height: 1;
    border-bottom: #dddddd 1px solid;
  }
  #devices .medias .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 2.24609375%;
  }
  #devices .medias .wrap a {
    display: inline-block;
    line-height: 0;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #devices .medias .wrap a img {
    width: 100%;
  }
  #devices .medias .wrap a:hover {
    opacity: 0.8;
  }
  #devices .medias .wrap .wbs {
    width: 9.27734375%;
    max-width: 95px;
  }
  #devices .medias .wrap .nikkei {
    width: 18.26171875%;
    max-width: 187px;
  }
  #devices .medias .wrap .nikkei-b {
    width: 13.37890625%;
    max-width: 137px;
  }
  #devices .medias .wrap .nhk {
    width: 10.3515625%;
    max-width: 106px;
  }
  #devices .medias .wrap .president {
    width: 13.37890625%;
    max-width: 137px;
  }
  #devices .medias .wrap .forbes {
    width: 10.05859375%;
    max-width: 103px;
  }
  /*--------------------------------------------------
  * Staff
  * --------------------------------------------------*/
  #staff {
    padding-bottom: 125px;
  }
  #staff .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
  }
  #staff .bg .inner {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    background: url("/assets/images/index/staff/bg.jpg") center center no-repeat;
    background-size: cover;
  }
  #staff .bg:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(35, 35, 69, 0.8);
  }
  #staff .staff-area {
    text-align: left;
    font-size: 0;
    letter-spacing: 0;
    margin-top: 50px;
    padding-bottom: 6.9387755102%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    will-change: transform;
    -webkit-transition: all 1900ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1900ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #staff .staff {
    display: inline-block;
    width: 24.4897959184%;
    max-width: 240px;
    margin: 0.306122449%;
    position: relative;
    opacity: 0;
    -webkit-transform: translate(0, 60px);
    transform: translate(0, 60px);
    /*&:hover {
        .text-area {
          //@include transform(translate(0, 0));
          .comment {
            opacity: 1;
          }
        }
        .image-area {
          opacity: 0.1;
        }
      }*/
  }
  #staff .staff .wrap {
    overflow: hidden;
    height: 100%;
    padding-bottom: 34.5833333333%;
    -webkit-transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 1400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }
  #staff .staff.appear {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #staff .staff.appear .image-area:after {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
  }
  #staff .staff:nth-child(4n) {
    margin-right: 0;
  }
  #staff .staff:nth-child(4n + 1) {
    margin-left: 0;
  }
  #staff .staff .image-area {
    line-height: 0;
    position: relative;
    -webkit-transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #staff .staff .image-area img {
    width: 100%;
  }
  #staff .staff .image-area:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    mix-blend-mode: hard-light;
    moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1) 600ms;
    transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1) 600ms;
    /* easeInOutQuint */
  }
  #staff .staff .text-area {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    -webkit-transform: translate(0, 74.2424242424%);
    transform: translate(0, 74.2424242424%);
    padding: 0 8.1632653061%;
    -webkit-transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #staff .staff .text-area .info {
    width: 100%;
    height: 51px;
    position: relative;
    padding: 8.1632653061% 0 7.3469387755%;
  }
  #staff .staff .text-area .info p {
    line-height: 1.7;
  }
  #staff .staff .text-area .info .name {
    line-height: 1.5;
  }
  #staff .staff .text-area .info .info-wrap {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  #staff .staff .text-area p {
    color: #FFF;
    /*&.comment {
            opacity: 0;
            font-size: 16px;
            span {
              text-align: center;
              display: block;
              font-size: 12px;
              white-space: nowrap;
              margin-bottom: 14px;
              line-height: 1;
            }
          }*/
  }
  #staff .staff .text-area p.position {
    font-size: 13px;
  }
  #staff .staff .text-area p.name {
    font-size: 18px;
  }
  #staff .staff:nth-child(4n + 1) {
    -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 300ms;
    transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 300ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    top: 30px;
  }
  #staff .staff:nth-child(2n) {
    -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 500ms;
    transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 500ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    top: 50px;
  }
  #staff .staff:nth-child(4n - 1) {
    -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
    transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #staff .staff:nth-child(4n) {
    -webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 600ms;
    transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1) 600ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    top: 67px;
  }
  #staff .staff:nth-child(3n) .image-area:after {
    background: rgba(70, 105, 255, 0.5);
  }
  #staff .staff:nth-child(3n) .text-area {
    background: rgba(70, 105, 255, 0.5);
  }
  #staff .staff:nth-child(3n + 1) .image-area:after {
    background: rgba(252, 255, 0, 0.5);
  }
  #staff .staff:nth-child(3n + 1) .text-area {
    background: rgba(252, 255, 0, 0.5);
  }
  #staff .staff:nth-child(3n - 1) .image-area:after {
    background: rgba(0, 255, 210, 0.5);
  }
  #staff .staff:nth-child(3n - 1) .text-area {
    background: rgba(0, 255, 210, 0.5);
  }
  /*--------------------------------------------------
  * Recruit
  * --------------------------------------------------*/
  #recruit {
    padding-bottom: 241px;
  }
  #recruit h2 {
    margin-bottom: 30px;
  }
  #recruit .p-section__inner {
    position: relative;
  }
  #recruit .p-section__textarea {
    width: 31.6326530612%;
    max-width: 310px;
  }
  #recruit .p-section__textarea > p {
    font-size: 15px;
    color: #101023;
    margin-bottom: 9.6774193548%;
  }
  #recruit .p-section__imagearea {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    left: 38.3673469388%;
    max-width: 830px;
    width: 84.693877551%;
  }
  #recruit .p-section__imagearea img {
    width: 100%;
  }
  #recruit .p-section__imagearea p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 70px;
    color: #fdff53;
    letter-spacing: 0.14rem;
    text-align: center;
    position: relative;
    line-height: 0.7;
    margin-top: -20px;
  }
  /*--------------------------------------------------
  * News
  * --------------------------------------------------*/
  #news {
    padding-bottom: 160px;
    padding-top: 200px;
  }
  #news h2 {
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  #news h2:after {
    bottom: -1px;
  }
  #news .p-category__tabs {
    position: absolute;
    right: 0;
    top: 0;
  }
  #news .p-category__tabs a.p-category__tab {
    display: inline-block;
    padding: 16px 25px;
    margin-left: 5px;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: relative;
  }
  #news .p-category__tabs a.p-category__tab:after {
    content: '';
    background: url("/assets/images/index/balloon-foot-y.svg") top left no-repeat;
    background-size: contain;
    width: 13px;
    height: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0;
  }
  #news .p-category__tabs a.p-category__tab:hover, #news .p-category__tabs a.p-category__tab.active {
    background: #fdff53;
  }
  #news .p-category__tabs a.p-category__tab:hover:after, #news .p-category__tabs a.p-category__tab.active:after {
    opacity: 1;
  }
  #news .p-category__tabs a.p-category__tab:hover p, #news .p-category__tabs a.p-category__tab.active p {
    color: #181833;
    font-size: 16px;
    font-weight: bold;
  }
  #news .p-category__tabs p {
    font-size: 16px;
    padding: 0;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #news .p-category__newsset {
    margin-bottom: 20px;
  }
  #news .p-category__newsset p, #news .p-category__newsset a {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  #news .p-category__newsset a {
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #news .p-category__newsset a:hover {
    color: #00ffd2;
  }
  #news .p-category__newsset .label {
    width: 15.306122449%;
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 14px;
    text-align: center;
    padding: 10px 0 9px;
    vertical-align: middle;
  }
  #news .p-category__newsset .date {
    width: 14.7959183673%;
    margin-left: 2.3469387755%;
    display: inline-block;
    font-size: 16px;
    color: #9898a3;
    vertical-align: middle;
  }
  #news .p-category__newsset .body {
    display: inline-block;
    font-size: 16px;
    color: #FFF;
    vertical-align: middle;
    max-width: 67.5%
  }
  /*--------------------------------------------------
  * Company
  * --------------------------------------------------*/
  #company h2 {
    margin-bottom: 55px;
  }
  #company .p-section__inner {
    position: relative;
    padding-bottom: 150px;
  }
  #company .p-section__textarea {
    width: 42.8571428571%;
    max-width: 420px;
  }
  #company .c-table {
    width: 100%;
  }
  #company .c-table__th {
    font-size: 15px;
    white-space: nowrap;
    border-bottom: #e8e8e8 1px solid;
    padding: 12px 20px 12px 0;
  }
  #company .c-table__td {
    font-size: 15px;
    border-bottom: #e8e8e8 1px solid;
    padding: 12px 0;
    line-height: 1.6;
  }
  #company .p-innertable {
    width: 100%;
  }
  #company .p-innertable .c-table__td {
    border-bottom: 0;
    padding: 0;
  }
  #company .p-section__imagearea {
    position: absolute;
    width: 52.0408163265%;
    max-width: 510px;
    right: 0;
    background: #CCC;
    top: 0;
    margin-top: 13.6734693878%;
    overflow: hidden;
    padding-top: 64.2857142857%;
  }
  #company .p-section__imagearea iframe {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  /*--------------------------------------------------
  * Contact
  * --------------------------------------------------*/
  #contact .p-section__inner {
    padding-bottom: 113px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #contact h2 {
    width: 40.8163265306%;
  }
  #contact h2:after {
    width: 15%;
    max-width: 60px;
  }
  #contact .p-section__textarea {
    width: 52.0408163265%;
    max-width: 510px;
  }
  #contact .p-section__textarea p {
    color: #FFF;
    font-size: 15px;
  }
  #contact .p-section__textarea p.telnote {
    font-size: 13px;
    margin-bottom: 6.862745098%;
  }
  #contact .p-section__textarea a.tel {
    font-size: 34px;
    display: inline-block;
    margin-top: 2.9411764706%;
    margin-bottom: 2.9411764706%;
    color: #fdff53;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 460ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #contact .p-section__textarea a.tel:hover {
    color: #4669ff;
  }
  #contact .p-section__textarea .p-button {
    width: 78.431372549%;
    max-width: 400px;
    margin: 0;
  }
  #contact .p-section__textarea .p-button .p-button__text {
    color: #FFF;
  }
  #contact .p-section__textarea .p-button:hover .p-button__text {
    color: #1c212a;
  }
}

/*--------------------------------------------------
* Common
* --------------------------------------------------*/
@media all and (max-width: 758px) {
  .pc {
    display: none;
  }
}

@media all and (min-width: 759px) {
  .sp {
    display: none;
  }
  .u-blank:after {
    position: absolute;
    font-family: 'Font Awesome';
    font-style: normal;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    top: 50%;
    margin-left: 2px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}

.lazyimage {
  will-change: transform, opacity;
}

.lazyscroll {
  will-change: transform;
  -webkit-transition: all 1200ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 1200ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*--------------------------------------------------
* Margin
* --------------------------------------------------*/
.u-mtop-100 {
  margin-top: 100px;
}
