@charset "UTF-8";
/*
 * SMACSS + SCSS starter v2.1
 * Inspired by SMACSS http://smacss.com
 * Author: @jonathanpath
 * Date: 4 August 2015
 *
 * https://github.com/jonathanpath/SASS-SMACSS
 * See file structure in http://jonathanpath.com/sass+smacss/scss/style.scss
 *
 * Coding rules : https://github.com/necolas/idiomatic-css
 *
 */
/* settings */
/* blue */
/* red */
@font-face {
  font-family: "MyYuGothicM";
  font-weight: normal;
  src: local("YuGothic-medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* Nothing medium */ }

@font-face {
  font-family: "MyYuGothicM";
  font-weight: bold;
  src: local("YuGothic-Bold"), local("Yu Gothic");
  /* For Chrome */ }

/* fontまわり */
.acc {
  font-weight: bold; }

.fs_small {
  font-weight: bold; }

h1 {
  font-size: 30px; }

h2 {
  font-size: 25px; }

/* tool */
/* transition */
/* border-box */
/* gradation */
/* size */
@keyframes hurueru {
  0% {
    transform: translate(0px, 0px) rotateZ(0deg); }
  25% {
    transform: translate(5px, 5px) rotateZ(5deg); }
  50% {
    transform: translate(0px, 5px) rotateZ(0deg); }
  75% {
    transform: translate(5px, 0px) rotateZ(-5deg); }
  100% {
    transform: translate(0px, 0px) rotateZ(0deg); } }

.delay01 {
  transition-delay: .1s !important; }

.delay02 {
  transition-delay: .2s !important; }

.delay03 {
  transition-delay: .3s !important; }

.delay04 {
  transition-delay: .4s !important; }

.delay05 {
  transition-delay: .5s !important; }

.delay06 {
  transition-delay: .6s !important; }

.delay07 {
  transition-delay: .7s !important; }

.delay08 {
  transition-delay: .8s !important; }

.delay09 {
  transition-delay: .9s !important; }

.delay10 {
  transition-delay: 1s !important; }

.delay11 {
  transition-delay: 1.1s !important; }

.delay12 {
  transition-delay: 1.2s !important; }

.delay13 {
  transition-delay: 1.3s !important; }

.delay14 {
  transition-delay: 1.4s !important; }

.delay15 {
  transition-delay: 1.5s !important; }

.delay16 {
  transition-delay: 1.6s !important; }

.delay17 {
  transition-delay: 1.7s !important; }

.delay18 {
  transition-delay: 1.8s !important; }

.delay19 {
  transition-delay: 1.9s !important; }

.delay20 {
  transition-delay: 2s !important; }

/* fade in */
.fade-in {
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in.inview-js--on {
    opacity: 1; }

.inview-js--on .fade-in {
  opacity: 1; }

/* fade in zoom */
.fade-in--zoom {
  transform: scale(0.9);
  opacity: 0;
  transition: all 1s ease; }
  .fade-in--zoom.inview-js--on {
    transform: scale(1);
    opacity: 1; }

.inview-js--on .fade-in--zoom {
  transform: scale(1);
  opacity: 1; }

/* fade in up */
.fade-in--up {
  transform: translateY(20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--up.inview-js--on {
    transform: translateY(0px);
    opacity: 1; }

.inview-js--on .fade-in--up {
  transform: translateY(0px);
  opacity: 1; }

/* fade in down */
.fade-in--down {
  transform: translateY(-20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--down.inview-js--on {
    transform: translateY(0px);
    opacity: 1; }

.inview-js--on .fade-in--down {
  transform: translateY(0px);
  opacity: 1; }

/* fade in left */
.fade-in--left {
  transform: translateX(20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--left.inview-js--on {
    transform: translateX(0px);
    opacity: 1; }

.inview-js--on .fade-in--left {
  transform: translateX(0px);
  opacity: 1; }

/* fade in right */
.fade-in--right {
  transform: translateX(-20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--right.inview-js--on {
    transform: translateX(0px);
    opacity: 1; }

.inview-js--on .fade-in--right {
  transform: translateX(0px);
  opacity: 1; }

/* fade in up left */
.fade-in--up-left {
  transform: translateY(20px) translateX(20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--up-left.inview-js--on {
    transform: translateY(0px) translateX(0px);
    opacity: 1; }

.inview-js--on .fade-in--up-left {
  transform: translateY(0px) translateX(0px);
  opacity: 1; }

/* fade in up right */
.fade-in--up-right {
  transform: translateY(20px) translateX(-20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--up-right.inview-js--on {
    transform: translateY(0px) translateX(0px);
    opacity: 1; }

.inview-js--on .fade-in--up-right {
  transform: translateY(0px) translateX(0px);
  opacity: 1; }

/* fade in down left */
.fade-in--down-left {
  transform: translateY(-20px) translateX(20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--down-left.inview-js--on {
    transform: translateY(0px) translateX(0px);
    opacity: 1; }

.inview-js--on .fade-in--down-left {
  transform: translateY(0px) translateX(0px);
  opacity: 1; }

/* fade in down right */
.fade-in--down-right {
  transform: translateY(-20px) translateX(-20px);
  opacity: 0;
  transition: all 0.3s ease; }
  .fade-in--down-right.inview-js--on {
    transform: translateY(0px) translateX(0px);
    opacity: 1; }

.inview-js--on .fade-in--down-right {
  transform: translateY(0px) translateX(0px);
  opacity: 1; }

.fade-in--blur {
  opacity: 0;
  transform: scale(0.9);
  filter: blur(20px);
  transition: all 1s ease; }
  .fade-in--blur.inview-js--on {
    opacity: 1;
    transform: scale(1);
    filter: blur(0); }

.inview-js--on .fade-in--blur {
  opacity: 1;
  transform: scale(1);
  filter: blur(0); }

.move1 {
  animation: move1 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move2 {
  animation: move2 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move3 {
  animation: move3 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move4 {
  animation: move4 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move5 {
  animation: move5 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move6 {
  animation: move6 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move7 {
  animation: move7 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move8 {
  animation: move8 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

.move9 {
  animation: move9 20s cubic-bezier(0.7, 0.6, 0, 1.3) infinite alternate; }

@keyframes rotate {
  0% {
    transform: rotateZ(0deg); }
  50% {
    transform: rotateZ(180deg); }
  100% {
    transform: rotateZ(360deg); } }

@keyframes move1 {
  0% {
    transform: matrix(1, 0, 0, 1, 20, 40);
    opacity: 1; }
  1% {
    transform: matrix(1, 0, 0, 1, 20, 40);
    opacity: 1; }
  11% {
    transform: matrix(1, 0, 0, 1, -10, 50);
    opacity: 1; }
  21% {
    transform: matrix(1, 0, 0, 1, -30, 30);
    opacity: 1; }
  31% {
    transform: matrix(0.95, 0, 0, 0.95, 10, 20);
    opacity: 1; }
  41% {
    transform: matrix(1, 0, 0, 1, -20, 30);
    opacity: 1; }
  51% {
    transform: matrix(0.95, 0, 0, 0.95, 0, 10);
    opacity: 1; }
  61% {
    transform: matrix(1, 0, 0, 1, 30, -20);
    opacity: 1; }
  71% {
    transform: matrix(0.95, 0, 0, 0.95, -10, -30);
    opacity: 1; }
  81% {
    transform: matrix(1, 0, 0, 1, 30, 0);
    opacity: 1; }
  91% {
    transform: matrix(0.95, 0, 0, 0.95, -30, -10);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, 0, -20);
    opacity: 1; } }

@keyframes move2 {
  0% {
    transform: matrix(1, 0, 0, 1, 20, -40);
    opacity: 1; }
  2% {
    transform: matrix(1, 0, 0, 1, 20, -40);
    opacity: 1; }
  12% {
    transform: matrix(1, 0, 0, 1, 30, -10);
    opacity: 1; }
  22% {
    transform: matrix(1, 0, 0, 1, 0, 10);
    opacity: 1; }
  32% {
    transform: matrix(0.95, 0, 0, 0.95, 20, 0);
    opacity: 1; }
  42% {
    transform: matrix(1, 0, 0, 1, -10, -20);
    opacity: 1; }
  52% {
    transform: matrix(1, 0, 0, 1, -20, 10);
    opacity: 1; }
  62% {
    transform: matrix(1, 0, 0, 1, 0, 20);
    opacity: 1; }
  72% {
    transform: matrix(0.95, 0, 0, 0.95, 30, 0);
    opacity: 1; }
  82% {
    transform: matrix(1, 0, 0, 1, 0, -20);
    opacity: 1; }
  92% {
    transform: matrix(1, 0, 0, 1, 10, -10);
    opacity: 1; }
  100% {
    transform: matrix(0.95, 0, 0, 0.95, 30, 10);
    opacity: 1; } }

@keyframes move3 {
  0% {
    transform: matrix(1, 0, 0, 1, 30, 50);
    opacity: 1; }
  3% {
    transform: matrix(1, 0, 0, 1, 30, 50);
    opacity: 1; }
  13% {
    transform: matrix(0.95, 0, 0, 0.95, -20, 30);
    opacity: 1; }
  23% {
    transform: matrix(1, 0, 0, 1, 0, 10);
    opacity: 1; }
  33% {
    transform: matrix(1, 0, 0, 1, 30, -20);
    opacity: 1; }
  43% {
    transform: matrix(1, 0, 0, 1, 20, -40);
    opacity: 1; }
  53% {
    transform: matrix(0.95, 0, 0, 0.95, 10, -10);
    opacity: 1; }
  63% {
    transform: matrix(1, 0, 0, 1, -30, 30);
    opacity: 1; }
  73% {
    transform: matrix(1, 0, 0, 1, -20, 20);
    opacity: 1; }
  83% {
    transform: matrix(0.95, 0, 0, 0.95, 10, 0);
    opacity: 1; }
  93% {
    transform: matrix(1, 0, 0, 1, -20, -20);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, 10, 0);
    opacity: 1; } }

@keyframes move4 {
  0% {
    transform: matrix(1, 0, 0, 1, 30, -30);
    opacity: 1; }
  4% {
    transform: matrix(1, 0, 0, 1, 30, -30);
    opacity: 1; }
  14% {
    transform: matrix(0.95, 0, 0, 0.95, 20, -10);
    opacity: 1; }
  24% {
    transform: matrix(1, 0, 0, 1, 10, 20);
    opacity: 1; }
  34% {
    transform: matrix(1, 0, 0, 1, 20, -10);
    opacity: 1; }
  44% {
    transform: matrix(0.95, 0, 0, 0.95, 40, 20);
    opacity: 1; }
  54% {
    transform: matrix(0.95, 0, 0, 0.95, 10, 0);
    opacity: 1; }
  64% {
    transform: matrix(1, 0, 0, 1, 20, -20);
    opacity: 1; }
  74% {
    transform: matrix(1, 0, 0, 1, 30, 0);
    opacity: 1; }
  84% {
    transform: matrix(0.95, 0, 0, 0.95, 10, 20);
    opacity: 1; }
  94% {
    transform: matrix(1, 0, 0, 1, -10, 40);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, 10, 20);
    opacity: 1; } }

@keyframes move5 {
  0% {
    transform: matrix(1, 0, 0, 1, 50, 20);
    opacity: 1; }
  5% {
    transform: matrix(1, 0, 0, 1, 50, 20);
    opacity: 1; }
  15% {
    transform: matrix(0.95, 0, 0, 0.95, 30, 30);
    opacity: 1; }
  25% {
    transform: matrix(1, 0, 0, 1, 20, 50);
    opacity: 1; }
  35% {
    transform: matrix(1, 0, 0, 1, -10, 30);
    opacity: 1; }
  45% {
    transform: matrix(1, 0, 0, 1, -20, 10);
    opacity: 1; }
  55% {
    transform: matrix(1, 0, 0, 1, -40, 30);
    opacity: 1; }
  65% {
    transform: matrix(0.95, 0, 0, 0.95, -20, 20);
    opacity: 1; }
  75% {
    transform: matrix(1, 0, 0, 1, 10, 10);
    opacity: 1; }
  85% {
    transform: matrix(0.95, 0, 0, 0.95, 30, 30);
    opacity: 1; }
  95% {
    transform: matrix(1, 0, 0, 1, 20, 50);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, -10, 30);
    opacity: 1; } }

@keyframes move6 {
  0% {
    transform: matrix(1, 0, 0, 1, 0, -30);
    opacity: 1; }
  6% {
    transform: matrix(1, 0, 0, 1, -20, -10);
    opacity: 1; }
  16% {
    transform: matrix(1, 0, 0, 1, 10, -20);
    opacity: 1; }
  26% {
    transform: matrix(1, 0, 0, 1, 30, -10);
    opacity: 1; }
  36% {
    transform: matrix(1, 0, 0, 1, -20, 20);
    opacity: 1; }
  46% {
    transform: matrix(1, 0, 0, 1, -30, -10);
    opacity: 1; }
  56% {
    transform: matrix(0.95, 0, 0, 0.95, -10, 20);
    opacity: 1; }
  66% {
    transform: matrix(0.95, 0, 0, 0.95, 20, 40);
    opacity: 1; }
  76% {
    transform: matrix(1, 0, 0, 1, 10, -10);
    opacity: 1; }
  86% {
    transform: matrix(1, 0, 0, 1, 0, -20);
    opacity: 1; }
  96% {
    transform: matrix(1, 0, 0, 1, 10, -40);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, 10, -40);
    opacity: 1; } }

@keyframes move7 {
  0% {
    transform: matrix(1, 0, 0, 1, 30, 0);
    opacity: 1; }
  7% {
    transform: matrix(1, 0, 0, 1, 20, 10);
    opacity: 1; }
  17% {
    transform: matrix(1, 0, 0, 1, 40, -10);
    opacity: 1; }
  27% {
    transform: matrix(1, 0, 0, 1, 10, 10);
    opacity: 1; }
  37% {
    transform: matrix(1, 0, 0, 1, 40, -20);
    opacity: 1; }
  47% {
    transform: matrix(1, 0, 0, 1, 10, -10);
    opacity: 1; }
  57% {
    transform: matrix(1, 0, 0, 1, -20, 10);
    opacity: 1; }
  67% {
    transform: matrix(1, 0, 0, 1, -20, 30);
    opacity: 1; }
  77% {
    transform: matrix(1, 0, 0, 1, -10, 0);
    opacity: 1; }
  87% {
    transform: matrix(1, 0, 0, 1, 20, -20);
    opacity: 1; }
  97% {
    transform: matrix(1, 0, 0, 1, 30, 10);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, 30, 10);
    opacity: 1; } }

@keyframes move8 {
  0% {
    transform: matrix(1, 0, 0, 1, -10, -30);
    opacity: 1; }
  8% {
    transform: matrix(1, 0, 0, 1, -20, -20);
    opacity: 1; }
  18% {
    transform: matrix(1, 0, 0, 1, -30, -40);
    opacity: 1; }
  28% {
    transform: matrix(1, 0, 0, 1, -10, -20);
    opacity: 1; }
  38% {
    transform: matrix(1, 0, 0, 1, -30, 10);
    opacity: 1; }
  48% {
    transform: matrix(1, 0, 0, 1, 0, 20);
    opacity: 1; }
  58% {
    transform: matrix(1, 0, 0, 1, -20, 40);
    opacity: 1; }
  68% {
    transform: matrix(1, 0, 0, 1, 10, 20);
    opacity: 1; }
  78% {
    transform: matrix(1, 0, 0, 1, -20, 30);
    opacity: 1; }
  88% {
    transform: matrix(1, 0, 0, 1, 40, 20);
    opacity: 1; }
  98% {
    transform: matrix(1, 0, 0, 1, 30, 40);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, 30, 40);
    opacity: 1; } }

@keyframes move9 {
  0% {
    transform: matrix(1, 0, 0, 1, 30, -40);
    opacity: 1; }
  9% {
    transform: matrix(1, 0, 0, 1, 40, -20);
    opacity: 1; }
  19% {
    transform: matrix(1, 0, 0, 1, 10, -30);
    opacity: 1; }
  29% {
    transform: matrix(1, 0, 0, 1, 30, -10);
    opacity: 1; }
  39% {
    transform: matrix(1, 0, 0, 1, 10, 20);
    opacity: 1; }
  49% {
    transform: matrix(1, 0, 0, 1, -10, -10);
    opacity: 1; }
  59% {
    transform: matrix(1, 0, 0, 1, -30, 10);
    opacity: 1; }
  69% {
    transform: matrix(1, 0, 0, 1, -10, -20);
    opacity: 1; }
  79% {
    transform: matrix(1, 0, 0, 1, 10, -40);
    opacity: 1; }
  89% {
    transform: matrix(1, 0, 0, 1, -20, -10);
    opacity: 1; }
  99% {
    transform: matrix(1, 0, 0, 1, -30, 20);
    opacity: 1; }
  100% {
    transform: matrix(1, 0, 0, 1, -30, 20);
    opacity: 1; } }

/* layout */
/* ===========================
   Base
   =========================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  font-family: "Open Sans", "Yu Gothic", YuGothic, sans-serif;
  vertical-align: baseline;
  font-feature-settings: "palt"; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  overflow-x: hidden;
  line-height: 1.6; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

* {
  box-sizing: border-box; }

html,
body {
  width: 100%;
  height: 100%; }

body {
  background: #fff; }

img {
  max-width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  vertical-align: bottom; }

p, li, dt, dd {
  line-height: 1.6; }

a {
  text-decoration: none; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

@media (max-width: 960px) {
  body {
    font-size: 12px; } }

.view--sp {
  display: block !important; }
  @media (min-width: 960px) {
    .view--sp {
      display: none !important; } }

.view--pc {
  display: none !important; }
  @media (min-width: 960px) {
    .view--pc {
      display: block !important; } }

.body--fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

body {
  background-color: #EDEFF4;
  overflow-x: hidden; }

#wrap {
  overflow: hidden; }

.inner {
  width: 85%;
  margin: auto; }
  .inner-fixed {
    max-width: 1080px; }
  @media (min-width: 960px) {
    .inner {
      width: 90%; } }

.sec {
  padding: 70px 0 40px; }
  .sec__page-ttl {
    margin: -25px 0 20px;
    font-weight: normal;
    font-size: 20px;
    font-weight: bold; }
    @media (min-width: 960px) {
      .sec__page-ttl {
        font-size: 24px; } }
  .sec__ttl {
    margin-bottom: 25px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 40px;
    color: #26469E;
    line-height: 1.2; }
  .sec__sub-ttl {
    margin-bottom: 15px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1.2; }
  .sec__desc {
    margin-bottom: 20px; }
  .sec__header {
    margin-bottom: 60px; }
    .sec__header .topic__ttl {
      font-size: 24px; }
  .sec__row {
    margin-bottom: 50px; }
    .sec__row:last-child {
      margin-bottom: 0; }
  @media (min-width: 960px) {
    .sec {
      padding: 70px 0; }
      .sec__page-ttl {
        font-size: 32px;
        margin: -40px 0 30px; }
      .sec__ttl {
        font-size: 80px;
        margin-bottom: 40px; }
      .sec__sub-ttl {
        font-size: 50px; }
      .sec__desc {
        font-size: 18px; }
      .sec__header {
        margin-bottom: 80px;
        text-align: center; } }

.topic__ttl {
  margin-bottom: 15px;
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
  font-size: 32px;
  color: #26469E;
  line-height: 1.2; }

.topic__sub-ttl {
  margin-bottom: 15px;
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
  font-size: 20px;
  line-height: 1.2; }

.link-area {
  cursor: pointer; }

.pagetop {
  display: block;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 60px;
  height: 60px;
  background-color: #26469E;
  text-align: center;
  line-height: 60px;
  font-size: 24px;
  z-index: 90;
  color: #fff;
  opacity: 0;
  border-radius: 30px 0 0 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  transition: all 0.1s ease; }
  .pagetop--on {
    opacity: 1; }

.box {
  position: relative;
  background-color: rgba(245, 247, 250, 0.98);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); }
  .box-blue {
    position: relative;
    background-color: #26469E;
    color: #fff;
    overflow: hidden; }
    .box-blue::before, .box-blue::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 10px;
      left: 0;
      right: 0; }
    .box-blue::before {
      top: 0;
      background: linear-gradient(to right, #26469E, white); }
    .box-blue::after {
      bottom: 0;
      background: linear-gradient(to left, #26469E, white); }
    .box-blue .circle--blue2 {
      opacity: .5;
      width: 650px;
      height: 650px;
      bottom: -50px;
      right: -360px;
      transform: rotate(-180deg);
      animation: none;
      background: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0)); }

.box__group .box {
  margin-bottom: 30px;
  padding: 30px; }

@media (min-width: 960px) {
  .box__group .box {
    margin-bottom: 60px;
    padding: 60px; } }

.post__date {
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 5px; }

.gmap {
  width: 100%;
  height: 300px; }
  @media (min-width: 960px) {
    .gmap {
      height: 500px; } }

.table__row {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #e0e0e0; }

.table__head {
  width: 100%;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #26469E; }

.table__data {
  width: 100%; }
  .table__data a {
    text-decoration: underline; }
    .table__data a:hover {
      text-decoration: none; }

@media screen and (min-width: 960px) {
  .table__row {
    display: -ms-flexbox;
    display: flex; }
  .table__head {
    width: 200px; }
  .table__data {
    -ms-flex: 1;
        flex: 1; } }

.contact .inner {
  max-width: 900px; }

.contact .sec__sub-ttl {
  font-size: 24px;
  line-height: 1.6; }

.sub {
  position: relative;
  padding: 80px 0 0; }
  .sub .sec {
    padding: 20px 0 40px; }
  .sub > .sec {
    padding-bottom: 0 !important; }
  @media (min-width: 960px) {
    .sub .sec {
      padding: 70px 0; } }

.privacy p {
  margin-bottom: 1.5em; }

.privacy ol {
  padding-left: .8em; }
  .privacy ol li {
    margin-bottom: 1em;
    text-indent: -.8em; }
    .privacy ol li ol {
      padding-left: 1.2em; }
      .privacy ol li ol li {
        text-indent: -1.2em; }

.security p {
  margin-bottom: 1.5em; }

.security__list ol {
  padding-left: .8em; }
  .security__list ol li {
    margin-bottom: 1em;
    text-indent: -.8em; }
    .security__list ol li ol {
      padding-left: 1.2em; }
      .security__list ol li ol li {
        text-indent: -1.2em; }

.cookie-notice {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: black;
  color: #fff;
  font-size: 12px;
  text-align: left;
  z-index: 100; }
  .cookie-notice__inner {
    display: inline-block; }
  .cookie-notice .flex {
    padding: 10px 60px 10px 20px;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .cookie-notice a {
    color: #fff;
    text-decoration: underline; }
    .cookie-notice a:hover {
      text-decoration: none; }
  .cookie-notice .ok {
    margin-left: 10px; }
  .cookie-notice .close {
    position: absolute;
    color: #fff;
    font-size: 20px;
    top: 0;
    bottom: 0;
    right: 15px; }
  @media screen and (min-width: 960px) {
    .cookie-notice {
      text-align: center; }
      .cookie-notice .flex {
        padding: 10px 20px; } }

.news-contarea {
  max-width: 800px;
  margin: auto;
  font-size: 14px;
  letter-spacing: .1em;
  padding-bottom: 30px; }
  @media screen and (min-width: 960px) {
    .news-contarea {
      font-size: 18px;
      padding-bottom: 50px; } }
  .news-contarea p, .news-contarea li {
    letter-spacing: .1em; }
  .news-contarea ol li {
    position: relative;
    padding-left: 20px; }
    .news-contarea ol li span {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      font-weight: bold;
      color: #26469E; }
  .news-contarea li {
    margin-bottom: 10px; }
  .news-contarea strong {
    font-weight: bold;
    padding-bottom: 2px;
    background: linear-gradient(transparent 90%, #000 10%); }

.news-article {
  margin-bottom: 30px; }
  @media screen and (min-width: 960px) {
    .news-article {
      margin-bottom: 50px; } }
  .news-article-ttl {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #26469E; }
    @media screen and (min-width: 960px) {
      .news-article-ttl {
        font-size: 24px; } }
  .news-article-last p {
    text-align: right; }

.identity__icon svg {
  overflow: visible; }

.identity__icon--human .icon-move1 {
  animation: human1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate; }

.identity__icon--human .icon-move2 {
  animation: human1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0.2s infinite alternate; }

.identity__icon--human .icon-move3 {
  animation: human1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0.4s infinite alternate; }

.identity__icon--human .icon-move4 {
  animation: human2 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0.4s infinite alternate;
  transform-origin: 50% 50%; }

.identity__icon--human .icon-move5 {
  animation: human3 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0.4s infinite alternate;
  transform-origin: 50% 50%; }

.identity__icon--design .icon-move1 {
  animation: design1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate; }

.identity__icon--design .icon-move2 {
  animation: design2 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate; }

.identity__icon--strategy .icon-move1 {
  animation: strategy1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate;
  transform-origin: 50% 50%; }

.identity__icon--strategy .icon-move2 {
  animation: strategy2 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate;
  transform-origin: 50% 50%; }

.identity__icon--technology .icon-move1 {
  animation: technology1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate;
  transform-origin: 50% 50%; }

.identity__icon--technology .icon-move2 {
  animation: technology1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0.2s infinite alternate;
  transform-origin: 50% 50%; }

.identity__icon--technology .icon-move3 {
  animation: technology1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0.4s infinite alternate;
  transform-origin: 50% 50%; }

.identity__icon--speed .icon-move1 {
  animation: speed1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate; }

.identity__icon--speed .icon-move2 {
  animation: speed2 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate; }

.identity__icon--speed .icon-move3 {
  animation: speed3 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate; }

.identity__icon--adaptability .icon-move1 {
  animation: adaptability1 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate;
  transform-origin: center; }

.identity__icon--adaptability .icon-move2 {
  animation: adaptability2 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate;
  transform-origin: center; }

.identity__icon--adaptability .icon-move3 {
  animation: adaptability3 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate;
  transform-origin: center; }

.identity__icon--adaptability .icon-move4 {
  animation: adaptability4 1.2s cubic-bezier(0.7, 0.6, 0, 1.3) 0s infinite alternate;
  transform-origin: center; }

@keyframes human1 {
  0% {
    transform: translateY(30px); }
  80% {
    transform: translateY(0); }
  100% {
    transform: translateY(0); } }

@keyframes human2 {
  0% {
    transform: translateX(-10px) scale(1.1); }
  80% {
    transform: translateY(0) scale(1); }
  100% {
    transform: translateY(0) scale(1); } }

@keyframes human3 {
  0% {
    transform: translateX(10px) scale(1.1); }
  80% {
    transform: translateY(0) scale(1); }
  100% {
    transform: translateY(0) scale(1); } }

@keyframes design1 {
  0% {
    transform: translateY(50px) translateX(50px); }
  80% {
    transform: translateY(0) translateX(0); }
  100% {
    transform: translateY(0) translateX(0); } }

@keyframes design2 {
  0% {
    transform: translateY(-50px) translateX(-50px); }
  80% {
    transform: translateY(0) translateX(0); }
  100% {
    transform: translateY(0) translateX(0); } }

@keyframes strategy1 {
  0% {
    transform: scale(1.1); }
  80% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }

@keyframes strategy2 {
  0% {
    transform: scale(0.9); }
  80% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }

@keyframes technology1 {
  0% {
    transform: scale(1.1); }
  80% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }

@keyframes speed1 {
  0% {
    transform: translateX(-30px); }
  80% {
    transform: translateY(0); }
  100% {
    transform: translateY(0); } }

@keyframes speed2 {
  0% {
    transform: translateX(100px); }
  80% {
    transform: translateY(0); }
  100% {
    transform: translateY(0); } }

@keyframes speed3 {
  0% {
    transform: translateX(30px); }
  80% {
    transform: translateY(0); }
  100% {
    transform: translateY(0); } }

@keyframes adaptability1 {
  0% {
    transform: scale(0.9) translateY(10px); }
  80% {
    transform: scale(1) translateY(0); }
  100% {
    transform: scale(1) translateY(0); } }

@keyframes adaptability2 {
  0% {
    transform: scale(1.2) translateY(-30px) translateX(-5px); }
  80% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }

@keyframes adaptability3 {
  0% {
    transform: scale(1.15) translateY(-15px) translateX(5px); }
  80% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }

@keyframes adaptability4 {
  0% {
    transform: scale(1.1) translateY(5px); }
  80% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }

.circle {
  position: absolute;
  pointer-events: none;
  overflow: hidden;
  border-radius: 100%; }
  .circle--blue {
    background: linear-gradient(#485789, #26469E); }
  .circle--blue2 {
    background: linear-gradient(#26469E, rgba(255, 255, 255, 0));
    z-index: 0; }
  .circle--red {
    background: linear-gradient(#C23A2A, #FCB1A8); }
  .circle__child {
    position: absolute;
    border-radius: 100%;
    background: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)); }

/* philosophyを共通化　*/
.circleBak--blue {
  padding-top: 100px;
  padding-bottom: 100px; }
  .circleBak--blue .circle--blue2 {
    width: 650px;
    height: 650px;
    bottom: -50px;
    right: -360px; }
  .circleBak--blue > .inner {
    position: relative; }
  .circleBak--blue .sec__sub-ttl {
    margin-bottom: 40px; }
  .circleBak--blue p {
    line-height: 2.5; }

.breadcrumb {
  display: -ms-flexbox;
  display: flex; }
  .breadcrumb li {
    margin: 0 10px 10px 0;
    font-size: 11px; }
  .breadcrumb a {
    color: #000; }
    .breadcrumb a:hover {
      text-decoration: underline; }
  @media screen and (min-width: 960px) {
    .breadcrumb {
      -ms-flex-pack: center;
          justify-content: center; }
      .breadcrumb li {
        margin-bottom: 0;
        font-size: 16px; } }

/* ヘッダーに背景画像 */
/*営業電話お断りで追加　20190610*/
.warning {
  padding-top: 5px;
  font-size: 0.9em;
  display: block; }

.container {
  margin-left: auto;
  margin-right: auto;
  width: 90%; }

@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
    width: 90%; } }

.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto; }

.flex-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .flex-row .flex-col-25-md {
    width: 100%; }
  .flex-row .flex-col-50-sm {
    width: 100%; }
  .flex-row .flex-col-100 {
    width: 100%; }
  .flex-row .flex-col-50 {
    width: 50%; }
  .flex-row .flex-col-30 {
    width: 25%; }
  .flex-row .flex-col-25 {
    width: 25%; }
  .flex-row .flex-col-20 {
    width: 20%; }

@media (min-width: 600px) {
  .flex-col-25-md {
    width: 50%; }
  .flex-col-50-md {
    width: 100%; } }

@media (min-width: 960px) {
  .flex-row {
    display: -ms-flexbox;
    display: flex; }
    .flex-row .flex-col-50-sm, .flex-row .flex-col-50-md {
      width: 50%; }
    .flex-row .flex-col-25-sm, .flex-row .flex-col-25-md {
      width: 25%; } }

.flex-center {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center; }
  .flex-center .flex-col-25-md {
    width: 100%; }
  .flex-center .flex-col-33 {
    width: 100%; }
  .flex-center .flex-col-50-sm {
    width: 100%; }
  .flex-center .flex-col-100 {
    width: 100%; }
  .flex-center .flex-col-50 {
    width: 50%; }
  .flex-center .flex-col-25 {
    width: 25%; }
  .flex-center .flex-col-20 {
    width: 20%; }

@media (min-width: 600px) {
  .flex-center .flex-col-25-md {
    width: 49%; }
  .flex-center .flex-col-33 {
    width: 49%; }
  .flex-center .flex-col-50-md {
    width: 100%; } }

@media (min-width: 960px) {
  .flex-center {
    display: -ms-flexbox;
    display: flex; }
    .flex-center .flex-col-50-sm, .flex-center .flex-col-50-md {
      width: 49%; }
    .flex-center .flex-col-25-sm, .flex-center .flex-col-25-md {
      width: 23%; }
    .flex-center .flex-col-33 {
      width: 33%; } }

.flex {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .flex .flex-col-25-md {
    width: 100%; }
  .flex .flex-col-33 {
    width: 100%; }
  .flex .flex-col-50-sm {
    width: 100%; }
  .flex .flex-col-100 {
    width: 100%; }
  .flex .flex-col-50 {
    width: 50%; }
  .flex .flex-col-25 {
    width: 25%; }
  .flex .flex-col-20 {
    width: 20%; }

@media (min-width: 600px) {
  .flex .flex-col-25-md {
    width: 49%; }
  .flex .flex-col-33 {
    width: 49%; }
  .flex .flex-col-50-md {
    width: 100%; } }

@media (min-width: 960px) {
  .flex {
    display: -ms-flexbox;
    display: flex; }
    .flex .flex-col-50-sm, .flex .flex-col-50-md {
      width: 49%; }
    .flex .flex-col-25-sm, .flex .flex-col-25-md {
      width: 23%; }
    .flex .flex-col-33 {
      width: 33%; } }

/**
 * 以下はbootstrapのグリッド
 */
.row {
  margin-left: -15px;
  margin-right: -15px; }

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

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

.col-xs-12 {
  width: 100%; }

.col-xs-11 {
  width: 91.66666667%; }

.col-xs-10 {
  width: 83.33333333%; }

.col-xs-9 {
  width: 75%; }

.col-xs-8 {
  width: 66.66666667%; }

.col-xs-7 {
  width: 58.33333333%; }

.col-xs-6 {
  width: 50%; }

.col-xs-5 {
  width: 41.66666667%; }

.col-xs-4 {
  width: 33.33333333%; }

.col-xs-3 {
  width: 25%; }

.col-xs-2 {
  width: 16.66666667%; }

.col-xs-1 {
  width: 8.33333333%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-pull-11 {
  right: 91.66666667%; }

.col-xs-pull-10 {
  right: 83.33333333%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-8 {
  right: 66.66666667%; }

.col-xs-pull-7 {
  right: 58.33333333%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-5 {
  right: 41.66666667%; }

.col-xs-pull-4 {
  right: 33.33333333%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-2 {
  right: 16.66666667%; }

.col-xs-pull-1 {
  right: 8.33333333%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-push-11 {
  left: 91.66666667%; }

.col-xs-push-10 {
  left: 83.33333333%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-8 {
  left: 66.66666667%; }

.col-xs-push-7 {
  left: 58.33333333%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-5 {
  left: 41.66666667%; }

.col-xs-push-4 {
  left: 33.33333333%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-2 {
  left: 16.66666667%; }

.col-xs-push-1 {
  left: 8.33333333%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-offset-12 {
  margin-left: 100%; }

.col-xs-offset-11 {
  margin-left: 91.66666667%; }

.col-xs-offset-10 {
  margin-left: 83.33333333%; }

.col-xs-offset-9 {
  margin-left: 75%; }

.col-xs-offset-8 {
  margin-left: 66.66666667%; }

.col-xs-offset-7 {
  margin-left: 58.33333333%; }

.col-xs-offset-6 {
  margin-left: 50%; }

.col-xs-offset-5 {
  margin-left: 41.66666667%; }

.col-xs-offset-4 {
  margin-left: 33.33333333%; }

.col-xs-offset-3 {
  margin-left: 25%; }

.col-xs-offset-2 {
  margin-left: 16.66666667%; }

.col-xs-offset-1 {
  margin-left: 8.33333333%; }

.col-xs-offset-0 {
  margin-left: 0%; }

@media (min-width: 600px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-11 {
    width: 91.66666667%; }
  .col-sm-10 {
    width: 83.33333333%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-8 {
    width: 66.66666667%; }
  .col-sm-7 {
    width: 58.33333333%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-5 {
    width: 41.66666667%; }
  .col-sm-4 {
    width: 33.33333333%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-2 {
    width: 16.66666667%; }
  .col-sm-1 {
    width: 8.33333333%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-pull-11 {
    right: 91.66666667%; }
  .col-sm-pull-10 {
    right: 83.33333333%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-8 {
    right: 66.66666667%; }
  .col-sm-pull-7 {
    right: 58.33333333%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-5 {
    right: 41.66666667%; }
  .col-sm-pull-4 {
    right: 33.33333333%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-2 {
    right: 16.66666667%; }
  .col-sm-pull-1 {
    right: 8.33333333%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-push-11 {
    left: 91.66666667%; }
  .col-sm-push-10 {
    left: 83.33333333%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-8 {
    left: 66.66666667%; }
  .col-sm-push-7 {
    left: 58.33333333%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-5 {
    left: 41.66666667%; }
  .col-sm-push-4 {
    left: 33.33333333%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-2 {
    left: 16.66666667%; }
  .col-sm-push-1 {
    left: 8.33333333%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-offset-12 {
    margin-left: 100%; }
  .col-sm-offset-11 {
    margin-left: 91.66666667%; }
  .col-sm-offset-10 {
    margin-left: 83.33333333%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-8 {
    margin-left: 66.66666667%; }
  .col-sm-offset-7 {
    margin-left: 58.33333333%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-5 {
    margin-left: 41.66666667%; }
  .col-sm-offset-4 {
    margin-left: 33.33333333%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-2 {
    margin-left: 16.66666667%; }
  .col-sm-offset-1 {
    margin-left: 8.33333333%; }
  .col-sm-offset-0 {
    margin-left: 0%; } }

@media (min-width: 960px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left; }
  .col-md-12 {
    width: 100%; }
  .col-md-11 {
    width: 91.66666667%; }
  .col-md-10 {
    width: 83.33333333%; }
  .col-md-9 {
    width: 75%; }
  .col-md-8 {
    width: 66.66666667%; }
  .col-md-7 {
    width: 58.33333333%; }
  .col-md-6 {
    width: 50%; }
  .col-md-5 {
    width: 41.66666667%; }
  .col-md-4 {
    width: 33.33333333%; }
  .col-md-3 {
    width: 25%; }
  .col-md-2 {
    width: 16.66666667%; }
  .col-md-1 {
    width: 8.33333333%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-pull-11 {
    right: 91.66666667%; }
  .col-md-pull-10 {
    right: 83.33333333%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-8 {
    right: 66.66666667%; }
  .col-md-pull-7 {
    right: 58.33333333%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-5 {
    right: 41.66666667%; }
  .col-md-pull-4 {
    right: 33.33333333%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-2 {
    right: 16.66666667%; }
  .col-md-pull-1 {
    right: 8.33333333%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-push-11 {
    left: 91.66666667%; }
  .col-md-push-10 {
    left: 83.33333333%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-8 {
    left: 66.66666667%; }
  .col-md-push-7 {
    left: 58.33333333%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-5 {
    left: 41.66666667%; }
  .col-md-push-4 {
    left: 33.33333333%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-2 {
    left: 16.66666667%; }
  .col-md-push-1 {
    left: 8.33333333%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-offset-12 {
    margin-left: 100%; }
  .col-md-offset-11 {
    margin-left: 91.66666667%; }
  .col-md-offset-10 {
    margin-left: 83.33333333%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-8 {
    margin-left: 66.66666667%; }
  .col-md-offset-7 {
    margin-left: 58.33333333%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-5 {
    margin-left: 41.66666667%; }
  .col-md-offset-4 {
    margin-left: 33.33333333%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-2 {
    margin-left: 16.66666667%; }
  .col-md-offset-1 {
    margin-left: 8.33333333%; }
  .col-md-offset-0 {
    margin-left: 0%; } }

@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-11 {
    width: 91.66666667%; }
  .col-lg-10 {
    width: 83.33333333%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-8 {
    width: 66.66666667%; }
  .col-lg-7 {
    width: 58.33333333%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-5 {
    width: 41.66666667%; }
  .col-lg-4 {
    width: 33.33333333%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-2 {
    width: 16.66666667%; }
  .col-lg-1 {
    width: 8.33333333%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-pull-11 {
    right: 91.66666667%; }
  .col-lg-pull-10 {
    right: 83.33333333%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-8 {
    right: 66.66666667%; }
  .col-lg-pull-7 {
    right: 58.33333333%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-5 {
    right: 41.66666667%; }
  .col-lg-pull-4 {
    right: 33.33333333%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-2 {
    right: 16.66666667%; }
  .col-lg-pull-1 {
    right: 8.33333333%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-push-11 {
    left: 91.66666667%; }
  .col-lg-push-10 {
    left: 83.33333333%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-8 {
    left: 66.66666667%; }
  .col-lg-push-7 {
    left: 58.33333333%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-5 {
    left: 41.66666667%; }
  .col-lg-push-4 {
    left: 33.33333333%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-2 {
    left: 16.66666667%; }
  .col-lg-push-1 {
    left: 8.33333333%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-offset-12 {
    margin-left: 100%; }
  .col-lg-offset-11 {
    margin-left: 91.66666667%; }
  .col-lg-offset-10 {
    margin-left: 83.33333333%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-8 {
    margin-left: 66.66666667%; }
  .col-lg-offset-7 {
    margin-left: 58.33333333%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-5 {
    margin-left: 41.66666667%; }
  .col-lg-offset-4 {
    margin-left: 33.33333333%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-2 {
    margin-left: 16.66666667%; }
  .col-lg-offset-1 {
    margin-left: 8.33333333%; }
  .col-lg-offset-0 {
    margin-left: 0%; } }

.clearfix:before, .clearfix:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after {
  content: " ";
  display: table; }

.clearfix:after, .container:after, .container-fluid:after, .row:after {
  clear: both; }

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.pull-right {
  float: right !important; }

.pull-left {
  float: left !important; }

.hide {
  display: none !important; }

.show {
  display: block !important; }

.invisible {
  visibility: hidden; }

.text-hide {
  font-size: 0px;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.hidden {
  display: none !important; }

.affix {
  position: fixed; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  transition: all 0.2s ease; }
  .header__logo {
    width: 130px;
    padding: 20px; }
    .header__logo h6 {
      margin-top: 5px;
      white-space: nowrap;
      font-size: 0.7rem;
      display: none; }
  .header.open .lang-switch {
    transition: 0s;
    opacity: 0; }
  .header .lang-switch {
    position: absolute;
    top: 0;
    right: 110px;
    z-index: 1;
    height: 60px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    opacity: 1;
    transition: all 0.5s ease; }
    .header .lang-switch a, .header .lang-switch span {
      display: block;
      padding: 3px 10px;
      border-radius: 50px;
      color: #fff;
      transition: all 0.5s ease;
      font-size: .8em; }
    .header .lang-switch a {
      color: rgba(38, 70, 158, 0.7); }
      .header .lang-switch a:hover {
        color: #26469e; }
    .header .lang-switch .current {
      background-color: rgba(38, 70, 158, 0.8); }
  .header--fixed {
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.05); }
    .header--fixed .menu__trigger span {
      background-color: #26469E; }
    .header--fixed .header__inner > .circle--blue,
    .header--fixed .header__inner > .circle--blue2 {
      opacity: 0; }
    .header--fixed .lang-switch {
      right: 70px; }
      .header--fixed .lang-switch .current {
        background-color: rgba(38, 70, 158, 0.7); }
  .header__inner > .circle--blue {
    width: 420px;
    height: 420px;
    top: -280px;
    right: -300px;
    animation: none;
    transition: .3s ease; }
    .header__inner > .circle--blue .circle__child {
      width: 250px;
      height: 250px;
      top: 110px;
      left: 0;
      animation: none;
      transform: rotate(150deg); }
  .header__inner > .circle--blue2 {
    width: 420px;
    height: 420px;
    top: -280px;
    right: -300px;
    transform: scale(1.5) rotate(10deg);
    opacity: .3; }
  .header.open .header__inner > .circle--blue {
    transform: scale(15);
    transition: all 0.5s ease;
    opacity: 1 !important; }
  @media screen and (min-width: 960px) {
    .header__logo {
      width: 175px; }
      .header__logo h6 {
        font-size: 1rem;
        position: absolute;
        top: 25px;
        left: 175px;
        margin: 0;
        display: block; }
    .header .lang-switch {
      height: 75px; }
    .header--fixed .lang-switch {
      right: 80px; } }

.home .header__inner > .circle--blue,
.home .header__inner > .circle--blue2 {
  transform: scale(0); }

.home .header .lang-switch {
  right: 70px; }
  .home .header .lang-switch a {
    color: rgba(255, 255, 255, 0.5); }
    .home .header .lang-switch a:hover {
      color: white; }

.home .header--fixed .lang-switch a {
  color: rgba(38, 70, 158, 0.7); }
  .home .header--fixed .lang-switch a:hover {
    color: #26469e; }

@media screen and (min-width: 960px) {
  .home .header .lang-switch {
    right: 80px; } }

.wrap-sub .header--fixed .header__inner .lang-switch span {
  background-color: rgba(38, 70, 158, 0.7);
  color: #fff; }

.wrap-sub .header--fixed .header__inner .lang-switch a {
  color: rgba(38, 70, 158, 0.7); }
  .wrap-sub .header--fixed .header__inner .lang-switch a:hover {
    color: #26469e; }

.menu {
  position: fixed;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  overflow: hidden;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  z-index: 2000;
  pointer-events: none;
  opacity: 0;
  transition: all 0.2s ease; }
  .menu--on {
    right: 0;
    pointer-events: auto;
    opacity: 1; }
    .menu--on nav,
    .menu--on .menu__contact-wrap {
      opacity: 1 !important;
      transform: translateX(0) !important; }
  .menu__wrapper {
    width: 75%;
    z-index: 1;
    position: absolute;
    top: 100px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    overflow: scroll;
    height: 80vh;
    padding: 0 0 40px; }
    @media screen and (min-width: 768px) {
      .menu__wrapper {
        top: 150px;
        width: 67%;
        overflow: visible; } }
  .menu__header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    position: fixed;
    top: 30px;
    z-index: 100;
    width: 75%;
    margin: 0 auto 0 30px; }
    @media screen and (min-width: 768px) {
      .menu__header {
        width: 100%;
        margin: 0;
        padding: 0 80px 0 30px; } }
  .menu__logo {
    width: 80px; }
  .menu__lang {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 100px;
    color: #fff;
    font-size: .7em; }
    .menu__lang a {
      color: #fff; }
    .menu__lang--current {
      background: #26469E;
      display: block;
      padding: 3px 10px;
      border-radius: 50px;
      color: #fff;
      transition: all 0.5s ease;
      font-size: .8em; }
  .menu__contact-wrap {
    margin-top: 30px;
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.3s ease;
    transition-delay: .4s; }
  .menu__address {
    color: #fff;
    display: none; }
  .menu__icon {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    gap: 10px;
    margin-top: 10px; }
    .menu__icon a {
      display: block;
      transition: transform .2s; }
      .menu__icon a:hover {
        transform: translateY(2px); }
    .menu__icon img {
      display: block;
      height: 30px;
      width: auto;
      object-fit: contain;
      background: #fff;
      border-radius: 8px;
      padding: 5px;
      box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .menu__contact-wrap {
      width: 50%;
      text-align: right;
      margin-left: auto;
      margin-top: 0;
      transform: translateX(20px);
      opacity: 0;
      transition: all 0.3s ease;
      transition-delay: .4s; }
    .menu__address {
      display: block;
      font-size: 0.7em;
      line-height: 1.9; }
    .menu__icon {
      -ms-flex-pack: end;
          justify-content: flex-end; } }
  .menu__main {
    font-size: 2em; }
    .menu__main li {
      padding: 20px 0;
      font-size: 1.2em; }
    @media screen and (min-width: 768px) {
      .menu__main {
        font-size: 2.2em; } }
    @media screen and (min-width: 1100px) {
      .menu__main {
        font-size: 2em; } }
  .menu__sub {
    font-size: 1.2em;
    margin-top: 30px; }
    .menu__sub li {
      margin-top: 10px; }
    @media screen and (min-width: 768px) {
      .menu__sub {
        margin-top: 0;
        margin-left: 120px; }
        .menu__sub li {
          margin: 25px 0; }
        .menu__sub a {
          font-size: 24px; } }
  .menu .development {
    position: relative;
    display: inline-block;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    transition: all 0.3s ease; }
    .menu .development label {
      cursor: pointer; }
    .menu .development label::after {
      content: "";
      position: absolute;
      right: -30px;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 10px;
      height: 10px;
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
      transform: rotate(45deg); }
  .menu .development__check {
    display: none; }
  .menu .development__show {
    position: absolute;
    overflow: hidden;
    opacity: 0;
    transition: 0.5s;
    padding: 7px 26px 18px;
    background: #4664bb;
    margin-top: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.13);
    pointer-events: none; }
    .menu .development__show li {
      padding: 2px 0 8px; }
    .menu .development__show a {
      font-size: 18px;
      font-weight: normal; }
  .menu .page-link.development {
    position: relative;
    z-index: 2; }
  .menu .development__check:checked + label::after {
    transform: translateY(5px) rotate(-135deg); }
  .menu .development__check:checked + label + .development__show {
    opacity: 1;
    pointer-events: auto; }
  .menu nav {
    transition: all 0.3s ease;
    transition-delay: .4s;
    opacity: 0;
    transform: translateX(-20px); }
    @media screen and (min-width: 768px) {
      .menu nav {
        display: -ms-flexbox;
        display: flex; } }
    .menu nav::-webkit-scrollbar {
      width: 10px; }
    .menu nav::-webkit-scrollbar-track {
      border-radius: 10px;
      background: #b7b9e4; }
    .menu nav::-webkit-scrollbar-thumb {
      border-radius: 10px;
      background: #1F2C5C; }
    .menu nav li {
      line-height: 1.1; }
      .menu nav li .entrusted-list {
        padding-left: 120px;
        position: absolute;
        top: 245px;
        left: 200px; }
        .menu nav li .entrusted-list li a {
          white-space: nowrap; }
    .menu nav a {
      position: relative;
      display: inline-block;
      color: #fff;
      font-family: 'Open Sans', sans-serif;
      font-weight: 700;
      transition: all 0.3s ease; }
      .menu nav a::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: -50px;
        width: 0;
        height: 5px;
        margin: auto;
        background-color: #fff;
        transition: all 0.3s ease; }
      .menu nav a:hover::after {
        width: 35px; }
      .menu nav a svg {
        display: inline-block;
        margin-left: 15px;
        width: 20px !important; }
  .menu .circle--blue1 {
    background: linear-gradient(#4C63AD, #26469E);
    width: 1000px;
    height: 1000px;
    bottom: -500px;
    right: -700px;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.1); }
  .menu .circle--blue2 {
    background: linear-gradient(#4C63AD, #26469E);
    width: 450px;
    height: 450px;
    top: -200px;
    right: -200px;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.05); }
  @media screen and (min-width: 960px) {
    .menu {
      -ms-flex-pack: center;
          justify-content: center; }
      .menu .circle--blue1 {
        width: 1100px;
        height: 1100px;
        bottom: -8px;
        right: 0;
        box-shadow: 0 0 50px rgba(0, 0, 0, 0.1); }
      .menu .circle--blue2 {
        width: 600px;
        height: 600px;
        top: -200px;
        right: -200px;
        box-shadow: 0 0 50px rgba(0, 0, 0, 0.05); } }

.menu__trigger {
  position: relative;
  z-index: 3000;
  border: none;
  width: 60px;
  height: 60px;
  line-height: 1;
  vertical-align: middle;
  text-align: center;
  outline: none; }
  .menu__trigger:hover {
    cursor: pointer; }
  .menu__trigger span {
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    width: 22px;
    height: 4px;
    margin: auto;
    background: #fff;
    line-height: 1;
    vertical-align: middle; }
    .menu__trigger span:nth-of-type(1) {
      top: 35%;
      transition: all 0.2s ease; }
    .menu__trigger span:nth-of-type(2) {
      top: 50%;
      margin-top: -2px;
      transition: all 0.2s ease; }
    .menu__trigger span:nth-of-type(3) {
      bottom: 35%;
      transition: all 0.2s ease; }
  .menu__trigger--on span {
    background: #fff; }
    .menu__trigger--on span:nth-of-type(1) {
      top: 50%;
      margin-top: -2px;
      transform: rotate(-45deg);
      transition: all 0.2s ease; }
    .menu__trigger--on span:nth-of-type(2) {
      display: none; }
    .menu__trigger--on span:nth-of-type(3) {
      bottom: 50%;
      margin-bottom: -2px;
      transform: rotate(45deg);
      transition: all 0.2s ease; }
  @media screen and (min-width: 960px) {
    .menu__trigger {
      width: 75px;
      height: 75px; } }

.overlay {
  display: none !important;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1500;
  pointer-events: none;
  opacity: 0;
  transition: all 0.2s ease; }
  .overlay--on {
    opacity: 1; }

.footer {
  padding: 0 0 50px; }
  .footer .cv {
    margin-bottom: 50px; }
    .footer .cv .button {
      width: 100%;
      text-align: center;
      font-size: 16px;
      padding: 15px 20px;
      margin-bottom: 20px; }
  .footer .bnr-area {
    margin-bottom: 40px; }
  .footer__logo {
    margin-bottom: 20px; }
  .footer__data {
    margin-bottom: 10px; }
  .footer__sns {
    margin-bottom: 30px; }
    .footer__sns li {
      margin-right: 10px; }
    .footer__sns a {
      display: block;
      transition: transform .2s; }
      .footer__sns a:hover {
        transform: translateY(2px); }
    .footer__sns img {
      width: 36px;
      height: 36px;
      object-fit: contain; }
  .footer .bnr-area {
    position: relative; }
    .footer .bnr-area::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto;
      height: 80px;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent); }
  .footer .bnr__item {
    padding: 50px 0;
    overflow: hidden; }
    .footer .bnr__item--webar {
      position: relative; }
      .footer .bnr__item--webar .bnr__webar__bg {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -20%;
        right: 0;
        margin: auto;
        width: 140%; }
        .footer .bnr__item--webar .bnr__webar__bg video {
          width: 100%; }
      .footer .bnr__item--webar .bnr__ttl img {
        width: 200px !important; }
      .footer .bnr__item--webar .bnr__ttl,
      .footer .bnr__item--webar .bnr__copy,
      .footer .bnr__item--webar .bnr__btn {
        position: relative;
        z-index: 2; }
    .footer .bnr__item--cos {
      background-image: url(/assets/images/bnr_cos.png);
      background-position: 35% center;
      background-size: 180%;
      background-repeat: no-repeat; }
      .footer .bnr__item--cos .bnr__ttl,
      .footer .bnr__item--cos .bnr__copy {
        color: #000; }
      .footer .bnr__item--cos .bnr__copy span {
        background-image: linear-gradient(transparent 1.1em, #60EFA2 50%, #60EFA2 100%); }
      .footer .bnr__item--cos .bnr__copy--pc {
        display: none; }
  .footer .bnr__cont {
    max-width: 1080px; }
  .footer .bnr__ttl {
    color: #fff;
    font-size: 22px; }
  .footer .bnr__copy {
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px; }
    .footer .bnr__copy span {
      font-size: 18px;
      font-weight: bold;
      display: inline-block; }
  @media screen and (min-width: 960px) {
    .footer .cv {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .footer .cv .button {
        width: 48%;
        padding: 20px 20px; }
    .footer__info {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: end;
          align-items: flex-end; }
    .footer__data {
      margin-bottom: 30px; }
    .footer__sns {
      margin-bottom: 0; }
    .footer .bnr__item {
      padding: 160px 0; }
      .footer .bnr__item--webar .bnr__pad {
        padding-left: 50%; }
      .footer .bnr__item--webar .bnr__ttl img {
        width: 350px !important; }
      .footer .bnr__item--cos {
        background-position: right center;
        background-size: cover; }
        .footer .bnr__item--cos .bnr__copy--sp {
          display: none; }
        .footer .bnr__item--cos .bnr__copy--pc {
          display: block; }
    .footer .bnr__ttl {
      font-size: 42px;
      margin-bottom: 60px; }
    .footer .bnr__copy {
      font-size: 32px;
      margin-bottom: 50px; }
      .footer .bnr__copy span {
        font-size: 36px; } }

/* module */
.button {
  display: inline-block;
  padding: 8px 20px;
  border-radius: 50px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  font-weight: bold;
  color: #fff;
  transition: all 0.2s ease; }
  .button:hover {
    box-shadow: none !important;
    transform: translateY(1px); }
  .button--normal {
    background: linear-gradient(to right bottom, #26469E, #8796ca); }
  .button--white {
    background: #fff;
    color: #26469E; }
  .button--primary {
    background: linear-gradient(to right bottom, #E21E07, #EB6A5B); }
  .button--monji {
    background: linear-gradient(to right bottom, #FFD900, #FFF3B1);
    color: #000;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
  .button--mughen {
    background: linear-gradient(to right bottom, #2C3E8E, #f1551b);
    color: #fff;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
  .button--webxr {
    background: linear-gradient(to right bottom, #1487E9, #7C38BF);
    color: #fff;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
  .button--sub {
    background: linear-gradient(to right bottom, #999, #ccc);
    font-size: 12px !important; }
  .button--quwasy {
    background: linear-gradient(to right bottom, #674498, #9C7FC6); }
  .button--kuraeru {
    background: linear-gradient(to right bottom, #CE5C7D, #f7a3bb); }

.form input[type="text"],
.form input[type="email"],
.form select,
.form textarea {
  max-width: 100%;
  padding: 10px;
  font-size: 16px;
  border: 1px solid #e0e0e0; }

.form .table__head {
  position: relative;
  width: 100%;
  padding-right: 30px; }

.form .required::after {
  content: "必須";
  position: absolute;
  display: inline-block;
  background-color: #C23A2A;
  padding: 3px 5px;
  top: .5em;
  right: 0;
  color: #fff;
  font-size: 11px;
  line-height: 1.2; }

.form .required_en::after {
  content: "※";
  position: absolute;
  display: inline-block;
  padding: 3px 5px;
  top: .5em;
  right: 0;
  color: #C23A2A;
  font-size: 15px;
  line-height: 1.2; }

.form ol li {
  margin-bottom: 10px; }
  .form ol li:last-child {
    margin-bottom: 0; }

.form .name {
  margin-bottom: 10px; }
  .form .name:last-child {
    margin-bottom: 0; }

.form__button {
  padding: 20px 0;
  text-align: center; }
  .form__button .button {
    font-size: 16px;
    padding-left: 40px;
    padding-right: 40px; }

.form__col {
  margin: 0 10px 10px 0; }

@media screen and (min-width: 960px) {
  .form .table__head {
    width: 290px; }
  .form .required::after {
    right: 20px; }
  .form .name {
    margin-bottom: 0; }
  .form__col {
    margin: 0 10px 0 0; } }

.has-tooltip {
  position: relative; }
  .has-tooltip:hover .tooltip {
    opacity: 1;
    pointer-events: auto; }
    .has-tooltip:hover .tooltip--top {
      top: 0;
      transform: translateY(-100%) scale(1); }
    .has-tooltip:hover .tooltip--bottom {
      bottom: 0;
      transform: translateY(100%) scale(1); }
    .has-tooltip:hover .tooltip--left {
      left: 0;
      transform: translateY(-50%) translateX(-100%) scale(1); }
    .has-tooltip:hover .tooltip--right {
      right: 0;
      transform: translateY(-50%) translateX(100%) scale(1); }

.tooltip {
  position: absolute;
  font-size: 10px;
  background-color: #f00;
  padding: 5px 10px;
  opacity: 0;
  pointer-events: none;
  transition: all 0.1s ease; }
  .tooltip a {
    text-decoration: underline;
    color: #000; }
    .tooltip a:hover {
      text-decoration: none; }
  .tooltip:after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    margin: auto;
    box-sizing: border-box; }
  .tooltip--top {
    width: calc(100% + 20px);
    top: 10px;
    left: -10px;
    transform: translateY(-100%) scale(0.9); }
    .tooltip--top:after {
      left: 0;
      right: 0;
      bottom: -14px;
      border: 7px solid transparent;
      border-top: 7px solid #f00; }
  .tooltip--bottom {
    width: calc(100% + 20px);
    bottom: 10px;
    left: -10px;
    transform: translateY(100%) scale(0.9); }
    .tooltip--bottom:after {
      left: 0;
      right: 0;
      top: -14px;
      border: 7px solid transparent;
      border-bottom: 7px solid #f00; }
  .tooltip--left {
    width: calc(100% + 20px);
    top: 50%;
    left: 10px;
    transform: translateY(-50%) translateX(-100%) scale(0.9); }
    .tooltip--left:after {
      top: 0;
      bottom: 0;
      right: -14px;
      border: 7px solid transparent;
      border-left: 7px solid #f00; }
  .tooltip--right {
    width: calc(100% + 20px);
    top: 50%;
    right: 10px;
    transform: translateY(-50%) translateX(100%) scale(0.9); }
    .tooltip--right:after {
      top: 0;
      bottom: 0;
      left: -14px;
      border: 7px solid transparent;
      border-right: 7px solid #f00; }

/* theme */
.main-visual {
  position: relative; }
  .main-visual .js-ml {
    opacity: 0; }
  .main-visual__inner {
    height: 100vh;
    padding: 80px 0 100px; }
  .main-visual__cont {
    padding: 30px;
    margin: 0 auto;
    transition: all 1s ease;
    opacity: 0;
    transform: scale(0.9);
    filter: blur(50px); }
  .main-visual.inview-js--on .main-visual__cont {
    opacity: 1;
    transform: scale(1);
    filter: blur(0); }
  .main-visual__copy-area {
    margin: auto;
    padding-bottom: 30px; }
  .main-visual__copy:nth-child(1) {
    width: 200px; }
  .main-visual__copy:nth-child(3) {
    width: 180px; }
  .main-visual__copy-responsiv {
    background-color: #fff;
    padding: 10px;
    margin: 10px 0;
    font-size: 36px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700; }
    .main-visual__copy-responsiv .text-wrapper {
      position: relative;
      display: inline-block; }
    .main-visual__copy-responsiv .line {
      opacity: 0;
      position: absolute;
      left: 0;
      height: 100%;
      width: 2px;
      background-color: #000;
      transform-origin: 0 50%; }
    .main-visual__copy-responsiv .line1 {
      top: 0;
      left: 0; }
    .main-visual__copy-responsiv .letter {
      display: inline-block;
      line-height: 1em; }
    .main-visual__copy-responsiv .letters {
      display: none;
      white-space: nowrap; }
      .main-visual__copy-responsiv .letters--current {
        display: block; }
  .main-visual .circle--blue {
    width: 1000px;
    height: 1000px;
    top: -500px;
    right: -780px; }
    .main-visual .circle--blue .circle__child {
      width: 700px;
      height: 700px;
      top: 350px;
      left: 80px; }
  .main-visual .circle--blue2 {
    animation: none;
    transform: scale(1.2) rotate(90deg); }
  .main-visual .circle--blue3 {
    display: none; }
  .main-visual .circle--red {
    width: 550px;
    height: 550px;
    top: 150px;
    left: -280px; }
    .main-visual .circle--red .circle__child {
      width: 700px;
      height: 700px;
      top: 250px;
      left: 250px; }
  .main-visual__mock {
    display: none; }
  .main-visual .scroller {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center; }
    .main-visual .scroller button {
      line-height: 1; }
    .main-visual .scroller span {
      font-family: 'Open Sans', sans-serif;
      font-weight: normal; }
    .main-visual .scroller__icon {
      display: block;
      font-size: 20px;
      animation: bounce 1s linear infinite; }
  @media screen and (min-width: 960px) {
    .main-visual {
      margin-bottom: 15%; }
      .main-visual .circle__wrap {
        opacity: 0;
        transform: rotateX(-20deg) rotateY(54deg) scaleX(1.2) scaleY(0.9) translateX(0px) translateY(-50px) translateZ(-70px);
        transition: 2s ease 2.4s; }
      .main-visual .circle--blue {
        width: 950px;
        height: 950px;
        top: -250px;
        right: -50%;
        box-shadow: -50px 50px 100px rgba(0, 0, 0, 0.1); }
        .main-visual .circle--blue .circle__child {
          display: inline;
          width: 900px;
          height: 900px;
          top: 450px; }
      .main-visual .circle--red {
        width: 650px;
        height: 650px;
        top: 50px;
        left: -550px;
        box-shadow: -50px 50px 100px rgba(0, 0, 0, 0.1); }
        .main-visual .circle--red .circle__child {
          width: 700px;
          height: 700px;
          top: 250px;
          left: 250px; }
      .main-visual .circle--blue2 {
        display: none; }
      .main-visual .circle--blue3 {
        display: block;
        width: 250px;
        height: 250px;
        top: 200px;
        left: 1100px; }
      .main-visual .circle--blue4 {
        display: block;
        width: 250px;
        height: 250px;
        top: 500px;
        left: 1300px; }
      .main-visual__inner {
        padding: 120px 0 100px; }
      .main-visual__mock {
        display: block;
        position: absolute;
        width: 50%;
        top: 450px;
        right: 5%;
        transition: 2s ease 2.2s !important; }
      .main-visual__cont {
        box-shadow: none;
        background: none;
        margin: 0 0 0 15%;
        opacity: 1;
        transform: scale(1);
        filter: blur(50px); }
      .main-visual__copy-area {
        margin: 0; }
      .main-visual__copy-area {
        width: 40%;
        margin: 0;
        transition: transform 1s ease 2s, opacity 2s ease 0s, filter 2s ease 0s;
        opacity: 0;
        transform: rotateX(0) rotateY(0) scaleX(0.8) scaleY(0.8) translateX(0px) translateY(0px) translateZ(0px); }
      .main-visual::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 210%;
        max-width: 2900px;
        height: 2000px;
        background-color: #ccc;
        transform: rotateX(-20deg) rotateY(54deg) scaleX(2.5) scaleY(0.9) translateX(0px) translateY(-1900px) translateZ(-70px);
        z-index: -1;
        background: linear-gradient(to top, #c3cbe2 0%, rgba(195, 203, 226, 0) 30%, rgba(195, 203, 226, 0) 100%);
        transition: 2s ease 2s;
        opacity: 0; }
      .main-visual.inview-js--on .circle__wrap {
        opacity: 1; }
      .main-visual.inview-js--on .main-visual__copy-area {
        opacity: 1;
        filter: blur(0px);
        transform: rotateX(-20deg) rotateY(54deg) scaleX(1.2) scaleY(0.9) translateX(100px) translateY(-50px) translateZ(-70px); }
      .main-visual.inview-js--on::after {
        opacity: 1; }
      .main-visual__copy-responsiv {
        box-shadow: 0 0 200px rgba(0, 0, 0, 0.1);
        font-size: 80px; }
      .main-visual__copy:nth-child(1) {
        width: 100%; }
        .main-visual__copy:nth-child(1) img {
          width: 100%; }
      .main-visual__copy:nth-child(3) {
        width: 90%; }
      .main-visual .scroller {
        display: none; } }
  @media screen and (min-width: 1500px) {
    .main-visual::after {
      transform: rotateX(-20deg) rotateY(54deg) scaleX(2.5) scaleY(0.9) translateX(0px) translateY(-1800px) translateZ(-70px); }
    .main-visual .circle--blue {
      width: 1200px;
      height: 1200px; }
    .main-visual .circle--blue3 {
      width: 300px;
      height: 300px; }
    .main-visual .circle--blue4 {
      width: 200px;
      height: 200px; }
    .main-visual__mock {
      top: 500px; }
    .main-visual__copy-area {
      width: 50%; }
    .main-visual__copy-responsiv {
      font-size: 100px; } }
  @media screen and (min-width: 1750px) {
    .main-visual::after {
      transform: rotateX(-20deg) rotateY(54deg) scaleX(2.5) scaleY(0.9) translateX(0px) translateY(-1700px) translateZ(-70px); }
    .main-visual__copy-area {
      width: 60%; } }

.top .special {
  background-image: url(/assets/images/special_bg.png);
  background-position: center;
  background-size: cover;
  padding: 50px 0; }
  .top .special-ttl {
    width: 90%;
    max-width: 750px;
    margin: 0 auto 30px; }
    @media screen and (min-width: 960px) {
      .top .special-ttl {
        margin: 0 auto 50px; } }
  .top .special .btn {
    text-align: center; }
    .top .special .btn .button {
      font-size: 1.2em; }

.top .mission .sec__desc {
  position: relative;
  width: 170px; }

.top .mission .sec__header {
  position: relative;
  z-index: 10; }

.top .mission__logo {
  position: absolute;
  right: -90px;
  bottom: -150px;
  width: 320px; }

.top .mission__img {
  margin-top: 80px;
  padding: 100px 10px 70px;
  z-index: 1; }
  .top .mission__img img {
    margin: auto; }

@media screen and (min-width: 960px) {
  .top .mission .sec__desc {
    display: inline-block;
    width: auto;
    font-size: 24px;
    letter-spacing: .2em; }
  .top .mission .sec__header {
    width: 80%;
    margin: 0 auto 60px;
    padding-bottom: 100px;
    text-align: left; }
  .top .mission__logo {
    max-width: 650px;
    width: 70%;
    bottom: -200px; }
  .top .mission__img {
    padding-top: 140px; } }

.top .solution {
  position: relative; }
  .top .solution .circle--blue2 {
    width: 550px;
    height: 550px;
    top: -330px;
    left: -280px;
    transform: rotate(-20deg);
    animation: none; }
  .top .solution .sec__header {
    margin-bottom: 0; }
  .top .solution__img {
    width: 185%;
    transform: translateX(-22%);
    margin-bottom: 30px; }
  @media screen and (min-width: 960px) {
    .top .solution .circle--blue2 {
      width: 800px;
      height: 800px;
      top: -430px;
      left: -100px;
      opacity: .4; }
    .top .solution__img {
      width: 80%;
      max-width: 1000px;
      transform: translateX(0);
      margin: 30px auto 100px; } }

.top .identity {
  position: relative; }
  .top .identity .circle--blue {
    width: 1000px;
    height: 1000px;
    top: 700px;
    right: -720px; }
    .top .identity .circle--blue .circle__child {
      width: 700px;
      height: 700px;
      top: 350px;
      left: 80px; }
  .top .identity .circle--red {
    width: 750px;
    height: 750px;
    top: 100px;
    left: -480px; }
    .top .identity .circle--red .circle__child {
      width: 500px;
      height: 500px;
      top: 250px;
      left: 250px; }
  .top .identity__ttl {
    position: relative;
    width: 185px;
    margin: 0 auto 40px; }
  .top .identity__num {
    position: absolute;
    top: 15px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 40px;
    line-height: 1; }
    .top .identity__num:before, .top .identity__num:after {
      content: "";
      position: absolute;
      top: 50%;
      width: 20px;
      height: 2px; }
    .top .identity__num:before {
      left: -25px; }
    .top .identity__num:after {
      right: -25px; }
  .top .identity__icon {
    position: absolute;
    width: 110px; }
  @media screen and (min-width: 960px) {
    .top .identity__ttl {
      width: 300px;
      margin-bottom: 70px; }
    .top .identity__list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; }
    .top .identity__num {
      left: 15px !important;
      right: auto !important;
      font-size: 50px; }
    .top .identity__icon {
      position: static;
      width: 150px;
      margin: 0 auto 50px; }
    .top .identity .button {
      position: absolute;
      bottom: 30px;
      left: 30px; } }
  .top .identity__item {
    position: relative;
    padding: 50px 30px; }
    .top .identity__item:nth-child(odd) .identity__inner {
      padding-left: 90px; }
    .top .identity__item:nth-child(odd) .identity__num {
      left: 15px; }
    .top .identity__item:nth-child(even) .identity__inner {
      padding-right: 90px; }
    .top .identity__item:nth-child(even) .identity__num {
      right: 15px; }
    @media screen and (min-width: 960px) {
      .top .identity__item {
        width: 29%;
        margin-left: 2%;
        margin-right: 2%;
        padding: 100px 30px 30px; }
        .top .identity__item .identity__inner {
          padding: 0 !important; } }
    .top .identity__item:nth-child(1) .identity__num {
      color: #0ED3D3; }
      .top .identity__item:nth-child(1) .identity__num:before, .top .identity__item:nth-child(1) .identity__num:after {
        background-color: #0ED3D3; }
    .top .identity__item:nth-child(1) .identity__icon {
      top: 120px;
      left: -25px; }
    .top .identity__item:nth-child(2) .identity__num {
      color: #BBE356; }
      .top .identity__item:nth-child(2) .identity__num:before, .top .identity__item:nth-child(2) .identity__num:after {
        background-color: #BBE356; }
    .top .identity__item:nth-child(2) .identity__icon {
      top: 150px;
      right: -15px; }
    .top .identity__item:nth-child(3) .identity__num {
      color: #F7D051; }
      .top .identity__item:nth-child(3) .identity__num:before, .top .identity__item:nth-child(3) .identity__num:after {
        background-color: #F7D051; }
    .top .identity__item:nth-child(3) .identity__icon {
      top: 140px;
      left: -15px; }
    .top .identity__item:nth-child(4) .identity__num {
      color: #E382AB; }
      .top .identity__item:nth-child(4) .identity__num:before, .top .identity__item:nth-child(4) .identity__num:after {
        background-color: #E382AB; }
    .top .identity__item:nth-child(4) .identity__icon {
      top: 120px;
      right: -15px; }
    .top .identity__item:nth-child(5) .identity__num {
      color: #9773D6; }
      .top .identity__item:nth-child(5) .identity__num:before, .top .identity__item:nth-child(5) .identity__num:after {
        background-color: #9773D6; }
    .top .identity__item:nth-child(5) .identity__icon {
      top: 140px;
      left: -15px; }
    .top .identity__item:nth-child(6) .identity__num {
      color: #2f7eff; }
      .top .identity__item:nth-child(6) .identity__num:before, .top .identity__item:nth-child(6) .identity__num:after {
        background-color: #2f7eff; }
    .top .identity__item:nth-child(6) .identity__icon {
      top: 120px;
      right: -15px; }

.top .products {
  position: relative; }
  .top .products__ttl-area {
    margin-bottom: 10px;
    -ms-flex-align: center;
        align-items: center; }
  .top .products .box {
    margin-bottom: 0; }
    @media screen and (min-width: 960px) {
      .top .products .box {
        display: -ms-flexbox;
        display: flex; } }
  .top .products__desc {
    margin-bottom: 30px; }
  .top .products .mb-10 {
    margin-bottom: 10px; }
  .top .products .desc01 {
    margin-bottom: 15px; }
  .top .products .desc02 {
    margin-bottom: 30px; }
    .top .products .desc02__flex {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      margin-bottom: 10px; }
      .top .products .desc02__flex .a-logo {
        margin-left: 1em;
        width: 30%; }
        @media screen and (min-width: 760px) {
          .top .products .desc02__flex .a-logo {
            width: 20%;
            margin-left: 0.5em; } }
    .top .products .desc02__ttl {
      display: block;
      font-size: 13px;
      line-height: 1.5;
      margin-bottom: 0.5rem;
      padding-left: 5px;
      width: 86%; }
      @media screen and (min-width: 560px) {
        .top .products .desc02__ttl {
          font-size: 1.1rem; } }
      @media screen and (min-width: 960px) {
        .top .products .desc02__ttl {
          font-size: 1.2rem; } }
      .top .products .desc02__ttl .pc-br {
        display: none; }
        @media screen and (min-width: 560px) {
          .top .products .desc02__ttl .pc-br {
            display: block; } }
        @media screen and (min-width: 960px) {
          .top .products .desc02__ttl .pc-br {
            display: none; } }
        @media screen and (min-width: 1240px) {
          .top .products .desc02__ttl .pc-br {
            display: block; } }
  .top .products .bg-augmented {
    background-color: #F4F7FF;
    padding: 1rem;
    margin-bottom: 1.5rem; }
    @media screen and (min-width: 960px) {
      .top .products .bg-augmented {
        padding: 1.5rem; } }
    .top .products .bg-augmented .mb-0 {
      margin-bottom: 0; }
  @media screen and (min-width: 960px) {
    .top .products__img {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      padding: 3rem;
      padding-left: 0; } }
  @media screen and (min-width: 960px) {
    .top .products__img img {
      box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.2); } }
  .top .products__logo {
    width: 80px;
    transform: translateX(-10%); }
  .top .products__logo-mughen, .top .products__logo-webxr {
    max-width: 250px; }
    @media screen and (min-width: 535px) {
      .top .products__logo-mughen, .top .products__logo-webxr {
        padding-right: 1rem; } }
    .top .products__logo-mughen img, .top .products__logo-webxr img {
      margin-bottom: 5px; }
    @media screen and (min-width: 960px) {
      .top .products__logo-mughen__logo-webxr img, .top .products__logo-webxr__logo-webxr img {
        padding-bottom: 1rem; } }
    @media screen and (min-width: 1344px) {
      .top .products__logo-mughen__logo-webxr img, .top .products__logo-webxr__logo-webxr img {
        padding-bottom: 0; } }
  .top .products__cont-area {
    padding: 30px;
    background-color: #fff; }
  .top .products__ttl span {
    color: #999; }
  .top .products__ttl .d-md-none {
    display: none; }
    @media screen and (min-width: 960px) {
      .top .products__ttl .d-md-none {
        display: block; } }
  .top .products__name {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 24px; }
  .top .products__item {
    width: 100%;
    padding: 0; }
    .top .products__item__wrap {
      position: relative;
      padding: 30px 5%; }
      .top .products__item__wrap::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 10px;
        top: 0;
        left: 0;
        right: 0; }
      .top .products__item__wrap.products__monji {
        background: linear-gradient(to right bottom, #FFD900, white); }
        .top .products__item__wrap.products__monji::after {
          background: linear-gradient(to right, #FFD900, white); }
      .top .products__item__wrap.products__quwasy {
        background: linear-gradient(to right bottom, #674498, white); }
        .top .products__item__wrap.products__quwasy::after {
          background: linear-gradient(to right, #674498, white); }
      .top .products__item__wrap.products__rewebsite {
        background: linear-gradient(to right bottom, #26469E, white); }
        .top .products__item__wrap.products__rewebsite::after {
          background: linear-gradient(to right, #26469E, white); }
      .top .products__item__wrap.products__kuraeru {
        background: linear-gradient(to right bottom, #CE5C7D, white); }
        .top .products__item__wrap.products__kuraeru::after {
          background: linear-gradient(to right, #CE5C7D, white); }
      .top .products__item__wrap.products__mughen {
        background: linear-gradient(to right bottom, #2C3E8E, #f1551b); }
        .top .products__item__wrap.products__mughen::after {
          background: linear-gradient(to right, #2C3E8E, #f1551b); }
      .top .products__item__wrap.products__webxr {
        background: linear-gradient(to right bottom, #1487E9, #7c38bf); }
        .top .products__item__wrap.products__webxr::after {
          background: linear-gradient(to right, #1487E9, #7c38bf); }
  @media screen and (min-width: 960px) {
    .top .products__list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .top .products__item__wrap {
      padding: 50px;
      display: -ms-flexbox;
      display: flex; }
    .top .products__logo {
      width: 120px; }
    .top .products__logo-mughen, .top .products__logo-webxr {
      width: 258px;
      padding-right: 1rem; }
    .top .products__logo-mughen img {
      margin-bottom: 0; }
    .top .products__cont-area {
      padding: 60px 60px 100px;
      width: 920px; }
    .top .products__ttl-area {
      margin-bottom: 20px; }
    .top .products .button {
      position: absolute;
      bottom: 60px; }
    .top .products > .inner {
      width: 100%; } }

.top .works {
  padding-bottom: 100px; }
  .top .works__contents {
    background-color: #cdd5ea; }
    .top .works__contents::before {
      content: "";
      background: linear-gradient(to left, #cdd5ea, white); }
    .top .works__contents::after {
      display: none; }
  .top .works .sec__header {
    margin-bottom: 40px; }
  @media screen and (min-width: 960px) {
    .top .works__btn {
      text-align: center; } }

.top .blog {
  position: relative;
  background-color: #26469E;
  padding: 90px 0; }
  .top .blog .sec__ttl {
    color: #fff; }
  .top .blog .sec__row {
    margin-bottom: 100px; }
    .top .blog .sec__row:last-child {
      margin-bottom: 0; }
  .top .blog .inner {
    position: relative;
    z-index: 1; }
  .top .blog__post {
    margin-bottom: 40px;
    transition: all 0.2s ease; }
    .top .blog__post .blog__thumb {
      margin-bottom: 20px; }
    .top .blog__post .post__ttl {
      color: #fff;
      font-size: 18px; }
    .top .blog__post .post__description {
      margin-top: 10px;
      color: rgba(255, 255, 255, 0.7); }
  .top .blog__btn {
    margin-top: 0; }
  @media screen and (min-width: 960px) {
    .top .blog {
      padding: 120px 0; }
      .top .blog .circle--blue2 {
        width: 1000px;
        height: 1000px;
        bottom: -350px;
        right: -360px; }
      .top .blog .sec__ttl {
        text-align: center; }
      .top .blog__archive {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between; }
      .top .blog__post {
        width: 33.3333%;
        padding: 30px;
        cursor: pointer; }
        .top .blog__post:hover {
          background-color: #3058c7;
          transform: translateY(-10px) scale(1.02);
          box-shadow: 0 0 80px rgba(0, 0, 0, 0.2); }
      .top .blog__btn {
        text-align: center; } }

.sns-timeline {
  margin-bottom: 30px;
  max-width: 1080px; }
  .sns-timeline li {
    margin: 30px 0 0; }

@media screen and (min-width: 960px) {
  .sns-timeline {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin-bottom: 50px; }
    .sns-timeline li {
      max-width: 500px;
      width: calc(50% - 40px);
      margin: 30px 10px 0; } }

.development {
  position: relative; }
  .development__sub {
    padding-top: 60px; }
  .development .sec__header {
    position: relative; }
  .development .circle--blue {
    width: 1000px;
    height: 1000px;
    top: 200px;
    right: -720px; }
    .development .circle--blue .circle__child {
      width: 700px;
      height: 700px;
      top: 350px;
      left: 80px; }
  .development .circle--red {
    width: 750px;
    height: 750px;
    top: 900px;
    left: -480px; }
    .development .circle--red .circle__child {
      width: 500px;
      height: 500px;
      top: 250px;
      left: 250px; }
  .development .topic__ttl {
    font-size: 24px; }
  .development__ttl {
    position: absolute;
    top: -10px;
    right: 0px;
    transform: rotate(90deg) translateX(100%);
    transform-origin: right top;
    font-size: 32px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
    z-index: 10; }
  .development__item {
    position: relative;
    padding: 0 !important; }
  .development__img {
    position: relative;
    z-index: 1; }
    .development__img::after {
      content: "";
      position: absolute;
      bottom: -10px;
      left: 0;
      right: 0;
      width: 100%;
      height: 10px;
      background: linear-gradient(to right, #26469E, white); }
  .development__cont {
    padding: 40px 30px 30px; }
  @media screen and (min-width: 960px) {
    .development {
      padding-bottom: 0; }
      .development .inner {
        width: 100% !important; }
      .development .circle--blue {
        width: 600px;
        height: 600px;
        right: -220px; }
        .development .circle--blue .circle__child {
          width: 400px;
          height: 400px; }
      .development .circle--red {
        width: 450px;
        height: 450px;
        top: 0px;
        left: -180px; }
        .development .circle--red .circle__child {
          width: 400px;
          height: 400px;
          top: 250px;
          left: 250px; }
      .development__list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: center;
            justify-content: center; }
      .development__item {
        width: calc(100% / 4);
        margin-bottom: 0; }
      .development__cont {
        padding-bottom: 70px; }
        .development__cont .button {
          text-align: center;
          position: absolute;
          left: 30px;
          bottom: 30px; }
      .development .sec__desc {
        font-size: 16px; } }

@keyframes bounce {
  0%,
  100%,
  20%,
  50%,
  70% {
    transform: translateY(0); }
  40% {
    transform: translateY(-5px); }
  60% {
    transform: translateY(-3px); } }

@keyframes zoom {
  0% {
    transform: scale(0.9);
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 0; } }

.philosophy-inner {
  text-align: left;
  margin: auto;
  max-width: 600px;
  ist-style: none;
  counter-reset: number -1; }
  .philosophy-inner li {
    line-height: 2.5;
    position: relative;
    padding-left: 1.5rem; }
  .philosophy-inner li::before {
    counter-increment: number;
    content: "" counter(number) ".";
    position: absolute;
    left: 0; }

.mission__copy {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 20px; }

.aboutus .logo-history__img {
  max-width: 400px;
  width: 60%;
  margin: 0 auto 50px; }

@media screen and (min-width: 960px) {
  .aboutus .philosophy {
    text-align: center; }
    .aboutus .philosophy .circle--blue2 {
      bottom: -250px;
      right: -160px; } }

.data {
  max-width: 700px;
  margin: auto; }

.staff .sec__sub-ttl {
  margin-bottom: 30px; }

.staff__list li {
  position: relative;
  margin-bottom: 20px; }

.staff__detail {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  font-size: 16px; }
  .staff__detail span {
    display: inline-block;
    font-size: 11px;
    padding: 5px 10px;
    border-radius: 30px;
    color: #fff;
    line-height: 1; }
    .staff__detail span.cat1 {
      background-color: #ec5133; }
    .staff__detail span.cat2 {
      background-color: #70d8a0; }
    .staff__detail span.cat3 {
      background-color: #85e3e6; }
    .staff__detail span.cat4 {
      background-color: #f577a7; }

@media screen and (min-width: 960px) {
  .staff .sec__sub-ttl {
    text-align: center; }
  .staff__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 20px 0; }
    .staff__list li {
      width: 49%; }
  .staff__detail {
    left: 80px;
    font-size: 24px; }
    .staff__detail span {
      font-size: 14px; } }

@media screen and (min-width: 700px) {
  .service .sec__ttl {
    color: #26469E; } }

.service-top .sec__sub-ttl {
  line-height: 1.4; }

.service-top__wrap {
  position: relative;
  z-index: 10; }

.service-top .circle--blue {
  display: none;
  width: 700px;
  height: 700px;
  top: -200px;
  left: -480px; }
  .service-top .circle--blue .circle__child {
    width: 600px;
    height: 600px;
    top: 250px;
    left: 80px; }

.service-top .circle--red {
  display: none;
  width: 450px;
  height: 450px;
  top: 0px;
  right: -280px; }
  .service-top .circle--red .circle__child {
    width: 350px;
    height: 350px;
    top: 0;
    left: 80px; }

@media screen and (min-width: 960px) {
  .service-top .circle--blue,
  .service-top .circle--red {
    display: block; } }

.service-top img {
  margin-top: -30px;
  width: 93vw;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); }

.service-top h1 {
  width: 250px;
  font-family: "Gill Sans";
  font-size: 2rem;
  font-weight: bold;
  margin-top: -4rem;
  position: absolute;
  right: calc(7vw - 7.8rem);
  color: white;
  transform-origin: 50% 50%;
  transform: rotate(90deg); }

.service-top .box-blue::before {
  height: 0; }

.service-top .philosophy {
  position: relative;
  top: -60px;
  padding-top: 100px;
  padding-bottom: 40px; }
  .service-top .philosophy .circle--blue2 {
    transform: rotate(90deg);
    width: 384px;
    height: 384px;
    bottom: -200px;
    left: -110px; }

.service-about {
  position: relative;
  top: -10px; }
  .service-about .sec__header {
    margin-bottom: 0; }
  .service-about .sec__sub-ttl {
    color: #26469E; }
  .service-about .topic__ttl {
    margin-bottom: 30px;
    color: #000; }
  .service-about_cmnt {
    padding: 0 0 30px;
    line-height: 1.9; }
  .service-about_ttl {
    font-weight: bold;
    font-size: 20px !important;
    margin: 0 0 20px; }
  .service-about_inner {
    position: relative; }
    .service-about_inner_img {
      width: 100vw; }
    .service-about_inner_topics {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      padding: 50px 30px 20px;
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 5%, black 100%);
      color: #fff;
      text-align: left; }
      .service-about_inner_topics .ttl {
        font-size: 20px;
        font-weight: 700;
        padding-bottom: 10px;
        line-height: 1.2; }
  @media screen and (min-width: 960px) {
    .service-about .topic__ttl {
      font-size: 36px; }
    .service-about_inner_topics .ttl {
      font-size: 32px; }
    .service-about_ttl {
      font-size: 24px !important; } }

.service-flow {
  margin-top: 60px;
  margin-bottom: 30px; }
  .service-flow .flow-content {
    display: -ms-flexbox;
    display: flex;
    padding: 0 30px; }
    .service-flow .flow-content span {
      display: block; }
    .service-flow .flow-content:last-child::before {
      opacity: 0; }
    .service-flow .flow-content h1 {
      color: #26469E;
      font-family: "Gill Sans";
      font-size: 2.75rem;
      letter-spacing: -.05em;
      display: inline-block;
      width: 35px; }
    .service-flow .flow-content p {
      position: relative;
      display: inline-block;
      vertical-align: top;
      background-color: white;
      color: #000;
      padding: 1rem;
      margin: 1.5rem 0 0 15px;
      font-size: 0.75rem;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.11);
      -ms-flex: 1;
          flex: 1; }
      .service-flow .flow-content p strong {
        display: block;
        margin-bottom: 10px;
        font-weight: bold;
        font-size: 1.1em;
        color: #26469E; }
    .service-flow .flow-content p::before {
      content: '';
      position: absolute;
      top: -5px;
      left: -5px;
      width: 10px;
      height: 10px;
      border-radius: 10px;
      background-color: #26469E; }
    .service-flow .flow-content-list-ai .flow-content h1 {
      width: 35px; }
    .service-flow .flow-content-list-last {
      margin-top: 30px !important; }
      .service-flow .flow-content-list-last .repetition {
        width: calc(100% - 110px);
        margin: 5px 30px 5px 80px; }
        @media screen and (min-width: 960px) {
          .service-flow .flow-content-list-last .repetition {
            margin: 5px 30px 5px 50px; } }
  .service-flow .repetition {
    font-size: 0.75rem;
    margin: 15px 0 0 80px;
    width: calc(100% - 110px);
    padding: 10px;
    background-color: #26469E;
    color: white; }
    .service-flow .repetition img, .service-flow .repetition p {
      vertical-align: middle;
      display: inline-block; }
  .service-flow .flow-content:nth-child(4):before {
    top: 67px;
    padding: 40px 0; }
  .service-flow .flow-content:nth-child(8):before {
    border-left: 3px solid transparent; }
  @media screen and (max-width: 464px) {
    .service-flow .flow-content p {
      font-size: 11px;
      margin: 1rem 0 0 15px; }
    .service-flow .repetition img, .service-flow .repetition p {
      font-size: 11px; } }

.service-contact {
  font-family: "Gill Sans";
  text-align: center;
  margin-bottom: 30px; }
  .service-contact h2 {
    line-height: 1.6;
    font-size: 18px;
    font-weight: 500; }
  .service-contact a {
    font-size: 1rem;
    font-weight: 500;
    padding: 15px 50px;
    font-weight: bold; }
  @media screen and (min-width: 960px) {
    .service-contact h2 {
      font-size: 30px; } }

.service-button {
  padding: 6px 15px;
  margin: 20px 0 10px;
  font-size: 1rem; }

.service-sample {
  margin-top: 50px; }
  .service-sample .sec__sub-ttl {
    color: #26469e; }
  .service-sample .sec__header {
    margin-bottom: 20px; }
  .service-sample .sample__list li {
    position: relative;
    margin-bottom: 20px;
    padding-top: 56.25%; }
    .service-sample .sample__list li iframe {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100% !important;
      height: 100% !important; }
  @media screen and (min-width: 960px) {
    .service-sample {
      margin-top: 120px; }
      .service-sample .sec__sub-ttl {
        max-width: 1080px;
        margin: 0 auto 15px; }
      .service-sample .sample__list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .service-sample .sample__list li {
          width: calc(50% - 20px);
          padding-top: 28%; } }

.service-result {
  margin-bottom: 0 !important;
  padding-top: 30px; }
  .service-result .sec__header {
    margin-bottom: 50px; }

.service-method__item {
  position: relative;
  text-align: left;
  padding: 0 5%;
  margin-bottom: 150px; }
  .service-method__item:nth-child(even) {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
    .service-method__item:nth-child(even)::before {
      left: -30px;
      right: auto; }
    .service-method__item:nth-child(even)::after {
      left: auto;
      right: calc(36% + 50px); }
  .service-method__item::before {
    content: "";
    position: absolute;
    width: 95%;
    top: 30px;
    bottom: -30px;
    right: -20px;
    margin: auto;
    background-color: rgba(255, 255, 255, 0.5); }
  .service-method__item::after {
    content: "";
    position: absolute;
    display: none;
    width: 2px;
    top: 30px;
    bottom: -30px;
    left: calc(36% + 50px);
    margin: auto;
    background-color: #EDEFF5; }
  @media screen and (min-width: 960px) {
    .service-method__item {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .service-method__item::before {
        right: -30px; }
      .service-method__item::after {
        display: block; } }

.service-method__main {
  z-index: 2;
  margin-bottom: 40px; }
  .service-method__main-inner {
    position: relative;
    padding: 30px;
    background-color: #fff;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.1); }
    .service-method__main-inner p {
      margin-bottom: 0 !important; }
  @media screen and (min-width: 960px) {
    .service-method__main {
      width: 36%;
      margin-bottom: 0; }
      .service-method__main-inner {
        padding: 40px; } }

.service-method__icon {
  width: 80px;
  margin-bottom: 40px;
  margin-top: -70px; }
  .service-method__icon img {
    width: 100%; }
  @media screen and (min-width: 960px) {
    .service-method__icon {
      width: 100px;
      margin-right: 40px;
      margin-top: -80px; } }

.service-method__cont {
  -ms-flex: 1;
      flex: 1; }
  .service-method__cont .button {
    margin-top: 20px; }

.service-method__ttl {
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: bold; }

.service-method__num {
  position: absolute;
  top: -30px;
  right: 20px;
  color: #26469E;
  font-size: 32px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-style: italic; }

.service-method__sub {
  position: relative;
  z-index: 2;
  margin-bottom: -40px; }
  .service-method__sub-item {
    margin-bottom: 40px; }
    .service-method__sub-item .button {
      margin: 20px 35px 0; }
  .service-method__sub-box {
    position: relative;
    padding-top: 50%;
    background: linear-gradient(to right bottom, #26469E, #4263BC); }
  .service-method__sub-ttlarea {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    text-align: center;
    color: #fff; }
  .service-method__sub-ttl {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 10px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-style: italic; }
  .service-method__sub-copy {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7); }
  .service-method__sub-txt {
    margin: 20px 40px 0 !important; }
  @media screen and (min-width: 960px) {
    .service-method__sub {
      width: 58%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .service-method__sub-item {
        width: calc(50% - 1px);
        margin-right: 1px; }
      .service-method__sub-copy {
        font-size: 20px; }
      .service-method__sub-ttl {
        font-size: 36px; } }

.service .philosophy {
  padding-top: 100px;
  padding-bottom: 60px;
  margin-bottom: 0; }
  .service .philosophy > .inner {
    position: relative; }
  .service .philosophy .sec__sub-ttl {
    margin-bottom: 20px;
    color: #fff; }
  .service .philosophy p {
    line-height: 1.8; }

.service .logo-history__img {
  max-width: 400px;
  width: 60%;
  margin: 0 auto 50px; }

@media screen and (min-width: 960px) {
  .service .philosophy .inner {
    width: 80%; }
  .service .philosophy .circle--blue2 {
    bottom: -250px;
    right: -160px; }
  .service .philosophy .sec__sub-ttl {
    margin-bottom: 40px;
    font-size: 32px; }
  .service .philosophy p {
    font-size: 18px; } }

@media screen and (min-width: 1200px) {
  .service .philosophy .sec__sub-ttl {
    font-size: 40px; } }

.data {
  max-width: 700px;
  margin: auto; }

.staff .sec__sub-ttl {
  margin-bottom: 30px; }

.staff__list li {
  position: relative;
  margin-bottom: 20px; }

.staff__detail {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  font-size: 16px; }
  .staff__detail span {
    display: inline-block;
    font-size: 11px;
    padding: 5px 10px;
    border-radius: 30px;
    color: #fff;
    line-height: 1; }
    .staff__detail span.cat1 {
      background-color: #ec5133; }
    .staff__detail span.cat2 {
      background-color: #70d8a0; }
    .staff__detail span.cat3 {
      background-color: #85e3e6; }
    .staff__detail span.cat4 {
      background-color: #f577a7; }

@media screen and (min-width: 960px) {
  .staff .sec__sub-ttl {
    text-align: center; }
  .staff__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 20px 0; }
    .staff__list li {
      width: 49%; }
  .staff__detail {
    left: 80px;
    font-size: 24px; }
    .staff__detail span {
      font-size: 14px; } }

@media screen and (min-width: 768px) {
  .sec__header p {
    font-size: 16px; }
  .service-about_cmnt {
    text-align: center; }
  .service-top {
    width: 90%;
    margin: 0 auto;
    position: relative; }
    .service-top__wrap {
      position: relative;
      width: 60%;
      margin: 0 auto 0 0; }
    .service-top .service-top__desc {
      position: absolute;
      z-index: 10;
      top: auto;
      bottom: -80px;
      right: 0;
      padding: 60px 0;
      width: 60%;
      margin: 0 0 0 auto;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); }
    .service-top h1 {
      position: absolute;
      top: 170px;
      right: -125px;
      z-index: 20; }
  .service-about {
    margin-top: 160px;
    margin-bottom: 50px; }
    .service-about .sec__sub-ttl, .service-about_cmnt {
      max-width: 1080px;
      margin: 0 auto 30px; }
    .service-about__wrap {
      padding: 30px 0; }
    .service-about_inner_img {
      width: 100%; } }

@media screen and (min-width: 960px) {
  .sec__header {
    font-size: 0; }
    .sec__header .service-about_inner {
      margin: 0;
      padding: 0;
      display: inline-block;
      width: calc(100vw / 3); }
  .service-flow .flow-content-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 1080px;
    margin: 0 auto; }
  .service-flow .flow-content {
    width: 33.3333%;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0; }
    .service-flow .flow-content h1 {
      width: 35px; }
    .service-flow .flow-content p {
      display: block;
      -ms-flex: 1;
          flex: 1;
      font-size: 1rem; }
      .service-flow .flow-content p br {
        display: none; }
    .service-flow .flow-content::before {
      display: none; }
  .service-flow .repetition {
    display: block;
    width: 100%;
    margin: 30px 30px 10px 50px;
    font-size: 0.75rem; }
    .service-flow .repetition img, .service-flow .repetition p {
      vertical-align: middle;
      display: inline-block; } }

@media screen and (min-width: 1200px) {
  .service-top .service-top__desc {
    width: 50%; } }

.service-usage {
  width: 90%;
  max-width: 1080px;
  margin: 50px auto;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .service-usage {
      margin-top: 280px; } }
  .service-usage .sec__header {
    width: 100%; }
  .service-usage-wide {
    max-width: 100%;
    width: 100% !important; }
  @media screen and (min-width: 768px) {
    .service-usage__wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .service-usage__wrapper.col3 .service-usage_inner {
        width: 30%; } }
  @media screen and (min-width: 768px) {
    .service-usage_inner {
      width: 47%; } }
  .service-usage_inner p {
    text-align: left; }
    .service-usage_inner p.text-center {
      text-align: center;
      transform: translateY(-20px); }
  .service-usage .sec__sub-ttl {
    color: #26469E; }
  .service-usage__icon {
    font-size: 50px;
    color: #26469E;
    margin-bottom: 10px; }
    @media screen and (min-width: 768px) {
      .service-usage__icon {
        font-size: 100px;
        margin-bottom: 20px; } }
  .service-usage .ttl {
    font-weight: bold;
    font-size: 1.4em;
    margin-bottom: 20px; }
    .service-usage .ttl::after {
      content: "";
      display: block;
      width: 10%;
      height: 3px;
      background: #26469E;
      margin: 13px auto 18px; }
      @media screen and (min-width: 768px) {
        .service-usage .ttl::after {
          width: 6%;
          margin: 23px auto 30px; } }
  .service-usage p {
    margin: 0 auto 40px;
    line-height: 1.9; }

.service-example {
  margin-top: 100px;
  margin-bottom: 50px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .service-example {
      margin-top: 150px; } }
  .service-example__wrapper {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
    color: #fff; }
    @media screen and (min-width: 768px) {
      .service-example__wrapper {
        -ms-flex-pack: justify;
            justify-content: space-between; } }
  @media screen and (min-width: 768px) {
    .service-example_row {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
      .service-example_row .service-example_inner_topics {
        -ms-flex: 1;
            flex: 1; } }
  .service-example_inner {
    padding: 40px;
    margin-bottom: 30px;
    background: #26469E; }
    @media screen and (min-width: 768px) {
      .service-example_inner {
        padding: 80px; } }
    .service-example_inner p {
      text-align: left; }
    .service-example_inner_imgs {
      margin-top: 30px; }
      @media screen and (min-width: 768px) {
        .service-example_inner_imgs {
          width: 300px;
          margin-top: 0; } }
    .service-example_inner_img {
      margin-bottom: 20px; }
      .service-example_inner_img:last-child {
        margin-bottom: 0; }
  .service-example .sec__sub-ttl {
    color: #26469E; }
  .service-example .ttl {
    font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: left; }

.repetition__ai {
  transform: translateY(-20px);
  width: auto;
  max-width: 400px; }
  @media screen and (min-width: 460px) {
    .repetition__ai {
      margin-left: 34px; } }
  @media screen and (min-width: 960px) {
    .repetition__ai {
      width: 33.3333%;
      transform: none;
      margin-left: auto; } }
  .repetition__ai p {
    -ms-flex: 1;
        flex: 1;
    font-size: 11px;
    color: #fff;
    padding: 0 30px 0 0;
    margin: 1.5rem 0 0 64px; }
    @media screen and (min-width: 768px) {
      .repetition__ai p {
        margin: 1.5rem 0 0 49px;
        font-size: 1rem; } }
  .repetition__ai span {
    background: #26469E;
    display: block;
    padding: 1rem; }
  .repetition__ai img {
    display: inline-block;
    vertical-align: middle;
    transform: translateY(-2px);
    margin-right: 3px; }
  @media screen and (min-width: 768px) {
    .repetition__ai--first span {
      padding-top: 29px;
      padding-bottom: 29px; } }

.service-flow--ai .flow-content:nth-child(4):before {
  top: 37px;
  padding: 6px 0; }

.service-flow--ai .flow-content:nth-child(7):before {
  top: 106px;
  padding: 77px 0; }

.service-qualification {
  padding: 60px 0;
  margin-top: 80px;
  background-color: #fff; }
  @media screen and (min-width: 1200px) {
    .service-qualification {
      padding: 120px 0; } }
  .service-qualification .sec__sub-ttl {
    color: #26469E; }
  .service-qualification-wrap {
    max-width: 1500px;
    width: 90%;
    margin: auto; }
    @media screen and (min-width: 1200px) {
      .service-qualification-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
  .service-qualification-col {
    margin-bottom: 80px; }
    .service-qualification-col:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 1200px) {
      .service-qualification-col {
        margin-bottom: 0;
        width: calc(50% - 40px); } }
  .service-qualification-ttl {
    font-size: 1.5rem;
    font-weight: bold;
    color: #26469E;
    margin-bottom: 20px;
    line-height: 1.3; }
    @media screen and (min-width: 1200px) {
      .service-qualification-ttl {
        font-size: 2rem;
        margin-bottom: 40px; } }
  .service-qualification-row {
    margin-bottom: 80px; }
    .service-qualification-row:last-child {
      margin-bottom: 0; }
  .service-qualification-cont {
    margin-bottom: 30px; }
    .service-qualification-cont:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 768px) {
      .service-qualification-cont {
        margin-bottom: 40px; }
        .service-qualification-cont:last-child {
          margin-bottom: 0; } }
  .service-qualification-flex .service-qualification-row {
    margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .service-qualification-flex {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .service-qualification-flex .flex1 {
        -ms-flex: 1;
            flex: 1; }
      .service-qualification-flex .service-qualification-row {
        margin-bottom: 0; } }
  .service-qualification-img {
    width: 230px;
    margin-top: 20px; }
    .service-qualification-img img {
      width: 100%; }
    @media screen and (min-width: 768px) {
      .service-qualification-img {
        margin-left: 40px;
        margin-top: 0; } }
  .service-qualification p {
    line-height: 1.9; }
  .service-qualification-syllabus-ttl {
    background-color: #26469E;
    display: inline-block;
    color: #fff;
    padding: 10px 15px;
    line-height: 1.2;
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 20px; }
    @media screen and (min-width: 1200px) {
      .service-qualification-syllabus-ttl {
        font-size: 1.3rem;
        margin-bottom: 30px; } }
  .service-qualification-syllabus-item {
    position: relative;
    padding-left: 50px;
    margin-bottom: 20px; }
    .service-qualification-syllabus-item::after {
      content: "";
      position: absolute;
      width: 40px;
      height: 2px;
      background-color: #26469E;
      top: 1rem;
      left: 0; }
    .service-qualification-syllabus-item li {
      position: relative;
      padding-left: 20px;
      margin-top: 5px; }
      .service-qualification-syllabus-item li::after {
        content: "";
        position: absolute;
        top: .5rem;
        left: 0;
        width: 10px;
        height: 10px;
        border-radius: 10px;
        background-color: #26469E; }

/* works global-style */
.red--big {
  color: #B54437;
  font-size: 1.1em;
  font-weight: bold; }

/* works/index.php */
.main .works__contents {
  position: relative;
  padding: 40px 0;
  overflow: visible; }
  .main .works__contents__inner {
    position: relative;
    max-width: 1080px;
    z-index: 2; }
    .main .works__contents__inner section {
      position: relative;
      margin-bottom: 10px; }
      .main .works__contents__inner section:last-child {
        margin-bottom: 0; }
      .main .works__contents__inner section:hover .works__wrapper {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.6); }
      .main .works__contents__inner section:hover .works__img::after {
        opacity: .5; }
      .main .works__contents__inner section:hover .works__img img {
        filter: saturate(100%);
        transform: scale(1.1); }
      .main .works__contents__inner section:hover .works__copy {
        transform: translateY(-5px); }

.main .works__wrapper {
  display: block;
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.3);
  transition: all 1s ease; }

.main .works__wrap {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  transform: translateY(-50%);
  color: #fff;
  z-index: 2; }

.main .works__copy {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 40px;
  transition: all 1s ease; }

.main .works__ttl {
  font-size: 18px;
  font-weight: bold; }

.main .works__img {
  position: relative;
  z-index: 1;
  overflow: hidden; }
  .main .works__img::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: rgba(20, 40, 80, 0.6);
    transition: all 1s ease; }
  .main .works__img img {
    filter: saturate(0%);
    transition: all 1s ease; }

@media screen and (min-width: 960px) {
  .main .works__contents {
    padding-top: 0; }
    .main .works__contents__inner {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center;
      max-width: 1080px;
      transform: translateY(-50px); }
      .main .works__contents__inner section {
        width: 33.3333%;
        padding: 10px;
        margin-bottom: 0; } }

/* works/website.php */
.works-list__intro {
  position: relative;
  padding: 50px 0; }
  .works-list__intro::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    filter: saturate(0%); }
  .works-list__intro::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: rgba(20, 40, 80, 0.8);
    z-index: 1; }

.works-list__wrapper {
  position: relative;
  z-index: 2;
  color: #fff; }

.works-list__ttl {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold; }

.works-list__sub-ttl {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 32px; }

.works-list-website .works-list__intro::before {
  background-image: url(/assets/images/development_img_01.jpg); }

@media screen and (min-width: 960px) {
  .works-list__intro {
    padding: 60px 0 80px;
    background-color: #26469E; }
    .works-list__intro::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: auto;
      left: 0;
      right: 0;
      height: 10px;
      margin: auto;
      filter: saturate(100%);
      background: linear-gradient(to right, #26469E, white) !important; }
    .works-list__intro::after {
      content: "";
      position: absolute;
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      height: 10px;
      margin: auto;
      background: linear-gradient(to left, #26469E, white) !important; }
  .works-list__wrapper {
    position: relative;
    max-width: 1080px; }
    .works-list__wrapper::after {
      content: "";
      position: absolute;
      width: 50%;
      height: 0;
      padding-top: 34%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      top: 0;
      right: 0;
      box-shadow: 0 10px 50px rgba(0, 0, 0, 0.3); }
  .works-list__ttl {
    margin-bottom: 40px;
    font-size: 32px; }
  .works-list__sub-ttl {
    font-size: 50px; }
  .works-list__ttl, .works-list__sub-ttl, .works-list__desc {
    width: 50%; }
  .works-list-website .works-list__wrapper::after {
    background-image: url(/assets/images/development_img_01.jpg); } }

.result-item__wrapper {
  position: relative;
  padding: 40px 0;
  overflow: hidden; }
  .result-item__wrapper::before {
    content: '';
    display: block;
    position: absolute;
    top: -30vw;
    right: -30vw;
    width: 100vw;
    height: 100vw;
    border-radius: 100%;
    background: linear-gradient(to bottom, rgba(42, 73, 159, 0.5), rgba(42, 73, 159, 0));
    transform: rotate(50deg); }
  .result-item__wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 30px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), transparent); }

.result-item__inner .slick-prev,
.result-item__inner .slick-next {
  display: none; }

.result-item__wrap {
  position: relative;
  z-index: 2; }

.result-item__wrap2 {
  position: relative;
  width: calc(100% + 80px);
  transform: translateX(-80px);
  margin-bottom: 50px;
  z-index: 2; }
  .result-item__wrap2 .slick-dots {
    transform: translateX(40px); }

.result-item__ttl {
  font-size: 24px;
  font-weight: bold;
  color: #26469E;
  line-height: 1.4; }

.result-item__sub-ttl {
  color: #26469E;
  margin-bottom: 25px; }

.result-item__copy {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold; }

.result-item__desc {
  margin-bottom: 15px; }

@media screen and (min-width: 960px) {
  .result-item__wrapper {
    padding: 80px 0; }
    .result-item__wrapper::before {
      top: -30vw;
      right: auto;
      left: -10vw;
      width: 80vw;
      height: 80vw;
      transform: rotate(-40deg); }
  .result-item__inner {
    max-width: 1080px;
    margin: auto;
    display: -ms-flexbox;
    display: flex; }
    .result-item__inner .slick-prev,
    .result-item__inner .slick-next {
      width: 35px;
      height: 35px;
      border-left: 2px solid #fff;
      border-bottom: 2px solid #fff; }
      .result-item__inner .slick-prev:before,
      .result-item__inner .slick-next:before {
        display: none; }
    .result-item__inner .slick-prev {
      transform: rotate(45deg);
      left: -15px; }
    .result-item__inner .slick-next {
      transform: rotate(-135deg);
      right: -15px; }
  .result-item:first-child .result-item__wrapper {
    padding: 120px 0 80px; }
  .result-item:last-child .result-item__wrapper {
    padding: 80px 0 120px; }
  .result-item:nth-child(even) .result-item__wrapper::before {
    right: -10vw;
    left: auto;
    transform: rotate(50deg); }
  .result-item:nth-child(even) .result-item__inner {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  .result-item__wrap2 {
    width: 55%;
    transform: translateX(0);
    margin-bottom: 0;
    z-index: 3; }
    .result-item__wrap2 .slick-dots {
      transform: translateX(0); }
  .result-item__wrap {
    -ms-flex: 1;
        flex: 1;
    padding: 0 50px; }
  .result-item__ttl {
    font-size: 32px; }
  .result-item__sub-ttl {
    margin-bottom: 40px; }
  .result-item__copy {
    margin-bottom: 20px;
    font-size: 22px; }
  .result-item__desc {
    margin-bottom: 30px; } }

/* works/website_work.php */
.work-detail .circle--blue2 {
  opacity: .5;
  width: 300px;
  height: 300px;
  bottom: 10px;
  right: -130px;
  transform: rotate(-300deg);
  animation: none;
  background: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0)); }

.work-detail__container {
  margin-top: 80px; }

.work-detail__background {
  padding: 0 23px 0 29px;
  position: relative; }

.work-detail__wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }

.work-detail__ttl {
  font-size: 2em; }

.work-detail__category {
  font-size: 0.4em; }

.work-detail__sub-ttl {
  font-size: 1.1em;
  -ms-flex-order: -1;
      order: -1;
  background: #fff;
  width: 79px;
  height: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin: 38px 0 0 0;
  color: #26469E;
  font-weight: bold; }

.work-detail__url {
  font-size: 0.9em;
  padding: 0 0 37px 0;
  border-bottom: solid 1px #fff; }
  .work-detail__url a {
    color: #fff;
    transition: 0.2s ease; }
    .work-detail__url a:hover {
      opacity: 0.7; }

.work-detail__img {
  background-image: url("/assets/images/works/device_back.png");
  background-position: center bottom;
  background-size: 100vw 203px;
  background-repeat: no-repeat; }
  .work-detail__img img {
    margin: auto;
    width: 100%;
    max-width: 700px; }

.work-detail .pc-device {
  display: none; }

@media screen and (min-width: 480px) {
  .work-detail__background {
    padding: 20px 40px; }
  .work-detail__ttl {
    margin: 10px 0 0 0;
    font-size: 2.6em; }
  .work-detail__url {
    font-size: 1.2em; }
  .work-detail__img {
    position: relative;
    height: 30vw;
    background-size: 100vw; }
    .work-detail__img img {
      max-width: 300px;
      position: absolute;
      right: 40px;
      bottom: -50px;
      z-index: 1; } }

@media screen and (min-width: 960px) {
  .work-detail__about {
    padding-left: 4vw; }
  .work-detail__container {
    margin-top: 50px; }
  .work-detail__background {
    padding: 50px 23px 0 29px;
    overflow: visible; }
  .work-detail__ttl {
    font-size: 2.3em; }
  .work-detail__sub-ttl {
    width: 100px;
    height: 24px; }
  .work-detail__url {
    font-size: 0.9em; }
  .work-detail__img img {
    z-index: 50;
    position: absolute;
    top: calc(50vw - 380px);
    right: calc(50vw - 500px);
    margin: auto;
    max-width: 550px; }
  .work-detail__wrapper__desc, .work-detail .website-summary__desc {
    line-height: 1.9;
    max-width: 860px;
    letter-spacing: 0.025em; } }

@media screen and (min-width: 1200px) {
  .work-detail__out-bak {
    max-width: 100%;
    height: 400px;
    background: url("/assets/images/works/visual.png") no-repeat center center/cover; }
  .work-detail__left {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    max-width: 1200px;
    height: 450px;
    margin: 0 auto; }
  .work-detail__about {
    max-width: 570px;
    padding: 0; }
  .work-detail__img img {
    margin: auto;
    max-width: 650px;
    position: static;
    transform: translateY(-120px); }
  .work-detail .sp-device {
    display: none; }
  .work-detail .pc-device {
    display: block;
    -ms-flex: 0 1 540px;
        flex: 0 1 540px;
    background: none; } }

.website-summary__ttl {
  font-size: 1.3em;
  padding: 24px 0 8px; }

.website-summary__desc {
  font-size: 0.8em;
  margin-bottom: 40px; }

.website-content {
  padding: 431px 0 0 0; }
  .website-content__wrapper {
    width: 88%;
    margin: 0 auto 0;
    padding: 38px 30px 30px;
    background: #fff;
    position: relative;
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.16); }
    .website-content__wrapper--one::before, .website-content__wrapper--two::before {
      content: "";
      display: block;
      position: absolute;
      z-index: -1; }
    .website-content__wrapper--one::before {
      background: url("/assets/images/works/pcBack-right.png") no-repeat 100%;
      width: 600px;
      height: 440px;
      top: -300px;
      right: -230px; }
    .website-content__wrapper--two {
      margin-top: 350px; }
      .website-content__wrapper--two::before {
        width: 251px;
        height: 456px;
        background: url("/assets/images/works/spBack-left.png") no-repeat center center/cover;
        top: -255px;
        left: -64px; }
  .website-content__ttl {
    font-size: 1.3em;
    text-align: center;
    font-weight: bold;
    color: #26469E;
    margin-bottom: 20px; }

@media screen and (min-width: 480px) {
  .website-content {
    padding: 280px 0 150px 0; }
    .website-content__wrapper {
      max-width: 600px;
      margin: 0 0 0 calc(60vw - 55%); }
      .website-content__wrapper--one::before {
        transform: scale(1.1);
        background: url("/assets/images/works/pcBack-right.png") no-repeat 100%;
        width: 600px;
        height: 460px;
        top: -140px;
        left: calc(36vw - 30px);
        right: initial; }
      .website-content__wrapper--two {
        position: relative;
        margin: 320px 6vw 0 auto; }
        .website-content__wrapper--two::before {
          width: 331px;
          height: 606px;
          background: url(/assets/images/works/spBack-left.png) no-repeat center center/cover;
          top: -200px;
          left: calc(-18vw); }
    .website-content__ttl {
      margin: 20px 0 20px; }
    .website-content__desc {
      line-height: 2;
      letter-spacing: 0.05em;
      padding: 30px; } }

@media screen and (min-width: 960px) {
  .website-content {
    max-width: 1200px;
    margin: 0 auto; }
    .website-content__wrapper {
      margin: 0; }
      .website-content__wrapper--two {
        margin: 290px 0 0 auto; }
        .website-content__wrapper--two::before {
          left: calc(-10vw - 290px); } }

.our-company {
  margin-top: 80px; }
  .our-company__ttl {
    max-width: 80px;
    margin: 37px auto 17px; }
  .our-company__desc {
    max-width: 290px;
    margin: 0 auto;
    text-align: center; }
  .our-company__img {
    max-width: 180px;
    margin: 18px auto 0; }

@media screen and (min-width: 480px) {
  .our-company__ttl {
    max-width: 120px; }
  .our-company__desc {
    max-width: 380px;
    font-size: 1.3em;
    margin: 30px auto 20px; }
  .our-company__img {
    max-width: 230px; } }

@media screen and (min-width: 700px) {
  .our-company__desc {
    max-width: 480px; } }

.company-contact {
  background: #364E93;
  color: #fff;
  margin: 36px 0 0 0;
  padding: 44px 0 36px;
  position: relative;
  overflow: hidden; }
  .company-contact .button {
    padding: 8px 40px; }
  .company-contact::before, .company-contact::after {
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute; }
  .company-contact::before {
    width: 187px;
    height: 187px;
    background: linear-gradient(to bottom left, #485789, #26469E);
    top: -30px;
    right: -110px;
    z-index: 1; }
  .company-contact::after {
    width: 238px;
    height: 238px;
    background: linear-gradient(to bottom left, #2A499F, rgba(255, 255, 255, 0.05));
    position: absolute;
    top: -100px;
    right: -126px; }
  .company-contact__ttl {
    font-size: 1.3em;
    text-align: center; }
  .company-contact__desc {
    max-width: 270px;
    margin: 15px auto 27px;
    text-align: center; }
  .company-contact__btn {
    text-align: center; }

@media screen and (min-width: 480px) {
  .company-contact {
    margin: 86px 0 0 0; }
    .company-contact__ttl {
      font-size: 1.7em; }
    .company-contact__desc {
      max-width: 330px;
      font-size: 1.1em;
      line-height: 1.8; } }

@media screen and (min-width: 700px) {
  .company-contact__desc {
    max-width: 450px;
    margin: 30px auto; } }

.goBack-page {
  margin: 24px 0 60px 0;
  text-align: center; }

.related-achievements {
  margin-top: 90px; }
  .related-achievements__ttl {
    margin-bottom: 20px;
    font-size: 2em;
    font-weight: bold;
    text-align: center; }
  .related-achievements .result-item:nth-child(2n + 1) .result-item__wrapper {
    -ms-flex-flow: row-reverse;
        flex-flow: row-reverse; }

.slider .slick-dots li button:before {
  font-size: 15px; }

.contact .sec__sub-ttl {
  margin-bottom: 25px; }

.contact__top__txt-wrap {
  display: inline-block;
  vertical-align: bottom;
  margin-top: 42px;
  font-weight: bold; }

.contact__top__txt span {
  position: relative;
  top: 8px; }

.contact__top__txt:first-of-type {
  margin-bottom: 10px; }

.contact__link {
  margin: 0 10px; }

/* utility */
/*余白関係汎用クラス*/
/*margin*/
.mt00 {
  margin-top: 0px !important; }

.mt05 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr00 {
  margin-right: 0px !important; }

.mr05 {
  margin-right: 5px !important; }

.mr10 {
  margin-right: 10px !important; }

.mr15 {
  margin-right: 15px !important; }

.mr20 {
  margin-right: 20px !important; }

.mr25 {
  margin-right: 25px !important; }

.mr30 {
  margin-right: 30px !important; }

.mr35 {
  margin-right: 35px !important; }

.mr40 {
  margin-right: 40px !important; }

.mr45 {
  margin-right: 45px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb00 {
  margin-bottom: 0px !important; }

.mb05 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml00 {
  margin-left: 0px !important; }

.ml05 {
  margin-left: 5px !important; }

.ml10 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml20 {
  margin-left: 20px !important; }

.ml25 {
  margin-left: 25px !important; }

.ml30 {
  margin-left: 30px !important; }

.ml35 {
  margin-left: 35px !important; }

.ml40 {
  margin-left: 40px !important; }

.ml45 {
  margin-left: 45px !important; }

.ml50 {
  margin-left: 50px !important; }

/*padding*/
.pt00 {
  padding-top: 0px !important; }

.pt05 {
  padding-top: 5px !important; }

.pt10 {
  padding-top: 10px !important; }

.pt15 {
  padding-top: 15px !important; }

.pt20 {
  padding-top: 20px !important; }

.pt25 {
  padding-top: 25px !important; }

.pt30 {
  padding-top: 30px !important; }

.pt35 {
  padding-top: 35px !important; }

.pt40 {
  padding-top: 40px !important; }

.pt45 {
  padding-top: 45px !important; }

.pt50 {
  padding-top: 50px !important; }

.pr00 {
  padding-right: 0px !important; }

.pr05 {
  padding-right: 5px !important; }

.pr10 {
  padding-right: 10px !important; }

.pr15 {
  padding-right: 15px !important; }

.pr20 {
  padding-right: 20px !important; }

.pr25 {
  padding-right: 25px !important; }

.pr30 {
  padding-right: 30px !important; }

.pr35 {
  padding-right: 35px !important; }

.pr40 {
  padding-right: 40px !important; }

.pr45 {
  padding-right: 45px !important; }

.pr50 {
  padding-right: 50px !important; }

.pb00 {
  padding-bottom: 0px !important; }

.pb05 {
  padding-bottom: 5px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl00 {
  padding-left: 0px !important; }

.pl05 {
  padding-left: 5px !important; }

.pl10 {
  padding-left: 10px !important; }

.pl15 {
  padding-left: 15px !important; }

.pl20 {
  padding-left: 20px !important; }

.pl25 {
  padding-left: 25px !important; }

.pl30 {
  padding-left: 30px !important; }

.pl35 {
  padding-left: 35px !important; }

.pl40 {
  padding-left: 40px !important; }

.pl45 {
  padding-left: 45px !important; }

.pl50 {
  padding-left: 50px !important; }

/*margin (responsive)*/
.mt00r {
  margin-top: 0px !important; }

.mt05r {
  margin-top: 5px !important; }

.mt10r {
  margin-top: 10px !important; }

.mt15r {
  margin-top: 15px !important; }

.mt20r {
  margin-top: 20px !important; }

.mt25r {
  margin-top: 25px !important; }

.mt30r {
  margin-top: 30px !important; }

.mt35r {
  margin-top: 35px !important; }

.mt40r {
  margin-top: 40px !important; }

.mt45r {
  margin-top: 45px !important; }

.mt50r {
  margin-top: 50px !important; }

.mr00r {
  margin-right: 0px !important; }

.mr05r {
  margin-right: 5px !important; }

.mr10r {
  margin-right: 10px !important; }

.mr15r {
  margin-right: 15px !important; }

.mr20r {
  margin-right: 20px !important; }

.mr25r {
  margin-right: 25px !important; }

.mr30r {
  margin-right: 30px !important; }

.mr35r {
  margin-right: 35px !important; }

.mr40r {
  margin-right: 40px !important; }

.mr45r {
  margin-right: 45px !important; }

.mr50r {
  margin-right: 50px !important; }

.mb00r {
  margin-bottom: 0px !important; }

.mb05r {
  margin-bottom: 5px !important; }

.mb10r {
  margin-bottom: 10px !important; }

.mb15r {
  margin-bottom: 15px !important; }

.mb20r {
  margin-bottom: 20px !important; }

.mb25r {
  margin-bottom: 25px !important; }

.mb30r {
  margin-bottom: 30px !important; }

.mb35r {
  margin-bottom: 35px !important; }

.mb40r {
  margin-bottom: 40px !important; }

.mb45r {
  margin-bottom: 45px !important; }

.mb50r {
  margin-bottom: 50px !important; }

.ml00r {
  margin-left: 0px !important; }

.ml05r {
  margin-left: 5px !important; }

.ml10r {
  margin-left: 10px !important; }

.ml15r {
  margin-left: 15px !important; }

.ml20r {
  margin-left: 20px !important; }

.ml25r {
  margin-left: 25px !important; }

.ml30r {
  margin-left: 30px !important; }

.ml35r {
  margin-left: 35px !important; }

.ml40r {
  margin-left: 40px !important; }

.ml45r {
  margin-left: 45px !important; }

.ml50r {
  margin-left: 50px !important; }

/*padding (responsive)*/
.pt00r {
  padding-top: 0px !important; }

.pt05r {
  padding-top: 5px !important; }

.pt10r {
  padding-top: 10px !important; }

.pt15r {
  padding-top: 15px !important; }

.pt20r {
  padding-top: 20px !important; }

.pt25r {
  padding-top: 25px !important; }

.pt30r {
  padding-top: 30px !important; }

.pt35r {
  padding-top: 35px !important; }

.pt40r {
  padding-top: 40px !important; }

.pt45r {
  padding-top: 45px !important; }

.pt50r {
  padding-top: 50px !important; }

.pr00r {
  padding-right: 0px !important; }

.pr05r {
  padding-right: 5px !important; }

.pr10r {
  padding-right: 10px !important; }

.pr15r {
  padding-right: 15px !important; }

.pr20r {
  padding-right: 20px !important; }

.pr25r {
  padding-right: 25px !important; }

.pr30r {
  padding-right: 30px !important; }

.pr35r {
  padding-right: 35px !important; }

.pr40r {
  padding-right: 40px !important; }

.pr45r {
  padding-right: 45px !important; }

.pr50r {
  padding-right: 50px !important; }

.pb00r {
  padding-bottom: 0px !important; }

.pb05r {
  padding-bottom: 5px !important; }

.pb10r {
  padding-bottom: 10px !important; }

.pb15r {
  padding-bottom: 15px !important; }

.pb20r {
  padding-bottom: 20px !important; }

.pb25r {
  padding-bottom: 25px !important; }

.pb30r {
  padding-bottom: 30px !important; }

.pb35r {
  padding-bottom: 35px !important; }

.pb40r {
  padding-bottom: 40px !important; }

.pb45r {
  padding-bottom: 45px !important; }

.pb50r {
  padding-bottom: 50px !important; }

.pl00r {
  padding-left: 0px !important; }

.pl05r {
  padding-left: 5px !important; }

.pl10r {
  padding-left: 10px !important; }

.pl15r {
  padding-left: 15px !important; }

.pl20r {
  padding-left: 20px !important; }

.pl25r {
  padding-left: 25px !important; }

.pl30r {
  padding-left: 30px !important; }

.pl35r {
  padding-left: 35px !important; }

.pl40r {
  padding-left: 40px !important; }

.pl45r {
  padding-left: 45px !important; }

.pl50r {
  padding-left: 50px !important; }

@media screen and (max-width: 480px) {
  /*margin (responsive)50%*/
  .mt00 {
    margin-top: 0px  !important; }
  .mt05 {
    margin-top: 2.5px  !important; }
  .mt10 {
    margin-top: 5px  !important; }
  .mt15 {
    margin-top: 7.5px  !important; }
  .mt20 {
    margin-top: 10px  !important; }
  .mt25 {
    margin-top: 12.5px  !important; }
  .mt30 {
    margin-top: 15px  !important; }
  .mt35 {
    margin-top: 17.5px  !important; }
  .mt40 {
    margin-top: 20px  !important; }
  .mt45 {
    margin-top: 22.5px  !important; }
  .mt50 {
    margin-top: 25px  !important; }
  .mr00 {
    margin-right: 0px  !important; }
  .mr05 {
    margin-right: 2.5px  !important; }
  .mr10 {
    margin-right: 5px  !important; }
  .mr15 {
    margin-right: 7.5px  !important; }
  .mr20 {
    margin-right: 10px  !important; }
  .mr25 {
    margin-right: 12.5px  !important; }
  .mr30 {
    margin-right: 15px  !important; }
  .mr35 {
    margin-right: 17.5px  !important; }
  .mr40 {
    margin-right: 20px  !important; }
  .mr45 {
    margin-right: 22.5px  !important; }
  .mr50 {
    margin-right: 25px  !important; }
  .mb00 {
    margin-bottom: 0px  !important; }
  .mb05 {
    margin-bottom: 2.5px  !important; }
  .mb10 {
    margin-bottom: 5px  !important; }
  .mb15 {
    margin-bottom: 7.5px  !important; }
  .mb20 {
    margin-bottom: 10px  !important; }
  .mb25 {
    margin-bottom: 12.5px  !important; }
  .mb30 {
    margin-bottom: 15px  !important; }
  .mb35 {
    margin-bottom: 17.5px  !important; }
  .mb40 {
    margin-bottom: 20px  !important; }
  .mb45 {
    margin-bottom: 22.5px  !important; }
  .mb50 {
    margin-bottom: 25px  !important; }
  .ml00 {
    margin-left: 0px  !important; }
  .ml05 {
    margin-left: 2.5px  !important; }
  .ml10 {
    margin-left: 5px  !important; }
  .ml15 {
    margin-left: 7.5px  !important; }
  .ml20 {
    margin-left: 10px  !important; }
  .ml25 {
    margin-left: 12.5px  !important; }
  .ml30 {
    margin-left: 15px  !important; }
  .ml35 {
    margin-left: 17.5px  !important; }
  .ml40 {
    margin-left: 20px  !important; }
  .ml45 {
    margin-left: 22.5px  !important; }
  .ml50 {
    margin-left: 25px  !important; }
  /*padding (responsive)50%*/
  .pt00 {
    padding-top: 0px  !important; }
  .pt05 {
    padding-top: 2.5px  !important; }
  .pt10 {
    padding-top: 5px  !important; }
  .pt15 {
    padding-top: 7.5px  !important; }
  .pt20 {
    padding-top: 10px  !important; }
  .pt25 {
    padding-top: 12.5px  !important; }
  .pt30 {
    padding-top: 15px  !important; }
  .pt35 {
    padding-top: 17.5px  !important; }
  .pt40 {
    padding-top: 20px  !important; }
  .pt45 {
    padding-top: 22.5px  !important; }
  .pt50 {
    padding-top: 25px  !important; }
  .pr00 {
    padding-right: 0px  !important; }
  .pr05 {
    padding-right: 2.5px  !important; }
  .pr10 {
    padding-right: 5px  !important; }
  .pr15 {
    padding-right: 7.5px  !important; }
  .pr20 {
    padding-right: 10px  !important; }
  .pr25 {
    padding-right: 12.5px  !important; }
  .pr30 {
    padding-right: 15px  !important; }
  .pr35 {
    padding-right: 17.5px  !important; }
  .pr40 {
    padding-right: 20px  !important; }
  .pr45 {
    padding-right: 22.5px  !important; }
  .pr50 {
    padding-right: 25px  !important; }
  .pb00 {
    padding-bottom: 0px  !important; }
  .pb05 {
    padding-bottom: 2.5px  !important; }
  .pb10 {
    padding-bottom: 5px  !important; }
  .pb15 {
    padding-bottom: 7.5px  !important; }
  .pb20 {
    padding-bottom: 10px  !important; }
  .pb25 {
    padding-bottom: 12.5px  !important; }
  .pb30 {
    padding-bottom: 15px  !important; }
  .pb35 {
    padding-bottom: 17.5px  !important; }
  .pb40 {
    padding-bottom: 20px  !important; }
  .pb45 {
    padding-bottom: 22.5px  !important; }
  .pb50 {
    padding-bottom: 25px  !important; }
  .pl00 {
    padding-left: 0px  !important; }
  .pl05 {
    padding-left: 2.5px  !important; }
  .pl10 {
    padding-left: 5px  !important; }
  .pl15 {
    padding-left: 7.5px  !important; }
  .pl20 {
    padding-left: 10px  !important; }
  .pl25 {
    padding-left: 12.5px  !important; }
  .pl30 {
    padding-left: 15px  !important; }
  .pl35 {
    padding-left: 17.5px  !important; }
  .pl40 {
    padding-left: 20px  !important; }
  .pl45 {
    padding-left: 22.5px  !important; }
  .pl50 {
    padding-left: 25px  !important; }
  /*margin (responsive)50%*/
  .mt00r {
    margin-top: 0px  !important; }
  .mt05r {
    margin-top: 2.5px  !important; }
  .mt10r {
    margin-top: 5px  !important; }
  .mt15r {
    margin-top: 7.5px  !important; }
  .mt20r {
    margin-top: 10px  !important; }
  .mt25r {
    margin-top: 12.5px  !important; }
  .mt30r {
    margin-top: 15px  !important; }
  .mt35r {
    margin-top: 17.5px  !important; }
  .mt40r {
    margin-top: 20px  !important; }
  .mt45r {
    margin-top: 22.5px  !important; }
  .mt50r {
    margin-top: 25px  !important; }
  .mr00r {
    margin-right: 0px  !important; }
  .mr05r {
    margin-right: 2.5px  !important; }
  .mr10r {
    margin-right: 5px  !important; }
  .mr15r {
    margin-right: 7.5px  !important; }
  .mr20r {
    margin-right: 10px  !important; }
  .mr25r {
    margin-right: 12.5px  !important; }
  .mr30r {
    margin-right: 15px  !important; }
  .mr35r {
    margin-right: 17.5px  !important; }
  .mr40r {
    margin-right: 20px  !important; }
  .mr45r {
    margin-right: 22.5px  !important; }
  .mr50r {
    margin-right: 25px  !important; }
  .mb00r {
    margin-bottom: 0px  !important; }
  .mb05r {
    margin-bottom: 2.5px  !important; }
  .mb10r {
    margin-bottom: 5px  !important; }
  .mb15r {
    margin-bottom: 7.5px  !important; }
  .mb20r {
    margin-bottom: 10px  !important; }
  .mb25r {
    margin-bottom: 12.5px  !important; }
  .mb30r {
    margin-bottom: 15px  !important; }
  .mb35r {
    margin-bottom: 17.5px  !important; }
  .mb40r {
    margin-bottom: 20px  !important; }
  .mb45r {
    margin-bottom: 22.5px  !important; }
  .mb50r {
    margin-bottom: 25px  !important; }
  .ml00r {
    margin-left: 0px  !important; }
  .ml05r {
    margin-left: 2.5px  !important; }
  .ml10r {
    margin-left: 5px  !important; }
  .ml15r {
    margin-left: 7.5px  !important; }
  .ml20r {
    margin-left: 10px  !important; }
  .ml25r {
    margin-left: 12.5px  !important; }
  .ml30r {
    margin-left: 15px  !important; }
  .ml35r {
    margin-left: 17.5px  !important; }
  .ml40r {
    margin-left: 20px  !important; }
  .ml45r {
    margin-left: 22.5px  !important; }
  .ml50r {
    margin-left: 25px  !important; }
  /*padding (responsive)50%*/
  .pt00r {
    padding-top: 0px  !important; }
  .pt05r {
    padding-top: 2.5px  !important; }
  .pt10r {
    padding-top: 5px  !important; }
  .pt15r {
    padding-top: 7.5px  !important; }
  .pt20r {
    padding-top: 10px  !important; }
  .pt25r {
    padding-top: 12.5px  !important; }
  .pt30r {
    padding-top: 15px  !important; }
  .pt35r {
    padding-top: 17.5px  !important; }
  .pt40r {
    padding-top: 20px  !important; }
  .pt45r {
    padding-top: 22.5px  !important; }
  .pt50r {
    padding-top: 25px  !important; }
  .pr00r {
    padding-right: 0px  !important; }
  .pr05r {
    padding-right: 2.5px  !important; }
  .pr10r {
    padding-right: 5px  !important; }
  .pr15r {
    padding-right: 7.5px  !important; }
  .pr20r {
    padding-right: 10px  !important; }
  .pr25r {
    padding-right: 12.5px  !important; }
  .pr30r {
    padding-right: 15px  !important; }
  .pr35r {
    padding-right: 17.5px  !important; }
  .pr40r {
    padding-right: 20px  !important; }
  .pr45r {
    padding-right: 22.5px  !important; }
  .pr50r {
    padding-right: 25px  !important; }
  .pb00r {
    padding-bottom: 0px  !important; }
  .pb05r {
    padding-bottom: 2.5px  !important; }
  .pb10r {
    padding-bottom: 5px  !important; }
  .pb15r {
    padding-bottom: 7.5px  !important; }
  .pb20r {
    padding-bottom: 10px  !important; }
  .pb25r {
    padding-bottom: 12.5px  !important; }
  .pb30r {
    padding-bottom: 15px  !important; }
  .pb35r {
    padding-bottom: 17.5px  !important; }
  .pb40r {
    padding-bottom: 20px  !important; }
  .pb45r {
    padding-bottom: 22.5px  !important; }
  .pb50r {
    padding-bottom: 25px  !important; }
  .pl00r {
    padding-left: 0px  !important; }
  .pl05r {
    padding-left: 2.5px  !important; }
  .pl10r {
    padding-left: 5px  !important; }
  .pl15r {
    padding-left: 7.5px  !important; }
  .pl20r {
    padding-left: 10px  !important; }
  .pl25r {
    padding-left: 12.5px  !important; }
  .pl30r {
    padding-left: 15px  !important; }
  .pl35r {
    padding-left: 17.5px  !important; }
  .pl40r {
    padding-left: 20px  !important; }
  .pl45r {
    padding-left: 22.5px  !important; }
  .pl50r {
    padding-left: 25px  !important; } }

@media screen and (min-width: 481px) and (max-width: 768px) {
  /*margin (responsive)75%*/
  .mt00 {
    margin-top: 0px  !important; }
  .mt05 {
    margin-top: 3.75px  !important; }
  .mt10 {
    margin-top: 7.5px  !important; }
  .mt15 {
    margin-top: 11.25px  !important; }
  .mt20 {
    margin-top: 15px  !important; }
  .mt25 {
    margin-top: 18.75px  !important; }
  .mt30 {
    margin-top: 22.5px  !important; }
  .mt35 {
    margin-top: 26.25px  !important; }
  .mt40 {
    margin-top: 30px  !important; }
  .mt45 {
    margin-top: 33.75px  !important; }
  .mt50 {
    margin-top: 37.5px  !important; }
  .mr00 {
    margin-right: 0px  !important; }
  .mr05 {
    margin-right: 3.75px  !important; }
  .mr10 {
    margin-right: 7.5px  !important; }
  .mr15 {
    margin-right: 11.25px  !important; }
  .mr20 {
    margin-right: 15px  !important; }
  .mr25 {
    margin-right: 18.75px  !important; }
  .mr30 {
    margin-right: 22.5px  !important; }
  .mr35 {
    margin-right: 26.25px  !important; }
  .mr40 {
    margin-right: 30px  !important; }
  .mr45 {
    margin-right: 33.75px  !important; }
  .mr50 {
    margin-right: 37.5px  !important; }
  .mb00 {
    margin-bottom: 0px  !important; }
  .mb05 {
    margin-bottom: 3.75px  !important; }
  .mb10 {
    margin-bottom: 7.5px  !important; }
  .mb15 {
    margin-bottom: 11.25px  !important; }
  .mb20 {
    margin-bottom: 15px  !important; }
  .mb25 {
    margin-bottom: 18.75px  !important; }
  .mb30 {
    margin-bottom: 22.5px  !important; }
  .mb35 {
    margin-bottom: 26.25px  !important; }
  .mb40 {
    margin-bottom: 30px  !important; }
  .mb45 {
    margin-bottom: 33.75px  !important; }
  .mb50 {
    margin-bottom: 37.5px  !important; }
  .ml00 {
    margin-left: 0px  !important; }
  .ml05 {
    margin-left: 3.75px  !important; }
  .ml10 {
    margin-left: 7.5px  !important; }
  .ml15 {
    margin-left: 11.25px  !important; }
  .ml20 {
    margin-left: 15px  !important; }
  .ml25 {
    margin-left: 18.75px  !important; }
  .ml30 {
    margin-left: 22.5px  !important; }
  .ml35 {
    margin-left: 26.25px  !important; }
  .ml40 {
    margin-left: 30px  !important; }
  .ml45 {
    margin-left: 33.75px  !important; }
  .ml50 {
    margin-left: 37.5px  !important; }
  /*padding (responsive)75%*/
  .pt00 {
    padding-top: 0px  !important; }
  .pt05 {
    padding-top: 3.75px  !important; }
  .pt10 {
    padding-top: 7.5px  !important; }
  .pt15 {
    padding-top: 11.25px  !important; }
  .pt20 {
    padding-top: 15px  !important; }
  .pt25 {
    padding-top: 18.75px  !important; }
  .pt30 {
    padding-top: 22.5px  !important; }
  .pt35 {
    padding-top: 26.25px  !important; }
  .pt40 {
    padding-top: 30px  !important; }
  .pt45 {
    padding-top: 33.75px  !important; }
  .pt50 {
    padding-top: 37.5px  !important; }
  .pr00 {
    padding-right: 0px  !important; }
  .pr05 {
    padding-right: 3.75px  !important; }
  .pr10 {
    padding-right: 7.5px  !important; }
  .pr15 {
    padding-right: 11.25px  !important; }
  .pr20 {
    padding-right: 15px  !important; }
  .pr25 {
    padding-right: 18.75px  !important; }
  .pr30 {
    padding-right: 22.5px  !important; }
  .pr35 {
    padding-right: 26.25px  !important; }
  .pr40 {
    padding-right: 30px  !important; }
  .pr45 {
    padding-right: 33.75px  !important; }
  .pr50 {
    padding-right: 37.5px  !important; }
  .pb00 {
    padding-bottom: 0px  !important; }
  .pb05 {
    padding-bottom: 3.75px  !important; }
  .pb10 {
    padding-bottom: 7.5px  !important; }
  .pb15 {
    padding-bottom: 11.25px  !important; }
  .pb20 {
    padding-bottom: 15px  !important; }
  .pb25 {
    padding-bottom: 18.75px  !important; }
  .pb30 {
    padding-bottom: 22.5px  !important; }
  .pb35 {
    padding-bottom: 26.25px  !important; }
  .pb40 {
    padding-bottom: 30px  !important; }
  .pb45 {
    padding-bottom: 33.75px  !important; }
  .pb50 {
    padding-bottom: 37.5px  !important; }
  .pl00 {
    padding-left: 0px  !important; }
  .pl05 {
    padding-left: 3.75px  !important; }
  .pl10 {
    padding-left: 7.5px  !important; }
  .pl15 {
    padding-left: 11.25px  !important; }
  .pl20 {
    padding-left: 15px  !important; }
  .pl25 {
    padding-left: 18.75px  !important; }
  .pl30 {
    padding-left: 22.5px  !important; }
  .pl35 {
    padding-left: 26.25px  !important; }
  .pl40 {
    padding-left: 30px  !important; }
  .pl45 {
    padding-left: 33.75px  !important; }
  .pl50 {
    padding-left: 37.5px  !important; }
  /*margin (responsive)75%*/
  .mt00r {
    margin-top: 0px  !important; }
  .mt05r {
    margin-top: 3.75px  !important; }
  .mt10r {
    margin-top: 7.5px  !important; }
  .mt15r {
    margin-top: 11.25px  !important; }
  .mt20r {
    margin-top: 15px  !important; }
  .mt25r {
    margin-top: 18.75px  !important; }
  .mt30r {
    margin-top: 22.5px  !important; }
  .mt35r {
    margin-top: 26.25px  !important; }
  .mt40r {
    margin-top: 30px  !important; }
  .mt45r {
    margin-top: 33.75px  !important; }
  .mt50r {
    margin-top: 37.5px  !important; }
  .mr00r {
    margin-right: 0px  !important; }
  .mr05r {
    margin-right: 3.75px  !important; }
  .mr10r {
    margin-right: 7.5px  !important; }
  .mr15r {
    margin-right: 11.25px  !important; }
  .mr20r {
    margin-right: 15px  !important; }
  .mr25r {
    margin-right: 18.75px  !important; }
  .mr30r {
    margin-right: 22.5px  !important; }
  .mr35r {
    margin-right: 26.25px  !important; }
  .mr40r {
    margin-right: 30px  !important; }
  .mr45r {
    margin-right: 33.75px  !important; }
  .mr50r {
    margin-right: 37.5px  !important; }
  .mb00r {
    margin-bottom: 0px  !important; }
  .mb05r {
    margin-bottom: 3.75px  !important; }
  .mb10r {
    margin-bottom: 7.5px  !important; }
  .mb15r {
    margin-bottom: 11.25px  !important; }
  .mb20r {
    margin-bottom: 15px  !important; }
  .mb25r {
    margin-bottom: 18.75px  !important; }
  .mb30r {
    margin-bottom: 22.5px  !important; }
  .mb35r {
    margin-bottom: 26.25px  !important; }
  .mb40r {
    margin-bottom: 30px  !important; }
  .mb45r {
    margin-bottom: 33.75px  !important; }
  .mb50r {
    margin-bottom: 37.5px  !important; }
  .ml00r {
    margin-left: 0px  !important; }
  .ml05r {
    margin-left: 3.75px  !important; }
  .ml10r {
    margin-left: 7.5px  !important; }
  .ml15r {
    margin-left: 11.25px  !important; }
  .ml20r {
    margin-left: 15px  !important; }
  .ml25r {
    margin-left: 18.75px  !important; }
  .ml30r {
    margin-left: 22.5px  !important; }
  .ml35r {
    margin-left: 26.25px  !important; }
  .ml40r {
    margin-left: 30px  !important; }
  .ml45r {
    margin-left: 33.75px  !important; }
  .ml50r {
    margin-left: 37.5px  !important; }
  /*padding (responsive)75%*/
  .pt00r {
    padding-top: 0px  !important; }
  .pt05r {
    padding-top: 3.75px  !important; }
  .pt10r {
    padding-top: 7.5px  !important; }
  .pt15r {
    padding-top: 11.25px  !important; }
  .pt20r {
    padding-top: 15px  !important; }
  .pt25r {
    padding-top: 18.75px  !important; }
  .pt30r {
    padding-top: 22.5px  !important; }
  .pt35r {
    padding-top: 26.25px  !important; }
  .pt40r {
    padding-top: 30px  !important; }
  .pt45r {
    padding-top: 33.75px  !important; }
  .pt50r {
    padding-top: 37.5px  !important; }
  .pr00r {
    padding-right: 0px  !important; }
  .pr05r {
    padding-right: 3.75px  !important; }
  .pr10r {
    padding-right: 7.5px  !important; }
  .pr15r {
    padding-right: 11.25px  !important; }
  .pr20r {
    padding-right: 15px  !important; }
  .pr25r {
    padding-right: 18.75px  !important; }
  .pr30r {
    padding-right: 22.5px  !important; }
  .pr35r {
    padding-right: 26.25px  !important; }
  .pr40r {
    padding-right: 30px  !important; }
  .pr45r {
    padding-right: 33.75px  !important; }
  .pr50r {
    padding-right: 37.5px  !important; }
  .pb00r {
    padding-bottom: 0px  !important; }
  .pb05r {
    padding-bottom: 3.75px  !important; }
  .pb10r {
    padding-bottom: 7.5px  !important; }
  .pb15r {
    padding-bottom: 11.25px  !important; }
  .pb20r {
    padding-bottom: 15px  !important; }
  .pb25r {
    padding-bottom: 18.75px  !important; }
  .pb30r {
    padding-bottom: 22.5px  !important; }
  .pb35r {
    padding-bottom: 26.25px  !important; }
  .pb40r {
    padding-bottom: 30px  !important; }
  .pb45r {
    padding-bottom: 33.75px  !important; }
  .pb50r {
    padding-bottom: 37.5px  !important; }
  .pl00r {
    padding-left: 0px  !important; }
  .pl05r {
    padding-left: 3.75px  !important; }
  .pl10r {
    padding-left: 7.5px  !important; }
  .pl15r {
    padding-left: 11.25px  !important; }
  .pl20r {
    padding-left: 15px  !important; }
  .pl25r {
    padding-left: 18.75px  !important; }
  .pl30r {
    padding-left: 22.5px  !important; }
  .pl35r {
    padding-left: 26.25px  !important; }
  .pl40r {
    padding-left: 30px  !important; }
  .pl45r {
    padding-left: 33.75px  !important; }
  .pl50r {
    padding-left: 37.5px  !important; } }

.bd-solid1 {
  border-width: 1px;
  border-style: solid !important; }

.bd-solid2 {
  border-width: 2px;
  border-style: solid !important; }

.bd-solid3 {
  border-width: 3px;
  border-style: solid !important; }

.bd-solid4 {
  border-width: 4px;
  border-style: solid !important; }

.bd-solid5 {
  border-width: 5px;
  border-style: solid !important; }

.bdr-10 {
  border-radius: 10px !important; }

.bdr-8 {
  border-radius: 8px !important; }

.bdr-6 {
  border-radius: 6px !important; }

.bdr-4 {
  border-radius: 4px !important; }

.bd-tb1 {
  border-top: 1px solid #ccc;
  border-bottom: 4px solid #ccc;
  text-align: center;
  padding: 0 0.6em; }

.bd-lb1 {
  border-left: 2px solid #ccc;
  border-bottom: 4px solid #ccc;
  text-align: center; }

/*傾ける*/
.rotate-m5 {
  transform: rotate(-5deg); }

.rotate_m5 {
  transform: rotate(5deg); }

@media screen and (max-width: 768px) {
  .deco-spacer {
    position: relative;
    display: inline-block;
    padding: 0 0;
    max-width: 75%; }
  .deco-spacer:before,
  .deco-spacer:after {
    display: inline-block;
    width: 40px;
    height: 54px;
    content: ''; }
  .deco-spacer:before {
    position: absolute;
    top: 0;
    left: -40px; }
  .deco-spacer:after {
    position: absolute;
    top: 0;
    left: 100%; }
  .deco-spacer.single-row {
    padding-top: 1em;
    padding-bottom: 1em; } }

@media screen and (min-width: 481px) and (max-width: 768px) {
  .deco-spacer.double-row {
    padding-top: 0.8em;
    padding-bottom: 1em; } }

@media screen and (max-width: 480px) {
  /* スマホでは非表示にするbrタグには下記クラスを付与 */
  .br-none-max480 {
    display: none !important; }
  /*スマホ非表示汎用クラス*/
  .elm-none-max480 {
    display: none !important; }
  .elm-disp-min481 {
    display: none !important; }
  /*collapsible-block*/
  /*collapsible-block*/ }

@media screen and (min-width: 481px) {
  .elm-disp-min481 {
    display: block !important; }
  .elm-disp-max480 {
    display: none !important; }
  /*collapsible-block*/
  /*内包する要素を横並び（それぞれ50%の均等幅）*/
  .acc-container {
    display: table;
    width: 100%; }
  .acc-container .acc-header,
  .acc-container .acc-content {
    display: table-cell !important;
    width: 50%; }
  /*collapsible-block*/ }

@media screen and (max-width: 768px) {
  .br-none-max768 {
    display: none !important; }
  .elm-none-max768 {
    display: none !important; } }

@media screen and (min-width: 769px) {
  .br-none-min768 {
    display: none !important; }
  .elm-none-min768 {
    display: none !important; } }

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

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

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

/*汎用装飾クラス*/
.bold {
  font-weight: bold; }

/* 画像hover時半透明 */
.hover-opa:hover {
  opacity: 0.7; }

.fs10 {
  font-size: 10px;
  line-height: 16px; }

.fs12 {
  font-size: 12px;
  line-height: 18px; }

.fs14 {
  font-size: 14px;
  line-height: 20px; }

.fs20 {
  font-size: 20px; }

.fs24 {
  font-size: 24px; }

.fs26 {
  font-size: 26px; }

.fs28 {
  font-size: 28px; }

.fs30 {
  font-size: 30px; }

@media screen and (max-width: 480px) {
  .fs20 {
    font-size: 16px; } }

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }
  .video-container iframe,
  .video-container object,
  .video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@media screen and (min-width: 769px) {
  .a-link {
    margin-top: -60px;
    padding-top: 60px; } }

.yahoo-cont, .google-cont {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (min-width: 780px) {
    .yahoo-cont, .google-cont {
      -ms-flex-align: normal;
          align-items: normal; } }

.yahoo-cont {
  margin-top: 1rem; }
  @media screen and (min-width: 860px) {
    .yahoo-cont {
      margin-right: 1rem; } }

.google-logo {
  width: 25%;
  max-width: 5rem;
  height: auto;
  margin-right: .8rem; }
  @media screen and (min-width: 780px) {
    .google-logo {
      width: 30%; } }

.google-txt {
  font-size: .6rem;
  width: 50%;
  max-width: 12rem;
  margin-top: 0; }
  @media screen and (min-width: 370px) {
    .google-txt {
      font-size: .7rem; } }
  @media screen and (min-width: 480px) {
    .google-txt {
      width: 60%;
      font-size: .8rem; } }
  @media screen and (min-width: 780px) {
    .google-txt {
      margin-top: 2.4rem; } }

.yahoo-logo {
  width: 40%;
  max-width: 160px;
  height: auto;
  margin-right: .8rem; }
  @media screen and (min-width: 370px) {
    .yahoo-logo {
      font-size: .7rem;
      width: 45%; } }
  @media screen and (min-width: 480px) {
    .yahoo-logo {
      width: 38%; } }
  @media screen and (min-width: 860px) {
    .yahoo-logo {
      margin-top: 1.3rem; } }

.yahoo-txt {
  font-size: .6rem;
  width: 50%;
  max-width: 230px; }
  @media screen and (min-width: 370px) {
    .yahoo-txt {
      font-size: .7rem; } }
  @media screen and (min-width: 480px) {
    .yahoo-txt {
      width: 60%;
      font-size: .8rem; } }
  @media screen and (min-width: 860px) {
    .yahoo-txt {
      margin-top: 1.3rem; } }

@media screen and (min-width: 760px) {
  .google-en {
    margin-right: 1.5rem; } }

.google-en .google-logo {
  width: 38%; }

.google-en .google-txt {
  font-size: .8rem;
  width: 55%; }
  @media screen and (min-width: 780px) {
    .google-en .google-txt {
      margin-top: 2.2rem; } }

@media screen and (min-width: 780px) {
  .yahoo-en {
    margin-right: 1rem; } }

.yahoo-en .yahoo-logo {
  width: 43%; }
  @media screen and (min-width: 480px) {
    .yahoo-en .yahoo-logo {
      width: 40%; } }

.yahoo-en .yahoo-txt {
  font-size: .8rem;
  width: 52%;
  max-width: 215px; }
  @media screen and (min-width: 480px) {
    .yahoo-en .yahoo-txt {
      width: 60%; } }
  @media screen and (min-width: 780px) {
    .yahoo-en .yahoo-txt {
      margin-top: 1.2rem !important; } }
  @media screen and (min-width: 860px) {
    .yahoo-en .yahoo-txt {
      margin-top: 2.4rem !important; } }

.mt-05-en {
  margin-top: 0.5rem !important; }
  @media screen and (min-width: 480px) {
    .mt-05-en {
      margin-top: 1.3rem !important;
      margin-right: 2rem; } }
