@charset "UTF-8";

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
footer,
header,
nav,
section {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

figcaption,
figure,
main {
    display: block
}

figure {
    margin: 0
}

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

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

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

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

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

dfn {
    font-style: italic
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

audio,
video {
    display: inline-block
}

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

img {
    border-style: none
}

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

button,
input,
optgroup,
select,
textarea {
    /*font-family:sans-serif;*/
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

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

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

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

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

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

progress {
    display: inline-block;
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

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

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

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

details,
menu {
    display: block
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[hidden] {
    display: none
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

iframe[name=google_conversion_frame] {
    position: absolute;
    top: 0
}

html {
    font-size: 62.5%
}

body,
input,
select,
textarea {
    color: #424846;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: .05em
}

@media screen and (max-width:960px) {

    body,
    input,
    select,
    textarea {
        font-size: 14px
    }
}

body {
    overflow-wrap: break-word;
    word-break: normal;
    min-width: 1180px
}

@media screen and (max-width:960px) {
    body {
        width: 100%;
        min-width: initial;
        overflow-x: hidden
    }
}

input,
button {
    padding: 0;
    margin: 0;
    outline: none;
    border: none;
    background: none
}

input[type=button],
input[type="text"]input[type="submit"] {
    -webkit-appearance: none
}

input {
    -webkit-appearance: none;
    line-height: 1
}

input:placeholder-shown {
    color: #000
}

input::-webkit-input-placeholder {
    color: #d4d4d3
}

input:-moz-placeholder {
    color: #d4d4d3
}

input::-moz-placeholder {
    color: #d4d4d3
}

input:-ms-input-placeholder {
    color: #d4d4d3
}

select::-ms-expand {
    display: none
}

textarea {
    -webkit-appearance: none
}

textarea:placeholder-shown {
    color: #000
}

textarea::-webkit-input-placeholder {
    color: #d4d4d3
}

textarea:-moz-placeholder {
    color: #d4d4d3
}

textarea::-moz-placeholder {
    color: #d4d4d3
}

textarea:-ms-input-placeholder {
    color: #d4d4d3
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
    font-weight: 600;
    margin: 0
}

i {
    font-style: italic
}

em {
    font-style: normal
}

p {
    margin: 0
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

hr {
    background-color: #d1d1d1;
    border: 0;
    height: 1px
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style-position: inside
}

ul {
    list-style: none
}

ol {
    list-style: decimal
}

li>ul,
li>ol {
    margin-bottom: 0
}

dl {
    margin: 0
}

dd {
    margin: 0
}

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

del {
    opacity: .8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"
}

table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%
}

caption,
th,
td {
    font-weight: 400;
    text-align: left
}

th {
    border-width: 0 1px 1px 0;
    font-weight: 600
}

td {
    border-width: 0 1px 1px 0
}

th,
td {
    padding: .4375em
}

a {
    color: #424846;
    text-decoration: none;
    -webkit-transition: all .25s ease;
    transition: all .25s ease
}

a:focus {
    outline: none
}

a:hover,
a:active {
    outline: 0
}

@media screen and (max-width:960px) {
    .anchor {
        margin-top: -65px;
        padding-top: 65px
    }
}


@font-face{font-family:mplus-1p;src:url(../fonts/rounded-mplus-1p-thin.woff) format("woff"),url(../fonts/rounded-mplus-1p-thin.ttf) format("truetype");font-weight:200}
@font-face{font-family:mplus-1p;src:url(../fonts/rounded-mplus-1p-light.woff) format("woff"),url(../fonts/rounded-mplus-1p-light.ttf) format("truetype");font-weight:300}
@font-face{font-family:mplus-1p;src:url(../fonts/rounded-mplus-1p-regular.woff) format("woff"),url(../fonts/rounded-mplus-1p-regular.ttf) format("truetype")}
@font-face{font-family:mplus-1p;src:url(../fonts/rounded-mplus-1p-medium.woff) format("woff"),url(../fonts/rounded-mplus-1p-medium.ttf) format("truetype");font-weight:500}
@font-face{font-family:mplus-1p;src:url(../fonts/rounded-mplus-1p-black-subset.woff) format("woff"),url(../fonts/rounded-mplus-1p-black-subset.ttf) format("truetype");font-weight:900}


/*
.js-wf {
    visibility: hidden
}
*/
@font-face {
    font-family: icomoon;
    src: url(../fonts/icomoon.eot?5v02c2);
    src: url(../fonts/icomoon.eot?5v02c2#iefix) format("embedded-opentype"), url(../fonts/icomoon.ttf?5v02c2) format("truetype"), url(../fonts/icomoon.woff?5v02c2) format("woff"), url(../fonts/icomoon.svg?5v02c2#icomoon) format("svg")
}

[class^=icon-],
[class*=" icon-"] {
    font-family: icomoon !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-arw-bottom-bold:before {
    content: "\e917"
}

.icon-arw-top-bold:before {
    content: "\e918"
}

.icon-arw-left-bold:before {
    content: "\e919"
}

.icon-arw-right-bold:before {
    content: "\e91a"
}

.icon-search2:before {
    content: "\e911"
}

.icon-rss:before {
    content: "\e912"
}

.icon-tag:before {
    content: "\e913"
}

.icon-hatena:before {
    content: "\e914"
}

.icon-facebook:before {
    content: "\e915"
}

.icon-twitter:before {
    content: "\e916"
}

.icon-search:before {
    content: "\e910"
}

.icon-arw-bottom:before {
    content: "\e900"
}

.icon-arw-left:before {
    content: "\e901"
}

.icon-arw-r-bottom:before {
    content: "\e902"
}

.icon-arw-r-left:before {
    content: "\e903"
}

.icon-arw-r-right:before {
    content: "\e904"
}

.icon-arw-r-top:before {
    content: "\e905"
}

.icon-arw-right:before {
    content: "\e906"
}

.icon-arw-top:before {
    content: "\e907"
}

.icon-arw-w-bottom:before {
    content: "\e908"
}

.icon-arw-w-left:before {
    content: "\e909"
}

.icon-arw-w-right:before {
    content: "\e90a"
}

.icon-arw-w-top:before {
    content: "\e90b"
}

.icon-check:before {
    content: "\e90c"
}

.icon-comment:before {
    content: "\e90d"
}

.icon-info:before {
    content: "\e90e"
}

.icon-q:before {
    content: "\e90f"
}

.aligncenter,
div.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.alignright {
    float: right;
    margin-left: 15px;
    margin-bottom: 15px
}

.alignleft {
    float: left;
    margin-right: 15px;
    margin-bottom: 15px
}

.aligncenter {
    clear: both;
    margin-left: auto;
    margin-right: auto;
    display: block
}

.wp-caption {
    text-align: center;
    background-color: #f8f8f8;
    margin: 0 0 20px;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    max-width: 100%
}

.wp-caption.aligncenter {
    margin: 0 auto 20px
}

.wp-caption.alignleft {
    margin-right: 20px
}

.wp-caption.alignright {
    margin-left: 20px
}

.wp-caption img {
    margin: 0;
    padding: 0;
    border: 0 none
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 20px;
    padding: 10px 0;
    width: 100%;
    margin: 0
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.l-header {
    z-index: 998;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1180px;
}
@media (max-width: 1180px) and (min-width: 961px) {
   
    .l-header {
        position: absolute;
        top: 0;
    }
}
@media screen and (max-width:960px) {
    .l-header {
        min-width: initial;
        height: 56px;
        /*background: #0c8*/
			border-bottom: 2px solid rgba(255, 255, 255, .5);
    }
	.header-logo {
		margin-top: 6px !important;
	}
}

.front-page-header {
    -webkit-transition: all .8s ease;
    transition: all .8s ease;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    top: -82px
}

@media screen and (max-width:960px) {
    .front-page-header {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        top: 0
    }
}

.front-page-header.on {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    top: 0
}

.header-top {
    position: relative;
    margin: 0 48px;
    padding: 12px 0;
    height: 82px;
    width: auto;
    border-bottom: 2px solid rgba(255, 255, 255, .5)
}

.header-top .pull-right{
    display: none;
}

@media screen and (max-width:960px) {
    .header-top {
        padding: 8px;
        margin: 0;
        height: 56px;
        border-bottom: 0
    }
	.header-top .pull-right{
    	display: block;
	}
}

.header-logo {
    float: left;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    height: 56px;
    line-height: 56px;
		margin-top: 12px;
}

.header-logo a {
    color: #fff
}

.header-logo img {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:960px) {
    .header-logo img {
        position: absolute;
        top: 8px;
        left: 0;
        width: 176px;
        height: 24px
    }
}

.header-logo_inner {
    display: block;
    position: relative;
		  font-family: "mplus-1p";
  font-size: 19px;
  font-weight: 900;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.9px;
  color: #fff;
}

.l-header.scroll-on .header-logo_inner {
	  color: #00cc88;
}

.header-logo_inner:before {
			  font-family: "mplus-1p";
  font-size: 19px;
  font-weight: 900;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.9px;
  color: #00cc88;
	/*
    content: '';
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    width: 176px;
    height: 24px;
    line-height: 56px;
    vertical-align: middle;
    margin-top: 18px;
    background: url(../images/bk.png);
    -webkit-background-size: 176px 24px;
    background-size: 176px 24px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
	*/
}

@media screen and (max-width:960px) {
    .header-logo_inner {
        width: 176px;
        height: 24px
    }

    .header-logo_inner:before {
        position: absolute;
        width: 176px;
        height: 24px;
        left: 0;
        margin-top: 8px;
        vertical-align: middle;
        background: url(../images/bk.png);
        -webkit-background-size: 176px 24px;
        background-size: 176px 24px
    }
}


.header-logo_txt {
    margin-left: 45px
}

@media screen and (max-width:960px) {
    .header-logo_txt {
        display: none
    }
}

@media screen and (max-width:960px) {
    .global-nav-wrap {
        z-index: 998;
        display: none;
        overflow-y: scroll;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 40px 26px;
        background: #fff;
        -webkit-animation: zoomIn2 300ms ease both;
        animation: zoomIn2 300ms ease both
    }
}

.global-nav-wrap.open {
    display: block;
    right: 0;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.global-nav-wrap.close {
    -webkit-animation: zoomOut2 300ms ease both;
    animation: zoomOut2 300ms ease both
}

.global-nav {
    /*overflow:hidden;*/
    position: absolute;
    top: 0;
    /* right: 210px; */
    right: 400px;
    height: 80px;
    line-height: 80px;
    min-width: 600px;
    font-weight: bolder;
    font-family: "QubenaGothic", "typesquare" !important
}

.global-nav li {
    float: left;
    /* position: relative; */
}

.global-nav li a {
    position: relative;
    display: block;
    padding: 0 16px;
    width: 100%;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
	cursor: pointer;
}

li.current_nav a{
    position: relative;
    font-family: "QubenaGothic", "typesquare" !important;
    font-weight: bold;
}

ul.sm li ul {
    /* left: auto !important; */
    top: 81px !important;
    width: 224px !important;

}

@media screen and (max-width:1360px) {
    .global-nav {
        min-width: 500px
    }

    .global-nav li a {
        font-size: 14px;
        padding: 0 12px
    }
}

@media screen and (max-width:1230px) {
    .global-nav {
        right: 385px
    }

    .global-nav li a {
        padding: 0 9px
    }
}

@media screen and (max-width:960px) {
    .global-nav {
        position: static;
        left: 0;
        right: 0;
        width: 100%;
        height: auto;
        min-width: initial;
        line-height: 1.75
    }

    .global-nav li {
        float: none
    }

    .global-nav li+li {
        margin-top: .7em
    }

    .global-nav li a {
        color: #424846;
        font-size: 20px;
        font-weight: 300
    }
}

.global-nav-menu {
    display: none
}

@media screen and (max-width:960px) {
    .global-nav-menu {
        display: inline-block;
        float: right;
        position: relative;
        padding: 0 16px;
        color: #fff;
        height: 32px;
        line-height: 30px;
        border: 1px solid #fff;
        -webkit-border-radius: 32px;
        border-radius: 32px;
        font-weight: 500
    }
}

.global-nav_current {
    position: absolute;
    bottom: 0px;
    left: 0;
    display: block;
    width: 72px;
    height: 4px;
    background: #fff;
}

@media screen and (max-width:960px) {
    .global-nav_current {
        display: none
    }
}

.global-nav_current.on {
    bottom: 0
}

.global-nav-close {
    display: none
}

@media screen and (max-width:960px) {
    .global-nav-close {
        margin-top: 1.5em;
        margin-left: auto;
        margin-right: auto;
        width: 36px;
        height: 30px;
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
        opacity: .3;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
        display: block;
        text-align: center
    }

    .global-nav-close span {
        display: inline-block;
        position: relative;
        width: 30px;
        height: 30px;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        border: 1px solid #424846
    }

    .global-nav-close span:before,
    .global-nav-close span:after {
        content: '';
        height: 2px;
        width: 14px;
        display: block;
        background: #333;
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        position: absolute;
        top: 13px;
        left: 7px;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg)
    }

    .global-nav-close span:after {
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg)
    }
}

.header-search-wrap {
    position: absolute;
    top: 0;
    right: 210px;
    height: 80px
}

@media screen and (max-width:960px) {
    .header-search-wrap {
        display: none
    }
}

.header-search {
    float: left;
    padding: 0 16px;
    height: 80px;
    line-height: 80px;
    color: #fff;
    font-size: 21px;
    cursor: pointer
}

@media screen and (max-width:960px) {
    .header-search {
        float: none;
        display: block;
        height: auto;
        line-height: 1;
        color: #424846
    }
}

.header-search.open {
    background: #0c8
}

.header-search-form {
    visibility: hidden;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    bottom: -83px;
    left: 0;
    margin-left: -10%;
    margin-right: -10%;
    background: #0c8;
    padding-top: 25px;
    width: 120%;
    height: 100px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.header-search-form form {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 960px
}

.header-search-form input {
    background: #fff;
    padding: 0 60px 0 20px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    -webkit-border-radius: 4px;
    border-radius: 4px
}

.header-search-form button {
    display: block;
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
    background: #015e3a;
    border: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    -webkit-border-radius: 0 4px 4px 0;
    border-radius: 0 4px 4px 0;
    font-size: 24px;
    color: #fff;
    cursor: pointer
}

@media screen and (max-width:960px) {
    .header-search-form {
        visibility: visible;
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        position: static;
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 20px;
        background: none;
        margin-left: auto;
        margin-right: auto;
        width: auto;
        height: auto
    }

    .header-search-form form {
        width: auto
    }

    .header-search-form input {
        padding: 0 60px 0 10px;
        background: #f8f9f9;
        letter-spacing: 0;
        font-size: 16px
    }

    .header-search-form button {
        z-index: 100;
        background: #0c8
    }
}

.header-search-form.open {
    visibility: visible;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    position: absolute;
    bottom: -100px;
    left: 0
}

a.header-contact {
    float: right;
    position: relative;
    background: #fff;
    width: 193px;
    height: 56px;
    line-height: 56px;
    -webkit-border-radius: 56px;
    border-radius: 56px;
    text-align: center;
    font-weight: 700;
    color: #015e3a;
    font-size: 14px;
    font-family: "QubenaGothic", "typesquare" !important
}

a.header-contact i {
    position: absolute;
    top: 14px;
    left: 30px;
    font-size: 22px;
}

a.header-contact:hover {
    background: rgba(255, 255, 255, .9);
}

a.header-contact.nobg {
    color: #fff;
    background-color: transparent;
    border: 1px solid #fff;
    margin-left: 10px;
}

a.header-contact.nobg:hover {
    background: rgba(255, 255, 255, .9);
    color: #015e3a;
}

@media screen and (max-width:1360px) {
    a.header-contact {
        width: 180px;
    }
}

@media screen and (max-width:960px) {
    a.header-contact {
        float: none;
        margin-top: .7em;
        display: block;
        padding-left: 0;
        width: 100%;
        height: auto;
        line-height: 1.75;
        -webkit-border-radius: 0;
        border-radius: 0;
        font-size: 20px;
        font-weight: 300;
        color: #424846
    }

    a.header-contact i {
        display: none
    }
}

.l-header.scroll-on {
    background: #fff;
    color: #424846;
    border-bottom: 1px solid #e6e6e6
}

.l-header.scroll-on a,
.l-header.scroll-on .header-search i {
    color: #424846
}

.l-header.scroll-on li.current_nav a{
    color: #424846 !important;
    font-family: "QubenaGothic", "typesquare" !important;
}

.l-header.scroll-on .header-logo img {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

.l-header.scroll-on .header-logo_inner:before {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.l-header.scroll-on .header-top {
    height: 80px;
    border-bottom: 0
}

.l-header.scroll-on .global-nav_current {
    background: #0c8;
}

.l-header.scroll-on .header-search.open i {
    color: #fff
}

.l-header.scroll-on a.header-contact {
    background: #0c8;
    color: #015e3a
}
.l-header.scroll-on a.header-contact.nobg {
    color: #015e3a;
    border-color: #015e3a;
    background-color: transparent;
}

.l-header.scroll-on a.header-contact:hover {
    background: #00e699
}
.l-header.scroll-on a.header-contact.nobg:hover {
    background: #00e699;
    border-color: transparent;
}

.l-header.scroll-on .nav-icon3_inner {
    background: #424846!important;
     
}

a.header-contact-sm {
    background: #0c8;
    color: #fff !important;
    /*015e3a;*/
    float: left;
    position: relative;
    width: 100%;
    /*193px;*/
    height: 56px;
    line-height: 56px;
    border-radius: 56px;
    text-align: center;
    font-weight: 500;
    font-size: 14px;
    font-family: "QubenaGothic", "typesquare" !important;
    margin-top: 65px;
    /*left: 75px;*/
    /*transform: translateX(-50%); */
}

a.header-contact-sm.nobg {
    margin-top: 20px;
    background-color: transparent;
    color: #00CC88 !important;
    border: 1px solid #00CC88;
}

@media screen and (max-width:960px) {
    .l-header.scroll-on .header-top {
        height: 50px
    }

    .l-header.scroll-on .global-nav-menu {
        color: #0c8;
        border: 1px solid #0c8
    }

    .l-header.scroll-on a.header-contact {
        background: none;
        color: #424846
    }

    .l-header.scroll-on a.header-contact:hover {
        background: none
    }

}

.anchor {
    margin-top: -80px;
    padding-top: 80px
}

@media screen and (max-width:960px) {
    .anchor {
        margin-top: -50px;
        padding-top: 50px
    }
}

.select-anchor {
    margin-top: -166px;
    padding-top: 166px
}

@media screen and (max-width:960px) {
    .select-anchor {
        margin-top: -98px;
        padding-top: 98px
    }
}

.blog-header {
    background: #0c8
}

.category-blog .blog-header {
    background: none
}

.category-blog .blog-header.scroll-on {
    background: #fff
}

.category-blog .blog-header-top {
    height: 82px;
    border-bottom: 2px solid rgba(255, 255, 255, .5)
}

@media screen and (max-width:960px) {
    .category-blog .blog-header-top {
        height: 50px;
        border-bottom: 0
    }
}

.blog-header-top {
    height: 80px;
    border-bottom: 0
}

@media screen and (max-width:960px) {
    .blog-header-top {
        height: 50px
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.l-main {
    float: left;
    width: 860px;
    height: 100%
}

@media screen and (max-width:960px) {
    .l-main {
        float: none;
        width: auto
    }
}

.main-all {
    -webkit-animation: none;
    animation: none
}

.main-inner {
    position: relative;
    z-index: 2
}

@media screen and (max-width:960px) {
    .main-inner {
        margin-bottom: 20px
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.l-footer {
    clear: both;
    overflow: hidden;
    position: relative;
    padding: 64px 48px 0;
    background: #424846
}

@media screen and (max-width:960px) {
    .l-footer {
        min-width: initial;
        min-width: auto;
        padding: 60px 0 0;
        height: auto;
        text-align: center
    }
}

.footer-logo {
    margin: 0 0 48px
}

@media screen and (max-width:960px) {
    .footer-logo {
        margin: 0 0 24px
    }
}

.footer-nav {
    float: left;
    margin: 0 80px 64px 0;
    display: inline-block
}

.footer-nav>li {
    margin: 0 0 5px;
    color: #fff
}

.footer-nav>li .link {
    color: #fff;
    font-size: 18px;
    font-weight: 300
}

.footer-nav>li a {
    display: block;
    position: relative;
    color: #fff;
    font-size: 18px;
    font-weight: 300
}

.footer-nav>li a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: .8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"
}

.footer-nav>li>ul>li a {
    font-weight: 200;
    font-size: 16px
}

@media screen and (max-width:960px) {
    .footer-nav {
        float: none;
        position: relative;
        display: block;
        padding: 0 0 1em;
        margin: 0 0 1em
    }

    .footer-nav:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -30px;
        width: 60px;
        height: 1px;
        background: #fff
    }

    .footer-nav:last-of-type {
        padding: 0;
        margin: 0
    }

    .footer-nav:last-of-type:before {
        display: none
    }

    .footer-nav>li {
        text-align: center
    }

    .footer-nav>li .link {
        font-size: 12px;
        font-weight: 300
    }

    .footer-nav>li a {
        font-size: 12px;
        font-weight: 300
    }

    .footer-nav>li+li {
        margin-top: 12px
    }

    .footer-nav>li>ul>li {
        margin-top: 12px
    }

    .footer-nav>li>ul>li a {
        font-size: 12px;
        font-weight: 300
    }

    .footer-nav>li>ul>li+li {
        margin-top: 12px
    }
}

.footer-copy {
    clear: both;
    margin-top: 64px;
    padding: 48px 0;
    color: #c2ccc9;
    text-align: center;
    border-top: 1px solid #676c6a;
    line-height: 1
}

.footer-copy em {
    color: #fff;
    font-weight: 600
}

@media screen and (max-width:960px) {
    .footer-copy {
        margin: 60px 16px 0;
        padding: 20px 0;
        font-size: 10px;
        border-top: 1px solid #000
    }
}

.fb-area {
    float: right;
    margin: 0 0 64px
}

@media screen and (max-width:960px) {
    .fb-area {
        display: none
    }
}

.page-top {
    z-index: 997;
    display: block;
    position: fixed;
    bottom: -100px;
    right: 48px;
    width: 48px;
    height: 48px;
    line-height: 48px;
    text-align: center;
    padding-top: 1px;
    background: #676c6a;
    color: #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    font-size: 16px;
    -webkit-transition: none;
    transition: none
}

.page-top:hover {
    background: #0c8;
    color: #fff
}

@media screen and (max-width:960px) {
    .page-top {
        display: none !important
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.c-wrap01 {
    position: relative;
    padding: 0 48px;
    margin: 0 auto;
    width: 1120px
}

@media screen and (max-width:960px) {
    .c-wrap01 {
        padding: 0;
        width: auto
    }
}

.c-wrap02 {
    position: relative;
    margin: 0 auto;
    width: 1120px
}

@media screen and (max-width:960px) {
    .c-wrap02 {
        width: auto
    }
}

.c-wrap03 {
    margin-left: auto;
    margin-right: auto;
    width: 960px
}

@media screen and (max-width:960px) {
    .c-wrap03 {
        width: auto
    }
}

.c-wrap04 {
    margin-left: auto;
    margin-right: auto;
    width: 1200px
}

@media screen and (max-width:960px) {
    .c-wrap04 {
        width: auto
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.c-headline,
.c-headline--large,
.c-headline--medium,
.c-headline--small {
    margin: 0 0 30px;
    font-weight: 600
}

@media screen and (max-width:960px) {

    .c-headline,
    .c-headline--large,
    .c-headline--medium,
    .c-headline--small {
        margin: 0 0 15px
    }
}

.c-headline--large {
    padding-left: 16px;
    border-left: 4px solid #0c8;
    color: #0c8;
    font-size: 24px
}

@media screen and (max-width:960px) {
    .c-headline--large {
        margin-left: -10px;
        padding-left: 10px;
        font-size: 20px
    }
}

.c-headline--medium {
    position: relative;
    font-size: 20px;
    border-bottom: 3px solid #0c8
}

@media screen and (max-width:960px) {
    .c-headline--medium {
        font-size: 20px;
        border-bottom: 2px solid #0c8
    }
}

.c-headline--small {
    font-size: 20px;
    color: #0c8
}

@media screen and (max-width:960px) {
    .c-headline--small {
        font-size: 15px
    }
}

.c-headline-sub {
    margin-bottom: calc(24px - (((48px * 1.25) - 48px) / 2));
    font-weight: 700;
    display: block;
    font-size: 18px;
    letter-spacing: 1px;
    line-height: 1
}

@media screen and (max-width:960px) {
    .c-headline-sub {
        margin-bottom: calc(20px - (((28px * 1.1) - 28px) / 2));
        letter-spacing: .5px;
        font-size: 12px
    }
}

.c-headline-sub--2 {
    margin-bottom: 24px;
    font-weight: 700;
    display: block;
    font-size: 18px;
    letter-spacing: 1px;
    line-height: 1
}

@media screen and (max-width:960px) {
    .c-headline-sub--2 {
        margin-bottom: calc(18px - (((12px * 1.5) - 12px) / 2));
        letter-spacing: .5px;
        font-size: 12px
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.c-btn-1,
.c-btn-1--middle {
    z-index: 10;
    display: inline-block;
    position: relative;
    padding: 2px;
    width: 100%;
    background: #0c8;
    text-align: center;
    -webkit-box-shadow: 0 5px 30px 10px rgba(60, 75, 65, .1);
    box-shadow: 0 5px 30px 10px rgba(60, 75, 65, .1);
    font-weight: 400;
    color: #fff
}

.c-btn-1 span,
.c-btn-1--middle span {
    display: block;
    padding: 0 30px;
    background: #0c8;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.c-btn-1:hover,
.c-btn-1--middle:hover {
    background: #bbda21;
    background: -webkit-gradient(linear, left top, right top, from(#bbda21), to(#0c8));
    background: linear-gradient(to right, #bbda21 0, #0c8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bbda21', endColorstr='#00cc88', GradientType=1)
}

.c-btn-1:hover span,
.c-btn-1--middle:hover span {
    background: #fff;
    color: #0c8
}

@media screen and (max-width:960px) {

    .c-btn-1,
    .c-btn-1--middle {
        padding: 0;
        -webkit-box-shadow: 0 5px 30px 0 rgba(60, 75, 65, .5);
        box-shadow: 0 5px 30px 0 rgba(60, 75, 65, .5)
    }

    .c-btn-1:hover,
    .c-btn-1--middle:hover {
        background: #0c8;
        color: #fff
    }

    .c-btn-1:hover span,
    .c-btn-1--middle:hover span {
        background: #0c8;
        color: #fff
    }
}

.c-btn-1--middle {
    height: 48px;
    font-size: 18px;
    -webkit-border-radius: 48px;
    border-radius: 48px
}

.c-btn-1--middle span {
    -webkit-border-radius: 44px;
    border-radius: 44px;
    line-height: 44px
}

@media screen and (max-width:960px) {
    .c-btn-1--middle {
        height: 36px;
        font-size: 12px;
        -webkit-border-radius: 36px;
        border-radius: 36px
    }

    .c-btn-1--middle span {
        -webkit-border-radius: 36px;
        border-radius: 36px;
        line-height: 36px
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.p-modal-btn,
.p-modal-btn--2 {
    position: relative;
    padding-left: 58px;
    clear: both;
    display: block;
    height: 48px;
    line-height: 48px;
    color: #fff;
    text-align: left;
    font-size: 16px;
    font-weight: 400
}

.p-modal-btn small,
.p-modal-btn--2 small {
    font-weight: 300
}

.p-modal-btn:hover,
.p-modal-btn--2:hover {
    color: rgba(255, 255, 255, .8)
}

.p-modal-btn:hover .p-modal-btn_arw,
.p-modal-btn--2:hover .p-modal-btn_arw,
.p-modal-btn:hover .p-modal-btn_arw--2,
.p-modal-btn--2:hover .p-modal-btn_arw--2 {
    margin-top: -29px;
    margin-left: -29px;
    width: 58px;
    height: 58px;
    background: rgba(255, 255, 255, 0)
}

.p-modal-btn:hover .p-modal-btn_arw span,
.p-modal-btn--2:hover .p-modal-btn_arw span,
.p-modal-btn:hover .p-modal-btn_arw--2 span,
.p-modal-btn--2:hover .p-modal-btn_arw--2 span {
    background: #fff
}

@media screen and (max-width:960px) {

    .p-modal-btn,
    .p-modal-btn--2 {
        display: block;
        float: left;
        position: relative;
        padding-left: 44px;
        width: 100%;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        font-weight: 400
    }

    .p-modal-btn small,
    .p-modal-btn--2 small {
        font-size: 9px
    }

    .p-modal-btn:hover .p-modal-btn_arw,
    .p-modal-btn--2:hover .p-modal-btn_arw,
    .p-modal-btn:hover .p-modal-btn_arw--2,
    .p-modal-btn--2:hover .p-modal-btn_arw--2 {
        margin-top: -17px;
        margin-left: 0;
        width: 34px;
        height: 34px;
        background: rgba(255, 255, 255, 0)
    }
}

.p-modal-btn--2 {
    color: #0c8
}

.p-modal-btn--2:hover {
    color: rgba(0, 204, 136, .8)
}

.p-modal-btn--2:hover .p-modal-btn_arw--2 {
    background: rgba(0, 204, 136, 0)
}

.p-modal-btn--2:hover .p-modal-btn_arw--2>span {
    background: #0c8
}

@media screen and (max-width:960px) {
    .p-modal-btn--2 {
        font-size: 12px
    }
}

.p-modal-btn_arw,
.p-modal-btn_arw--2 {
    position: absolute;
    top: 50%;
    left: 24px;
    margin-top: -24px;
    margin-left: -24px;
    display: block;
    width: 48px;
    height: 48px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    outline: none;
    background: rgba(255, 255, 255, .3);
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    line-height: 1
}

.p-modal-btn_arw>span,
.p-modal-btn_arw--2>span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 0 0 0 2px;
    margin-top: -20px;
    margin-left: -20px;
    width: 40px;
    height: 40px;
    background: #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    text-align: center
}

.p-modal-btn_arw>span i,
.p-modal-btn_arw--2>span i {
    color: #0c8;
    font-size: 15px;
    line-height: 40px
}

@media screen and (max-width:960px) {

    .p-modal-btn_arw,
    .p-modal-btn_arw--2 {
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -17px;
        margin-left: 0;
        width: 34px;
        height: 34px
    }

    .p-modal-btn_arw>span,
    .p-modal-btn_arw--2>span {
        margin-top: -14px;
        margin-left: -14px;
        width: 28px;
        height: 28px
    }

    .p-modal-btn_arw>span i,
    .p-modal-btn_arw--2>span i {
        font-size: 10px;
        line-height: 28px
    }
}

.p-modal-btn_arw--2 {
    background: rgba(0, 204, 136, .3)
}

.p-modal-btn_arw--2>span {
    background: #0c8
}

.p-modal-btn_arw--2>span i {
    color: #fff
}

.iziModal-content {
    width: 100% !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    position: relative !important
}

.iziModal-content iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important
}

.p-modal-close {
    position: fixed;
    top: 0;
    left: -52px;
    width: 52px;
    height: 52px;
    -webkit-border-radius: 0;
    border-radius: 0;
    background: #0c8;
    text-align: center;
    cursor: pointer
}

@media screen and (max-width:960px) {
    .p-modal-close {
        top: -40px;
        left: 0;
        right: 0;
        bottom: 0;
        width: 40px;
        height: 40px
    }
}

.p-modal-close:before,
.p-modal-close:after {
    content: '';
    height: 5px;
    width: 20px;
    display: block;
    background: #fff;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    position: absolute;
    top: 23px;
    left: 16px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg)
}

@media screen and (max-width:960px) {

    .p-modal-close:before,
    .p-modal-close:after {
        top: 18px;
        left: 10px
    }
}

.p-modal-close:after {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg)
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.c-txt--line {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(29%, rgba(255, 241, 8, 0)), color-stop(30%, #fff100), to(#fff100));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgba(255, 241, 8, 0) 29%, #fff100 30%, #fff100 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#fff100', GradientType=0)
}

.c-txt-gra {
    display: inline-block;
    background: #0c8;
    background: -webkit-linear-gradient(left, #bbda21 0, #bbda21 30%, #0c8 100%);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text
}

@media all and (-ms-high-contrast:none) {
    .c-txt-gra {
        background: none;
        color: #0c8
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.c-thumbnail,
.thumbnail--sidebar {
    position: relative;
    overflow: hidden;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.c-thumbnail img,
.thumbnail--sidebar img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.thumbnail--sidebar {
    margin: 0 10px 0 0;
    width: 120px;
    height: 90px
}

.thumbnail--sidebar img {
    width: 120px;
    height: auto
}

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
*/
.wow {
    visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

.animated.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s
}

@-webkit-keyframes flash {
    50% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    25%,
    75% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@keyframes flash {
    50% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    25%,
    75% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@-webkit-keyframes fadeIn {
    from {
        visibility: hidden
    }

    to {
        visibility: visible
    }
}

@keyframes fadeIn {
    from {
        visibility: hidden
    }

    to {
        visibility: visible
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: none;
        transform: none
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: none;
        transform: none
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

@media screen and (min-width:960px) {
    .pc-fadeInDown {
        -webkit-animation-name: fadeInDown;
        animation-name: fadeInDown
    }
}

@media screen and (max-width:960px) {
    .sp-fadeInDown {
        -webkit-animation-name: fadeInDown;
        animation-name: fadeInDown
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translateY(20px);
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translateY(20px);
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.fadeInUp,
.front-page-main.on:before {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@media screen and (min-width:960px) {
    .pc-fadeInUp {
        -webkit-animation-name: fadeInUp;
        animation-name: fadeInUp
    }
}

@media screen and (max-width:960px) {
    .sp-fadeInUp {
        -webkit-animation-name: fadeInUp;
        animation-name: fadeInUp
    }
}

@-webkit-keyframes fadeInRight {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: none;
        transform: none
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: none;
        transform: none
    }
}

.fadeInRight,
.front-page-what_tablet {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

@media screen and (min-width:960px) {
    .pc-fadeInRight {
        -webkit-animation-name: fadeInRight;
        animation-name: fadeInRight
    }
}

@media screen and (max-width:960px) {
    .sp-fadeInRight {
        -webkit-animation-name: fadeInRight;
        animation-name: fadeInRight
    }
}

@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(-10%, 0, 0);
        transform: translate3d(-10%, 0, 0)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: none;
        transform: none
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(-10%, 0, 0);
        transform: translate3d(-10%, 0, 0)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: none;
        transform: none
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

@media screen and (min-width:960px) {
    .pc-fadeInLeft {
        -webkit-animation-name: fadeInLeft;
        animation-name: fadeInLeft
    }
}

@media screen and (max-width:960px) {
    .sp-fadeInLeft {
        -webkit-animation-name: fadeInLeft;
        animation-name: fadeInLeft
    }
}

@-webkit-keyframes fadeOutLeft {
    from {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    to {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    to {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotateZ(0deg)
    }

    100% {
        -webkit-transform: rotateZ(360deg)
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotateZ(0deg);
        transform: rotateZ(0deg)
    }

    100% {
        -webkit-transform: rotateZ(360deg);
        transform: rotateZ(360deg)
    }
}

@-webkit-keyframes bounceIn {

    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.1, .1, .1);
        transform: scale3d(.1, .1, .1)
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@keyframes bounceIn {

    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.1, .1, .1);
        transform: scale3d(.1, .1, .1)
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

.bounceIn,
.fluffy-layer.show {
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn
}

@-webkit-keyframes bounceCube {

    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.1, .1, .1);
        transform: scale3d(.1, .1, .1)
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@keyframes bounceCube {

    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.1, .1, .1);
        transform: scale3d(.1, .1, .1)
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

.bounceCube,
.cube-layer.show {
    -webkit-animation-name: bounceCube;
    animation-name: bounceCube
}

@-webkit-keyframes horizontal {
    0% {
        -webkit-transform: translateX(-2px);
        transform: translateX(-2px)
    }

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

@keyframes horizontal {
    0% {
        -webkit-transform: translateX(-2px);
        transform: translateX(-2px)
    }

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

@keyframes vertical {
    0% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }

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

@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    50% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    50% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

.zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn
}

@-webkit-keyframes zoomIn2 {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(1.3, 1.3, 1.3);
        transform: scale3d(1.3, 1.3, 1.3)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

@keyframes zoomIn2 {
    from {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(1.3, 1.3, 1.3);
        transform: scale3d(1.3, 1.3, 1.3)
    }

    to {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

.zoomIn2 {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut
}

@-webkit-keyframes zoomOut {
    from {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@keyframes zoomOut {
    from {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

.zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut
}

@-webkit-keyframes zoomOut2 {
    from {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(1.3, 1.3, 1.3);
        transform: scale3d(1.3, 1.3, 1.3)
    }

    to {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

@keyframes zoomOut2 {
    from {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    50% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transform: scale3d(1.3, 1.3, 1.3);
        transform: scale3d(1.3, 1.3, 1.3)
    }

    to {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }
}

.zoomOut2 {
    -webkit-animation-name: zoomOut2;
    animation-name: zoomOut2
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.p-breadcrumb,
.p-breadcrumb--blog {
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    width: 960px;
    height: 70px;
    line-height: 70px;
    font-size: 16px;
    font-weight: 400
}

.p-breadcrumb:after,
.p-breadcrumb--blog:after {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    top: 0;
    right: 0;
    width: 15px;
    height: 20px;
    background: #fff;
    text-align: center;
    content: '…'
}

.p-breadcrumb a,
.p-breadcrumb--blog a {
    position: relative;
    color: #0c8;
    padding-right: 30px
}

.p-breadcrumb a:before,
.p-breadcrumb--blog a:before {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
    content: '';
    width: 8px;
    height: 8px;
    border-top: 1px solid #e4e4e4;
    border-right: 1px solid #e4e4e4;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media screen and (max-width:960px) {

    .p-breadcrumb,
    .p-breadcrumb--blog {
        position: relative;
        padding: 0 10px;
        width: auto;
        font-size: 11px;
        line-height: 36px;
        height: 36px;
        background: #f8f9f9
    }

    .p-breadcrumb a,
    .p-breadcrumb--blog a {
        padding-right: 15px
    }

    .p-breadcrumb a:before,
    .p-breadcrumb--blog a:before {
        position: absolute;
        top: 50%;
        right: 5px
    }
}

.p-breadcrumb.on:after,
.on.p-breadcrumb--blog:after {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.p-breadcrumb--blog {
    width: 100%;
    height: 48px;
    padding-left: 40px;
    padding-right: 40px;
    line-height: 48px;
    font-size: 12px;
    background: rgba(194, 204, 201, .2)
}

@media screen and (max-width:960px) {
    .p-breadcrumb--blog {
        padding: 0 10px;
        margin-bottom: 20px;
        font-size: 11px;
        line-height: 36px;
        height: 36px
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.p-contact-area {
    padding: 128px 0;
    height: 520px;
    background: url(../images/contact-area-bg.jpg);
    -webkit-background-size: cover;
    background-size: cover;
    color: #fff
}

.p-contact-area h3 {
    font-size: 36px;
    font-weight: 400;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1
}

@media screen and (max-width:960px) {
    .p-contact-area {
        padding: 60px 0;
        width: 100%;
        height: auto;
        background: url(../images/contact-area-bg-sp.jpg);
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center
    }

    .p-contact-area h3 {
        margin-bottom: calc(32px - (((24px * 1.75) - 24px) / 2));
        font-size: 18px;
        line-height: 1.65;
        font-weight: 300
    }
}

.contact-area_inner {
    position: relative;
    padding-top: calc(56px - (((24px * 1.75) - 24px) / 2));
    padding-bottom: calc(56px - (((24px * 1.75) - 24px) / 2));
    padding-left: 100px;
    padding-right: 100px;
    font-size: 24px
}

@media screen and (max-width:960px) {
    .contact-area_inner {
        padding: 0;
        text-align: center;
        font-size: 16px
    }

    .contact-area_inner p {
        margin-bottom: calc(32px - (((16px * 1.75) - 16px) / 2));
        font-weight: 300
    }
}

.contact-area_qa {
    position: absolute;
    top: 24px;
    right: 110px;
    padding: 30px 0 0;
    width: 201px;
    height: 74px;
    background: url(../images/contact-area_qa-bg.png);
    -webkit-background-size: 201px 74px;
    background-size: 201px 74px;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0
}

.contact-area_qa a {
    color: #0c8
}

.contact-area_qa a i {
    margin-left: 3px;
    font-size: 15px
}

@media screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:1.5),
(-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {
    .contact-area_qa {
        background: url(../images/contact-area_qa-bg@2x.png);
        -webkit-background-size: 201px 74px;
        background-size: 201px 74px
    }
}

@media screen and (max-width:960px) {
    .contact-area_qa {
        position: static;
        padding-top: 34px;
        margin: 0 auto 30px;
        font-size: 14px;
        letter-spacing: 0
    }
}

.contact-area_btn {
    display: block;
    position: relative;
    padding-left: 30px;
    margin: 0 auto;
    width: 420px;
    height: 82px;
    line-height: 82px;
    background: #0c8;
    -webkit-border-radius: 82px;
    border-radius: 82px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-box-shadow: 0 0 0 5px rgba(0, 204, 136, .3);
    box-shadow: 0 0 0 5px rgba(0, 204, 136, .3);
    color: #015e3a;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 1px
}

.contact-area_btn i {
    position: absolute;
    top: 22px;
    left: 100px;
    font-size: 38px
}

.contact-area_btn:hover {
    background: #fff;
    color: #015e3a
}

@media screen and (max-width:960px) {
    .contact-area_btn {
        position: static;
        padding-left: 20px;
        width: 240px;
        height: 41px;
        line-height: 41px;
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 1px;
        -webkit-box-shadow: 0 0 0 3px rgba(0, 204, 136, .3);
        box-shadow: 0 0 0 3px rgba(0, 204, 136, .3)
    }

    .contact-area_btn i {
        position: absolute;
        top: 50%;
        left: 50px;
        margin-top: -11px;
        font-size: 22px
    }
}

.l-header,
.main-inner,
.footer-nav,
.c-wrap01,
.c-wrap02,
.front-page-main_btn-wrap,
.information,
.news,
.front-page-what_area-bg,
.front-page-service,
.front-page-media-inner {
    *zoom: 1
}

.l-header:after,
.main-inner:after,
.footer-nav:after,
.c-wrap01:after,
.c-wrap02:after,
.front-page-main_btn-wrap:after,
.information:after,
.news:after,
.front-page-what_area-bg:after,
.front-page-service:after,
.front-page-media-inner:after {
    content: "";
    display: table;
    clear: both
}

.p-pagenation {
    margin: 30px auto 10px;
    text-align: center
}

.p-pagenation ul {
    display: inline-block
}

.p-pagenation li {
    float: left
}

.p-pagenation li span {
    display: block;
    width: 36px;
    height: 36px;
    line-height: 36px;
    background: rgba(197, 238, 224, .7);
    text-align: center;
    font-weight: 700;
    color: #0c8;
    font-size: 16px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-border-radius: 4px;
    border-radius: 4px
}

.p-pagenation li+li {
    margin-left: 6px
}

.p-pagenation li a {
    display: block;
    text-decoration: none
}

.p-pagenation li a:hover span {
    background: rgba(0, 204, 136, .7);
    color: #fff
}

.p-pagenation li.prev,
.p-pagenation li.next {
    background: none
}

.p-pagenation li.prev a,
.p-pagenation li.next a {
    display: block;
    width: 36px;
    height: 36px;
    background: rgba(197, 238, 224, .7);
    line-height: 36px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    color: #0c8
}

.p-pagenation li.prev i,
.p-pagenation li.next i {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}

.p-pagenation li.prev a:hover,
.p-pagenation li.next a:hover {
    background: rgba(0, 204, 136, .7);
    color: #fff
}

.p-pagenation li.next:hover i {
    margin-right: -3px
}

.p-pagenation li.prev:hover i {
    margin-left: -3px
}

.p-pagenation li.active span {
    background: rgba(0, 204, 136, .7);
    color: #fff
}

@media screen and (max-width:960px) {
    .p-pagenation {
        position: relative;
        margin: 0 0 20px;
        width: 100%
    }

    .p-pagenation li span {
        width: 36px;
        height: 36px;
        font-size: 16px;
        line-height: 36px
    }

    .p-pagenation li.prev a,
    .p-pagenation li.next a {
        width: 36px;
        height: 36px;
        line-height: 36px
    }

    .p-pagenation li.prev i,
    .p-pagenation li.next i {
        font-size: 12px
    }

    .p-pagenation li.next:hover i {
        margin-right: 0
    }

    .p-pagenation li.prev:hover i {
        margin-left: 0
    }
}

.u-d-n {
    display: none !important
}

.u-d-b {
    display: block !important
}

.u-t-a {
    top: auto !important
}

.u-t-0 {
    top: 0 !important
}

.u-r-a {
    right: auto !important
}

.u-r-0 {
    right: 0 !important
}

.u-b-a {
    bottom: auto !important
}

.u-b-0 {
    bottom: 0 !important
}

.u-l-a {
    left: auto !important
}

.u-l-0 {
    left: 0 !important
}

.u-ta-c {
    text-align: center !important
}

.u-ta-r {
    text-align: right !important
}

.u-z-9999 {
    z-index: 9999 !important
}

.u-fl-n {
    float: none !important
}

.u-fl-l {
    float: left !important
}

.u-fl-r {
    float: right !important
}

.u-cl-n {
    clear: none !important
}

.u-cl-l {
    clear: left !important
}

.u-cl-r {
    clear: right !important
}

.u-cl-b {
    clear: both !important
}

.u-m-a {
    margin: auto !important
}

.u-m-0 {
    margin: 0 !important
}

.u-m-0_a {
    margin: 0 auto !important
}

.u-m-5 {
    margin: 5px !important
}

.u-m-10 {
    margin: 10px !important
}

.u-m-15 {
    margin: 15px !important
}

.u-m-20 {
    margin: 20px !important
}

.u-m-25 {
    margin: 25px !important
}

.u-m-30 {
    margin: 30px !important
}

.u-mt-0 {
    margin-top: 0 !important
}

.u-mt-5 {
    margin-top: 5px !important
}

.u-mt-10 {
    margin-top: 10px !important
}

.u-mt-15 {
    margin-top: 15px !important
}

.u-mt-20 {
    margin-top: 20px !important
}

.u-mt-25 {
    margin-top: 25px !important
}

.u-mt-30 {
    margin-top: 30px !important
}

.u-mr-a {
    margin-right: auto !important
}

.u-mr-0 {
    margin-right: 0 !important
}

.u-mr-5 {
    margin-right: 5px !important
}

.u-mr-10 {
    margin-right: 10px !important
}

.u-mr-15 {
    margin-right: 15px !important
}

.u-mr-20 {
    margin-right: 20px !important
}

.u-mr-25 {
    margin-right: 25px !important
}

.u-mr-30 {
    margin-right: 30px !important
}

.u-mb-0 {
    margin-bottom: 0 !important
}

.u-mb-5 {
    margin-bottom: 5px !important
}

.u-mb-10 {
    margin-bottom: 10px !important
}

.u-mb-15 {
    margin-bottom: 15px !important
}

.u-mb-20 {
    margin-bottom: 20px !important
}

.u-mb-25 {
    margin-bottom: 25px !important
}

.u-mb-30 {
    margin-bottom: 30px !important
}

.u-ml-a {
    margin-left: auto !important
}

.u-ml-0 {
    margin-left: 0 !important
}

.u-ml-5 {
    margin-left: 5px !important
}

.u-ml-10 {
    margin-left: 10px !important
}

.u-ml-15 {
    margin-left: 15px !important
}

.u-ml-20 {
    margin-left: 20px !important
}

.u-ml-25 {
    margin-left: 25px !important
}

.u-p-a {
    padding: auto !important
}

.u-p-0 {
    padding: 0 !important
}

.u-p-0_a {
    padding: 0 auto !important
}

.u-p-5 {
    padding: 5px !important
}

.u-p-10 {
    padding: 10px !important
}

.u-p-15 {
    padding: 15px !important
}

.u-p-20 {
    padding: 20px !important
}

.u-p-25 {
    padding: 25px !important
}

.u-p-30 {
    padding: 30px !important
}

.u-pt-0 {
    padding-top: 0 !important
}

.u-pt-5 {
    padding-top: 5px !important
}

.u-pt-10 {
    padding-top: 10px !important
}

.u-pt-15 {
    padding-top: 15px !important
}

.u-pt-20 {
    padding-top: 20px !important
}

.u-pt-25 {
    padding-top: 25px !important
}

.u-pt-30 {
    padding-top: 30px !important
}

.u-pr-a {
    padding-right: auto !important
}

.u-pr-0 {
    padding-right: 0 !important
}

.u-pr-5 {
    padding-right: 5px !important
}

.u-pr-10 {
    padding-right: 10px !important
}

.u-pr-15 {
    padding-right: 15px !important
}

.u-pr-20 {
    padding-right: 20px !important
}

.u-pr-25 {
    padding-right: 25px !important
}

.u-pr-30 {
    padding-right: 30px !important
}

.u-pb-0 {
    padding-bottom: 0 !important
}

.u-pb-5 {
    padding-bottom: 5px !important
}

.u-pb-10 {
    padding-bottom: 10px !important
}

.u-pb-15 {
    padding-bottom: 15px !important
}

.u-pb-20 {
    padding-bottom: 20px !important
}

.u-pb-25 {
    padding-bottom: 25px !important
}

.u-pb-30 {
    padding-bottom: 30px !important
}

.u-pl-a {
    padding-left: auto !important
}

.u-pl-0 {
    padding-left: 0 !important
}

.u-pl-5 {
    padding-left: 5px !important
}

.u-pl-10 {
    padding-left: 10px !important
}

.u-pl-15 {
    padding-left: 15px !important
}

.u-pl-20 {
    padding-left: 20px !important
}

.u-pl-25 {
    padding-left: 25px !important
}

.u-w-a {
    width: auto !important
}

.u-w-0 {
    width: 0 !important
}

.u-w-1p {
    width: 1% !important
}

.u-w-10p {
    width: 10% !important
}

.u-w-20p {
    width: 20% !important
}

.u-w-25p {
    width: 25% !important
}

.u-w-30p {
    width: 30% !important
}

.u-w-33p {
    width: 33% !important
}

.u-w-40p {
    width: 40% !important
}

.u-w-50p {
    width: 50% !important
}

.u-w-60p {
    width: 60% !important
}

.u-w-66p {
    width: 66% !important
}

.u-w-70p {
    width: 70% !important
}

.u-w-75p {
    width: 75% !important
}

.u-w-80p {
    width: 80% !important
}

.u-w-90p {
    width: 90% !important
}

.u-w-100p {
    width: 100% !important
}

.u-h-a {
    height: auto !important
}

.u-h-0 {
    height: 0 !important
}

.u-h-100p {
    height: 100% !important
}

.u-fw-nm {
    font-weight: 400 !important
}

.u-fw-b {
    font-weight: 700 !important
}

.u-fw-br {
    font-weight: bolder !important
}

.u-fw-l {
    font-weight: 200 !important
}

.u-fw-lr {
    font-weight: lighter !important
}

.u-fw-100 {
    font-weight: 100 !important
}

.u-fw-200 {
    font-weight: 200 !important
}

.u-fw-300 {
    font-weight: 300 !important
}

.u-fw-400 {
    font-weight: 400 !important
}

.u-fw-500 {
    font-weight: 500 !important
}

.u-fw-600 {
    font-weight: 600 !important
}

.u-fw-700 {
    font-weight: 700 !important
}

.u-fw-800 {
    font-weight: 800 !important
}

.u-fw-900 {
    font-weight: 900 !important
}

.u-fs-nm {
    font-style: normal !important
}

.u-fs-i {
    font-style: italic !important
}

.u-fs-o {
    font-style: oblique !important
}

.u-fv-nm {
    font-variant: normal !important
}

.u-fv-sc {
    font-variant: small-caps !important
}

.u-fz-xs {
    font-size: 7.5px !important;
    font-size: .75rem !important
}

.u-fz-sm {
    font-size: 8.75px !important;
    font-size: .875rem !important
}

.u-fz-md {
    font-size: 10px !important;
    font-size: 1rem !important
}

.u-fz-lg {
    font-size: 12.5px !important;
    font-size: 1.25rem !important
}

.u-fz-xl {
    font-size: 15px !important;
    font-size: 1.5rem !important
}

.u-fz-sr {
    font-size: smaller !important
}

.u-fz-lr {
    font-size: larger !important
}

.u-fz-10 {
    font-size: 10px !important
}

.u-fz-11 {
    font-size: 11px !important
}

.u-fz-12 {
    font-size: 12px !important
}

.u-fz-13 {
    font-size: 13px !important
}

.u-fz-14 {
    font-size: 14px !important
}

.u-fz-15 {
    font-size: 15px !important
}

.u-fz-16 {
    font-size: 16px !important
}

.u-fz-17 {
    font-size: 17px !important
}

.u-fz-18 {
    font-size: 18px !important
}

.u-fz-19 {
    font-size: 19px !important
}

.u-fz-20 {
    font-size: 20px !important
}

.u-fz-h1 {
    font-size: 25px !important;
    font-size: 2.5rem !important
}

.u-fz-h2 {
    font-size: 20px !important;
    font-size: 2rem !important
}

.u-fz-h3 {
    font-size: 17.5px !important;
    font-size: 1.75rem !important
}

.u-fz-h4 {
    font-size: 15px !important;
    font-size: 1.5rem !important
}

.u-fz-h5 {
    font-size: 12.5px !important;
    font-size: 1.25rem !important
}

.u-fz-h6 {
    font-size: 10px !important;
    font-size: 1rem !important
}

@media screen and (max-width:960px) {
    .u-pc-true {
        display: none
    }
}

.u-sp-true {
    display: none
}

@media screen and (max-width:960px) {
    .u-sp-true {
        display: block
    }
}

@media screen and (max-width:960px) {
    .u-sp-vv {
        visibility:  !important
    }
}

.load-group {
    display: none
}

.loader-logo-layer {
    z-index: 150;
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -80px;
    margin-top: -31px;
    width: 160px;
    height: 31px;
    -webkit-animation-name: flash;
    animation-name: flash;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    background: url(../images/logo@2x.png);
    -webkit-background-size: 160px 31px;
    background-size: 160px 31px
}

@media screen and (max-width:960px) {
    .loader-logo-layer {
        display: none
    }
}

.loader-logo-layer.stop {
    -webkit-animation: none;
    animation: none
}

.loader-logo-layer.change img {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

.loader-logo-layer.moved {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    margin-left: -580px;
    -webkit-transition: all .8s ease-in;
    transition: all .8s ease-in
}

.loader-tablet-layer {
    z-index: 150;
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 272px;
    height: 403px;
    margin-top: -201px;
    margin-left: -136px;
    text-align: center;
    fill: #0c8;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.loader-tablet-layer .st0 {
    -webkit-transition: all .8s ease;
    transition: all .8s ease
}

@media screen and (max-width:960px) {
    .loader-tablet-layer {
        display: none
    }
}

.st0 {
    fill: none;
    stroke: #0c8;
    stroke-miterlimit: 30
}

.rSjzyrlc_0 {
    stroke-dasharray: 2437 2439;
    stroke-dashoffset: 2438;
    -webkit-animation: rSjzyrlc_draw 2000ms ease 0ms forwards;
    animation: rSjzyrlc_draw 2000ms ease 0ms forwards
}

.rSjzyrlc_1 {
    stroke-dasharray: 63 65;
    stroke-dashoffset: 64;
    -webkit-animation: rSjzyrlc_draw 2000ms ease 0ms forwards;
    animation: rSjzyrlc_draw 2000ms ease 0ms forwards
}

.rSjzyrlc_2 {
    stroke-dasharray: 17 19;
    stroke-dashoffset: 18;
    -webkit-animation: rSjzyrlc_draw 2000ms ease 0ms forwards;
    animation: rSjzyrlc_draw 2000ms ease 0ms forwards
}

@-webkit-keyframes rSjzyrlc_draw {
    100% {
        stroke-dashoffset: 0
    }
}

@keyframes rSjzyrlc_draw {
    100% {
        stroke-dashoffset: 0
    }
}

@-webkit-keyframes rSjzyrlc_fade {
    0% {
        stroke-opacity: 1
    }

    93.54838709677419% {
        stroke-opacity: 1
    }

    100% {
        stroke-opacity: 0
    }
}

@keyframes rSjzyrlc_fade {
    0% {
        stroke-opacity: 1
    }

    93.54838709677419% {
        stroke-opacity: 1
    }

    100% {
        stroke-opacity: 0
    }
}

.loader-tablet-layer.show {
    display: block
}

.loader-tablet-layer.change .st0 {
    stroke: #fff
}

.loader-tablet-layer.moved {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    margin-left: -636px;
    -webkit-transition: all .8s ease-in;
    transition: all .8s ease-in
}

.loader-under-layer {
    display: none;
    z-index: 50;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

@media screen and (max-width:960px) {
    .loader-under-layer {
        display: none
    }
}

.loader-under-layer.hide {
    display: none
}

.loader-circle-layer {
    z-index: 100;
    position: absolute;
    top: 50%;
    left: 50%;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    margin-left: -1500px;
    margin-top: -1500px;
    width: 3000px;
    height: 3000px;
    background: #0c8;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -webkit-transition: all 1s ease-in;
    transition: all 1s ease-in;
    transform: scale(0, 0);
    -webkit-transform: scale(0, 0);
    -moz-transform: scale(0, 0);
    -o-transform: scale(0, 0);
    -ms-transition: scale(0, 0)
}

@media screen and (max-width:960px) {
    .loader-circle-layer {
        display: none
    }
}

.loader-circle-layer.anim1 {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    -ms-transition: scale(1, 1)
}

.loader-circle-layer.anim2 {
    display: none
}

.front-page-main {
    overflow: hidden;
    position: relative;
    padding-top: 41px;
    width: 100%;
    min-height: 632px;
    color: #fff
}

.front-page-main:before {
    content: '';
    z-index: 150;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    bottom: 0;
    left: 100px;
    width: 745px;
    height: 301px;
    background: url(../images/front-page-main-bg.png);
    -webkit-background-size: 745px 301px;
    background-size: 745px 301px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:960px) {
    .front-page-main {
        padding-top: 50px;
        width: auto;
        min-height: auto
    }

    .front-page-main:before {
        display: none
    }
}

.front-page-main.on:before {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-animation-duration: 5s;
    animation-duration: 5s
}

.front-page-main-sp {
    width: 100%;
    text-align: left;
    padding-top: calc(634/600*100%);
    background: url(../images/front-page-main-bg-sp.png) center center/cover no-repeat
}

.front-page-main-sp_tablet {
    z-index: 100;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -53%;
    margin-left: -54%;
    width: 83%;
    background: url(../images/front-page-main_tablet.png) center center/cover no-repeat;
    -webkit-background-size: cover;
    background-size: cover
}

.front-page-main-sp_tablet_in {
    width: 100%;
    height: auto;
    padding-top: calc(1266/1026*100%);
    -webkit-background-size: cover;
    background-size: cover
}

.front-page-main-sp_badge {
    z-index: 200;
    position: absolute;
    bottom: -34px;
    left: -34px;
    width: 65%;
    max-width: 380px
}

.main-sp-tablet {
    width: 100%;
    height: auto;
    padding-top: calc(1115/816*100%)
}

.fluffy-layer {
    z-index: 150;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.fluffy-layer.show {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-animation-duration: 2s;
    animation-duration: 2s
}

.fluffy_01 {
    top: 50%;
    left: 50%;
    position: absolute;
    width: 39px;
    height: 42px;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

.fluffy_01 div {
    -webkit-animation: horizontal 1.3s ease-in-out infinite alternate;
    animation: horizontal 1.3s ease-in-out infinite alternate
}

.fluffy_01 span {
    display: block;
    background: url(../images/fluffy_01@2x.png);
    width: 39px;
    height: 42px;
    -webkit-background-size: 39px 42px;
    background-size: 39px 42px;
    -webkit-animation: vertical 1.3s ease-in-out infinite alternate;
    animation: vertical 1.3s ease-in-out infinite alternate
}

.fluffy_02 {
    position: absolute;
    top: 50%;
    left: 10%;
    margin-top: -20px;
    width: 97px;
    height: 107px;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

.fluffy_02 div {
    -webkit-animation: horizontal 1.3s ease-in-out infinite alternate;
    animation: horizontal 1.3s ease-in-out infinite alternate
}

.fluffy_02 span {
    display: block;
    background: url(../images/fluffy_02@2x.png);
    width: 97px;
    height: 107px;
    -webkit-background-size: 97px 107px;
    background-size: 97px 107px;
    -webkit-animation: vertical 1.3s ease-in-out infinite alternate;
    animation: vertical 1.3s ease-in-out infinite alternate
}

.fluffy_03 {
    position: absolute;
    top: 30%;
    right: 10%;
    margin-top: -20px;
    width: 90px;
    height: 81px;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

.fluffy_03 div {
    -webkit-animation: horizontal 1.3s ease-in-out infinite alternate;
    animation: horizontal 1.3s ease-in-out infinite alternate
}

.fluffy_03 span {
    display: block;
    background: url(../images/fluffy_03@2x.png);
    width: 90px;
    height: 81px;
    -webkit-background-size: 90px 81px;
    background-size: 90px 81px;
    -webkit-animation: vertical 1.3s ease-in-out infinite alternate;
    animation: vertical 1.3s ease-in-out infinite alternate
}

.c-lottie__img01,
.c-lottie__img02,
.c-lottie__img03,
.c-lottie__img04,
.c-lottie__img05,
.c-lottie__img06,
.lottie_img {
    display: inline-block;
    position: absolute;
    -webkit-animation: rotate 40s linear infinite;
    animation: rotate 40s linear infinite;
    -webkit-transform-origin: center 100%;
    transform-origin: center 100%
}

.c-lottie {
    width: 1400px;
    height: 800px;
    position: relative
}

.c-lottie__img01 {
    height: 50px;
    top: 180px;
    left: 300px
}

.c-lottie__img02 {
    height: 100px;
    top: 180px;
    left: 300px
}

.c-lottie__img03,
.c-lottie__img04 {
    height: 80px;
    top: 180px;
    left: 300px
}

.c-lottie__img05 {
    height: 50px;
    top: 180px;
    left: 300px
}

.c-lottie__img06 {
    height: 120px;
    top: 180px;
    left: 300px
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.cube-layer {
    z-index: 200;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -700px;
    margin-top: -400px;
    width: 1400px;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

@media screen and (max-width:960px) {
    .cube-layer {
        display: none
    }
}

.cube-layer.show {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-animation-duration: 2s;
    animation-duration: 2s
}

.front-page-main-area {
    z-index: 250;
    display: none;
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 1280px;
    min-width: 1180px;
    min-height: 632px
}

@media screen and (max-width:960px) {
    .front-page-main-area {
        display: block;
        max-width: 700px;
        min-width: initial;
        min-height: auto;
        padding-top: calc(40px - (((48px * 1.75) - 48px) / 2));
        padding-bottom: 18px;
        background: #0c8
    }
}

.front-page-main-area.anim {
    display: block
}

.front-page-main_txt {
    z-index: 250;
    position: absolute;
    top: 50%;
    right: 40px;
    margin-top: -240px;
    width: 530px
}

.front-page-main_txt p {
    font-size: 18px;
    font-weight: 400
}

.front-page-main_txt p em {
    font-weight: 500
}

.front-page-main_txt h2 {
    margin: 0 0 24px;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.3
}

.front-page-main_txt h2 span {
    position: relative;
    display: block;
    font-size: 32px
}

.front-page-main_txt h2 span:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 46px;
    margin-top: -1px;
    width: 180px;
    height: 2px;
    background: rgba(255, 255, 255, .5)
}

@media screen and (min-width:550px) and (max-width:960px) {
    .front-page-main_txt {
        display: block;
        position: static;
        margin: 0 16px;
        width: auto;
        font-size: 14px
    }

    .front-page-main_txt h2 {
        font-size: 40px
    }

    .front-page-main_txt h2 em {
        font-size: 50px
    }

    .front-page-main_txt h2 span:after {
        display: none
    }

    .front-page-main_txt p {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: calc(24px - (((14px * 1.75) - 14px) / 2))
    }

    .front-page-main_txt p em {
        font-weight: 400
    }
}

@media screen and (max-width:550px) {
    .front-page-main_txt {
        display: block;
        position: static;
        margin: 0 16px;
        width: auto;
        font-size: 14px
    }

    .front-page-main_txt h2 {
        margin-bottom: calc(24px - (((14px * 1.75) - 14px) / 2));
        font-size: 200%
    }

    .front-page-main_txt h2 span {
        font-size: 18px;
        font-size: 5.625vw;
        line-height: 1.75
    }

    .front-page-main_txt h2 span:after {
        display: none
    }

    .front-page-main_txt h2 em {
        font-size: 28px;
        font-size: 8.75vw
    }

    .front-page-main_txt p {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: calc(24px - (((14px * 1.75) - 14px) / 2))
    }

    .front-page-main_txt p em {
        font-weight: 400
    }
}

@media screen and (max-width:960px) {
    .front-page-main_btn-wrap {
        margin-bottom: 10px
    }
}

.front-page-main_btn,
.front-page-main_btn1,
.front-page-main_btn2 {
    display: block;
    float: left;
    margin: 40px 0 24px;
    background: #fff;
    color: #0c8;
    width: 200px;
    height: 48px;
    line-height: 48px;
    -webkit-border-radius: 48px;
    border-radius: 48px;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    -webkit-box-shadow: 0 5px 30px 10px rgba(60, 75, 65, .3);
    box-shadow: 0 5px 30px 10px rgba(60, 75, 65, .3)
}

.front-page-main_btn:hover,
.front-page-main_btn1:hover,
.front-page-main_btn2:hover {
    background: #424846;
    color: #fff
}

@media screen and (max-width:960px) {

    .front-page-main_btn,
    .front-page-main_btn1,
    .front-page-main_btn2 {
        margin: 0 0 18px;
        width: 48%;
        height: 36px;
        line-height: 36px;
        font-size: 12px;
        -webkit-box-shadow: none;
        box-shadow: none
    }
}

@media screen and (max-width:960px) {
    .front-page-main_btn1 {
        float: left
    }
}

.front-page-main_btn2 {
    margin-left: 20px
}

@media screen and (max-width:960px) {
    .front-page-main_btn2 {
        float: right;
        margin-left: 0
    }
}

.front-page-main_tablet {
    z-index: 100;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -316px;
    margin-left: -643px;
    width: 513px;
    height: 633px;
    background: url(../images/front-page-main_tablet.png);
    -webkit-background-size: 513px 633px;
    background-size: 513px 633px
}

@media screen and (max-width:960px) {
    .front-page-main_tablet {
        display: none
    }
}

#js-front-page-main_tablet {
    width: 513px;
    height: 633px;
    -webkit-background-size: cover;
    background-size: cover
}

@-webkit-keyframes horizontal1 {
    0% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }

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

@keyframes horizontal1 {
    0% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }

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

@-webkit-keyframes horizontal2 {
    0% {
        -webkit-transform: translateX(6px)
    }

    100% {
        -webkit-transform: translateX(0)
    }
}

@-webkit-keyframes vertical {
    0% {
        -webkit-transform: translateY(-10px)
    }

    100% {
        -webkit-transform: translateY(0)
    }
}

#front-page-main_anim {
    z-index: 90;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -150px;
    margin-left: -150px;
    width: 300px;
    height: 300px
}

@media screen and (max-width:960px) {
    #front-page-main_anim {
        display: none
    }
}

.front-page-main_anim_01 {
    position: absolute;
    margin-top: -120px;
    margin-left: -240px;
    width: 378px;
    height: 349px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.front-page-main_anim_01_inner {
    -webkit-animation: horizontal1 2s ease-in-out infinite alternate
}

.front-page-main_anim_01_inner img {
    -webkit-animation: vertical 2s ease-in-out infinite alternate
}

.front-page-main_anim_02 {
    position: absolute;
    margin-top: 200px;
    margin-left: -10px;
    width: 222px;
    height: 207px
}

.front-page-main_anim_02_inner {
    -webkit-animation: horizontal2 2s ease-in-out infinite alternate
}

.front-page-main_anim_02_inner img {
    -webkit-animation: vertical 2.2s ease-in-out infinite alternate
}

.front-page-main_anim_03 {
    position: absolute;
    margin-top: 100px;
    margin-left: -490px;
    width: 146px;
    height: 136px
}

.front-page-main_anim_03_inner {
    -webkit-animation: horizontal1 2s ease-in-out infinite alternate
}

.front-page-main_anim_03_inner img {
    -webkit-animation: vertical 2.4s ease-in-out infinite alternate
}

.front-page-main_badge {
    z-index: 100;
    position: absolute;
    bottom: 52%;
    left: 51%;
    margin-left: -680px;
    margin-bottom: -320px
}

@media screen and (max-width:960px) {
    .front-page-main_badge {
        display: none
    }
}

.front-page-main_more {
    z-index: 250;
    position: relative;
    margin: 0 auto 30px;
    width: 1180px;
    min-height: 50px
}

@media screen and (max-width:960px) {
    .front-page-main_more {
        margin-bottom: calc(20px - (((14px * 1.75) - 14px) / 2));
        width: auto;
        min-height: auto;
        height: 40px;
        background: #00db92
    }
}

.front-page-main_more-btn {
    content: '';
    display: none;
    z-index: 250;
    position: absolute;
    top: -34px;
    right: 145px;
    padding: 4px 0 0;
    width: 112px;
    height: 68px;
    background: url(../images/front-page-main_more.png);
    -webkit-background-size: 112px 68px;
    background-size: 112px 68px;
    text-align: center;
    color: #fff
}

.front-page-main_more-btn span {
    position: relative;
    z-index: 250
}

.front-page-main_more-btn i {
    display: none
}

@media screen and (max-width:960px) {
    .front-page-main_more-btn {
        display: block;
        position: static;
        padding: 0 0 0 15px;
        width: 100%;
        height: 40px;
        line-height: 40px;
        background: none;
        font-size: 16px;
        font-weight: 400
    }

    .front-page-main_more-btn i {
        margin-left: 15px;
        display: inline-block;
        font-weight: 600;
        font-size: 12px
    }
}

.front-page-main_more-btn.anim {
    display: block
}

.information {
    position: relative;
    margin: 0 auto 80px;
    width: 1024px;
    color: #424846
}

.information h2 {
    display: inline-block;
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 0 40px;
    color: #424846;
    font-size: 24px;
    font-weight: 500
}

.information h2 i {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -18px;
    color: #0c8;
    font-size: 36px
}

@media screen and (max-width:960px) {
    .information {
        margin-bottom: 20px;
        width: auto
    }

    .information h2 {
        margin: 0 16px 16px;
        padding: 0 0 0 26px;
        font-size: 16px
    }

    .information h2 i {
        margin-top: -11px;
        font-size: 22px
    }
}

a.information-more {
    position: absolute;
    top: 16px;
    right: 0;
    display: block;
    font-size: 14px;
    font-weight: 400
}

a.information-more i {
    margin-left: 10px;
    color: #0c8
}

@media screen and (max-width:960px) {
    a.information-more {
        position: absolute;
        top: 4px;
        right: 16px;
        font-size: 12px;
        font-weight: 400
    }
}

.news-wrap {
    margin: 0 auto 32px
}

@media screen and (max-width:960px) {
    .news-wrap {
        margin: 0 auto 20px
    }
}
/*
.news {
    overflow: hidden;
    margin: 0 auto;
    width: 1024px;
    height: 40px;
    background: #f8f9f9
}

.news ul {
    float: left;
    overflow: hidden;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    color: #666;
    font-size: 16px;
    font-weight: 400
}

.news ul a {
    color: #424846
}

.news ul li {
    padding: 5px 0 0
}

.news ul span.data {
    margin: 0 20px 0 0
}

.news ul span.type {
    margin: 0 20px 0 0;
    padding: 2px 8px;
    background: #0c8;
    color: #fff;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    font-size: 14px
}

@media screen and (max-width:960px) {
    .news {
        overflow: hidden;
        width: auto;
        height: 80px
    }

    .news ul {
        padding-left: 0;
        padding-right: 0
    }

    .news ul li {
        width: 100%;
        padding: 3px 10px
    }

    .news ul span.data {
        margin: 0 10px 2px 0;
        font-size: 12px
    }

    .news ul span.type {
        padding: 1px 6px;
        margin: 0 0 2px;
        font-size: 9px;
        line-height: 1
    }

    .news ul span.txt {
        display: block;
        font-size: 12px;
        line-height: 1.5
    }
}
*/
.information-bn {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.information-bn a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: .8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"
}

@media screen and (max-width:960px) {
    .information-bn {
        display: block;
        margin: 0 8px;
        text-align: center
    }

    .information-bn a {
        display: block;
        width: 100%;
        margin-bottom: 8px
    }

    .information-bn a img {
        width: 100%
    }

    .information-bn a:last-child {
        margin-bottom: 0
    }
}

.front-page-what {
    position: relative
}

.front-page-what_area1 {
    overflow: hidden;
    position: relative;
    padding-top: calc(128px - (((16px * 1.8) - 16px) / 2));
    width: 100%;
    height: 726px
}

.front-page-what_area1 h2 {
    font-size: 48px;
    margin-bottom: calc(48px - (((48px * 1.75) - 48px) / 2));
    font-weight: 400;
    line-height: 1.25
}

@media screen and (max-width:960px) {
    .front-page-what_area1 {
        padding-top: calc(60px - (((16px * 1.8) - 16px) / 2));
        height: auto;
        text-align: center;
        background: #e5faf3;
        background: -webkit-gradient(linear, left top, left bottom, from(#e5faf3), to(#cbf7e8));
        background: linear-gradient(to bottom, #e5faf3 0, #cbf7e8 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5faf3', endColorstr='#cbf7e8', GradientType=1)
    }

    .front-page-what_area1 h2 {
        margin-bottom: calc(20px - (((14px * 1.75) - 14px) / 2));
        text-align: center;
        font-size: 28px;
        font-weight: 500;
        line-height: 1.1
    }
}

.front-page-what_area1.on {
    background: #e5faf3;
    background: -webkit-gradient(linear, left top, left bottom, from(#e5faf3), to(#cbf7e8));
    background: linear-gradient(to bottom, #e5faf3 0, #cbf7e8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5faf3', endColorstr='#cbf7e8', GradientType=1)
}

.front-page-what_txt01 {
    font-weight: 400;
    font-size: 20px
}

@media screen and (max-width:960px) {
    .front-page-what_txt01 {
        margin-left: 32px;
        margin-right: 32px;
        margin-bottom: calc(32px - (((14px * 1.75) - 14px) / 2));
        font-size: 14px;
        text-align: left
    }
}

.front-page-what_bg,
.front-page-service_bg {
    margin-left: -620px
}

@media screen and (max-width:960px) {

    .front-page-what_bg,
    .front-page-service_bg {
        display: none
    }
}

.front-page-what_bg {
    position: absolute;
    top: -50px;
    left: 50%;
    width: 389px;
    height: 140px
}

.front-page-service_bg {
    position: absolute;
    top: 100px;
    left: 50%;
    width: 867px;
    height: 140px
}

.front-page-what_bg_layer,
.front-page-service_bg_layer {
    position: absolute
}

.front-page-what_btn {
    display: inline-block;
    margin: 40px 0 48px
}

@media screen and (max-width:960px) {
    .front-page-what_btn {
        display: inline-block;
        margin: 0 auto 18px
    }
}

@media screen and (max-width:960px) {
    .front-page-what_func-wrap {
        text-align: center
    }
}

@media screen and (max-width:960px) {
    .front-page-what_func {
        display: inline-block;
        margin-left: 40px;
        text-align: left
    }
}

@media screen and (max-width:960px) {
    .front-page-what_area-bg {
        position: relative;
        width: 100%;
        height: auto
    }
}

.front-page-what_tablet {
    z-index: 20;
    position: absolute;
    top: 50px;
    right: 50%;
    margin: 30px -640px 0 0;
    width: 408px;
    height: 557px;
    background: url(../images/anim_web_top_02.png);
    -webkit-background-size: 408px 557px;
    background-size: 408px 557px;
    -webkit-animation-delay: 2.5s;
    animation-delay: 2.5s
}

@media screen and (max-width:960px) {
    .front-page-what_tablet {
        float: right;
        position: relative;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: 0;
        width: 63.74999999999999%;
        height: auto;
        -webkit-background-size: cover;
        background-size: cover
    }
}

.front-page-what_tablet_in {
    width: 408px;
    height: 557px;
    -webkit-background-size: cover;
    background-size: cover
}

@media screen and (max-width:960px) {
    .front-page-what_tablet_in {
        width: 100%;
        height: auto;
        padding-top: calc(1115/816*100%)
    }
}

.front-page-what_tablet-bg {
    z-index: 10;
    position: absolute;
    bottom: 0;
    right: 50%;
    margin-right: -565px;
    width: 652.5px;
    height: 726px;
    background: url(../images/front-page-what_bg@2x.png);
    -webkit-background-size: 652.5px 726px;
    background-size: 652.5px 726px
}

@media screen and (max-width:960px) {
    .front-page-what_tablet-bg {
        position: absolute;
        bottom: 0;
        left: -15px;
        width: 75.3125%;
        height: 100%;
        background: url(../images/front-page-what_bg-sp.png) 0 0 no-repeat;
        -webkit-background-size: contain;
        background-size: contain
    }
}

.front-page-func {
    padding: 96px 0;
    width: 100%;
    background: #fff
}

.front-page-func ul {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.front-page-func li {
    padding: 25px 0;
    width: 340px;
    text-align: center;
    font-weight: 400
}

.front-page-func li+li {
    border-left: 1px solid #0c8
}

.front-page-func li dt {
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 10px;
    color: #0c8;
    font-size: 14px;
    font-weight: 300
}

.front-page-func li dt:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -14px;
    width: 28px;
    height: 3px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background: #0c8
}

.front-page-func li dd {
    line-height: 1;
    font-size: 18px;
    font-weight: 500
}

.front-page-func li dd img {
    margin: 0 0 40px
}

@media screen and (max-width:960px) {
    .front-page-func {
        padding: 60px 0
    }

    .front-page-func ul {
        display: block
    }

    .front-page-func li {
        padding: 0;
        width: auto
    }

    .front-page-func li+li {
        margin-top: 44px;
        border-left: 0
    }

    .front-page-func li dt {
        margin: 0 0 10px;
        padding: 0 0 3px;
        font-size: 12px
    }

    .front-page-func li dt:before {
        margin-left: -7px;
        width: 14px;
        height: 1px
    }

    .front-page-func li dd {
        font-size: 16px;
        font-weight: 400
    }

    .front-page-func li dd img {
        margin: 0 0 10px
    }
}

.front-page-func_img {
    height: 110px
}

@media screen and (max-width:960px) {
    .front-page-func_img {
        height: 50px
    }
}

@media screen and (max-width:960px) {
    .front-page-func_1 img {
        width: 43px;
        height: auto
    }
}

@media screen and (max-width:960px) {
    .front-page-func_2 img {
        width: 32px;
        height: auto
    }
}

@media screen and (max-width:960px) {
    .front-page-func_3 img {
        width: 38px;
        height: auto
    }
}

.front-page-service {
    border-top: 1px solid #f0f0f0
}

@media screen and (max-width:960px) {
    .front-page-service {
        border-top: 0;
        width: 100%;
        text-align: center
    }
}

.front-page-service_inner {
    padding: 0 48px;
    width: 560px;
    height: auto
}

@media screen and (max-width:960px) {
    .front-page-service_inner {
        padding: 0;
        width: auto
    }
}

.front-page-service_left {
    float: left;
    overflow: hidden;
    position: relative;
    padding-top: calc(128px - (((16px * 1.8) - 16px) / 2));
    padding-bottom: calc(128px - (((16px * 1.8) - 16px) / 2));
    width: 50%;
    height: 100%;
    background: #e5faf3;
    background: -webkit-gradient(linear, left top, left bottom, from(#e5faf3), to(#cbf7e8));
    background: linear-gradient(to bottom, #e5faf3 0, #cbf7e8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5faf3', endColorstr='#cbf7e8', GradientType=1);
    font-size: 20px
}

.front-page-service_left h2 {
    margin-bottom: calc(48px - (((48px * 1.75) - 48px) / 2));
    font-size: 48px;
    font-weight: 400;
    line-height: 1.25
}

.front-page-service_left .front-page-service_inner {
    float: right
}

@media screen and (max-width:960px) {
    .front-page-service_left {
        float: none;
        padding-top: calc(60px - (((16px * 1.8) - 16px) / 2));
        padding-bottom: calc(60px - (((16px * 1.8) - 16px) / 2));
        width: 100%;
        height: auto;
        font-size: 14px
    }

    .front-page-service_left h2 {
        margin-bottom: calc(20px - (((14px * 1.75) - 14px) / 2));
        text-align: center;
        font-size: 28px;
        font-weight: 500;
        line-height: 1.3
    }

    .front-page-service_left .front-page-service_inner {
        float: none
    }
}

.front-page-service_txt {
    padding-right: 32px;
    font-weight: 400
}

@media screen and (max-width:960px) {
    .front-page-service_txt {
        margin-bottom: calc(32px - (((14px * 1.75) - 14px) / 2));
        padding-right: 40px;
        padding-left: 40px;
        text-align: left
    }
}

.front-page-service_right {
    float: right;
    padding-top: 96px;
    width: 50%
}

.front-page-service_right .front-page-service_inner {
    float: left;
    position: relative;
    background: #000
}

@media screen and (max-width:960px) {
    .front-page-service_right {
        float: none;
        padding-top: 60px;
        padding-bottom: 60px;
        width: 100%;
        text-align: center
    }

    .front-page-service_right .front-page-service_inner {
        display: none
    }
}

.front-page-service_right-sp img {
    max-width: 83.75%
}

#sectionBg2 {
    position: absolute;
    top: 20px;
    left: 50%;
    margin-left: -380px
}

.front-page-service_btn {
    display: inline-block;
    margin: 40px 0 24px
}

@media screen and (max-width:960px) {
    .front-page-service_btn {
        padding: 0;
        display: block;
        margin: 0 auto 20px;
        background: none;
        font-size: 12px;
        height: 36px;
        width: 210px
    }

    .front-page-service_btn span {
        line-height: 36px
    }
}

.front-page-service_device {
    margin-top: 26px;
    position: relative;
    right: 88px;
    width: 602.5px;
    height: 455.5px;
    background: url(../images/anim_web_top_03.png);
    -webkit-background-size: 602.5px 455.5px;
    background-size: 602.5px 455.5px
}

@media screen and (max-width:960px) {
    .front-page-service_device {
        position: static;
        margin-top: 0;
        float: right;
        right: 0;
        width: 94.0625%;
        height: auto;
        -webkit-background-size: cover;
        background-size: cover
    }
}

.front-page-service_device_in {
    width: 602.5px;
    height: 455.5px;
    -webkit-background-size: cover;
    background-size: cover
}

@media screen and (max-width:960px) {
    .front-page-service_device_in {
        width: 100%;
        height: auto;
        padding-top: calc(911/1205*100%)
    }
}

.front-page-service_txt01 {
    position: absolute;
    top: 70px;
    left: 250px
}

.front-page-service_img01 {
    position: absolute;
    top: 140px;
    left: 50%;
    margin-left: -138px
}

@media screen and (max-width:960px) {
    .front-page-service_img01 {
        float: none;
        width: 100%
    }
}

.front-page-service_txt02 {
    z-index: 100;
    position: absolute;
    top: 487px;
    left: 74px
}

.front-page-service_img02 {
    position: absolute;
    top: 330px;
    left: 30px
}

.front-page-service_txt03 {
    z-index: 100;
    position: absolute;
    top: 487px;
    right: 5px
}

.front-page-service_img03 {
    position: absolute;
    top: 330px;
    right: -18px
}

.front-page-media {
    padding: 128px 0 118px;
    background: #ecedec;
    text-align: center
}

.front-page-media h2 {
    position: relative;
    padding-left: 10px;
    margin-bottom: calc(32px - (((35px * 1.8) - 35px) / 2));
    font-size: 32px;
    font-weight: 300;
    text-align: left
}

.front-page-media h2 i {
    position: absolute;
    top: 12px;
    right: 0;
    color: #0c8
}

.front-page-media h2 span {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.front-page-media h2 a.front-page-media_btn {
    z-index: 10;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    top: 0;
    left: 50%;
    display: inline-block;
    margin-left: -127px;
    padding: 2px;
    background: #bbda21;
    background: -webkit-gradient(linear, left top, right top, from(#bbda21), to(#0c8));
    background: linear-gradient(to right, #bbda21 0, #0c8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bbda21', endColorstr='#00cc88', GradientType=1);
    width: 254px;
    height: 52px;
    -webkit-border-radius: 52px;
    border-radius: 52px;
    text-align: center;
    -webkit-box-shadow: 0 3px 20px 5px rgba(60, 75, 65, .1);
    box-shadow: 0 3px 20px 5px rgba(60, 75, 65, .1);
    color: #fff;
    font-weight: 400;
    font-size: 18px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.front-page-media h2 a.front-page-media_btn span {
    display: block;
    background: #fff;
    color: #0c8;
    -webkit-border-radius: 48px;
    border-radius: 48px;
    line-height: 48px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.front-page-media h2:hover span.blur {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="5" /></filter></svg>#filter');
    filter: blur(5px);
    -webkit-filter: blur(5px)
}

.front-page-media h2:hover a.front-page-media_btn {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

@media screen and (max-width:960px) {
    .front-page-media {
        position: relative;
        padding: 60px 0 120px;
        background: #f8f9f9
    }

    .front-page-media h2 {
        padding-left: 0;
        margin-bottom: calc(40px - (((24px * 1.3) - 24px) / 2));
        font-size: 24px;
        line-height: 1.3;
        text-align: center
    }

    .front-page-media h2 i {
        display: none
    }

    .front-page-media h2 a.front-page-media_btn {
        display: none
    }

    .front-page-media h2:hover span.blur {
        filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
        filter: blur(0);
        -webkit-filter: blur(0)
    }
}

.front-page-media-inner {
    margin-left: auto;
    margin-right: auto;
    width: 1120px;
    padding-left: 48px;
    padding-right: 48px
}

@media screen and (max-width:960px) {
    .front-page-media-inner {
        width: auto;
        padding-left: 0;
        padding-right: 0
    }
}

.front-page-media-more {
    display: none
}

@media screen and (max-width:960px) {
    .front-page-media-more {
        display: block;
        font-weight: 500;
        position: absolute;
        bottom: 0;
        left: 0;
        padding-left: 20px;
        width: 100%;
        height: 66px;
        line-height: 66px;
        font-size: 12px;
        text-align: center;
        background: #c2ccc9;
        color: #424846;
        font-weight: 400
    }

    .front-page-media-more i {
        margin-left: 10px;
        color: #0c8
    }
}

@media screen and (max-width:960px) {
    img.front-page-media-sp {
        display: inline-block
    }
}

.front-page-company {
    position: relative;
    padding-top: calc(128px - (((18px * 1.8) - 18px) / 2));
    padding-bottom: 128px;
    width: 100%;
    background: url(../images/front-page-company-bg.jpg);
    -webkit-background-size: cover;
    background-size: cover;
    -webkit-box-shadow: 0 -8px 8px -1px rgba(0, 0, 0, .1) inset;
    box-shadow: 0 -8px 8px -1px rgba(0, 0, 0, .1) inset
}

.front-page-company:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#666 5%, transparent 0), radial-gradient(#666 5%, transparent 0);
    background-position: 1px 1px, 1px 1px;
    -webkit-background-size: 30px 30px;
    background-size: 30px 30px
}

.front-page-company h2 {
    position: relative;
    margin: 0 0 34px;
    z-index: 100;
    font-size: 48px;
    font-weight: 400;
    width: 100%;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1
}

.front-page-company h2:before {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -209px;
    width: 418px;
    height: 2px;
    background: #bbda21;
    background: -webkit-gradient(linear, left top, right top, from(#bbda21), to(#0c8));
    background: linear-gradient(to right, #bbda21 0, #0c8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bbda21', endColorstr='#00cc88', GradientType=1)
}

.front-page-company ul {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.front-page-company ul li {
    overflow: hidden;
    position: relative;
    width: 330px;
    height: 240px;
    -webkit-box-shadow: 0 10px 30px 10px rgba(0, 0, 0, .2);
    box-shadow: 0 10px 30px 10px rgba(0, 0, 0, .2)
}

.front-page-company ul li:before {
    content: '';
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    top: 0;
    left: 0;
    width: 330px;
    height: 240px;
    background: #0c8;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.front-page-company ul li:hover:before {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.front-page-company ul li:hover .front-page-company_in-txt {
    position: absolute;
    bottom: 70px;
    left: 0;
    color: #fff
}

.front-page-company ul li:hover .front-page-company_in-txt i {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

.front-page-company ul a {
    display: block;
    position: relative;
    width: 330px;
    height: 240px;
    color: #0c8;
    font-size: 14px;
    font-weight: 400
}

.front-page-company ul a em {
    font-size: 24px
}

@media all and (-ms-high-contrast:none) {
    .front-page-company h2 {
        overflow: hidden;
        text-indent: 200%;
        white-space: nowrap;
        background: url(../images/front-page-company_txt.png);
        width: 509px;
        height: 85px
    }
}

@media screen and (max-width:960px) {
    .front-page-company {
        padding: 60px 0 0;
        background: #424846
    }

    .front-page-company:before {
        display: none
    }

    .front-page-company h2 {
        font-size: 28px;
        font-weight: 500
    }

    .front-page-company h2:before {
        margin-left: -104px;
        width: 208px;
        height: 1px
    }

    .front-page-company ul {
        display: block
    }

    .front-page-company ul li {
        overflow: hidden;
        width: 100%;
        height: 136px;
        -webkit-box-shadow: none;
        box-shadow: none
    }

    .front-page-company ul li:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .8)
    }

    .front-page-company ul li:hover:before {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
    }

    .front-page-company ul li:hover .front-page-company_in-txt i {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }

    .front-page-company ul a {
        width: 100%;
        height: 136px
    }
}

.front-page-company_inner {
    text-align: center
}

.front-page-company-sub-txt {
    margin-bottom: 24px;
    font-weight: 600;
    display: block;
    width: 100%;
    font-size: 18px;
    letter-spacing: 1px;
    line-height: 1
}

@media screen and (max-width:960px) {
    .front-page-company-sub-txt {
        margin-bottom: 20px
    }
}

p.front-page-company_txt01 {
    margin: 0 0 96px;
    color: #fff;
    letter-spacing: 1px;
    font-size: 24px;
    font-weight: 300
}

@media screen and (max-width:960px) {
    p.front-page-company_txt01 {
        margin: 0 0 36px;
        font-size: 18px
    }
}

.front-page-company_message {
    background: url(../images/front-page-company_message@2x.jpg);
    -webkit-background-size: 330px 240px;
    background-size: 330px 240px
}

@media screen and (max-width:960px) {
    .front-page-company_message {
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center -40px
    }
}

.front-page-company_company {
    background: url(../images/front-page-company_company@2x.jpg);
    -webkit-background-size: 330px 240px;
    background-size: 330px 240px
}

@media screen and (max-width:960px) {
    .front-page-company_company {
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center
    }
}

.front-page-company_media {
    background: url(../images/front-page-company_media@2x.jpg);
    -webkit-background-size: 330px 240px;
    background-size: 330px 240px
}

@media screen and (max-width:960px) {
    .front-page-company_media {
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center -40px
    }
}

.front-page-company_in-txt {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px 0;
    width: 100%;
    line-height: 1.5;
    letter-spacing: 1px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.front-page-company_in-txt em {
    padding-left: 20px
}

.front-page-company_in-txt i {
    margin-left: 10px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:960px) {
    .front-page-company_in-txt {
        z-index: 100;
        top: 20px;
        color: #fff;
        font-weight: 300;
        font-size: 12px
    }

    .front-page-company_in-txt i {
        position: absolute;
        top: 36px;
        right: 16px;
        font-size: 20px;
        color: #0c8
    }

    .front-page-company_in-txt em {
        padding-left: 0;
        font-size: 24px;
        font-weight: 500
    }
}

.front-page-blog {
    position: relative;
    padding: 32px 0;
    background: #424846
}

.front-page-blog h2 {
    margin: 0 0 32px;
    text-align: center
}

.front-page-blog ul {
    margin: 0 .2%;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.front-page-blog li {
    width: 33.2%;
    height: 298px
}

@media screen and (max-width:960px) {
    .front-page-blog {
        padding: 32px 0 0
    }

    .front-page-blog h2 img {
        width: 227px
    }

    .front-page-blog ul {
        display: block;
        margin: 0 8px;
        border-top: 1px solid #e0e5e4;
        border-bottom: 1px solid #e0e5e4
    }

    .front-page-blog li {
        padding: 8px 0;
        width: 100%;
        height: auto
    }

    .front-page-blog li+li {
        border-top: 1px solid #e0e5e4
    }
}

@media screen and (max-width:960px) {
    .front-page-blog-title_pc {
        display: none
    }
}

.front-page-blog-title_sp {
    display: none
}

@media screen and (max-width:960px) {
    .front-page-blog-title_sp {
        display: inline-block
    }
}

a.front-page-blog_more {
    position: absolute;
    top: 42px;
    right: 48px;
    color: #fff;
    font-size: 14px
}

a.front-page-blog_more i {
    margin-left: 10px;
    color: #0c8
}

@media screen and (max-width:960px) {
    a.front-page-blog_more {
        display: block;
        position: static;
        padding-left: 20px;
        width: 100%;
        height: 66px;
        line-height: 66px;
        font-size: 12px;
        text-align: center
    }
}

.front-page-blog_post {
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 100%;
    height: auto
}

.front-page-blog_post a {
    position: relative;
    display: block;
    width: 100%;
    height: 298px
}

.front-page-blog_post a:before {
    content: '';
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 298px;
    background: rgba(255, 255, 255, .8);
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.front-page-blog_post .thumbnail img {
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto
}

.front-page-blog_post:hover a {
    color: #fff
}

.front-page-blog_post:hover a:before {
    background: #0c8
}

.front-page-blog_post:hover .front-page-blog_post_cat {
    border: 1px solid #fff
}

@media screen and (max-width:960px) {
    .front-page-blog_post {
        text-align: left
    }

    .front-page-blog_post a {
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: auto;
        color: #fff;
        font-weight: 500
    }

    .front-page-blog_post a:before {
        display: none
    }

    .front-page-blog_post .thumbnail {
        margin-right: 10px;
        position: relative;
        overflow: hidden;
        width: 100px;
        height: 100px;
        background: red
    }

    .front-page-blog_post .thumbnail img {
        width: auto;
        height: 100%;
        object-fit: cover
    }

    .front-page-blog_post:hover .front-page-blog_post_cat {
        border: 1px solid #0c8
    }
}

.front-page-blog_post-inner {
    z-index: 10;
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%
}

@media screen and (max-width:960px) {
    .front-page-blog_post-inner {
        position: static;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

.front-page-blog_post_data {
    margin: 0 0 10px;
    font-weight: 500;
    font-size: 18px
}

@media screen and (max-width:960px) {
    .front-page-blog_post_data {
        display: inline;
        font-size: 9px;
        color: #c2ccc9;
        font-weight: 400
    }
}

.front-page-blog_post_cat {
    display: inline-block;
    margin: 0 0 22px;
    padding: 4px 10px;
    background: #0c8;
    border: 1px solid #0c8;
    color: #fff;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    line-height: 1;
    font-size: 14px
}

@media screen and (max-width:960px) {
    .front-page-blog_post_cat {
        display: inline;
        margin-right: 4px;
        padding: 2px 4px;
        font-size: 9px;
        letter-spacing: 0
    }
}

.front-page-blog_post_title {
    margin: 0 auto;
    width: 60%;
    font-weight: 400;
    font-size: 18px
}

@media screen and (max-width:960px) {
    .front-page-blog_post_title {
        margin: 5px 0 0;
        width: 100%;
        font-size: 12px
    }
}

.front-page-sec {
    overflow: hidden;
    position: relative;
    padding: 128px 0;
    width: 100%;
    height: 960px;
    text-align: center;
    font-size: 36px;
    font-weight: 400;
    color: #676c6a;
    background: #fff;
    background: radial-gradient(#fff 0, #fff 50%, #c2ccc9 100%)
}

@media screen and (max-width:960px) {
    .front-page-sec {
        padding: 60px 0;
        font-size: 24px;
        font-weight: 300;
        height: 650px;
        background: #fff
    }

    .front-page-sec p {
        z-index: 100;
        position: relative;
        line-height: 1.3
    }
}

@media screen and (max-width:960px) {
    .front-page-sec-sp {
        z-index: 50;
        position: absolute;
        top: 82px;
        left: 50%;
        margin-left: -253px;
        width: 423px;
        height: 517px
    }
}

@media screen and (max-width:960px) {
    .front-page-sec_logo {
        width: 120px;
        height: auto
    }
}

.front-page-sec_layer1 {
    position: absolute;
    top: 250px;
    left: 50%;
    margin-left: -462px;
    width: 845px;
    height: 390px
}

.front-page-sec_layer1 .layer {
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/front-page-sec_layer1.png) no-repeat;
    -webkit-background-size: 845px 390px;
    background-size: 845px 390px;
    background-position: 0 center;
    width: 845px;
    height: 390px
}

@media screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:1.5),
(-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {
    .front-page-sec_layer1 .layer {
        background: url(../images/front-page-sec_layer1@2x.png) no-repeat;
        -webkit-background-size: 845px 390px;
        background-size: 845px 390px
    }
}

@media screen and (max-width:960px) {
    .front-page-sec_layer1 {
        display: none
    }
}

.front-page-sec_layer2 {
    position: absolute;
    top: 30px;
    left: 50%;
    margin-left: -350px;
    width: 799px;
    height: 866px
}

.front-page-sec_layer2 .layer {
    background: url(../images/front-page-sec_layer2.png) no-repeat;
    -webkit-background-size: 799px 866px;
    background-size: 799px 866px;
    width: 799px;
    height: 866px
}

@media screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:1.5),
(-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {
    .front-page-sec_layer2 .layer {
        background: url(../images/front-page-sec_layer2@2x.png) no-repeat;
        -webkit-background-size: 799px 866px;
        background-size: 799px 866px
    }
}

@media screen and (max-width:960px) {
    .front-page-sec_layer2 {
        display: none
    }
}

.front-page-sec_layer3 {
    position: absolute;
    top: 300px;
    left: 50%;
    margin-left: -490px;
    width: 1053px;
    height: 562px
}

.front-page-sec_layer3 .layer {
    background: url(../images/front-page-sec_layer3.png) no-repeat;
    -webkit-background-size: 1053px 562px;
    background-size: 1053px 562px;
    width: 1053px;
    height: 562px
}

@media screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:1.5),
(-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {
    .front-page-sec_layer3 .layer {
        background: url(../images/front-page-sec_layer3@2x.png) no-repeat;
        -webkit-background-size: 1053px 562px;
        background-size: 1053px 562px
    }
}

@media screen and (max-width:960px) {
    .front-page-sec_layer3 {
        display: none
    }
}

.front-page-sec_layer4 {
    position: absolute;
    top: 150px;
    left: 50%;
    margin-left: -560px;
    width: 871px;
    height: 631px
}

.front-page-sec_layer4 .layer {
    background: url(../images/front-page-sec_layer4.png) no-repeat;
    -webkit-background-size: 871px 631px;
    background-size: 871px 631px;
    width: 871px;
    height: 631px
}

@media screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:1.5),
(-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {
    .front-page-sec_layer4 .layer {
        background: url(../images/front-page-sec_layer4@2x.png) no-repeat;
        -webkit-background-size: 871px 631px;
        background-size: 871px 631px
    }
}

@media screen and (max-width:960px) {
    .front-page-sec_layer4 {
        display: none
    }
}

.banner {
    width: 498px
}

@media screen and (max-width:960px) {
    .banner {
        width: 100%
    }
}