/*
Theme Name: CIIDA_OFFICIAL_2016
Theme URI: https://www.ciida.jp/
Author: 2S Technologies, Inc.
Author URI: https://www.2st.co.jp/
Description: For Ciida Official website.
Version: 1.0.0
*/

@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
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;
  vertical-align: baseline; }

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

body {
  line-height: 1; }

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; }

html, body {
  font-family: Helvetica, Arial, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ ゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased; }

.main {
  position: relative;
  background-color: #FFF;
  z-index: 100; }

.section, .about, .solution, .product, .contact {
  position: relative;
  padding: 120px 0 100px;
  background-color: #FFF;
  margin-top: -20px; }
  .section h2, .about h2, .solution h2, .product h2, .contact h2 {
    font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
    font-size: 48px;
    color: #00B1BB;
    text-align: center; }
    .section h2 span, .about h2 span, .solution h2 span, .product h2 span, .contact h2 span {
      display: block;
      font-size: 18px;
      font-weight: bold;
      color: #808080;
      font-family: Helvetica, Arial, sans-serif;
      margin-top: 6px; }
  .section:before, .about:before, .solution:before, .product:before, .contact:before {
    content: "";
    display: block;
    width: calc(100% - 40px);
    max-width: 900px;
    height: 1px;
    background-color: #E6E6E6;
    position: absolute;
    top: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }

span.star {
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ ゴシック", "MS Gothic", sans-serif; }

body.touch a,
body.touch button {
  opacity: 1 !important;
  filter: alpha(opacity=100); }

@media screen and (max-width: 767px) {
  .section, .about, .solution, .product, .contact {
    width: 100%;
    padding: 80px 0 60px;
    overflow: hidden; }
    .section h2, .about h2, .solution h2, .product h2, .contact h2 {
      font-size: 36px; }
      .section h2 span, .about h2 span, .solution h2 span, .product h2 span, .contact h2 span {
        font-size: 14px;
        margin-top: 3px; }
    .section:before, .about:before, .solution:before, .product:before, .contact:before {
      content: "";
      display: block;
      width: calc(100% - 32px);
      height: 1px;
      background-color: #E6E6E6;
      position: absolute;
      top: 20px;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
              transform: translate(-50%, 0); } }
body.touch .firstview .firstview__hero {
  background-attachment: scroll; }

.firstview {
  position: relative;
  width: 100%;
  height: 880px;
  z-index: 200; }
  .firstview__hero {
    position: relative;
    width: 100%;
    height: calc(100% - 80px);
    z-index: 0;
    overflow: hidden;
    background-image: url(images/firstview_bg.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    .firstview__hero__bg {
      width: 100%;
      height: 100%;
      position: fixed;
      left: 0px;
      top: 0px;
      background-image: url(images/firstview_bg.jpg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      z-index: 0;
      pointer-events: none;
      display: none; }
    .firstview__hero img {
      display: block; }
    .firstview__hero .firstview__hero__logo {
      width: 470px;
      height: 226px;
      height: calc(100% - 572px);
      position: absolute;
      top: 56px;
      left: 50%;
      margin-left: -235px;
      z-index: 1; }
      .firstview__hero .firstview__hero__logo img {
        display: block;
        width: 470px;
        height: 226px;
        position: absolute;
        left: 0px;
        top: 50%;
        margin-top: -113px; }
    .firstview__hero .firstview__hero__img {
      width: 440px;
      height: 516px;
      position: absolute;
      bottom: 0px;
      left: 50%;
      margin-left: -220px;
      z-index: 1;
      background-image: url(images/firstview_image.png);
      background-size: 440px 516px; }
      .firstview__hero .firstview__hero__img .wave_anim {
        position: absolute;
        left: 0px;
        top: 0px;
        width: 100%;
        height: 100%; }
        .firstview__hero .firstview__hero__img .wave_anim .wave_frame {
          position: absolute;
          left: 0px;
          top: 0px;
          display: none;
          width: 100%;
          height: 100%;
          background-size: 100% 100%; }
          .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(1) {
            background-image: url(images/firstview_image_wave-1.png); }
          .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(2) {
            background-image: url(images/firstview_image_wave-2.png); }
          .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(3) {
            background-image: url(images/firstview_image_wave-3.png); }
          .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(4) {
            background-image: url(images/firstview_image_wave-4.png); }
          .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(5) {
            background-image: url(images/firstview_image_wave-5.png); }
  .firstview.shrink .firstview__hero .firstview__hero__logo {
    width: 100%;
    height: 35%;
    top: 0px;
    left: 0px;
    margin-left: 0px; }
    .firstview.shrink .firstview__hero .firstview__hero__logo img {
      width: auto;
      height: 80%;
      position: absolute;
      left: 50%;
      top: auto;
      bottom: 0px;
      -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
              transform: translate(-50%, 0); }
  .firstview.shrink .firstview__hero .firstview__hero__img {
    width: 100%;
    height: 65%;
    margin-left: 0px;
    background-size: auto 100%;
    background-position: center bottom;
    background-repeat: no-repeat;
    left: 0px; }
    .firstview.shrink .firstview__hero .firstview__hero__img .wave_anim .wave_frame {
      background-size: auto 100%;
      background-position: center bottom;
      background-repeat: no-repeat; }
  .firstview__header {
    width: 100%;
    height: 80px;
    background-color: #FFF;
    position: absolute;
    left: 0px;
    bottom: 0px;
    border-bottom: 1px solid #E6E6E6;
    z-index: 1; }
    .firstview__header__toggle {
      display: none; }
    .firstview__header.follow {
      position: fixed;
      bottom: auto;
      top: 0px; }
    .firstview__header__logo {
      display: block;
      width: 118px;
      height: 44px;
      position: absolute;
      left: 50px;
      top: 16px; }
    .firstview__header__nav {
      position: absolute;
      top: 0px;
      right: 54px; }
      .firstview__header__nav ul li {
        font-size: 18px;
        float: left;
        margin-left: 30px; }
        .firstview__header__nav ul li a {
          font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
          transition: opacity 0.1s linear 0s;
          display: block;
          width: auto;
          box-sizing: border-box;
          height: 81px;
          line-height: 82px;
          color: #000;
          text-decoration: none; }
          .firstview__header__nav ul li a:hover {
            transition: opacity 0s linear 0s;
            opacity: 0.5;
            filter: alpha(opacity=50); }
        .firstview__header__nav ul li.firstview__header__nav__about a, .firstview__header__nav ul li.firstview__header__nav__solution a, .firstview__header__nav ul li.firstview__header__nav__product a {
          border-bottom: 5px solid transparent; }
        .firstview__header__nav ul li.firstview__header__nav__about.current a, .firstview__header__nav ul li.firstview__header__nav__solution.current a, .firstview__header__nav ul li.firstview__header__nav__product.current a {
          border-bottom: 5px solid #00b1bb;
          opacity: 1 !important;
          filter: alpha(opacity=100); }
        .firstview__header__nav ul li.firstview__header__nav__contact a {
          position: relative;
          height: 44px;
          line-height: 44px;
          font-size: 13px;
          color: #FFF;
          background-color: #000;
          padding-left: 30px;
          padding-right: 10px;
          top: 18px; }
          .firstview__header__nav ul li.firstview__header__nav__contact a:before {
            content: "";
            display: block;
            width: 16px;
            height: 10px;
            background-image: url(images/mail.png);
            background-size: 16px 10px;
            position: absolute;
            left: 9px;
            top: 17px; }
    .firstview__header__scroll {
      display: block;
      width: 64px;
      height: 36px;
      position: absolute;
      top: 23px;
      left: 50%;
      margin-left: -32px; }
      .firstview__header__scroll.hide img {
        opacity: 0;
        filter: alpha(opacity=0); }
      .firstview__header__scroll img {
        display: block;
        opacity: 1;
        filter: alpha(opacity=100);
        transition: opacity 0.1s linear; }
      @media screen and (max-width: 1040px) {
        .firstview__header__scroll img {
          opacity: 0;
          filter: alpha(opacity=0); } }

@media screen and (max-width: 767px) {
  .firstview {
    border-bottom: 1px solid #E6E6E6; }
    .firstview__header {
      height: 44px;
      position: static;
      left: 0px;
      top: 0px;
      bottom: auto;
      border-bottom: none;
      z-index: 100; }
      .firstview__header__logo {
        display: block;
        width: 75px;
        height: 28px;
        position: fixed;
        left: 16px;
        top: 7px;
        z-index: 200;
        opacity: 0;
        filter: alpha(opacity=0); }
        .firstview__header__logo.show {
          opacity: 1;
          filter: alpha(opacity=100);
          transition: opacity 0.25s linear; }
        .firstview__header__logo img {
          display: block;
          width: 75px;
          height: 28px; }
      .firstview__header__toggle {
        display: block;
        width: 44px;
        height: 44px;
        background-image: url(images/header_toggle.png);
        background-size: 44px 88px;
        background-position: left top;
        background-repeat: no-repeat;
        position: fixed;
        top: 0px;
        right: 9px;
        z-index: 101; }
      .firstview__header__container {
        position: fixed;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 44px;
        overflow: hidden;
        background-color: #FFF;
        transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        z-index: 100;
        border-bottom: 1px solid #E6E6E6; }
      .firstview__header__nav {
        width: 100%;
        position: relative;
        top: 44px;
        right: 0px; }
        .firstview__header__nav ul {
          width: 100%;
          height: 176px;
          background-color: #FFF; }
          .firstview__header__nav ul li {
            float: none;
            width: 100%;
            height: 43px;
            border-top: 1px solid #E6E6E6;
            margin: 0px;
            font-size: 16px; }
            .firstview__header__nav ul li a {
              height: 43px;
              line-height: 43px;
              text-align: center;
              border-bottom: 0px !important; }
            .firstview__header__nav ul li.firstview__header__nav__contact a {
              padding-left: 0px;
              padding-right: 0px;
              top: 0px; }
              .firstview__header__nav ul li.firstview__header__nav__contact a:before {
                content: "";
                display: inline-block;
                background-image: url(images/mail.png);
                background-size: 16px 10px;
                position: relative;
                top: 0px;
                left: -6px; }
      .firstview__header__scroll {
        width: 42px;
        height: 24px;
        top: auto;
        bottom: 12px;
        margin-left: -21px; }
        .firstview__header__scroll img {
          width: 42px;
          height: 24px;
          display: block;
          opacity: 1 !important;
          filter: alpha(opacity=100); }
      .firstview__header.open .firstview__header__toggle {
        background-position: left bottom; }
      .firstview__header.open .firstview__header__container {
        height: 220px;
        border-bottom: none; }
    .firstview__hero {
      height: calc(100% - 88px);
      position: absolute;
      bottom: 44px;
      background-image: url(images/sp_firstview_bg.jpg); }
      .firstview__hero__bg {
        background-image: url(images/sp_firstview_bg.jpg); }
      .firstview__hero .firstview__hero__logo {
        width: 258px;
        height: 124px;
        height: calc(100% - 320px);
        position: absolute;
        top: 56px;
        left: 50%;
        margin-left: -129px;
        z-index: 1; }
        .firstview__hero .firstview__hero__logo img {
          display: block;
          width: 258px;
          height: 124px;
          position: absolute;
          left: 0px;
          top: 50%;
          margin-top: -113px; }
      .firstview__hero .firstview__hero__img {
        width: 285px;
        height: 316px;
        position: absolute;
        bottom: 0px;
        left: 50%;
        margin-left: -142px;
        z-index: 1;
        background-image: url(images/sp_firstview_image.png);
        background-size: 285px 316px; }
        .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(1) {
          background-image: url(images/sp_firstview_image_wave-1.png); }
        .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(2) {
          background-image: url(images/sp_firstview_image_wave-2.png); }
        .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(3) {
          background-image: url(images/sp_firstview_image_wave-3.png); }
        .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(4) {
          background-image: url(images/sp_firstview_image_wave-4.png); }
        .firstview__hero .firstview__hero__img .wave_anim .wave_frame:nth-child(5) {
          background-image: url(images/sp_firstview_image_wave-5.png); } }
@-webkit-keyframes rotate_clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@keyframes rotate_clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@-webkit-keyframes rotate_counterclockwise {
  0% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@keyframes rotate_counterclockwise {
  0% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
.about:before {
  display: none; }
.about .about__fig {
  display: block;
  width: 610px;
  height: 434px;
  margin: 35px auto 34px;
  position: relative; }
  .about .about__fig__img {
    position: relative;
    display: block;
    width: 610px;
    height: 434px;
    background-image: url(images/about_fig.png);
    background-size: 610px 434px;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2; }
  .about .about__fig:before {
    content: "";
    display: block;
    width: 400px;
    height: 400px;
    background-image: url(images/about_fig_ring_outer.png);
    background-size: 400px 400px;
    position: absolute;
    left: 106px;
    top: -53px;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    -webkit-animation: rotate_clockwise 8s linear 0s infinite normal;
    animation: rotate_clockwise 8s linear 0s infinite normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    z-index: 0; }
  .about .about__fig:after {
    content: "";
    display: block;
    width: 400px;
    height: 400px;
    background-image: url(images/about_fig_ring_inner.png);
    background-size: 400px 400px;
    position: absolute;
    left: 106px;
    top: -53px;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    -webkit-animation: rotate_counterclockwise 8s linear 0s infinite normal;
    animation: rotate_counterclockwise 8s linear 0s infinite normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    z-index: 1; }
.about p {
  font-size: 14px;
  line-height: 24px;
  width: 640px;
  margin: 0 auto; }

@media screen and (max-width: 768px) {
  .about .about__fig {
    width: 320px;
    height: 321px;
    margin: 12px auto 15px; }
    .about .about__fig__img {
      width: 320px;
      height: 321px;
      background-image: url(images/sp_about_fig.png);
      background-size: 320px 321px; }
    .about .about__fig:before, .about .about__fig:after {
      width: 224px;
      height: 224px;
      background-size: 224px 224px;
      left: 48px;
      top: 23px; }
  .about p {
    width: auto;
    margin: 0 16px;
    text-align: justify; } }
body.touch .solution .solution__description__outline {
  background-attachment: scroll; }

.solution .solution__lead {
  font-size: 14px;
  line-height: 24px;
  width: 640px;
  margin: 24px auto 36px; }
.solution .solution__description {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .solution .solution__description__outline {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
    z-index: 0;
    background-image: url(images/solution_bg.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    .solution .solution__description__outline__bg {
      display: none;
      width: 100%;
      height: 100%;
      padding: 0;
      position: fixed;
      left: 0px;
      bottom: 0px;
      background-image: url(images/solution_bg.jpg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      z-index: 0; }
    .solution .solution__description__outline__contain {
      width: auto;
      max-width: 900px;
      margin: 0 auto;
      padding: 48px 0 0;
      position: relative;
      z-index: 1; }
      .solution .solution__description__outline__contain h3 {
        font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
        font-size: 24px;
        color: #FFF;
        line-height: 29px;
        padding: 0 20px; }
      .solution .solution__description__outline__contain .solution__description__outline__image {
        position: relative;
        display: block;
        width: 100%;
        max-width: 768px;
        height: 300px;
        margin: 8px auto 0;
        background-image: url(images/solution_fig_1.png);
        background-size: 768px 300px;
        background-position: center center;
        background-repeat: no-repeat; }
        .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim {
          display: block;
          position: absolute;
          left: 0px;
          top: 0px;
          width: 100%;
          height: 100%; }
          .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame {
            position: absolute;
            left: 0px;
            top: 0px;
            display: none;
            width: 100%;
            height: 100%;
            background-size: 100% 100%; }
            .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(1) {
              background-image: url(images/solution_fig_1_wave-1.png); }
            .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(2) {
              background-image: url(images/solution_fig_1_wave-2.png); }
            .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(3) {
              background-image: url(images/solution_fig_1_wave-3.png); }
            .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(4) {
              background-image: url(images/solution_fig_1_wave-4.png); }
            .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(5) {
              background-image: url(images/solution_fig_1_wave-5.png); }
            .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(6) {
              background-image: url(images/solution_fig_1_wave-6.png); }
  .solution .solution__description__positioning {
    position: relative;
    background-color: #00B1BB;
    padding-top: 48px; }
    .solution .solution__description__positioning:before {
      content: "";
      display: block;
      width: 0px;
      height: 0px;
      border-top: 0px solid transparent;
      border-bottom: 40px solid #00B1BB;
      border-left: 40px solid transparent;
      border-right: 40px solid transparent;
      position: absolute;
      left: 50%;
      top: -40px;
      margin-left: -40px; }
    .solution .solution__description__positioning h3 {
      font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
      font-size: 32px;
      color: #FFF;
      text-align: center;
      margin-bottom: 26px; }
    .solution .solution__description__positioning p {
      color: #FFF;
      font-size: 14px;
      line-height: 24px;
      width: auto;
      max-width: 900px;
      margin: 0 auto; }
    .solution .solution__description__positioning > p {
      padding: 0 20px; }
    .solution .solution__description__positioning__fig {
      margin-top: 40px;
      background-color: #139EA6; }
      .solution .solution__description__positioning__fig:after {
        content: "";
        display: block;
        width: 0px;
        height: 0px;
        float: none;
        clear: both;
        visibility: hidden; }
      .solution .solution__description__positioning__fig__img {
        display: block;
        width: 100%;
        height: auto;
        margin: 0 auto;
        background-color: #00B1BB;
        padding-bottom: 68px; }
        .solution .solution__description__positioning__fig__img__block {
          display: block;
          width: 768px;
          height: 266px;
          margin: 0 auto;
          position: relative;
          background-image: url(images/solution_fig_2.png);
          background-size: 768px 266px;
          background-position: center center;
          background-repeat: no-repeat; }
          .solution .solution__description__positioning__fig__img__block .wave_anim {
            position: absolute;
            left: 0px;
            top: 0px;
            width: 100%;
            height: 100%; }
            .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame {
              position: absolute;
              left: 0px;
              top: 0px;
              display: none;
              width: 100%;
              height: 100%;
              background-size: 100% 100%; }
              .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(1) {
                background-image: url(images/solution_fig_2_wave-1.png); }
              .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(2) {
                background-image: url(images/solution_fig_2_wave-2.png); }
              .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(3) {
                background-image: url(images/solution_fig_2_wave-3.png); }
              .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(4) {
                background-image: url(images/solution_fig_2_wave-4.png); }
              .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(5) {
                background-image: url(images/solution_fig_2_wave-5.png); }
              .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(6) {
                background-image: url(images/solution_fig_2_wave-6.png); }
      .solution .solution__description__positioning__fig__caption_1, .solution .solution__description__positioning__fig__caption_2 {
        box-sizing: border-box;
        width: 50%;
        float: left;
        padding-top: 40px;
        padding-bottom: 40px; }
        .solution .solution__description__positioning__fig__caption_1 p, .solution .solution__description__positioning__fig__caption_2 p {
          width: auto;
          max-width: 406px;
          position: relative; }
          .solution .solution__description__positioning__fig__caption_1 p:before, .solution .solution__description__positioning__fig__caption_2 p:before {
            content: "";
            display: block;
            width: 0px;
            height: 0px;
            border-top: 0px solid transparent;
            border-bottom: 23px solid #139EA6;
            border-left: 23px solid transparent;
            border-right: 23px solid transparent;
            position: absolute;
            top: -63px;
            left: 50%;
            margin-left: -12px; }
      .solution .solution__description__positioning__fig__caption_1 {
        padding-right: 40px;
        padding-left: 20px; }
        .solution .solution__description__positioning__fig__caption_1 p {
          margin: 0 0 0 auto; }
      .solution .solution__description__positioning__fig__caption_2 {
        padding-left: 40px;
        padding-right: 20px; }
        .solution .solution__description__positioning__fig__caption_2 p {
          margin: 0 auto 0 0; }
.solution .solution__flow {
  margin-top: 88px; }
  .solution .solution__flow h3 {
    font-size: 24px;
    color: #00B1BB;
    text-align: center;
    margin-bottom: 28px;
    font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif; }
  .solution .solution__flow__list {
    width: auto;
    max-width: 835px;
    height: auto;
    margin: 0 auto; }
    .solution .solution__flow__list:after {
      content: "";
      display: block;
      width: 0px;
      height: 0px;
      float: none;
      clear: both;
      visibility: hidden; }
    .solution .solution__flow__list__item, .solution .solution__flow__list__item--1, .solution .solution__flow__list__item--2, .solution .solution__flow__list__item--3, .solution .solution__flow__list__item--4, .solution .solution__flow__list__item--5 {
      box-sizing: border-box;
      position: relative;
      width: 20%;
      padding: 0 12px 0 13px;
      float: left; }
      .solution .solution__flow__list__item:before, .solution .solution__flow__list__item--1:before, .solution .solution__flow__list__item--2:before, .solution .solution__flow__list__item--3:before, .solution .solution__flow__list__item--4:before, .solution .solution__flow__list__item--5:before {
        content: "";
        display: block;
        width: 10px;
        height: 13px;
        background-image: url(images/solution_flow_arrow.png);
        background-size: 10px 13px;
        position: absolute;
        top: 50%;
        left: -4px;
        margin-top: -6px; }
      .solution .solution__flow__list__item span, .solution .solution__flow__list__item--1 span, .solution .solution__flow__list__item--2 span, .solution .solution__flow__list__item--3 span, .solution .solution__flow__list__item--4 span, .solution .solution__flow__list__item--5 span {
        display: block;
        text-indent: 200%;
        white-space: nowrap;
        overflow: hidden;
        color: transparent;
        display: block;
        width: 100%;
        height: 0%;
        padding-bottom: 100%;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain; }
      .solution .solution__flow__list__item--1 span {
        background-image: url(images/solution_flow_1.png); }
      .solution .solution__flow__list__item--1:before {
        display: none; }
      .solution .solution__flow__list__item--2 span {
        background-image: url(images/solution_flow_2.png); }
      .solution .solution__flow__list__item--3 span {
        background-image: url(images/solution_flow_3.png); }
      .solution .solution__flow__list__item--4 span {
        background-image: url(images/solution_flow_4.png); }
      .solution .solution__flow__list__item--5 span {
        background-image: url(images/solution_flow_5.png); }
.solution .solution__spec {
  margin-top: 88px; }
  .solution .solution__spec h3 {
    font-size: 24px;
    color: #00B1BB;
    text-align: center;
    margin-bottom: 28px;
    font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif; }
  .solution .solution__spec dl {
    width: 640px;
    margin: 0 auto;
    border-bottom: 1px solid #00B1BB; }
    .solution .solution__spec dl:after {
      content: "";
      display: block;
      width: 0px;
      height: 0px;
      float: none;
      clear: both;
      visibility: hidden; }
    .solution .solution__spec dl dt {
      box-sizing: border-box;
      width: 225px;
      padding: 6px 0 6px 10px;
      float: left;
      clear: both;
      border-top: 1px solid #00B1BB;
      font-size: 14px;
      line-height: 24px;
      color: #00B1BB;
      font-weight: bold; }
    .solution .solution__spec dl dd {
      box-sizing: border-box;
      width: 415px;
      padding: 6px 10px 6px 0;
      float: left;
      border-top: 1px solid #00B1BB;
      font-size: 14px;
      line-height: 24px; }
      .solution .solution__spec dl dd ul li {
        position: relative;
        padding-left: 14px; }
        .solution .solution__spec dl dd ul li:before {
          content: "・";
          position: absolute;
          left: -0px; }
.solution .solution__link {
  font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
  transition: opacity 0.1s linear 0s;
  position: relative;
  display: block;
  width: 640px;
  height: 100px;
  background-color: #00B1BB;
  font-size: 24px;
  line-height: 100px;
  text-align: center;
  color: #FFF;
  text-decoration: none;
  margin: 80px auto 0; }
  .solution .solution__link:hover {
    transition: opacity 0s linear 0s;
    opacity: 0.5;
    filter: alpha(opacity=50); }
  .solution .solution__link br {
    display: none; }
  .solution .solution__link:before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 42px;
    background-image: url(images/download_icon.png);
    background-size: 48px 42px;
    position: relative;
    left: -12px;
    top: 8px; }
  .solution .solution__link:after {
    content: "";
    display: block;
    width: 0px;
    height: 0px;
    border-top: 23px solid #FFF;
    border-bottom: 0px solid transparent;
    border-left: 23px solid transparent;
    border-right: 23px solid transparent;
    position: absolute;
    left: 50%;
    top: 0px;
    margin-left: -23px; }

@media screen and (max-width: 767px) {
  .solution .solution__lead {
    width: auto;
    margin: 20px 16px 23px;
    text-align: justify; }
  .solution .solution__description__outline {
    background-image: url(images/sp_solution_bg.jpg); }
    .solution .solution__description__outline__bg {
      background-image: url(images/sp_solution_bg.jpg); }
    .solution .solution__description__outline__contain {
      padding: 32px 0 0; }
      .solution .solution__description__outline__contain h3 {
        font-size: 20px;
        line-height: 24px;
        text-align: center; }
      .solution .solution__description__outline__contain .solution__description__outline__image {
        max-width: 320px;
        height: 368px;
        margin-top: 12px;
        background-image: url(images/sp_solution_fig_1.png);
        background-size: 320px 368px; }
        .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(1) {
          background-image: url(images/sp_solution_fig_1_wave-1.png); }
        .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(2) {
          background-image: url(images/sp_solution_fig_1_wave-2.png); }
        .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(3) {
          background-image: url(images/sp_solution_fig_1_wave-3.png); }
        .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(4) {
          background-image: url(images/sp_solution_fig_1_wave-4.png); }
        .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(5) {
          background-image: url(images/sp_solution_fig_1_wave-5.png); }
        .solution .solution__description__outline__contain .solution__description__outline__image .wave_anim .wave_frame:nth-child(6) {
          background-image: url(images/sp_solution_fig_1_wave-6.png); }
  .solution .solution__description__positioning {
    padding-top: 30px; }
    .solution .solution__description__positioning:before {
      content: "";
      display: block;
      width: 0px;
      height: 0px;
      border-top: 0px solid transparent;
      border-bottom: 22px solid #00B1BB;
      border-left: 22px solid transparent;
      border-right: 22px solid transparent;
      position: absolute;
      left: 50%;
      top: -22px;
      margin-left: -22px; }
    .solution .solution__description__positioning h3 {
      font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
      font-size: 24px;
      margin-bottom: 14px; }
    .solution .solution__description__positioning p {
      text-align: justify; }
    .solution .solution__description__positioning > p {
      padding: 0 16px; }
    .solution .solution__description__positioning__fig {
      margin-top: 24px; }
      .solution .solution__description__positioning__fig__container {
        position: relative;
        padding-bottom: 546px; }
      .solution .solution__description__positioning__fig__img {
        display: block;
        width: 100%;
        height: 546px;
        background-color: #00B1BB;
        padding-bottom: 0px;
        position: absolute;
        left: 0px;
        bottom: 0px; }
        .solution .solution__description__positioning__fig__img__block {
          display: block;
          width: 320px;
          height: 546px;
          margin: 0 auto;
          position: relative;
          background-image: url(images/sp_solution_fig_2.png);
          background-size: 320px 546px;
          background-position: center center;
          background-repeat: no-repeat; }
          .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(1) {
            background-image: url(images/sp_solution_fig_2_wave-1.png); }
          .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(2) {
            background-image: url(images/sp_solution_fig_2_wave-2.png); }
          .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(3) {
            background-image: url(images/sp_solution_fig_2_wave-3.png); }
          .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(4) {
            background-image: url(images/sp_solution_fig_2_wave-4.png); }
          .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(5) {
            background-image: url(images/sp_solution_fig_2_wave-5.png); }
          .solution .solution__description__positioning__fig__img__block .wave_anim .wave_frame:nth-child(6) {
            background-image: url(images/sp_solution_fig_2_wave-6.png); }
      .solution .solution__description__positioning__fig__caption_1, .solution .solution__description__positioning__fig__caption_2 {
        box-sizing: border-box;
        width: 100%;
        float: none;
        padding: 16px; }
        .solution .solution__description__positioning__fig__caption_1 p, .solution .solution__description__positioning__fig__caption_2 p {
          width: auto;
          max-width: 100%;
          font-size: 12px;
          line-height: 21px; }
          .solution .solution__description__positioning__fig__caption_1 p:before, .solution .solution__description__positioning__fig__caption_2 p:before {
            content: "";
            display: block;
            width: 0px;
            height: 0px;
            border-left: 17px solid transparent;
            border-right: 17px solid transparent;
            position: absolute;
            left: 50%;
            margin-left: -9px; }
      .solution .solution__description__positioning__fig__caption_1 p:before {
        border-bottom: 0px solid transparent;
        border-top: 17px solid #139EA6;
        top: auto;
        bottom: -33px; }
      .solution .solution__description__positioning__fig__caption_2 p:before {
        border-top: 0px solid transparent;
        border-bottom: 17px solid #139EA6;
        top: -33px; }
  .solution .solution__flow {
    margin-top: 60px; }
    .solution .solution__flow h3 {
      font-size: 20px;
      margin-bottom: 28px; }
    .solution .solution__flow__list {
      width: 288px;
      max-width: 288px; }
      .solution .solution__flow__list__item, .solution .solution__flow__list__item--1, .solution .solution__flow__list__item--2, .solution .solution__flow__list__item--3, .solution .solution__flow__list__item--4, .solution .solution__flow__list__item--5 {
        box-sizing: border-box;
        position: relative;
        width: 100%;
        padding: 7px 0;
        float: none; }
        .solution .solution__flow__list__item:before, .solution .solution__flow__list__item--1:before, .solution .solution__flow__list__item--2:before, .solution .solution__flow__list__item--3:before, .solution .solution__flow__list__item--4:before, .solution .solution__flow__list__item--5:before {
          content: "";
          display: block;
          width: 10px;
          height: 8px;
          background-image: url(images/sp_solution_flow_arrow.png);
          background-size: 10px 8px;
          position: absolute;
          top: auto;
          left: 50%;
          bottom: -4px;
          margin: 0 0 0 -5px; }
        .solution .solution__flow__list__item span, .solution .solution__flow__list__item--1 span, .solution .solution__flow__list__item--2 span, .solution .solution__flow__list__item--3 span, .solution .solution__flow__list__item--4 span, .solution .solution__flow__list__item--5 span {
          box-sizing: border-box;
          width: 100%;
          height: 56px;
          padding: 21px 0 17px 32px;
          text-indent: 0px;
          color: #000;
          font-size: 14px;
          line-height: 17px;
          text-align: center;
          background-size: 56px 56px;
          background-position: left top;
          letter-spacing: -1px;
          font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif; }
        .solution .solution__flow__list__item--1 span {
          background-image: url(images/sp_solution_flow_1.png); }
        .solution .solution__flow__list__item--1:before {
          display: block; }
        .solution .solution__flow__list__item--2 span {
          background-image: url(images/sp_solution_flow_2.png); }
        .solution .solution__flow__list__item--3 span {
          background-image: url(images/sp_solution_flow_3.png);
          padding: 13px 0 9px 32px; }
        .solution .solution__flow__list__item--4 span {
          background-image: url(images/sp_solution_flow_4.png); }
        .solution .solution__flow__list__item--5 span {
          background-image: url(images/sp_solution_flow_5.png);
          font-size: 26px;
          line-height: 28px;
          padding: 16px 0 12px 32px;
          color: #00B1BB; }
        .solution .solution__flow__list__item--5:before {
          display: none; }
  .solution .solution__spec {
    margin-top: 54px; }
    .solution .solution__spec h3 {
      font-size: 20px;
      margin-bottom: 20px; }
    .solution .solution__spec dl {
      width: auto;
      margin: 0 16px;
      border-bottom: 1px solid #00B1BB; }
      .solution .solution__spec dl:after {
        content: "";
        display: block;
        width: 0px;
        height: 0px;
        float: none;
        clear: both;
        visibility: hidden; }
      .solution .solution__spec dl dt {
        box-sizing: border-box;
        width: auto;
        padding: 6px 6px 0 6px;
        float: none;
        clear: both;
        border-top: 1px solid #00B1BB;
        font-size: 14px;
        line-height: 24px;
        color: #00B1BB;
        font-weight: bold; }
      .solution .solution__spec dl dd {
        box-sizing: border-box;
        width: auto;
        padding: 0 6px 6px 6px;
        float: none;
        border-top: none;
        font-size: 14px;
        line-height: 24px; }
        .solution .solution__spec dl dd ul li {
          position: relative;
          padding-left: 14px; }
          .solution .solution__spec dl dd ul li:before {
            content: "・";
            position: absolute;
            left: -0px; }
  .solution .solution__link {
    box-sizing: border-box;
    width: auto;
    height: 88px;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    padding: 24px 0 16px 60px;
    color: #FFF;
    text-decoration: none;
    margin: 60px 16px 0; }
    .solution .solution__link br {
      display: block; }
    .solution .solution__link span {
      display: inline-block;
      width: 50px; }
    .solution .solution__link:before {
      content: "";
      display: block;
      width: 36px;
      height: 31px;
      background-image: url(images/sp_download_icon.png);
      background-size: 36px 31px;
      position: absolute;
      left: 50%;
      top: 24px;
      margin-left: -128px; }
    .solution .solution__link:after {
      content: "";
      display: block;
      width: 0px;
      height: 0px;
      border-top: 17px solid #FFF;
      border-bottom: 0px solid transparent;
      border-left: 17px solid transparent;
      border-right: 17px solid transparent;
      position: absolute;
      left: 50%;
      top: 0px;
      margin-left: -17px; } }
@media screen and (max-width: 320px) {
  .solution .solution__description__outline__contain h3 {
    font-size: 18px; } }
.product .product__lead {
  font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
  font-size: 28px;
  line-height: 34px;
  text-align: center;
  margin: 24px 0 52px; }
  .product .product__lead br.wbr {
    display: none; }
.product .product__feature {
  position: relative;
  box-sizing: border-box;
  width: auto;
  max-width: 900px;
  padding: 0 20px 0 360px;
  margin: 0 auto; }
  .product .product__feature__image {
    width: 330px;
    position: absolute;
    left: 0px;
    top: 0px; }
    .product .product__feature__image img {
      display: block;
      margin: 0 auto; }
      .product .product__feature__image img.product__feature__image__photo {
        margin: 30px auto 6px; }
    .product .product__feature__image__catno {
      text-align: center;
      font-size: 14px; }
  .product .product__feature dl {
    font-size: 14px;
    line-height: 24px; }
    .product .product__feature dl dt {
      position: relative;
      color: #00B1BB;
      padding-left: 12px; }
      .product .product__feature dl dt:before {
        content: "";
        display: block;
        width: 9px;
        height: 9px;
        background-color: #00B1BB;
        position: absolute;
        left: 0px;
        top: 8px; }
    .product .product__feature dl dd {
      margin-bottom: 1.75em; }
.product .product__spec {
  margin-top: 80px; }
  .product .product__spec h3 {
    font-size: 24px;
    color: #00B1BB;
    text-align: center;
    margin-bottom: 28px;
    font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif; }
  .product .product__spec dl {
    width: 640px;
    margin: 0 auto;
    border-bottom: 1px solid #00B1BB; }
    .product .product__spec dl:after {
      content: "";
      display: block;
      width: 0px;
      height: 0px;
      float: none;
      clear: both;
      visibility: hidden; }
    .product .product__spec dl dt {
      box-sizing: border-box;
      width: 225px;
      padding: 6px 0 6px 10px;
      float: left;
      clear: both;
      border-top: 1px solid #00B1BB;
      font-size: 14px;
      line-height: 24px;
      color: #00B1BB;
      font-weight: bold; }
    .product .product__spec dl dd {
      box-sizing: border-box;
      width: 415px;
      padding: 6px 10px 6px 0;
      float: left;
      border-top: 1px solid #00B1BB;
      font-size: 14px;
      line-height: 24px; }
.product .product__link {
  font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
  transition: opacity 0.1s linear 0s;
  position: relative;
  display: block;
  width: 640px;
  height: 100px;
  background-color: #00B1BB;
  font-size: 24px;
  line-height: 100px;
  text-align: center;
  color: #FFF;
  text-decoration: none;
  margin: 80px auto 0; }
  .product .product__link:hover {
    transition: opacity 0s linear 0s;
    opacity: 0.5;
    filter: alpha(opacity=50); }
  .product .product__link:before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 42px;
    background-image: url(images/download_icon.png);
    background-size: 48px 42px;
    position: relative;
    left: -12px;
    top: 8px; }
  .product .product__link:after {
    content: "";
    display: block;
    width: 0px;
    height: 0px;
    border-top: 23px solid #FFF;
    border-bottom: 0px solid transparent;
    border-left: 23px solid transparent;
    border-right: 23px solid transparent;
    position: absolute;
    left: 50%;
    top: 0px;
    margin-left: -23px; }

@media screen and (max-width: 767px) {
  .product .product__lead {
    margin: 26px 0;
    font-size: 21px;
    line-height: 25px; }
    .product .product__lead br {
      display: none; }
      .product .product__lead br.wbr {
        display: block; }
  .product .product__feature {
    width: auto;
    max-width: auto;
    padding: 0px; }
    .product .product__feature__image {
      position: relative;
      width: auto; }
      .product .product__feature__image img {
        display: block;
        margin: 0 auto; }
        .product .product__feature__image img.product__feature__image__logo {
          width: 169px;
          height: 83px; }
        .product .product__feature__image img.product__feature__image__photo {
          margin: 20px auto 6px;
          width: 203px;
          height: 180px; }
      .product .product__feature__image__catno {
        font-size: 12px; }
    .product .product__feature dl {
      margin: 22px 16px 0; }
      .product .product__feature dl dd {
        text-align: justify; }
  .product .product__spec {
    margin-top: 56px; }
    .product .product__spec h3 {
      font-size: 20px;
      margin-bottom: 18px; }
    .product .product__spec dl {
      width: auto;
      margin: 0 16px; }
      .product .product__spec dl dt {
        width: auto;
        padding: 6px 6px 0 6px;
        float: none; }
      .product .product__spec dl dd {
        width: auto;
        padding: 0 6px 6px 6px;
        float: none;
        border-top: none; }
  .product .product__link {
    box-sizing: border-box;
    width: auto;
    height: 88px;
    font-size: 18px;
    line-height: 31px;
    text-align: center;
    padding: 22px 0 0 0;
    color: #FFF;
    text-decoration: none;
    margin: 60px 16px 0; }
    .product .product__link br {
      display: block; }
    .product .product__link:before {
      content: "";
      display: inline-block;
      width: 36px;
      height: 31px;
      background-image: url(images/sp_download_icon.png);
      background-size: 36px 31px;
      position: relative;
      left: auto;
      top: 4px;
      margin-left: 0px;
      margin-right: 12px; }
    .product .product__link:after {
      content: "";
      display: block;
      width: 0px;
      height: 0px;
      border-top: 17px solid #FFF;
      border-bottom: 0px solid transparent;
      border-left: 17px solid transparent;
      border-right: 17px solid transparent;
      position: absolute;
      left: 50%;
      top: 0px;
      margin-left: -17px; } }
@media screen and (max-width: 320px) {
  .product .product__lead {
    font-size: 18px; } }
.contact {
  padding-bottom: 0px; }
  .contact a {
    color: #000;
    font-weight: 300;
    font-size: 14px; }
  .contact .contact__content {
    background-color: #F2F2F2;
    padding-top: 30px;
    padding-bottom: 80px;
    margin-top: 30px; }
  .contact .contact__mail {
    font-family: "見出ゴMB31", "Midashi Go MB31", sans-serif;
    transition: opacity 0.1s linear 0s;
    position: relative;
    display: block;
    width: 640px;
    height: 100px;
    background-color: #00B1BB;
    font-size: 24px;
    line-height: 100px;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    margin: 80px auto 0; }
    .contact .contact__mail:hover {
      transition: opacity 0s linear 0s;
      opacity: 0.5;
      filter: alpha(opacity=50); }
@media screen and (max-width: 767px) {
  .contact .contact__mail {
    box-sizing: border-box;
    width: auto;
    height: 88px;
    font-size: 18px;
    line-height: 31px;
    text-align: center;
    padding: 22px 0 0 0;
    color: #FFF;
    text-decoration: none;
    margin: 60px 16px 0; }
    .contact .contact__mail br {
      display: block; } }
  .contact .contact__form form {
    width: 640px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto; }
    .contact .contact__form .wpcf7 form.wpcf7-form input.wpcf7-not-valid {
      display: block;
      float: none;
      margin: 8px 0; }
    .contact .contact__form .wpcf7 form.wpcf7-form div.wpcf7-validation-errors {
      border: 2px solid #FF3366;
      padding-top: 0.5em; }
    .contact .contact__form form div.part {
      position: relative;
      margin: 0 0 10px 0; }
      .contact .contact__form form div.part label {
        position: relative;
        left: 16px;
        top: 0px;
        display: block;
        line-height: 32px;
        color: #808080;
        text-align: left; }
        .contact__form form div.part input, .contact__form form div.part textarea, .contact__form form div.part select {
          display: block;
          font-family: Helvetica, Arial, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ ゴシック", "MS Gothic", sans-serif;
          font-size: 14px;
          font-weight: normal;
          height: 36px;
          border: none;
          background: #FFF; }
          .contact__form form div.part input, .contact__form form div.part textarea {
            width: 604px;
            padding: 0 18px; }
          .contact__form form div.part select {
            width: 640px;
            padding-left: 18px;
            appearance: none;
	    -webkit-appearance: none;
            -moz-appearance: none;
            background: url(images/dropdown.png) right / 5% no-repeat #fff; }
        .contact .contact__form form div.part input::-webkit-input-placeholder, .contact .contact__form form div.part textarea::-webkit-input-placeholder {
          color: #000; }
        .contact .contact__form form div.part input:-moz-placeholder, .contact .contact__form form div.part textarea:-moz-placeholder {
          color: #000;
          opacity: 1;
          filter: alpha(opacity=100); }
        .contact .contact__form form div.part input::-moz-placeholder, .contact .contact__form form div.part textarea::-moz-placeholder {
          color: #000;
          opacity: 1;
          filter: alpha(opacity=100); }
        .contact .contact__form form div.part input:-ms-input-placeholder, .contact .contact__form form div.part textarea:-ms-input-placeholder {
          color: #000; }
      .contact .contact__form form div.part textarea {
        margin: 8px 0;
        padding: 10px 18px;
        height: 230px; }
      .contact .contact__form form div.part textarea#subject {
        width: 604px;
        height: 36px;
        padding: 0 18px;
        line-height: 36px;
        resize: none; }
      .contact .contact__form form div.part.name:after {
        content: "";
        display: block;
        width: 0px;
        height: 0px;
        float: none;
        clear: both;
        visibility: hidden; }
      .contact .contact__form form div.part.name input {
        width: 280px;
        float: left; }
        .contact .contact__form form div.part.name input.name {
          margin-right: 8px; }
      .contact .contact__form form div.part.select input {
        position: relative;
        z-index: 1; }
      .contact .contact__form form div.part.select textarea {
        opacity: 0;
        filter: alpha(opacity=0); }
      .contact .contact__form form div.part.select div.fieldmask {
        width: 640px;
        height: 36px;
        position: absolute;
        top: 0px;
        z-index: 2;
        background: url(images/dropdown.png) no-repeat top right;
        background-size: 38px 36px; }
    .contact .contact__form form div.submit {
      width: 180px;
      margin: 50px auto 0; }
      .contact .contact__form form div.submit input {
        display: block;
        text-indent: 200%;
        white-space: nowrap;
        overflow: hidden;
        color: transparent;
        transition: opacity 0.1s linear 0s;
        padding: 0 !important;
        width: 180px;
        height: 50px;
        border: none;
        background: #000000;
        color: #FFF;
        cursor: pointer;
        background-image: url(images/send.gif);
        background-size: 180px 150px;
        background-position: center 0px;
        background-repeat: no-repeat; }
        .contact .contact__form form div.submit input:hover {
          transition: opacity 0s linear 0s;
          opacity: 0.5;
          filter: alpha(opacity=50); }
        .contact .contact__form form div.submit input[disabled] {
          cursor: not-allowed;
          opacity: 0.25; }
    .contact .contact__form form div.contact__form__personal {
      font-size: 11px;
      font-weight: normal;
      line-height: 19px; }
      .contact .contact__form form div.contact__form__personal h4 {
        color: #00B1BB; }
      .contact .contact__form form div.contact__form__personal a.toggle_term {
        color: #000;
        transition: opacity 0.1s linear 0s; }
        .contact .contact__form form div.contact__form__personal a.toggle_term:hover {
          transition: opacity 0s linear 0s;
          opacity: 0.5;
          filter: alpha(opacity=50); }
        .contact .contact__form form div.contact__form__personal a.toggle_term:before {
          content: "";
          display: inline-block;
          width: 9px;
          height: 9px;
          background-image: url(images/toggle.png);
          background-size: 9px 18px;
          position: relative;
          left: -1px;
          top: 1px; }
        .contact .contact__form form div.contact__form__personal a.toggle_term.open:before {
          background-position: left bottom; }
      .contact .contact__form form div.contact__form__personal__term {
        width: 640px;
        height: auto;
        max-height: 0px;
        transition: max-height 1s cubic-bezier(0.19, 1, 0.22, 1);
        overflow: hidden; }
        .contact .contact__form form div.contact__form__personal__term__baloon {
          position: relative;
          padding-top: 20px; }
          .contact .contact__form form div.contact__form__personal__term__baloon:before {
            content: "";
            display: block;
            width: 30px;
            height: 15px;
            background-image: url(images/term_arrow.png);
            background-size: 30px 15px;
            position: absolute;
            top: 6px;
            left: 50%;
            margin-left: -15px;
            z-index: 1; }
        .contact .contact__form form div.contact__form__personal__term dl {
          position: relative;
          border: 1px solid #000;
          padding: 19px 19px 0 19px;
          font-size: 11px;
          line-height: 19px;
          z-index: 0; }
          .contact .contact__form form div.contact__form__personal__term dl dt {
            font-weight: bold; }
          .contact .contact__form form div.contact__form__personal__term dl dd {
            margin-bottom: 1.75em; }
        .contact .contact__form form div.contact__form__personal__term.open {
          max-height: 600px; }
    .contact .contact__form form div#notification {
      display: none;
      width: 640px;
      margin: 40px auto 0; }
      .contact .contact__form form div#notification p, .contact .contact__form form div#notification li {
        line-height: 24px; }
      .contact .contact__form form div#notification > div {
        box-sizing: border-box;
        font-size: 14px;
        font-weight: bold;
        padding: 12px 20px 10px 20px;
        text-align: center; }
      .contact .contact__form form div#notification div#error_notice {
        display: none;
        color: #FF3366;
        border: 3px solid #FF3366; }
        .contact .contact__form form div#notification div#error_notice ul {
          list-style: none outside; }
          .contact .contact__form form div#notification div#error_notice ul li {
            position: relative;
            display: none;
            font-weight: normal;
            padding: 0 0 0 1em; }
      .contact .contact__form form div#notification div#send_failed {
        display: none;
        color: #FF3366;
        border: 3px solid #FF3366; }
      .contact .contact__form form div#notification div#send_success {
        display: none;
        color: #00b1bb;
        border: 3px solid #00b1bb; }
  .contact .contact__copyright {
    display: block;
    font-size: 14px;
    text-align: center;
    margin-top: 80px; }
    .contact .contact__copyright a {
      color: #000;
      transition: opacity 0.1s linear 0s; }
      .contact .contact__copyright a:hover {
        transition: opacity 0s linear 0s;
        opacity: 0.5;
        filter: alpha(opacity=50); }
  .contact .contact__form form div.wpcf7-form-control-wrap {
    width: 304px;
    margin: 10px auto 0; }

@media screen and (max-width: 767px) {
  .contact .contact__content {
    background-color: #F2F2F2;
    padding-top: 20px;
    padding-bottom: 60px;
    margin-top: 30px; }
  .contact .contact__form form {
    width: auto;
    padding-left: 16px;
    padding-right: 16px;
    margin: 0 auto; }
    .contact .contact__form form div.part {
      position: relative;
      margin: 0 0 10px 0; }
      .contact .contact__form form div.part input, .contact .contact__form form div.part textarea, .contact .contact__form form div.part select {
        box-sizing: border-box;
        width: 100%;
        height: 36px;
        padding: 0 12px; }
      .contact .contact__form form div.part textarea {
        padding: 10px 18px;
        height: 230px; }
      .contact .contact__form form div.part textarea#subject {
        width: 100%;
        height: 36px;
        padding: 0 12px;
        line-height: 36px;
        resize: none; }
      .contact .contact__form form div.part.name input {
        width: calc(50% - 5px);
        float: left; }
        .contact .contact__form form div.part.name input.name {
          margin-right: 10px; }
      .contact .contact__form form div.part.select input {
        position: relative;
        z-index: 1; }
      .contact .contact__form form div.part.select div.fieldmask {
        width: 100%;
        height: 36px;
        position: absolute;
        top: 0px;
        z-index: 2;
        background: url(images/dropdown.png) no-repeat top right;
        background-size: 38px 36px; }
    .contact .contact__form form div.submit {
      margin: 26px auto 0; }
    .contact .contact__form form div.contact__form__personal p, .contact .contact__form form div.contact__form__personal dd {
      text-align: justify; }
    .contact .contact__form form div.contact__form__personal__term {
      width: auto;
      height: auto;
      max-height: 0px;
      transition: max-height 1s cubic-bezier(0.19, 1, 0.22, 1);
      overflow: hidden; }
      .contact .contact__form form div.contact__form__personal__term__baloon {
        padding-top: 25px; }
        .contact .contact__form form div.contact__form__personal__term__baloon:before {
          top: 11px; }
      .contact .contact__form form div.contact__form__personal__term.open {
        max-height: 800px; }
    .contact .contact__form form div#notification {
      display: none;
      width: auto;
      margin: 26px auto 0; }
      .contact .contact__form form div#notification > div {
        box-sizing: border-box;
        font-size: 14px;
        font-weight: bold;
        padding: 12px 20px 10px 20px;
        text-align: center; }
  .contact .contact__copyright {
    margin-top: 60px; } }

/** hide recaptcha logo **/
.grecaptcha-badge {
    visibility: hidden;
}

