/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/****************************************/
/* HubSpot Style Boilerplate            */
/****************************************/

/* These includes are optional, but helpful. */
/* Images */

img {
    max-width: 100%;
    border: 0;
    -ms-interpolation-mode: bicubic;
    vertical-align: bottom; /* Suppress the space beneath the baseline */
}

/* Videos */

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

/* Embed Container (iFrame, Object, Embed) */

.hs-responsive-embed {
    position: relative;
    height: auto;
    overflow: hidden;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}

.hs-responsive-embed iframe, .hs-responsive-embed object, .hs-responsive-embed embed {
    width: 100%;
    height: 100%;
    border: 0;
}

.hs-responsive-embed,
.hs-responsive-embed.hs-responsive-embed-youtube,
.hs-responsive-embed.hs-responsive-embed-wistia,
.hs-responsive-embed.hs-responsive-embed-vimeo {
    padding-bottom: 2%;
}

.hs-responsive-embed.hs-responsive-embed-instagram {
    padding-bottom: 116.01%;
}

.hs-responsive-embed.hs-responsive-embed-pinterest {
    height: auto;
    overflow: visible;
    padding: 0;
}

.hs-responsive-embed.hs-responsive-embed-pinterest iframe {
    position: static;
    width: auto;
    height: auto;
}

iframe[src^="http://www.slideshare.net/slideshow/embed_code/"] {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 568px) {
    iframe {
        max-width: 100%;
    }
}

/* Forms */

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select {
    padding: 6px;
    display: inline-block;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* Menus */

.hs-menu-wrapper ul {
    padding: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal ul {
    list-style: none;
    margin: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul {
    display: inline-block;
    margin-bottom: 20px;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul:before {
    content: " ";
    display: table;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul:after {
    content: " ";
    display: table;
    clear: both;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1 {
    float: left;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li a {
    display: inline-block;
    padding: 10px 20px;
    white-space: nowrap;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children {
    position: relative;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    position: absolute;
    z-index: 10;
    left: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li a {
    display: block;
    white-space: nowrap;
    width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper {
    left: 180px;
    top: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children:hover > ul.hs-menu-children-wrapper {
    opacity: 1;
    visibility: visible;
}

.row-fluid-wrapper:last-child .hs-menu-wrapper.hs-menu-flow-horizontal > ul {
    margin-bottom: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch {
    position: relative;
    margin-bottom: 20px;
    min-height: 7em;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul {
    margin-bottom: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children {
    position: static;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    display: none;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper {
    display: block;
    visibility: visible;
    opacity: 1;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper:before {
    content: " ";
    display: table;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper:after {
    content: " ";
    display: table;
    clear: both;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li {
    float: left;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li a {
    display: inline-block;
    padding: 10px 20px;
    white-space: nowrap;
    max-width: 140px;
    width: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

.hs-menu-wrapper.hs-menu-flow-vertical {
    width: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical ul {
    list-style: none;
    margin: 0;
}

.hs-menu-wrapper.hs-menu-flow-vertical li a {
    display: block;
    white-space: nowrap;
    width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul {
    margin-bottom: 20px;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-menu-depth-1 > a {
    width: auto;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li a {
    padding: 10px 20px;
    text-decoration: none;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-item-has-children {
    position: relative;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 180px;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-item-has-children:hover > ul.hs-menu-children-wrapper {
    opacity: 1;
    visibility: visible;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li a {
    min-width: 140px;
    width: auto;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul {
    max-width: 100%;
    overflow: hidden;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    display: none;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper,
.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li.hs-item-has-children > ul.hs-menu-children-wrapper {
    display: block;
    visibility: visible;
    opacity: 1;
    position: static;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-2 > a {
    padding-left: 4em;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-3 > a {
    padding-left: 6em;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-4 > a {
    padding-left: 8em;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-5 > a {
    padding-left: 140px;
}

.hs-menu-wrapper.hs-menu-not-show-active-branch li.hs-menu-depth-1 ul {
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.18);
    -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.18);
}

@media (max-width: 568px) {
    .hs-menu-wrapper, .hs-menu-wrapper * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 100%;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal ul {
        list-style: none;
        margin: 0;
        display: block;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal > ul {
        display: block;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1 {
        float: none;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal > ul li a,
    .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li a,
    .hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li a {
        display: block;
        max-width: 100%;
        width: 100%;
    }
}

.hs-menu-wrapper.hs-menu-flow-vertical.no-flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper,
.hs-menu-wrapper.hs-menu-flow-horizontal.no-flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    visibility: visible;
    opacity: 1;
}

/* Space Module */

.widget-type-space {
    visibility: hidden;
}

/* Blog Author Section */

.hs-author-listing-header {
    margin: 0 0 .75em 0;
}

.hs-author-social-links {
    display: inline-block;
}

.hs-author-social-links a.hs-author-social-link {
    width: 24px;
    height: 24px;
    border-width: 0px;
    border: 0px;
    line-height: 24px;
    background-size: 24px 24px;
    background-repeat: no-repeat;
    display: inline-block;
    text-indent: -99999px;
}

.hs-author-social-links a.hs-author-social-link.hs-social-facebook {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/facebook-24x24.png");
}

.hs-author-social-links a.hs-author-social-link.hs-social-linkedin {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/linkedin-24x24.png");
}

.hs-author-social-links a.hs-author-social-link.hs-social-twitter {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/twitter-24x24.png");
}

.hs-author-social-links a.hs-author-social-link.hs-social-google-plus {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/googleplus-24x24.png");
}

/*
 * jQuery FlexSlider v2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */

/* Wrapper */
.hs_cos_wrapper_type_image_slider {
    display: block;
    overflow: hidden
}

/* Browser Resets */
.hs_cos_flex-container a:active,
.hs_cos_flex-slider a:active,
.hs_cos_flex-container a:focus,
.hs_cos_flex-slider a:focus  {outline: none;}
.hs_cos_flex-slides,
.hs_cos_flex-control-nav,
.hs_cos_flex-direction-nav {margin: 0; padding: 0; list-style: none;}

/* FlexSlider Necessary Styles
*********************************/
.hs_cos_flex-slider {margin: 0; padding: 0;}
.hs_cos_flex-slider .hs_cos_flex-slides > li {display: none; -webkit-backface-visibility: hidden; position: relative;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.hs_cos_flex-slider .hs_cos_flex-slides img {width: 100%; display: block; border-radius: 0px;}
.hs_cos_flex-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .hs_cos_flex-slides element */
.hs_cos_flex-slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .hs_cos_flex-slides {display: block;}
* html .hs_cos_flex-slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */

/* FlexSlider Default Theme
*********************************/
.hs_cos_flex-slider {margin: 0 0 60px; background: #fff; border: 0; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; zoom: 1;}
.hs_cos_flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
.loading .hs_cos_flex-viewport {max-height: 300px;}
.hs_cos_flex-slider .hs_cos_flex-slides {zoom: 1;}

.carousel li {margin-right: 5px}


/* Direction Nav */
.hs_cos_flex-direction-nav {*height: 0;}
.hs_cos_flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(//static.hsappstatic.net/content_shared_assets/static-1.3935/img/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
.hs_cos_flex-direction-nav .hs_cos_flex-next {background-position: 100% 0; right: -36px; }
.hs_cos_flex-direction-nav .hs_cos_flex-prev {left: -36px;}
.hs_cos_flex-slider:hover .hs_cos_flex-next {opacity: 0.8; right: 5px;}
.hs_cos_flex-slider:hover .hs_cos_flex-prev {opacity: 0.8; left: 5px;}
.hs_cos_flex-slider:hover .hs_cos_flex-next:hover, .hs_cos_flex-slider:hover .hs_cos_flex-prev:hover {opacity: 1;}
.hs_cos_flex-direction-nav .hs_cos_flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}

/* Direction Nav for the Thumbnail Carousel */
.hs_cos_flex_thumbnavs-direction-nav {
    margin: 0px;
    padding: 0px;
    list-style: none;
    }
.hs_cos_flex_thumbnavs-direction-nav {*height: 0;}
.hs_cos_flex_thumbnavs-direction-nav a {width: 30px; height: 140px; margin: -60px 0 0; display: block; background: url(//static.hsappstatic.net/content_shared_assets/static-1.3935/img/bg_direction_nav.png) no-repeat 0 40%; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 1; -webkit-transition: all .3s ease;}
.hs_cos_flex_thumbnavs-direction-nav .hs_cos_flex_thumbnavs-next {background-position: 100% 40%; right: 0px; }
.hs_cos_flex_thumbnavs-direction-nav .hs_cos_flex_thumbnavs-prev {left: 0px;}
.hs-cos-flex-slider-control-panel img { cursor: pointer; }
.hs-cos-flex-slider-control-panel img:hover { opacity:.8; }
.hs-cos-flex-slider-control-panel { margin-top: -30px; }



/* Control Nav */
.hs_cos_flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
.hs_cos_flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.hs_cos_flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);}
.hs_cos_flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.hs_cos_flex-control-paging li a.hs_cos_flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }

.hs_cos_flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.hs_cos_flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.hs_cos_flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.hs_cos_flex-control-thumbs img:hover {opacity: 1;}
.hs_cos_flex-control-thumbs .hs_cos_flex-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
  .hs_cos_flex-direction-nav .hs_cos_flex-prev {opacity: 1; left: 0;}
  .hs_cos_flex-direction-nav .hs_cos_flex-next {opacity: 1; right: 0;}
}

.hs_cos_flex-slider .caption {
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    font-size: 2em;
    line-height: 1.1em;
    color: white;
    padding: 0px 5% 0px 5%;
    width: 100%;
    bottom: 0;
    text-align: center;
}

.hs_cos_flex-slider .superimpose .caption {
    color: white;
    font-size: 3em;
    line-height: 1.1em;
    position: absolute;
    padding: 0px 5% 0px 5%;
    width: 90%;
    top: 40%;
    text-align: center;
    background-color: transparent;
}

@media all and (max-width: 400px) {
    .hs_cos_flex-slider .superimpose .caption {
        background-color: black;
        position: static;
        font-size: 2em;
        line-height: 1.1em;
        color: white;
        width: 90%;
        padding: 0px 5% 0px 5%;
        top: 40%;
        text-align: center;
    }

    /* beat recaptcha into being responsive, !importants and specificity are necessary */
    #recaptcha_area table#recaptcha_table {width: 300px !important;}
    #recaptcha_area table#recaptcha_table .recaptcha_r1_c1 {width: 300px !important;}
    #recaptcha_area table#recaptcha_table .recaptcha_r4_c4 { width: 67px !important;}
    #recaptcha_area table#recaptcha_table #recaptcha_image {width:280px !important;}
}

.hs_cos_flex-slider h1,
.hs_cos_flex-slider h2,
.hs_cos_flex-slider h3,
.hs_cos_flex-slider h4,
.hs_cos_flex-slider h5,
.hs_cos_flex-slider h6,
.hs_cos_flex-slider p {
    color: white;
}

/* Thumbnail only version of the gallery */
.hs-gallery-thumbnails li {
    display: inline-block;
    margin: 0px;
    padding: 0px;
    margin-right:-4px;
}
.hs-gallery-thumbnails.fixed-height li img {
    max-height: 150px;
    margin: 0px;
    padding: 0px;
    border-width: 0px;
}


/* responsive pre elements */

pre {
    overflow-x: auto;
}

/* responsive pre tables */

table pre {
    white-space: pre-wrap;
}

/* adding minimal spacing for blog comments */
.comment {
    margin: 10px 0 10px 0;
}

/* make sure lines with no whitespace don't interefere with layout */
.hs_cos_wrapper_type_rich_text,
.hs_cos_wrapper_type_text,
.hs_cos_wrapper_type_header,
.hs_cos_wrapper_type_section_header,
.hs_cos_wrapper_type_raw_html,
.hs_cos_wrapper_type_raw_jinja,
.hs_cos_wrapper_type_page_footer {
    word-wrap: break-word;
}
/* HTML 5 Reset */

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

audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

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

/* Support migrations from wordpress */

.wp-float-left {
    float: left;
    margin: 0 20px 20px 0;
}

.wp-float-right {
    float: right;
    margin: 0 0 20px 20px;
}

/* Responsive Google Maps */

#map_canvas img, .google-maps img {
    max-width: none;
}

/* line height fix for reCaptcha theme */
#recaptcha_table td {line-height: 0;}
.recaptchatable #recaptcha_response_field {min-height: 0;line-height: 12px;}


/*****************************************/
/* Start your style declarations here    */
/*****************************************/

@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

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

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto; /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

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

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}
/*#====================
  # base
  #====================*/
body {
    width: 100%;
    background: #FFF;
    color: #333;
    font-family: "Noto Sans JP",游ゴシック体,"游ゴシック","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    letter-spacing: 0;
    font-size: 16px;
    line-height: 1.5;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
}
ul{list-style: none;}
img {width: 100%;}
/*#====================
  # header
  #====================*/
.crm-header{
  position: relative;
  width:100%;
  height: 66px;
  background: #fff;
}
.crm-header.fixed{
  position: fixed;
  top:0;
  left:0;
  box-shadow:0 2px 8px rgba(30,30,80,.3);
  z-index:99;
  animation: fadeIn .8s ease 0s 1 normal;
  }
  @keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
  }
.crm-logo{
  display: inline-block;
  width: 260px;
  max-width: 260px;
  margin-left: 5%;
  line-height: 60px;
}
.crm-logo > img {
  max-width: 198px;
  vertical-align: middle;
}
.crm-btn{
  display: block;
  width: 150px;
  padding:10px;
  border:1px solid #4275FF;
  border-radius: 3px;
  color:#4275FF;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
@media screen and (min-width:769px) and (max-width: 876px){
  .crm-logo{width: 20%;}
}
@media screen and (min-width:768px) {
    /*　画面サイズが768pxからはここを読み込む　*/
/*   .crm-logo{margin-left: 1%;} */
  .crm-gnav{
    float: right;
    width: 60%;
    text-align: right;
    vertical-align: bottom;
    overflow: hidden;
    margin-right: 5%;
  }
  .crm-gnav-menu{
    float: right;
    min-width: 75%;
    overflow: hidden;
    line-height: 65px;
    margin-right: 320px;
  }
  .crm-gnav-menu > li{
    display: inline-block;
    margin-right: 3%;
    font-size:14px;
  }
  .crm-gnav-menu > li > a{
    color:#9d9d9d;
    font-weight: bold;
    text-decoration: none;
  }
  .crm-btn{
    position: absolute;
    top:12px;
    right: calc(170px + 5% );
  }
  .crm-btn.dl{
    right:5%;
    background: #4275FF;
    border-color:#4275FF;
    color:#fff;
    box-shadow: 1px 1px 3px rgba(31,91,255,.5);
  }
  .crm-btn.dl2{display: none;}
  .ham-menu{display: none;}
}
@media screen and (max-width:767px) {
  /*　画面サイズが767pxまではここを読み込む　*/
  .crm-logo{
/*     width: 30%; */
    width: 130px;
  }
  .crm-gnav{
    display: none;
    position: absolute;
    top:0;
    left:0;
    width: 100%;
/*     padding-bottom: 50px; */
    background: #4275FF;
    box-shadow:0 2px 8px rgba(30,30,80,.3);
    z-index: 100;
    height: 100vh;
  }
  .crm-gnav-logo {
    width: 50%;
    margin: 80px auto 30px;
  }
  .crm-btn {
    width: 200px;
    margin: 0 auto 30px;
    padding: 15px 0;
    border-color:#fff;
  }
  .crm-btn.dl {
    background: #fff;
    color:#4275FF;
  }
  .crm-btn.contact{color:#fff;}
  .crm-btn.dl2{
    display: none;
    position: absolute;
    top:50%;
    right: 60px;
    width: 150px;
    padding:10px;
    background: #1F5BFF;
    border-radius: 10px;
    transform: translateY(-50%);
    color:#fff;
  }
  .crm-btn.dl2.fixed{
    display: block;
    animation: fadeIn 2s ease 0s 1 normal;
  }
  @keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
  }
  .crm-gnav-menu{
    margin-bottom: 30px;
    text-align: center;
  }
  .crm-gnav-menu > li > a{
    display: block;
    margin-bottom: 20px;
    color:#fff;
    text-decoration: none;
    font-weight: bold;
  }
 /*ハンバーガーメニューのスタイルを指定*/
  .ham-menu {
    display: block;
    position: absolute; 
    right: 13px;
    top: 15px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    z-index: 9999;
  }

  .ham-menu span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 3px #9d9d9d;
    border-radius: 10px;
    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
    transition: .35s ease-in-out;			/*変化の速度を指定*/
    left: 6px;
  }

  .ham-menu span:nth-child(1) {
    top: 9px;
  }

  .ham-menu span:nth-child(2) {
    top: 18px;
  }

  .ham-menu span:nth-child(3) {
    top: 27px;
  }

  /* 最初のspanをマイナス45度に */
  .ham-menu.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-bottom-color:#fff;
  }

  /* 2番目と3番目のspanを45度に */
  .ham-menu.active span:nth-child(2),
  .ham-menu.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    border-bottom-color:#fff;
  }  
}
 
@media screen and (max-width:374px) {
  .crm-btn.dl2.fixed{
    display: none;
  }
}

/*#====================
  # first-view
  #====================*/
.first-view {
  position: relative;
  padding-top:5%;
  margin-right: 40px;
  background: url("//cdn2.hubspot.net/hubfs/4756647/201909_CRM/first-view/main_2x.png") right bottom no-repeat;
  background-size: 717px;
  background-position-x: 80%;
}
.crm-hero {
  max-width: 940px;
  margin-left:15%;
  top: 10%;
  position: absolute;
}
.crm-hero-copy {
  color:#1F5BFF;
  font-size:84px;
  margin-bottom: 30px;
  line-height: 108%;
  font-weight: bold;
  letter-spacing: -0.06em;
}
.crm-hero-txt {
  color:#194CD5;
  font-size:20px;
  font-weight: bold;
}
.crm-btn-round {
  display: block;
  width:220px;
  margin-top: 30px;
  padding:18px 10px;
  background: #1F5BFF;
  border-radius: 30px;
  color:#fff;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  box-shadow: 1px 1px 8px rgba(31,91,255,.7);
}
.crm-scroll {
  position: absolute;
  bottom: 30px;
  left: 16%;
  width: 16px;
  height: 16px;
  border-left: 3px solid #1F5BFF;
  border-bottom: 3px solid #1F5BFF;
  border-radius: 2px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (max-width:767px) {
  .crm-hero-copy {
    font-size:11vw;
    text-align: center;
  }
  .crm-btn-round {
    margin-left:auto;
    margin-right:auto;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .first-view {
    width: 94%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 5%;
    background-position: center 100%;
    background-size:90%;
    padding-bottom: 50px;
  }
  .crm-hero { margin-left:0; position: static;}
  .crm-hero-txt {
    margin-left: 6%;
    margin-right: 6%;
    font-size: 16px;
  }
  .crm-scroll {left:50%;}
}
/*#====================
  # first-contents
  #====================*/
.first-contents{
  position: relative;
  margin-bottom: 70px;
  padding: 90px 0 0;
  background: #4275FF;
}
.crm-first {
  width:86%;
  max-width: 940px;
  margin: 0 auto;
}
.crm-first-ttl {
  margin-bottom: 30px;
  text-align: center;
  color:#fff;
  font-size:40px;
}
.crm-first-txt {
  margin-bottom: 60px;
  text-align: center;
  color:#fff;
  line-height: 2;
}
.crm-first-img {
  text-align: center;
}
.crm-first-img img {
  max-width: 780px;
}
.crm-first-fuchiko {
  width: 181px;
  margin-left: 5%;
  margin-bottom: -58px;
}
@media screen and (max-width:767px) {
  .crm-first-ttl { font-size: 2em;}
  .crm-first-txt { margin-bottom: 36px;}
  .crm-first-fuchiko { width: 20%; margin-bottom: -7%;}
}
/*#====================
  # second-contents
  #====================*/
.second-contents {
  overflow: hidden;
}
.crm-second{
  position: relative;
  padding-bottom: 15%;
  margin: 0 auto;
  width: 90%;
  max-width: 940px;
/*   overflow: hidden; */
}
.crm-second-ttl{
  display: inline-block;
  width: 40%;
  margin-top: 10%;
/*   margin-left: 10%; */
  color:#1F5BFF;
  font-size: 40px;
  font-weight: bold;
}
.crm-second-ttl2 {
  text-align: center;
  font-size: 40px;
  margin-bottom: 24px;
  padding: 0 20px;
}
.crm-second-text {
  display: block;
  width: 38%;
  margin-top: 20px;
/*   margin-left: 10%; */
  font-size: 16px;
}
.crm-second-img{
  position: absolute;
  width: 50%;
  min-width: 800px;
  top:10%;
  left:48%;
}
@media screen and (max-width:767px) {
  .crm-second {padding-bottom: 20px; min-width: none;}
  .crm-second-ttl{
    width: 90%;
    font-size: 1.9em;
    display: block;
    margin: 0 auto 28px;
  }
  .crm-second-ttl2 {font-size: 2em;}
  .crm-second-text {
    width: 90%;
    display: block;
    margin: 2% auto;
  }
  .crm-second-img{
    position: static;
    text-align: center;
  }
}
/*#====================
  # float-contents
  #====================*/
.float-contents{
  display: -webkit-flex;
  display: flex;
  width: 80%;
  max-width: 940px;
  margin: 0 auto;
}
.crm-float{
  position: relative;
  width: 33.3%;
  margin-left: 0.5%;
  margin-right: 0.5%;
  margin-bottom: 30px;
  background: #FFFFFF;
  box-shadow: 4px 4px 30px 0 rgba(94,106,125,0.20);
  border-radius: 10px;
  z-index: 98;
}
.crm-float > dt {
  position: relative;
  height: 200px;
  margin-bottom: 15px;
  background: #FFADAA;
  border-radius: 10px 10px 0 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10%;
}
.crm-float-img1{
  max-width: 90%;
}
.crm-float-img2{
  width: 90%;
}
.crm-float-no{
  position: absolute;
  top:10px;
  right:16px;
  color:#fff;
  font-size: 28px;
  font-weight: bold;
  text-align: right;
}
.crm-float > dd {
  padding-top: 10px;
  margin-left: 8%;
  margin-right: 8%;
  margin-bottom: 20px;
}
@media screen and (max-width:767px) {
  .float-contents { display: block;}
  .crm-float {width: 100%;}
  .crm-float > dt {
    margin-bottom: 5%;
    padding: 3%;
    text-align: center;
  }
  .crm-float-img-sp {
    width: auto;
    max-height: 90%;
  }
/*   .crm-float-no{right:20px;} */
  .crm-float > dd {
    padding-top: 0;
    padding-bottom: 5%;
  }
}
@media screen and (min-width:580px) and (max-width:768px) {
  .crm-float > dd {padding-top: 0;}
}
@media screen and (max-width:480px) {
  .crm-float > dt { height: 140px;}
}
/*#====================
  # third-contents
  #====================*/
.third-contents {
  margin-top: -130px;
  padding-bottom: 10%;
  background: #F0F0F0;
}
.crm-third{
  width: 86%;
  max-width: 940px;
  margin: 0 auto;
  padding-top: 230px;
}
.crm-third-ttl {
  text-align: center;
/*   color:#1F5BFF; */
  font-size: 40px;
}
.crm-third-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(32%,1fr));
  grid-auto-rows:1fr;
  grid-gap:0 2%;
}
@media screen and (max-width:768px) {
  .crm-third-grid {
    display: flex;
    flex-direction: column;
  }
}

.third-grid-box {
  padding: 1%;
}
.third-grid-box-img {
  margin-bottom: 0;
  text-align: center;
}
.third-grid-box-img img {
  max-width: 233px;
  margin-bottom: -20px;
}
.third-grid-box-txt {
    font-size: 14px;
}
.third-grid-box-txt > dt{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
.third-grid-box-txt > dd{
  color: #757575;
}
@media screen and (max-width:767px) {
  .third-contents { 
    margin-top: 30px;
    padding-bottom: 36px;
  }
  .crm-third{ padding-top: 10%;}
  .crm-third-ttl {font-size: 2em;}
  .crm-third-grid{
    grid-template-columns: repeat(auto-fit,minmax(47%,1fr));
    grid-gap:0 3%;
  }
}

/*#====================
  # fourth-contents
  #====================*/
.crm-fourth {
  width: 80%;
  max-width: 940px;
  margin: 8% auto;
}
.crm-fourth-ttl {
  margin-bottom: 5%;
  color:#1F5BFF;
  font-size: 40px;
  text-align: center;
}
.crm-fourth-txt {
  margin-bottom: 4%;
  text-align: center;
}
.crm-fourth-grid {
  overflow: hidden;
  text-align: center;
}
.crm-fourth-grid > li {
  display: inline-block;
  width: 20%;
  margin-right: 1%;
  margin-bottom: 1%;
}
@media screen and (max-width:767px) {
  .crm-fourth{width: 90%}
  .crm-fourth-grid > li{width: 48%;}
  .crm-fourth-txt {
    text-align: left;
  }
}
/*#====================
  # fifth-contents
  #====================*/
.fifth-contents {
  position: relative;
  padding: 100px 0;
  background: #4275FF;
  text-align: center;
  color:#fff;
}
.crm-fifth-ttl {
  margin-bottom: 10px;
  padding: 0 20px;
  font-size: 40px;
}
@media screen and (max-width:767px) {
  .crm-fifth-ttl {
    font-size: 32px;
  }
}
.crm-fifth-txt {
  margin-bottom: 40px;
  padding: 0 20px;
}
.crm-fifth-btn{
  display: inline-block;
  width: 160px;
  margin-right: 1%;
  padding: 10px;
  border:1px solid #fff;
  border-radius: 5px;
  text-decoration: none;
  color:#fff;
  font-weight: bold;
}
.crm-fifth-btn.dl {
  background: #fff;
  color:#4275FF;
}
.crm-fifth-img1 {
  position: absolute;
  bottom:-1px;
  left:10%;
  width: 20%;
  max-width: 280px;
}
.crm-fifth-img2 {
  position: absolute;
/*   top:-52px; */
  top: -10%;
  right:20%;
  width: 145px;
/*   max-width: 145px; */
/*   min-width: 190px; */
}
@media screen and (max-width:1140px) {
  .crm-fifth-img2 {
    width: 110px;
    top: -29px;
  }
}
@media screen and (max-width:767px) {
  .fifth-contents {
    padding: 10% 0 20%;
  }
  .crm-fifth-btn {
    display: block;
    margin: 0 auto 20px;
    width: 200px;
    padding: 15px;
  }
  .crm-fifth-img1{
    width:30%;
    left: -2%;
  }
  .crm-fifth-img2 {
    width: 20%;
    right: 2%;
/*     width: 80px; */
    top: -21px;
/*     min-width: auto; */
  }
}
/*#====================
  # sixth-contents
  #====================*/
.sixth-contents {
  background:#F2F2F2;
}
.crm-sixth {
  width: 90%;
  max-width: 940px;
  margin: 0 auto;
  padding: 80px 0;
}
.crm-sixth-ttl {
  margin-bottom: 8%;
/*   color:#1F5BFF; */
  font-size: 40px;
  text-align: center;
}
.crm-sixth-grid {
  display: flex;
/*   justify-content: center; */
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -webkit-flex-pack: justify;
  -moz-flex-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
.sixth-grid-box {
  position: relative;
  width: 31%;
/*   margin-left: 2%;  */
/*   margin-right: 2%; */
  margin-bottom: 10px;
}
.sixth-grid-box-ttl {
  width: 70%;
  height: 100px;
  margin: 0 auto;
  text-align: center;
}
.sixth-grid-box-ttl img {
  width: 158px;
}
.sixth-grid-box-txt {
  color:#757575;
}
.sixth-grid-box-txt > dt {
  margin-bottom: 10px;
  padding-left: 10px;
  border-left: 3px solid #757575;
  font-weight: bold;
}
.crm-six-new {
  position: absolute;
  top:-50px;
  left:0;
  padding: 5px 10px;
  background: #FF6565;
  color:#fff;
  border-radius: 20px;
  font-size: 13px;
}
.more-link {
  position: relative;
  display: inline-block;
  margin-top: 10px;
  padding: 0 0 0 16px;
  color:#1F5BFF;
  vertical-align: middle;
}
.crm-sixth .more-link {
  text-decoration: underline;
}
.more-link::before{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 7px;
  height: 7px;
  border-top: 2px solid #1F5BFF;
  border-right: 2px solid #1F5BFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width:767px) {
  .crm-sixth {width: 96%;}
  .crm-sixth-ttl {font-size: 2em;}
  .sixth-grid-box {
    width: 100%;
    margin: 10px 1% 0 1%;
    padding:60px 20px 50px;
    background: #fff;
    box-shadow: 4px 4px 16px 0 rgba(94,106,125,0.20);
    border-radius: 10px;
  }
  .sixth-grid-box-ttl {
    width: 60%;
    margin-bottom: 0;
  }
  .crm-six-new {
    top:10px;
    left:10px;
  }
  .sixth-grid-box-txt > dt { margin-bottom: 20px; font-weight: bold;}
  .sixth-grid-box-txt > dd { font-size: 14px;}
}
/*#====================
  # seventh-contents
  #====================*/
.seventh-contents{
  padding: 80px 0;
  background: #5E6A7D;
}
.crm-seventh-ttl{
  margin-bottom: 30px;
  text-align: center;
  color:#fff;
  font-size:40px;
}
.crm-seventh-news {
  width: 50%;
  margin: 0 auto;
  color:#fff;
  border-top:1px solid #747f91;
  max-width: 940px;
}
.crm-seventh-news > dt {
  margin-top:20px;
  margin-bottom: 10px;
}
.crm-seventh-news > dd {
  padding-bottom: 20px;
  border-bottom:1px solid #747f91;
}
.crm-seventh-news > dd > a {
  text-decoration: none;
  color:#fff;
}
.crm-seventh-news-tag {
  margin-right: 10px;
  padding: 5px 10px;
  background: #dedede;
  border-radius: 20px;
  color:#565656;
  font-size: 14px;
}
.crm-seventh-news-link {
  width: 50%;
  margin: 0 auto;
  text-align: right;
}
.crm-seventh-news-link .more-link {
  color:#fff;
}
.crm-seventh-news-link .more-link::before {
  border-color:#fff;
}
@media screen and (max-width:767px) {
  .crm-seventh-news { width: 90%;}
  .crm-seventh-news-link {width: 90%;}
}
/*#====================
  # footer
  #====================*/
.crm-footer {
  padding: 50px;
  background: #4175ff;
}
.crm-footer-grid {
  width: 80%;
  max-width: 940px;
  margin: 0 auto;
  overflow: hidden;
}
.crm-footer-ttl {
  float:left;
  width: 23%;
  margin-right: 7%;
}
.crm-footer-link{
  float:left;
  width: 45%;
  display: flex;
}
.crm-footer-link-list{
  margin-right: 7%;
}
.crm-footer-link-list > li {
  padding-bottom: 10px;
}
.crm-footer-link-list > li > a {
  color:#fff;
  text-decoration: none;
}
.crm-footer-banner {
}
.crm-footer-sns{
  float:left;
  width: 25%;
}
.crm-footer-sns > a > img {
  width: 31px;
  margin-bottom: 20px;
}
.group-footer-wrap {
    background-color: #97999b;
}
.new-footer-container {
    max-width: 1140px;
    width: 90%;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 20px;
}

.flex-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.new-copyright {
    text-align: center;
    display: block;
    color: #fff;
}
@media screen and (max-width:767px) {
  .crm-footer {
    padding: 50px 20px;
  }
  .crm-footer-grid {
    width: 100%;
  }
  .crm-footer-ttl {
    float:none;
    width: 80%;
    margin: 0 auto 30px;
  }
  .crm-footer-link{
    float:none;
    width: 100%;
    display: block;
    margin-bottom: 40px;
    overflow: hidden;
  }
  .crm-footer-link-list {
    text-align: center;
    width: 48%;
    float: left;
    text-align: left;
    font-size: 14px;
    margin-right: 2%;
  }
  .crm-footer-banner img {
    max-width: 180px;
  }
  .crm-footer-sns{
    float:none;
    width: 100%;
    text-align: center;
    margin-top: 20px;
    clear: both;
  }
  .crm-footer-sns > a {
    display: inline-block;
    margin-right: 10px;
  }
  .logo-contents {width: 40%;}
  .phrase-contents {width: 40%;}
  .new-copyright { font-size: 0.8em;}
}
/*#====================
  # レスポンシブ対応
  #====================*/
@media screen and (min-width:768px) {
  .sp-only{display: none;}
}
@media screen and (max-width:767px) {
  .pc-only{display: none;}
}