/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
 article,
 aside,
 details,
 figcaption,
 figure,
 footer,
 header,
 hgroup,
 main,
 nav,
 section,
 summary {
   display: block; }
 
 /**
  * Correct `inline-block` display not defined in IE 8/9.
  */
 audio,
 canvas,
 video {
   display: inline-block; }
 
 /**
  * Prevent modern browsers from displaying `audio` without controls.
  * Remove excess height in iOS 5 devices.
  */
 audio:not([controls]) {
   display: none;
   height: 0; }
 
 /**
  * Address `[hidden]` styling not present in IE 8/9.
  * Hide the `template` element in IE, Safari, and Firefox < 22.
  */
 [hidden],
 template {
   display: none; }
 
 /* ==========================================================================
    Base
    ========================================================================== */
 /**
  * 1. Set default font family to sans-serif.
  * 2. Prevent iOS text size adjust after orientation change, without disabling
  *    user zoom.
  */
 html {
   font-family: sans-serif;
   /* 1 */
   -ms-text-size-adjust: 100%;
   /* 2 */
   -webkit-text-size-adjust: 100%;
   /* 2 */ }
 
 /**
  * Remove default margin.
  */
 body {
   margin: 0; }
 
 /* ==========================================================================
    Links
    ========================================================================== */
 /**
  * Remove the gray background color from active links in IE 10.
  */
 a {
   background: transparent; }
 
 /**
  * Address `outline` inconsistency between Chrome and other browsers.
  */
 a:focus {
   outline: thin dotted; }
 
 /**
  * Improve readability when focused and also mouse hovered in all browsers.
  */
 a:active,
 a:hover {
   outline: 0; }
 
 /* ==========================================================================
    Typography
    ========================================================================== */
 /**
  * Address variable `h1` font-size and margin within `section` and `article`
  * contexts in Firefox 4+, Safari 5, and Chrome.
  */
 h1 {
   font-size: 2em;
   margin: 0.67em 0; }
 
 /**
  * Address styling not present in IE 8/9, Safari 5, and Chrome.
  */
 abbr[title] {
   border-bottom: 1px dotted; }
 
 /**
  * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
  */
 b,
 strong,
 .strong {
   font-weight: bold; }
 
 /**
  * Address styling not present in Safari 5 and Chrome.
  */
 dfn,
 em,
 .em {
   font-style: italic; }
 
 /**
  * Address differences between Firefox and other browsers.
  */
 hr {
   -moz-box-sizing: content-box;
   box-sizing: content-box;
   height: 0; }
 
 /*
  * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
 */
 p {
   -webkit-hyphens: auto;
   -epub-hyphens: auto;
   -moz-hyphens: auto;
   hyphens: auto; }
 
 /*
  * Addresses margins set differently in IE6/7.
  */
 pre {
   margin: 0; }
 
 /**
  * Correct font family set oddly in Safari 5 and Chrome.
  */
 code,
 kbd,
 pre,
 samp {
   font-family: monospace, serif;
   font-size: 1em; }
 
 /**
  * Improve readability of pre-formatted text in all browsers.
  */
 pre {
   white-space: pre-wrap; }
 
 /**
  * Set consistent quote types.
  */
 q {
   quotes: "\201C" "\201D" "\2018" "\2019"; }
 
 /**
  * Address inconsistent and variable font size in all browsers.
  */
 q:before,
 q:after {
   content: '';
   content: none; }
 
 small, .small {
   font-size: 75%; }
 
 /**
  * Prevent `sub` and `sup` affecting `line-height` in all browsers.
  */
 sub,
 sup {
   font-size: 75%;
   line-height: 0;
   position: relative;
   vertical-align: baseline; }
 
 sup {
   top: -0.5em; }
 
 sub {
   bottom: -0.25em; }
 
 /* ==========================================================================
   Lists
 ========================================================================== */
 /*
  * Addresses margins set differently in IE6/7.
  */
 dl,
 menu,
 ol,
 ul {
   margin: 1em 0; }
 
 dd {
   margin: 0; }
 
 /*
  * Addresses paddings set differently in IE6/7.
  */
 menu {
   padding: 0 0 0 40px; }
 
 ol,
 ul {
   padding: 0;
   list-style-type: none; }
 
 /*
  * Corrects list images handled incorrectly in IE7.
  */
 nav ul,
 nav ol {
   list-style: none;
   list-style-image: none; }
 
 /* ==========================================================================
   Embedded content
 ========================================================================== */
 /**
  * Remove border when inside `a` element in IE 8/9.
  */
 img {
   border: 0; }
 
 /**
  * Correct overflow displayed oddly in IE 9.
  */
 svg:not(:root) {
   overflow: hidden; }
 
 /* ==========================================================================
    Figures
    ========================================================================== */
 /**
  * Address margin not present in IE 8/9 and Safari 5.
  */
 figure {
   margin: 0; }
 
 /* ==========================================================================
    Forms
    ========================================================================== */
 /**
  * Define consistent border, margin, and padding.
  */
 fieldset {
   border: 1px solid #c0c0c0;
   margin: 0 2px;
   padding: 0.35em 0.625em 0.75em; }
 
 /**
  * 1. Correct `color` not being inherited in IE 8/9.
  * 2. Remove padding so people aren't caught out if they zero out fieldsets.
  */
 legend {
   border: 0;
   /* 1 */
   padding: 0;
   /* 2 */ }
 
 /**
  * 1. Correct font family not being inherited in all browsers.
  * 2. Correct font size not being inherited in all browsers.
  * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
  */
 button,
 input,
 select,
 textarea {
   font-family: inherit;
   /* 1 */
   font-size: 100%;
   /* 2 */
   margin: 0;
   /* 3 */ }
 
 /**
  * Address Firefox 4+ setting `line-height` on `input` using `!important` in
  * the UA stylesheet.
  */
 button,
 input {
   line-height: normal; }
 
 /**
  * Address inconsistent `text-transform` inheritance for `button` and `select`.
  * All other form control elements do not inherit `text-transform` values.
  * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
  * Correct `select` style inheritance in Firefox 4+ and Opera.
  */
 button,
 select {
   text-transform: none; }
 
 /**
  * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
  *    and `video` controls.
  * 2. Correct inability to style clickable `input` types in iOS.
  * 3. Improve usability and consistency of cursor style between image-type
  *    `input` and others.
  */
 button,
 html input[type="button"],
 input[type="reset"],
 input[type="submit"] {
   -webkit-appearance: button;
   /* 2 */
   cursor: pointer;
   /* 3 */ }
 
 /**
  * Re-set default cursor for disabled elements.
  */
 button[disabled],
 html input[disabled] {
   cursor: default; }
 
 /**
  * 1. Address box sizing set to `content-box` in IE 8/9/10.
  * 2. Remove excess padding in IE 8/9/10.
  */
 input[type="checkbox"],
 input[type="radio"] {
   box-sizing: border-box;
   /* 1 */
   padding: 0;
   /* 2 */ }
 
 /**
  * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
  * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
  *    (include `-moz` to future-proof).
  */
 input[type="search"] {
   -webkit-appearance: textfield;
   /* 1 */
   -moz-box-sizing: content-box;
   -webkit-box-sizing: content-box;
   /* 2 */
   box-sizing: content-box; }
 
 /**
  * Remove inner padding and search cancel button in Safari 5 and Chrome
  * on OS X.
  */
 input[type="search"]::-webkit-search-cancel-button,
 input[type="search"]::-webkit-search-decoration {
   -webkit-appearance: none; }
 
 /**
  * Remove inner padding and border in Firefox 4+.
  */
 button::-moz-focus-inner,
 input::-moz-focus-inner {
   border: 0;
   padding: 0; }
 
 /**
  * 1. Remove default vertical scrollbar in IE 8/9.
  * 2. Improve readability and alignment in all browsers.
  */
 textarea {
   overflow: auto;
   /* 1 */
   vertical-align: top;
   /* 2 */ }
 
 /* ==========================================================================
    Tables
    ========================================================================== */
 /**
  * Remove most spacing between table cells.
  */
 table {
   border-collapse: collapse;
   border-spacing: 0; }
 
 * {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box; }
 
 .image-replacement,
 .ir {
   text-indent: 100%;
   white-space: nowrap;
   overflow: hidden; }
 
 .clearfix, .cf, .comment-respond {
   zoom: 1; }
   .clearfix:before, .clearfix:after, .cf:before, .comment-respond:before, .cf:after, .comment-respond:after {
     content: "";
     display: table; }
   .clearfix:after, .cf:after, .comment-respond:after {
     clear: both; }
 
 /*
 use the best ampersand
 http://simplebits.com/notebook/2008/08/14/ampersands-2/
 */
 span.amp {
   font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
   font-style: italic; }
 
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Variables
 
 Here is where we declare all our variables like colors, fonts,
 base values, and defaults. We want to make sure this file ONLY
 contains variables that way our files don't get all messy.
 No one likes a mess.
 
 ******************************************************************/
 /*********************
 COLORS
 Need help w/ choosing your colors? Try this site out:
 http://0to255.com/
 *********************/
 /*
 Here's a great tutorial on how to
 use color variables properly:
 http://sachagreif.com/sass-color-variables/
 */
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Typography
 
 Need to import a font or set of icons for your site? Drop them in
 here or just use this to establish your typographical grid. Or not.
 Do whatever you want to...GOSH!
 
 Helpful Articles:
 http://trentwalton.com/2012/06/19/fluid-type/
 http://ia.net/blog/responsive-typography-the-basics/
 http://alistapart.com/column/responsive-typography-is-a-physical-discipline
 
 ******************************************************************/
 /*********************
 FONT FACE (IN YOUR FACE)
 *********************/
 /*  To embed your own fonts, use this syntax
   and place your fonts inside the
   library/fonts folder. For more information
   on embedding fonts, go to:
   http://www.fontsquirrel.com/
   Be sure to remove the comment brackets.
 */
 /*  @font-face {
       font-family: 'Font Name';
       src: url('library/fonts/font-name.eot');
       src: url('library/fonts/font-name.eot?#iefix') format('embedded-opentype'),
              url('library/fonts/font-name.woff') format('woff'),
              url('library/fonts/font-name.ttf') format('truetype'),
              url('library/fonts/font-name.svg#font-name') format('svg');
       font-weight: normal;
       font-style: normal;
   }
 */
 /*
 The following is based of Typebase:
 https://github.com/devinhunt/typebase.css
 I've edited it a bit, but it's a nice starting point.
 */
 /*
  i imported this one in the functions file so bones would look sweet.
  don't forget to remove it for your site.
 */
 /*
 some nice typographical defaults
 more here: http://www.newnet-soft.com/blog/csstypography
 */
 p {
   -ms-word-break: break-all;
   -ms-word-wrap: break-all;
   word-break: break-word;
   word-break: break-word;
   -webkit-hyphens: auto;
   -moz-hyphens: auto;
   hyphens: auto;
   -webkit-hyphenate-before: 2;
   -webkit-hyphenate-after: 3;
   hyphenate-lines: 3;}
 
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Sass Functions
 
 You can do a lot of really cool things in Sass. Functions help you
 make repeated actions a lot easier. They are really similar to mixins,
 but can be used for so much more.
 
 Anyway, keep them all in here so it's easier to find when you're
 looking for one.
 
 For more info on functions, go here:
 http://sass-lang.com/documentation/Sass/Script/Functions.html
 
 ******************************************************************/
 /*********************
 COLOR FUNCTIONS
 These are helpful when you're working
 with shadows and such things. It's essentially
 a quicker way to write RGBA.
 
 Example:
 box-shadow: 0 0 4px black(0.3);
 compiles to:
 box-shadow: 0 0 4px rgba(0,0,0,0.3);
 *********************/
 /*********************
 RESPONSIVE HELPER FUNCTION
 If you're creating a responsive site, then
 you've probably already read
 Responsive Web Design: http://www.abookapart.com/products/responsive-web-design
 
 Here's a nice little helper function for calculating
 target / context
 as mentioned in that book.
 
 Example:
 width: cp(650px, 1000px);
 or
 width: calc-percent(650px, 1000px);
 both compile to:
 width: 65%;
 *********************/
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Mixins Stylesheet
 
 This is where you can take advantage of Sass' great features: Mixins.
 I won't go in-depth on how they work exactly,
 there are a few articles below that will help do that. What I will
 tell you is that this will help speed up simple changes like
 changing a color or adding CSS3 techniques gradients.
 
 A WORD OF WARNING: It's very easy to overdo it here. Be careful and
 remember less is more.
 
 Helpful:
 http://sachagreif.com/useful-sass-mixins/
 http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
 http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/
 
 ******************************************************************/
 /*********************
 TRANSITION
 *********************/
 /*
 I totally rewrote this to be cleaner and easier to use.
 You'll need to be using Sass 3.2+ for these to work.
 Thanks to @anthonyshort for the inspiration on these.
 USAGE: @include transition(all 0.2s ease-in-out);
 */
 /*********************
 CSS3 GRADIENTS
 Be careful with these since they can
 really slow down your CSS. Don't overdo it.
 *********************/
 /* @include css-gradient(#dfdfdf,#f8f8f8); */
 /*********************
 BOX SIZING
 *********************/
 /* @include box-sizing(border-box); */
 /* NOTE: value of "padding-box" is only supported in Gecko. So
 probably best not to use it. I mean, were you going to anyway? */
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Grid Stylesheet
 
 I've seperated the grid so you can swap it out easily. It's
 called at the top the style.scss stylesheet.
 
 There are a ton of grid solutions out there. You should definitely
 experiment with your own. Here are some recommendations:
 
 http://gridsetapp.com - Love this site. Responsive Grids made easy.
 http://susy.oddbird.net/ - Grids using Compass. Very elegant.
 http://gridpak.com/ - Create your own responsive grid.
 https://github.com/dope/lemonade - Neat lightweight grid.
 
 
 The grid below is a custom built thingy I modeled a bit after
 Gridset. It's VERY basic and probably shouldn't be used on
 your client projects. The idea is you learn how to roll your
 own grids. It's better in the long run and allows you full control
 over your project's layout.
 
 ******************************************************************/
 .last-col {
   float: right;
   padding-right: 0 !important; }
 
 /*
 Mobile Grid Styles
 These are the widths for the mobile grid.
 There are four types, but you can add or customize
 them however you see fit.
 */
 @media (max-width: 767px) {
   .m-all {
     float: left;
     padding-right: 0.75em;
     width: 100%;
     padding-right: 0; }
 
   .m-1of2 {
     float: left;
     padding-right: 0.75em;
     width: 50%; }
 
   .m-1of3 {
     float: left;
     padding-right: 0.75em;
     width: 33.33%; }
 
   .m-2of3 {
     float: left;
     padding-right: 0.75em;
     width: 66.66%; }
 
   .m-1of4 {
     float: left;
     padding-right: 0.75em;
     width: 25%; }
 
   .m-3of4 {
     float: left;
     padding-right: 0.75em;
     width: 75%; } }
 /* Portrait tablet to landscape */
 @media (min-width: 768px) and (max-width: 1029px) {
   .t-all {
     float: left;
     padding-right: 0.75em;
     width: 100%;
     padding-right: 0; }
 
   .t-1of2 {
     float: left;
     padding-right: 0.75em;
     width: 50%; }
 
   .t-1of3 {
     float: left;
     padding-right: 0.75em;
     width: 33.33%; }
 
   .t-2of3 {
     float: left;
     padding-right: 0.75em;
     width: 66.66%; }
 
   .t-1of4 {
     float: left;
     padding-right: 0.75em;
     width: 25%; }
 
   .t-3of4 {
     float: left;
     padding-right: 0.75em;
     width: 75%; }
 
   .t-1of5 {
     float: left;
     padding-right: 0.75em;
     width: 20%; }
 
   .t-2of5 {
     float: left;
     padding-right: 0.75em;
     width: 40%; }
 
   .t-3of5 {
     float: left;
     padding-right: 0.75em;
     width: 60%; }
 
   .t-4of5 {
     float: left;
     padding-right: 0.75em;
     width: 80%; } }
 /* Landscape to small desktop */
 @media (min-width: 1030px) {
   .d-all {
     float: left;
     padding-right: 0.75em;
     width: 100%;
     padding-right: 0; }
 
   .d-1of2 {
     float: left;
     padding-right: 0.75em;
     width: 50%; }
 
   .d-1of3 {
     float: left;
     padding-right: 0.75em;
     width: 33.33%; }
 
   .d-2of3 {
     float: left;
     padding-right: 0.75em;
     width: 66.66%; }
 
   .d-1of4 {
     float: left;
     padding-right: 0.75em;
     width: 25%; }
 
   .d-3of4 {
     float: left;
     padding-right: 0.75em;
     width: 75%; }
 
   .d-1of5 {
     float: left;
     padding-right: 0.75em;
     width: 20%; }
 
   .d-2of5 {
     float: left;
     padding-right: 0.75em;
     width: 40%; }
 
   .d-3of5 {
     float: left;
     padding-right: 0.75em;
     width: 60%; }
 
   .d-4of5 {
     float: left;
     padding-right: 0.75em;
     width: 80%; }
 
   .d-1of6 {
     float: left;
     padding-right: 0.75em;
     width: 16.6666666667%; }
 
   .d-1of7 {
     float: left;
     padding-right: 0.75em;
     width: 14.2857142857%; }
 
   .d-2of7 {
     float: left;
     padding-right: 0.75em;
     width: 28.5714286%; }
 
   .d-3of7 {
     float: left;
     padding-right: 0.75em;
     width: 42.8571429%; }
 
   .d-4of7 {
     float: left;
     padding-right: 0.75em;
     width: 57.1428572%; }
 
   .d-5of7 {
     float: left;
     padding-right: 0.75em;
     width: 71.4285715%; }
 
   .d-6of7 {
     float: left;
     padding-right: 0.75em;
     width: 85.7142857%; }
 
   .d-1of8 {
     float: left;
     padding-right: 0.75em;
     width: 12.5%; }
 
   .d-1of9 {
     float: left;
     padding-right: 0.75em;
     width: 11.1111111111%; }
 
   .d-1of10 {
     float: left;
     padding-right: 0.75em;
     width: 10%; }
 
   .d-1of11 {
     float: left;
     padding-right: 0.75em;
     width: 9.09090909091%; }
 
   .d-1of12 {
     float: left;
     padding-right: 0.75em;
     width: 8.33%; } }
 /*********************
 IMPORTING MODULES
 Modules are reusable blocks or elements we use throughout the project.
 We can break them up as much as we want or just keep them all in one.
 I mean, you can do whatever you want. The world is your oyster. Unless
 you hate oysters, then the world is your peanut butter & jelly sandwich.
 *********************/
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Alert Styles
 
 If you want to use these alerts in your design, you can. If not,
 you can just remove this stylesheet.
 
 ******************************************************************/
 .alert-help, .alert-info, .alert-error, .alert-success {
   margin: 10px;
   padding: 5px 18px;
   border: 1px solid; }
 
 .alert-help {
   border-color: #e8dc59;
   background: #ebe16f; }
 
 .alert-info {
   border-color: #bfe4f4;
   background: #d5edf8; }
 
 .alert-error {
   border-color: #f8cdce;
   background: #fbe3e4; }
 
 .alert-success {
   border-color: #deeaae;
   background: #e6efc2; }
 
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Button Styles
 
 Buttons are a pretty important part of your site's style, so it's
 important to have a consistent baseline for them. Use this stylesheet
 to create all kinds of buttons.
 
 Helpful Links:
 http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/
 
 ******************************************************************/
 /*********************
 BUTTON DEFAULTS
 We're gonna use a placeholder selector here
 so we can use common styles. We then use this
 to load up the defaults in all our buttons.
 
 Here's a quick video to show how it works:
 http://www.youtube.com/watch?v=hwdVpKiJzac
 
 *********************/
 .blue-btn, .comment-reply-link, #submit {
   display: inline-block;
   position: relative;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   text-decoration: none;
   color: white;
   font-size: 0.9em;
   font-size: 34px;
   line-height: 34px;
   font-weight: normal;
   padding: 0 24px;
   border-radius: 4px;
   border: 0;
   cursor: pointer;
   -webkit-transition: background-color 0.14s ease-in-out;
   transition: background-color 0.14s ease-in-out; }
   .blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
     color: white;
     text-decoration: none; }
   .blue-btn:active, .comment-reply-link:active, #submit:active {
     top: 1px; }
 
 /*
 An example button.
 You can use this example if you want. Just replace all the variables
 and it will create a button dependant on those variables.
 */
 .blue-btn, .comment-reply-link, #submit {
   background-color: #2980b9; }
   .blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
     background-color: #2574a8; }
   .blue-btn:active, .comment-reply-link:active, #submit:active {
     background-color: #2472a4; }
 
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Form Styles
 
 We put all the form and button styles in here to setup a consistent
 look. If we need to customize them, we can do this in the main
 stylesheets and just override them. Easy Peasy.
 
 You're gonna see a few data-uri thingies down there. If you're not
 sure what they are, check this link out:
 http://css-tricks.com/data-uris/
 If you want to create your own, use this helpful link:
 http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/
 
 ******************************************************************/
 /*********************
 INPUTS
 *********************/
 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,
 textarea,
 .field {
   display: block;
   height: 40px;
   line-height: 40px;
   padding: 0 12px;
   margin-bottom: 14px;
   margin-top: 14px;
   font-size: 1em;
   color: #5c6b80;
   border-radius: 3px;
   vertical-align: middle;
   box-shadow: none;
   border: 0;
   width: 100%;
   max-width: 400px;
   font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
   background-color: #eaedf2;
   -webkit-transition: background-color 0.24s ease-in-out;
   transition: background-color 0.24s ease-in-out; }
   input[type="text"]:focus, input[type="text"]:active,
   input[type="password"]:focus,
   input[type="password"]:active,
   input[type="datetime"]:focus,
   input[type="datetime"]:active,
   input[type="datetime-local"]:focus,
   input[type="datetime-local"]:active,
   input[type="date"]:focus,
   input[type="date"]:active,
   input[type="month"]:focus,
   input[type="month"]:active,
   input[type="time"]:focus,
   input[type="time"]:active,
   input[type="week"]:focus,
   input[type="week"]:active,
   input[type="number"]:focus,
   input[type="number"]:active,
   input[type="email"]:focus,
   input[type="email"]:active,
   input[type="url"]:focus,
   input[type="url"]:active,
   input[type="search"]:focus,
   input[type="search"]:active,
   input[type="tel"]:focus,
   input[type="tel"]:active,
   input[type="color"]:focus,
   input[type="color"]:active,
   select:focus,
   select:active,
   textarea:focus,
   textarea:active,
   .field:focus,
   .field:active {
     background-color: #f7f8fa; }
   input[type="text"].error, input[type="text"].is-invalid,
   input[type="password"].error,
   input[type="password"].is-invalid,
   input[type="datetime"].error,
   input[type="datetime"].is-invalid,
   input[type="datetime-local"].error,
   input[type="datetime-local"].is-invalid,
   input[type="date"].error,
   input[type="date"].is-invalid,
   input[type="month"].error,
   input[type="month"].is-invalid,
   input[type="time"].error,
   input[type="time"].is-invalid,
   input[type="week"].error,
   input[type="week"].is-invalid,
   input[type="number"].error,
   input[type="number"].is-invalid,
   input[type="email"].error,
   input[type="email"].is-invalid,
   input[type="url"].error,
   input[type="url"].is-invalid,
   input[type="search"].error,
   input[type="search"].is-invalid,
   input[type="tel"].error,
   input[type="tel"].is-invalid,
   input[type="color"].error,
   input[type="color"].is-invalid,
   select.error,
   select.is-invalid,
   textarea.error,
   textarea.is-invalid,
   .field.error,
   .field.is-invalid {
     color: #fbe3e4;
     border-color: #fbe3e4;
     background-color: white;
     background-position: 99% center;
     background-repeat: no-repeat;
     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
     outline-color: #fbe3e4; }
   input[type="text"].success, input[type="text"].is-valid,
   input[type="password"].success,
   input[type="password"].is-valid,
   input[type="datetime"].success,
   input[type="datetime"].is-valid,
   input[type="datetime-local"].success,
   input[type="datetime-local"].is-valid,
   input[type="date"].success,
   input[type="date"].is-valid,
   input[type="month"].success,
   input[type="month"].is-valid,
   input[type="time"].success,
   input[type="time"].is-valid,
   input[type="week"].success,
   input[type="week"].is-valid,
   input[type="number"].success,
   input[type="number"].is-valid,
   input[type="email"].success,
   input[type="email"].is-valid,
   input[type="url"].success,
   input[type="url"].is-valid,
   input[type="search"].success,
   input[type="search"].is-valid,
   input[type="tel"].success,
   input[type="tel"].is-valid,
   input[type="color"].success,
   input[type="color"].is-valid,
   select.success,
   select.is-valid,
   textarea.success,
   textarea.is-valid,
   .field.success,
   .field.is-valid {
     color: #e6efc2;
     border-color: #e6efc2;
     background-color: white;
     background-position: 99% center;
     background-repeat: no-repeat;
     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
     outline-color: #e6efc2; }
   input[type="text"][disabled], input[type="text"].is-disabled,
   input[type="password"][disabled],
   input[type="password"].is-disabled,
   input[type="datetime"][disabled],
   input[type="datetime"].is-disabled,
   input[type="datetime-local"][disabled],
   input[type="datetime-local"].is-disabled,
   input[type="date"][disabled],
   input[type="date"].is-disabled,
   input[type="month"][disabled],
   input[type="month"].is-disabled,
   input[type="time"][disabled],
   input[type="time"].is-disabled,
   input[type="week"][disabled],
   input[type="week"].is-disabled,
   input[type="number"][disabled],
   input[type="number"].is-disabled,
   input[type="email"][disabled],
   input[type="email"].is-disabled,
   input[type="url"][disabled],
   input[type="url"].is-disabled,
   input[type="search"][disabled],
   input[type="search"].is-disabled,
   input[type="tel"][disabled],
   input[type="tel"].is-disabled,
   input[type="color"][disabled],
   input[type="color"].is-disabled,
   select[disabled],
   select.is-disabled,
   textarea[disabled],
   textarea.is-disabled,
   .field[disabled],
   .field.is-disabled {
     cursor: not-allowed;
     border-color: #cfcfcf;
     opacity: 0.6; }
     input[type="text"][disabled]:focus, input[type="text"][disabled]:active, input[type="text"].is-disabled:focus, input[type="text"].is-disabled:active,
     input[type="password"][disabled]:focus,
     input[type="password"][disabled]:active,
     input[type="password"].is-disabled:focus,
     input[type="password"].is-disabled:active,
     input[type="datetime"][disabled]:focus,
     input[type="datetime"][disabled]:active,
     input[type="datetime"].is-disabled:focus,
     input[type="datetime"].is-disabled:active,
     input[type="datetime-local"][disabled]:focus,
     input[type="datetime-local"][disabled]:active,
     input[type="datetime-local"].is-disabled:focus,
     input[type="datetime-local"].is-disabled:active,
     input[type="date"][disabled]:focus,
     input[type="date"][disabled]:active,
     input[type="date"].is-disabled:focus,
     input[type="date"].is-disabled:active,
     input[type="month"][disabled]:focus,
     input[type="month"][disabled]:active,
     input[type="month"].is-disabled:focus,
     input[type="month"].is-disabled:active,
     input[type="time"][disabled]:focus,
     input[type="time"][disabled]:active,
     input[type="time"].is-disabled:focus,
     input[type="time"].is-disabled:active,
     input[type="week"][disabled]:focus,
     input[type="week"][disabled]:active,
     input[type="week"].is-disabled:focus,
     input[type="week"].is-disabled:active,
     input[type="number"][disabled]:focus,
     input[type="number"][disabled]:active,
     input[type="number"].is-disabled:focus,
     input[type="number"].is-disabled:active,
     input[type="email"][disabled]:focus,
     input[type="email"][disabled]:active,
     input[type="email"].is-disabled:focus,
     input[type="email"].is-disabled:active,
     input[type="url"][disabled]:focus,
     input[type="url"][disabled]:active,
     input[type="url"].is-disabled:focus,
     input[type="url"].is-disabled:active,
     input[type="search"][disabled]:focus,
     input[type="search"][disabled]:active,
     input[type="search"].is-disabled:focus,
     input[type="search"].is-disabled:active,
     input[type="tel"][disabled]:focus,
     input[type="tel"][disabled]:active,
     input[type="tel"].is-disabled:focus,
     input[type="tel"].is-disabled:active,
     input[type="color"][disabled]:focus,
     input[type="color"][disabled]:active,
     input[type="color"].is-disabled:focus,
     input[type="color"].is-disabled:active,
     select[disabled]:focus,
     select[disabled]:active,
     select.is-disabled:focus,
     select.is-disabled:active,
     textarea[disabled]:focus,
     textarea[disabled]:active,
     textarea.is-disabled:focus,
     textarea.is-disabled:active,
     .field[disabled]:focus,
     .field[disabled]:active,
     .field.is-disabled:focus,
     .field.is-disabled:active {
       background-color: #d5edf8; }
 
 input[type="password"] {
   letter-spacing: 0.3em; }
 
 textarea {
   max-width: 100%;
   min-height: 120px;
   line-height: 1.5em; }
 
 select {
   -webkit-appearance: none;
   /* 1 */
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
   background-repeat: no-repeat;
   background-position: 97.5% center; }
 
 /*********************
 BASE (MOBILE) SIZE
 This are the mobile styles. It's what people see on their phones. If
 you set a great foundation, you won't need to add too many styles in
 the other stylesheets. Remember, keep it light: Speed is Important.
 *********************/
 /******************************************************************
 Site Name:
 Author:
 
 Stylesheet: Base Mobile Stylesheet
 
 Be light and don't over style since everything here will be
 loaded by mobile devices. You want to keep it as minimal as
 possible. This is called at the top of the main stylsheet
 and will be used across all viewports.
 
 ******************************************************************/
 /*********************
 GENERAL STYLES
 *********************/
 body {
   font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 100%;
   line-height: 1.5;
   color: #000;
   background-color: #fff;
   -webkit-font-smoothing: antialiased;
   font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ,Meiryo, "ＭＳ ゴシック", sans-serif;
 }
 
 /********************
 WORDPRESS BODY CLASSES
 style a page via class
 ********************/
 /* for sites that are read right to left (i.e. hebrew) */
 /* home page */
 /* blog template page */
 /* archive page */
 /* date archive page */
 /* replace the number to the corresponding page number */
 /* search page */
 /* search result page */
 /* no results search page */
 /* individual paged search (i.e. body.search-paged-3) */
 /* 404 page */
 /* single post page */
 /* individual post page by id (i.e. body.postid-73) */
 /* individual paged single (i.e. body.single-paged-3) */
 /* attatchment page */
 /* individual attatchment page (i.e. body.attachmentid-763) */
 /* style mime type pages */
 /* author page */
 /* user nicename (i.e. body.author-samueladams) */
 /* paged author archives (i.e. body.author-paged-4) for page 4 */
 /* category page */
 /* individual category page (i.e. body.category-6) */
 /* replace the number to the corresponding page number */
 /* tag page */
 /* individual tag page (i.e. body.tag-news) */
 /* replace the number to the corresponding page number */
 /* custom page template page */
 /* individual page template (i.e. body.page-template-contact-php */
 /* replace the number to the corresponding page number */
 /* parent page template */
 /* child page template */
 /* replace the number to the corresponding page number */
 /* if user is logged in */
 /* paged items like search results or archives */
 /* individual paged (i.e. body.paged-3) */
 /*********************
 LAYOUT & GRID STYLES
 *********************/
 .wrap {
   width: 94%;
   margin: 0 auto; }
 
 /*********************
 LINK STYLES
 *********************/
 a, a:visited {
   color: #666;
   /* on hover */
   /* on click */
   /* mobile tap color */ }
   a:hover, a:focus, a:visited:hover, a:visited:focus {
     color: #999; }
   a:link, a:visited:link {
     /*
     this highlights links on iPhones/iPads.
     so it basically works like the :hover selector
     for mobile devices.
     */
     -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3); }
 
 /******************************************************************
 H1, H2, H3, H4, H5 STYLES
 ******************************************************************/
 h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
   text-rendering: optimizelegibility;
   font-weight: 500;
   /*
   if you're going to use webfonts, be sure to check your weights
   http://css-tricks.com/watch-your-font-weight/
   */
   /* removing text decoration from all headline links */ }
   h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
     text-decoration: none; }
 
 h1, .h1 {
   font-size: 2.5em;
   line-height: 1.333em; }
 
 h2, .h2 {
   font-size: 1.75em;
   line-height: 1.4em;
   margin-bottom: 0.375em; }
 
 h3, .h3 {
   font-size: 1.125em; }
 
 h4, .h4 {
   font-size: 1.1em;
   font-weight: 700; }
 
 h5, .h5 {
   font-size: 0.846em;
   line-height: 2.09em;
   text-transform: uppercase;
   letter-spacing: 2px; }
 
 /*********************
 HEADER STYLES
 *********************/
 .header {
   background-color: #323944; }
 
 #logo {
   margin: 0.75em 0; }
   #logo a {
     color: white; }
 
 /*********************
 NAVIGATION STYLES
 *********************/
 /*
 all navs have a .nav class applied via
 the wp_menu function; this is so we can
 easily write one group of styles for
 the navs on the site so our css is cleaner
 and more scalable.
 */
 .nav {
   border-bottom: 0;
   margin: 0;
   /* end .menu li */
   /* highlight current page */
   /* end current highlighters */ }
   .nav li {
     /*
     so you really have to rethink your dropdowns for mobile.
     you don't want to have it expand too much because the
     screen is so small. How you manage your menu should
     depend on the project. Here's some great info on it:
     http://www.alistapart.com/articles/organizing-mobile/
     */ }
     .nav li a {
       display: block;
       color: white;
       text-decoration: none;
       padding: 0.75em;
       /*
       remember this is for mobile ONLY, so there's no need
       to even declare hover styles here, you can do it in
       the style.scss file where it's relevant. We want to
       keep this file as small as possible!
       */ }
     .nav li ul.sub-menu li a,
     .nav li ul.children li a {
       padding-left: 30px; }
 
 /* end .nav */
 /*********************
 POSTS & CONTENT STYLES
 *********************/
 #content {
     overflow: hidden;
   /*margin-top: 1.5em;*/ }
 
 .hentry {
   background-color: white;
   border-radius: 3px;
   margin-bottom: 1.5em;
   border: 1px solid #cccccc; }
   .hentry header {
     border-bottom: 1px solid #f8f9fa;
     padding: 1.5em; }
   .hentry footer {
     padding: 1.5em;
     border-top: 1px solid #f8f9fa; }
     .hentry footer p {
       margin: 0; }
 
 /* end .hentry */
 .single-title,
 .page-title,
 .entry-title {
   margin: 0; }
 
 /* want to style individual post classes? Booya! */
 /* post by id (i.e. post-3) */
 /* general post style */
 /* general article on a page style */
 /* general style on an attatchment */
 /* sticky post style */
 /* hentry class */
 /* style by category (i.e. category-videos) */
 /* style by tag (i.e. tag-news) */
 /* post meta */
 .byline {
   color: #9fa6b4;
   font-style: italic;
   margin: 0; }
 
 /* entry content */
 .entry-content {
   padding: 1.5em 1.5em 0;
   /*
   image alignment on a screen this size may be
   a bit difficult. It's set to start aligning
   and floating images at the next breakpoint,
   but it's up to you. Feel free to change it up.
   */ }
   .entry-content p {
     margin: 0 0 1.5em; }
   .entry-content table {
     width: 100%;
     border: 1px solid #eaedf2;
     margin-bottom: 1.5em; }
     .entry-content table caption {
       margin: 0 0 7px;
       font-size: 0.75em;
       color: #9fa6b4;
       text-transform: uppercase;
       letter-spacing: 1px; }
   .entry-content tr {
     border-bottom: 1px solid #eaedf2; }
     .entry-content tr:nth-child(even) {
       background-color: #f8f9fa; }
   .entry-content td {
     padding: 7px;
     border-right: 1px solid #eaedf2; }
     .entry-content td:last-child {
       border-right: 0; }
   .entry-content th {
     background-color: #f8f9fa;
     border-bottom: 1px solid #eaedf2;
     border-right: 1px solid #eaedf2; }
     .entry-content th:last-child {
       border-right: 0; }
   .entry-content blockquote {
     margin: 0 0 1.5em 0.75em;
     padding: 0 0 0 0.75em;
     border-left: 3px solid #2980b9;
     font-style: italic;
     color: #9fa6b4; }
   .entry-content dd {
     margin-left: 0;
     font-size: 0.9em;
     color: #787878;
     margin-bottom: 1.5em; }
   .entry-content img {
     margin: 0 0 1.5em 0;
     max-width: 100%;
     height: auto; }
   .entry-content .size-auto,
   .entry-content .size-full,
   .entry-content .size-large,
   .entry-content .size-medium,
   .entry-content .size-thumbnail {
     max-width: 100%;
     height: auto; }
   .entry-content pre {
     background: #323944;
     color: #f8f9fa;
     font-size: 0.9em;
     padding: 1.5em;
     margin: 0 0 1.5em;
     border-radius: 3px; }
 
 /* end .entry-content */
 .wp-caption {
   max-width: 100%;
   background: #eee;
   padding: 5px;
   /* images inside wp-caption */ }
   .wp-caption img {
     max-width: 100%;
     margin-bottom: 0;
     width: 100%; }
   .wp-caption p.wp-caption-text {
     font-size: 0.85em;
     margin: 4px 0 7px;
     text-align: center; }
 
 /* end .wp-caption */
 /* image gallery styles */
 /* end .gallery */
 /* gallery caption styles */
 .tags {
   margin: 0; }
 
 /******************************************************************
 PAGE NAVI STYLES
 ******************************************************************/
 .pagination,
 .wp-prev-next {
   margin: 1.5em 0; }
 
 .pagination {
   text-align: center; }
   .pagination ul {
     display: inline-block;
     background-color: white;
     white-space: nowrap;
     padding: 0;
     clear: both;
     border-radius: 3px; }
   .pagination li {
     padding: 0;
     margin: 0;
     float: left;
     display: inline;
     overflow: hidden;
     border-right: 1px solid #eaedf2; }
   .pagination a, .pagination span {
     margin: 0;
     text-decoration: none;
     padding: 0;
     line-height: 1em;
     font-size: 1em;
     font-weight: normal;
     padding: 0.75em;
     min-width: 1em;
     display: block;
     color: #2980b9; }
     .pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus {
       background-color: #2980b9;
       color: white; }
   .pagination .current {
     cursor: default;
     color: #5c6b80; }
     .pagination .current:hover, .pagination .current:focus {
       background-color: white;
       color: #5c6b80; }
 
 /* end .bones_page_navi */
 /* fallback previous & next links */
 .wp-prev-next .prev-link {
   float: left; }
 .wp-prev-next .next-link {
   float: right; }
 
 /* end .wp-prev-next */
 /******************************************************************
 COMMENT STYLES
 ******************************************************************/
 /* h3 comment title */
 #comments-title {
   padding: 0.75em;
   margin: 0;
   border-top: 1px solid #f8f9fa;
   /* number of comments span */ }
 
 .commentlist {
   margin: 0;
   list-style-type: none; }
 
 .comment {
   position: relative;
   clear: both;
   overflow: hidden;
   padding: 1.5em;
   border-bottom: 1px solid #f8f9fa;
   /* vcard */
   /* end .commentlist .vcard */
   /* end children */
   /* general comment classes */ }
   .comment .comment-author {
     padding: 7px;
     border: 0; }
   .comment .vcard {
     margin-left: 50px; }
     .comment .vcard cite.fn {
       font-weight: 700;
       font-style: normal; }
     .comment .vcard time {
       display: block;
       font-size: 0.9em;
       font-style: italic; }
       .comment .vcard time a {
         color: #9fa6b4;
         text-decoration: none; }
         .comment .vcard time a:hover {
           text-decoration: underline; }
     .comment .vcard .avatar {
       position: absolute;
       left: 16px;
       border-radius: 50%; }
   .comment:last-child {
     margin-bottom: 0; }
   .comment .children {
     margin: 0;
     /* variations */
     /* change number for different depth */ }
   .comment[class*=depth-] {
     margin-top: 1.1em; }
   .comment.depth-1 {
     margin-left: 0;
     margin-top: 0; }
   .comment:not(.depth-1) {
     margin-top: 0;
     margin-left: 7px;
     padding: 7px; }
   .comment.odd {
     background-color: white; }
   .comment.even {
     background: #f8f9fa; }
 
 /* comment meta */
 /* comment content */
 .comment_content p {
   margin: 0.7335em 0 1.5em;
   font-size: 1em;
   line-height: 1.5em; }
 
 /* end .commentlist .comment_content */
 /* comment reply link */
 .comment-reply-link {
   font-size: 0.9em;
   float: right; }
 
 /* end .commentlist .comment-reply-link */
 /* edit comment link */
 .comment-edit-link {
   font-style: italic;
   margin: 0 7px;
   text-decoration: none;
   font-size: 0.9em; }
 
 /******************************************************************
 COMMENT FORM STYLES
 ******************************************************************/
 .comment-respond {
   padding: 1.5em;
   border-top: 1px solid #f8f9fa; }
 
 #reply-title {
   margin: 0; }
 
 .logged-in-as {
   color: #9fa6b4;
   font-style: italic;
   margin: 0; }
   .logged-in-as a {
     color: #5c6b80; }
 
 .comment-form-comment {
   margin: 1.5em 0 0.75em; }
 
 .form-allowed-tags {
   padding: 1.5em;
   background-color: #f8f9fa;
   font-size: 0.9em; }
 
 /* comment submit button */
 #submit {
   float: right;
   font-size: 1em; }
 
 /* comment form title */
 #comment-form-title {
   margin: 0 0 1.1em; }
 
 /* cancel comment reply link */
 /* logged in comments */
 /* allowed tags */
 #allowed_tags {
   margin: 1.5em 10px 0.7335em 0; }
 
 /* no comments */
 .nocomments {
   margin: 0 20px 1.1em; }
 
 /*********************
 SIDEBARS & ASIDES
 *********************/
 .widget ul li {
   /* deep nesting */ }
 
 .no-widgets {
   background-color: white;
   padding: 1.5em;
   text-align: center;
   border: 1px solid #cccccc;
   border-radius: 2px;
   margin-bottom: 1.5em; }
 
 /*********************
 FOOTER STYLES
 *********************/
 .footer {
   clear: both;
   background-color: #323944;
   color: #f8f9fa; }
 
 /*
 if you checked out the link above:
 http://www.alistapart.com/articles/organizing-mobile/
 you'll want to style the footer nav
 a bit more in-depth. Remember to keep
 it simple because you'll have to
 override these styles for the desktop
 view.
 */
 /* end .footer-links */
 /*********************
 LARGER MOBILE DEVICES
 This is for devices like the Galaxy Note or something that's
 larger than an iPhone but smaller than a tablet. Let's call them
 tweeners.
 *********************/
 @media only screen and (min-width: 481px) {
   /******************************************************************
   Site Name:
   Author:
   
   Stylesheet: 481px and Up Stylesheet
   
   This stylesheet is loaded for larger devices. It's set to
   481px because at 480px it would load on a landscaped iPhone.
   This isn't ideal because then you would be loading all those
   extra styles on that same mobile connection.
   
   A word of warning. This size COULD be a larger mobile device,
   so you still want to keep it pretty light and simply expand
   upon your base.scss styles.
   
   ******************************************************************/
   /*
   IMPORTANT NOTE ABOUT SASS 3.3 & UP
   You can't use @extend within media queries
   anymore, so just be aware that if you drop
   them in here, they won't work.
   */
   /*********************
   NAVIGATION STYLES
   *********************/
   /* .menu is clearfixed inside mixins.scss */
   .menu {
     /* end .menu ul */ }
     .menu ul {
       /* end .menu ul li */
       /* highlight current page */
       /* end current highlighters */ }
       .menu ul li {
         /*
         plan your menus and drop-downs wisely.
         */ }
         .menu ul li a {
           /*
           you can use hover styles here even though this size
           has the possibility of being a mobile device.
           */ }
 
   /* end .menu */
   /*********************
   POSTS & CONTENT STYLES
   *********************/
   /* entry content */
   .entry-content {
     /* at this larger size, we can start to align images */ }
     .entry-content .alignleft, .entry-content img.alignleft {
       margin-right: 1.5em;
       display: inline;
       float: left; }
     .entry-content .alignright, .entry-content img.alignright {
       margin-left: 1.5em;
       display: inline;
       float: right; }
     .entry-content .aligncenter, .entry-content img.aligncenter {
       margin-right: auto;
       margin-left: auto;
       display: block;
       clear: both; }
 
   /* end .entry-content */
   /*********************
   FOOTER STYLES
   *********************/
   /*
   check your menus here. do they look good?
   do they need tweaking?
   */
   /* end .footer-links */ }
 /*********************
 TABLET & SMALLER LAPTOPS
 This is the average viewing window. So Desktops, Laptops, and
 in general anyone not viewing on a mobile device. Here's where
 you can add resource intensive styles.
 *********************/
 @media only screen and (min-width: 768px) {
   /******************************************************************
   Site Name:
   Author:
   
   Stylesheet: Tablet & Small Desktop Stylesheet
   
   Here's where you can start getting into the good stuff.
   This size will work on iPads, other tablets, and desktops.
   So you can start working with more styles, background images,
   and other resources. You'll also notice the grid starts to
   come into play. Have fun!
   
   ******************************************************************/
   /*********************
   GENERAL STYLES
   *********************/
   /*********************
   LAYOUT & GRID STYLES
   *********************/
   .wrap {
     width: 760px; }
 
   /*********************
   HEADER STYLES
   *********************/
   /*********************
   NAVIGATION STYLES
   *********************/
   .nav {
     border: 0;
     /* end .menu ul li */
     /* highlight current page */
     /* end current highlighters */ }
     .nav ul {
     margin-top: 0;
       background-color: rgba(0,0,0,.8);
       margin-top: 0;
       background-image: radial-gradient(#333 10%, rgba(255,255,255,0) 20%), radial-gradient(#333 10%, rgba(255,255,255,0) 20%);
       background-size: 5px 5px;
       background-position: 0 0, 5px 5px;
            }
     .nav li {
       float: left;
       position: relative;
       /*
       plan your menus and drop-downs wisely.
       */
       /* showing sub-menus */ }
       .nav li a {
         border-bottom: 0;
         /*
         you can use hover styles here even though this size
         has the possibility of being a mobile device.
         */ }
         .nav li a:hover, .nav li a:focus {
           color: white;
           text-decoration: underline; }
       .nav li ul.sub-menu,
       .nav li ul.children {
         margin-top: 0;
         border: 1px solid #ccc;
         /*border-top: 0;*/
         position: absolute;
         visibility: hidden;
         z-index: 8999;
         /* highlight sub-menu current page */ }
         .nav li ul.sub-menu li,
         .nav li ul.children li {
           /*
           if you need to go deeper, go nuts
           just remember deeper menus suck
           for usability. k, bai.
           */ }
           
           .nav li ul.sub-menu li:hover,
           .nav li ul.children li:hover {
           background: rgba(153,153,153,0.5);
             -webkit-transition: linear .2s;
           transition: linear .2s;
           }
           
           .nav li ul.sub-menu li a,
           .nav li ul.children li a {
             padding-left: 10px;
             border-right: 0;
             display: block;
             width: 180px;
             border-bottom: 1px solid #ccc; }
           .nav li ul.sub-menu li:last-child a,
           .nav li ul.children li:last-child a {
             border-bottom: 0; }
           .nav li ul.sub-menu li ul,
           .nav li ul.children li ul {
             top: 0;
             left: 100%; }
       .nav li:hover > ul {
         top: auto;
       left: 50%;
       transform: translateX(-50%);
         visibility: visible; }
 
   /* end .nav */
   /*********************
   SIDEBARS & ASIDES
   *********************/
   .sidebar {
     margin-top: 2.2em; }
 
   .widgettitle {
     border-bottom: 2px solid #444;
     margin-bottom: 0.75em; }
 
   .widget {
     padding: 0 10px;
     margin: 2.2em 0; }
     .widget ul li {
       margin-bottom: 0.75em;
       /* deep nesting */ }
       .widget ul li ul {
         margin-top: 0.75em;
         padding-left: 1em; }
 
   /* links widget */
   /* meta widget */
   /* pages widget */
   /* recent-posts widget */
   /* archives widget */
   /* tag-cloud widget */
   /* calendar widget */
   /* category widget */
   /* recent-comments widget */
   /* search widget */
   /* text widget */
   /*********************
   FOOTER STYLES
   *********************/
   /*
   you'll probably need to do quite a bit
   of overriding here if you styled them for
   mobile. Make sure to double check these!
   */
   .footer-links ul li {
     /*
     be careful with the depth of your menus.
     it's very rare to have multi-depth menus in
     the footer.
     */ }
 
   /* end .footer-links */ }
 /*********************
 DESKTOP
 This is the average viewing window. So Desktops, Laptops, and
 in general anyone not viewing on a mobile device. Here's where
 you can add resource intensive styles.
 *********************/
 @media only screen and (min-width: 1030px) {
   /******************************************************************
   Site Name:
   Author:
   
   Stylesheet: Desktop Stylsheet
   
   This is the desktop size. It's larger than an iPad so it will only
   be seen on the Desktop.
   
   ******************************************************************/
   .wrap {
     width: 1040px; } }
 /*********************
 LARGE VIEWING SIZE
 This is for the larger monitors and possibly full screen viewers.
 *********************/
 @media only screen and (min-width: 1240px) {
   /******************************************************************
   Site Name: 
   Author: 
   
   Stylesheet: Super Large Monitor Stylesheet
   
   You can add some advanced styles here if you like. This kicks in
   on larger screens.
   
   ******************************************************************/ }
 /*********************
 RETINA (2x RESOLUTION DEVICES)
 This applies to the retina iPhone (4s) and iPad (2,3) along with
 other displays with a 2x resolution. You can also create a media
 query for retina AND a certain size if you want. Go Nuts.
 *********************/
 @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
   /******************************************************************
   Site Name: 
   Author: 
   
   Stylesheet: Retina Screens & Devices Stylesheet
   
   When handling retina screens you need to make adjustments, especially
   if you're not using font icons. Here you can add them in one neat
   place.
   
   ******************************************************************/
   /* 
   
   EXAMPLE 
   Let's say you have an image and you need to make sure it looks ok
   on retina screens. Let's say we have an icon which dimension are
   24px x 24px. In your regular stylesheets, it would look something
   like this:
   
   .icon {
     width: 24px;
     height: 24px;
     background: url(img/test.png) no-repeat;
   }
   
   For retina screens, we have to make some adjustments, so that image
   doesn't look blurry. So, taking into account the image above and the
   dimensions, this is what we would put in our retina stylesheet:
   
   .icon {
     background: url(img/test@2x.png) no-repeat;
     background-size: 24px 24px;
   }
   
   So, you would create the same icon, but at double the resolution, meaning 
   it would be 48px x 48px. You'd name it the same, but with a @2x at the end
   (this is pretty standard practice). Set the background image so it matches
   the original dimensions and you are good to go. 
   
   */ }
 /*********************
 PRINT STYLESHEET
 Feel free to customize this. Remember to add things that won't make
 sense to print at the bottom. Things like nav, ads, and forms should
 be set to display none.
 *********************/
 @media print {
   /******************************************************************
   Site Name:
   Author:
   
   Stylesheet: Print Stylesheet
   
   This is the print stylesheet. There's probably not a lot
   of reasons to edit this stylesheet. If you want to
   though, go for it.
   
   ******************************************************************/
   * {
     background: transparent !important;
     color: black !important;
     text-shadow: none !important;
     filter: none !important;
     -ms-filter: none !important; }
 
   a, a:visited {
     color: #444 !important;
     text-decoration: underline; }
     a:after, a:visited:after {
       content: " (" attr(href) ")"; }
     a abbr[title]:after, a:visited abbr[title]:after {
       content: " (" attr(title) ")"; }
 
   .ir a:after,
   a[href^="javascript:"]:after,
   a[href^="#"]:after {
     content: ""; }
 
   pre, blockquote {
     border: 1px solid #999;
     page-break-inside: avoid; }
 
   thead {
     display: table-header-group; }
 
   tr, img {
     page-break-inside: avoid; }
 
   img {
     max-width: 100% !important; }
 
   @page {
     margin: 0.5cm; }
   p, h2, h3 {
     orphans: 3;
     widows: 3; }
 
   h2,
   h3 {
     page-break-after: avoid; }
 
   .sidebar,
   .page-navigation,
   .wp-prev-next,
   .respond-form,
   nav {
     display: none; } }
 
 
 /*********************
  custom
 *********************/
 
 
 
 
 
 
 /*************************
 * アニメーション
 **************************/
 .animation {
   opacity: 0;
 }
 .animation.animated {
   opacity: 1;
 }
 
 
 
 /*********************
  Service
 *********************/
 
 section {
   padding-top: 50px;
   padding-bottom: 50px;
 }
 
 
 /* 2分割 */
 .two_in_one {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }
 
 .two_in_one > div {
   width: 50%;
 }
 
 @media (max-width: 767px) {
   .two_in_one > div {
     width: 100%;
   }
 }
 
 /* 3分割 */
 .three_in_one {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }
 
 .three_in_one > div {
   width: 33.3333%;
 }
 
 @media (max-width: 767px) {
   .three_in_one > div {
     width: 100%;
   }
 }
 
 /* 4分割 */
 .four_in_one {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }
 
 .four_in_one > div {
   width: 25%;
 }
 
 @media (max-width: 767px) {
   .four_in_one > div {
     width: 100%;
   }
 }
 
 
 /* 5分割 */
 .five_in_one {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }
 
 .five_in_one > div {
   width: 20%;
 }
 
 @media (max-width: 767px) {
   .five_in_one > div {
     width: 100%;
   }
 }
 
 /* 6分割 */
 .six_in_one {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }
 
 .six_in_one > div {
   width: 16%;
 }
 
 @media (max-width: 767px) {
   .six_in_one > div {
     width: 50%;
   }
 }
 
 /* 画像 */
 div.image > img {
   width: 100%;
   vertical-align: bottom;
 }
 
 /* h1 */
 #main > h1:first-child {
     background: #000;
     color: #fff;
     margin-top: 0;
     margin-left: calc(((100vw - 100%) / 2) * -1);
     margin-right: calc(((100vw - 100%) / 2) * -1);
     text-align: center;
     font-size: 115%;
     font-weight: bold;
     letter-spacing: 3px;
     padding: 15px;
     margin-bottom: 0;
 }
 
 h1 span.en,
 h1 span.jp {
   margin: 0 0.5em;
 }
 
 h1 span.en {
   text-transform: capitalize;
     font-size: 150%;
     line-height: 1.5em;
 }
 
 
 
 @media (min-width: 768px) {
   #main > h1:first-child {
     padding: 40px 20px;
   }
 
   h1 span.jp {
     margin-left: 0;
     padding-left: 2em;
     position: relative;
   }
 
   h1 span.jp:before {
     content: "";
     display: block;
     width: 1.5em;
     height: 1px;
     background: #fff;
     position: absolute;
     top: 50%;
     left: 0;
   }
 }
 @media (max-width: 767px) {
 
   #main > h1:first-child {
     padding-left: 0;
     padding-right: 0;
     letter-spacing: 1px;
   }
   
   h1 span.en,
   h1 span.jp {
     display: block;
   }
   h1 span.en {
     /*margin-bottom: 10px;*/
     position: relative;
     padding-bottom: 5px;
     font-size: 100%;
   }
   h1 span.en:before {
     content: "";
     display: block;
     width: 1.5em;
     height: 2px;
     background: #fff;
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     display: none;
   }
   h1 span.jp  {
     font-size: 70%;
   }
 }
 
 
 /* h2 */
 h2 {
     text-align: center;
 }
 h2 > span:first-child {
     letter-spacing: 3px;
     font-weight: bold;
     font-size: 150%;
     line-height: 1.5em;
 }
 
 h2 > span:first-child + span {
   display: block;
   font-size: 60%;
 }
 
 
 h2.black_band {
     background: #000;
     color: #fff;
     margin-top: 0;
     margin-left: calc(((100vw - 100%) / 2) * -1);
     margin-right: calc(((100vw - 100%) / 2) * -1);
     padding: 20px;
     padding-left: calc((100vw - 100%) / 2);
     padding-right: calc((100vw - 100%) / 2);
     font-size: 160%;
     font-weight: bold;
     letter-spacing: 3px;
     margin-bottom: 50px;
     text-align: left;
 }
 h2.black_band span.en {
   display: inline;
 }
 
 h2.black_band span.jp {
   display: inline;
     font-size: 60%;
     margin-left: 2em;
     font-weight: normal;
 }
 
 @media (max-width: 767px) {
   h2.black_band span.en,
   h2.black_band span.jp {
     display: block;
     margin: 0;
   }
 }
 
 
 .border_bottom {
   text-align: left;
     border-bottom: 2px solid #ccc;
     margin-left: calc((100vw - 100%) / 2 * -1);
     padding-left: calc((100vw - 100%) / 2);
     display: inline-block;
     padding-right: 5em;
     letter-spacing: 3px;
     font-weight: bold;
     padding-bottom: 10px;
     margin-bottom: 40px;
 }
 
 
 
 
 
 /* Service - TOP */
 
 .border {
   border: 2px solid #333;
   padding: 15px 20px; 
 }
 
 .border ul {
   list-style-type: disc;
   padding-left: 1.7em;
 }
 .border ul > li {
   margin: 5px 0;
 }
 
 #service_top {
   overflow: hidden;
 }
 
 #service_top h2 {
   font-weight: bold;
   margin-bottom: 20px;
   font-size: 150%;
   text-align: left;
 }
 
 #service_top .text {
   margin-bottom: 20px;
 }
 
 #service_top #animation_container {
     width: 100%!important;
 }
 #service_top canvas {
     position: static!important;
     width: 100%!important;
     height: auto!important;
 }
 
 
 @media (min-width: 768px) {
 
   #service_top .two_in_one {
     justify-content: center;
     align-items: center;
   }
 
   #service_top .two_in_one > div.left {
     width: 500px;
   }
   #service_top .two_in_one > div.right {
     width: calc(100% - 500px - 30px);
     margin-left: 30px;
     min-width: 500px;
   }
 }
 @media (max-width: 1029px) {
   #service_top .text br {
     display: none;
   }
 }
 @media (max-width: 767px) {
   #service_top h2 {
     font-size: 130%;
   }
   #service_top .two_in_one > div.left > .image {
     width: 80%;
     margin: 0 auto 30px;
   }
   #service_top #animation_container {
     width: 100%!important;
     height: auto!important;
   }
 
   #service_top canvas {
     width: 100%!important;
     height: auto!important;
       max-width: 550px;
   }
   #service_top #dom_overlay_container {
     width: 100%!important;
     height: auto!important;
   }
 }
 
 
 
 
 /* Service - Flow */
 #service_flow {
   padding-top: 0;
 }
 
 #service_flow ul.service_flow > li {
   margin-bottom: 40px;
 }
 #service_flow ul.service_flow {
   margin: 0 auto 80px;
 }
 
 #service_flow .step {
   font-weight: bold;
   text-align: center;
   font-size: 18px;
 }
 #service_flow .number {
   font-weight: bold;
   text-align: center;
     font-size: 50px;
     line-height: 1em;
 }
 
 #service_flow .two_in_one.inner {
   align-items: center;
   position: relative;
 }
 
 #service_flow .two_in_one.inner:before {
   content: "";
   display: block;
   position: absolute;
   left: 50px;
   bottom: -30px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 30px 20px 0 20px;
   border-color: #333 transparent transparent transparent;
 }
 
 #service_flow .two_in_one.inner:after {
   content: "";
   display: block;
   position: absolute;
   left: 50px;
   bottom: -27px;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 30px 20px 0 20px;
   border-color: #fff transparent transparent transparent;
 
 }
 #service_flow ul.service_flow > li:last-child .two_in_one.inner:before,
 #service_flow ul.service_flow > li:last-child .two_in_one.inner:after {
   display: none;
 }
 
 
 #service_flow .two_in_one.inner > .left {
   width: 90px;
   position: relative;
 }
 #service_flow .two_in_one.inner > .left:after {
   content: "";
   display: block;
   position: absolute;
   height: 60%;
   width: 2px;
   right: 0;
   top: 50%;
   background: #ccc;
   transform: translateY(-50%);
 }
 
 
 #service_flow .two_in_one.inner > .right {
   width: calc( 100% - 90px );
   font-size: 15px;
   padding-left: 30px;
 }
 
 #service_flow .two_in_one.outer > div.right img {
   background-color: #ccc;
   height: auto;
 }
 
 #service_flow .border {
     margin: auto;
     max-width: 730px;
     width: 100%;
     border-width: 1px;
     position: relative;
 }
 #service_flow .border h3 {
     background: #fff;
     position: absolute;
     top: -32px;
     left: 3em;
     padding: 0 15px;
     font-weight: bold;
 }
 
 
 @media (min-width: 768px) {
 
   #service_flow ul.service_flow {
     width: 90%;
   }
 
   #service_flow .two_in_one.outer {
     justify-content: space-between;
   }
   #service_flow .two_in_one.outer > div.left {
     width: calc(70% - 10px);
   }
   #service_flow .two_in_one.outer > div.right {
     width: calc(30% - 10px);
   }
   
   #service_flow .two_in_one.inner {
     border: 2px solid #333;
     padding: 30px 20px 30px 0;
   }
 }
 @media (max-width: 767px) {
 
   #service_flow .two_in_one.outer {
     border: 2px solid #333;
     padding: 30px 0;
     position: relative;
   }
   #service_flow .two_in_one.outer > .right .image {
     width: 70%;
     margin: auto;
   }
   #service_flow .two_in_one.inner {
     padding-bottom: 20px;
     position: static;
     align-items: baseline;
   }
   #service_flow .two_in_one.inner > .right {
       padding-left: 15px;
       padding-right: 15px;
   }
   #service_flow .two_in_one.inner > .right br {
     display: none;
   }
 }
 
 /* service_share */
 #service_share {
   background: #000;
     color: #fff;
     margin-left: calc(((100vw - 100%) / 2) * -1);
     margin-right: calc(((100vw - 100%) / 2) * -1);
     padding-left: calc((100vw - 100%) / 2);
     padding-right: calc((100vw - 100%) / 2);
 
     padding-top: 15px;
     padding-bottom: 15px;
     text-align: center;
 }
 
 #service_share .three_in_one {
   
 }
 #service_share .three_in_one > div {
   background: #fff;
   color: #333;
   width: 250px;
   height: 50px;
   margin: 0 20px 15px;
   
     display: flex;
     justify-content: center;
     align-items: center;
 }
 
 #service_share .three_in_one > div.left {
   padding: 10px;
 }
 
 
 #service_share .three_in_one > div a {
     width: 100%;
     height: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
     text-decoration: none;
     color: #333;
 }
 #service_share .three_in_one > div button {
   border: none;
   background: #fff;
     width: 100%;
     height: 100%;
 }
 
 #service_share .icon > img {
   height: 1.5em;
   width: auto;
   vertical-align: bottom;
   margin-right:5px;
 }
 #service_share button.btn_copy {
   position: relative;
 }
 #service_share button.btn_copy > .notification{
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   background: #eee;
     transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s ease 0.4s;
   display: flex;
   justify-content: center;
   align-items: center;
   opacity: 0;
 }
 #service_share button.btn_copy > .notification.active {
   opacity: 1;
 }
 
 
 
 
 
 #service_slider {
   position: relative;
 }
 #service_slider:before {
     content: "";
     position: absolute;
     top: 30%;
     left: -70%;
     display: block;
     height: 70%;
     width: 170%;
     background: linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #efefef 50.0%) no-repeat top left/100% 100%;
 }
 
 .page-company h2 {
   text-align: left;
   margin-bottom: 20px;
 }
 .page-company h2 > span:first-child + span {
   display: inline;
   margin-left: 1.5em;
 }
 
 .page-company .text {
   font-size: 16px;
 }
 .page-company p {
   margin-top: 0;
 }
 
 
 
 @media (max-width: 1029px) {
   br.pause {
     display: none;
   }
 }
 
 
 #company_message {
   background: #fff;
   color: #000;
   
   padding-bottom: 0;
   position: relative;
   z-index: 0;
 }
 #company_message:before {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-width:  0 0 250px 100vw;
     border-color: transparent transparent #efefef transparent;
     bottom: 0;
     right: 0;
     position: absolute;
     z-index: -1;
 }
 #company_message:after {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-width: 75px 0 0 100vw;
     border-color: transparent transparent transparent #000;
     bottom: -1px;
     left: 0;
     position: absolute;
     z-index: 1;
 }
 #company_message .two_in_one > div.right {
   display: flex;
     align-items: flex-end;
 }
 
 #company_message .text {
   font-size: 16px;
 }
 
 #company_message .president {
   text-align: right;
 }
 
 #company_message .president > .name {
   margin-left: 10px;
   font-size: 25px;
 }
 
 @media (min-width: 768px) {
 
   #company_message .two_in_one > div.left {
     width: 70%;
       padding-right: 20px;
         padding-bottom: 75px;
   }
 
   #company_message .two_in_one > div.right {
     width: 30%;
   }
 }
 
 @media (max-width: 767px) {
   #company_message:before {
       border-width:  0 0 250px 200vw;
   }
   
   #company_message:after {
     border-width: 30px 0 0 100vw;
   }
   
   #company_message h2 {
     margin-bottom: 30px;
   }
   #company_message .two_in_one > div.left {
     margin-bottom: 40px;
   }
   #company_message .two_in_one > div.right .image {
     width: 70%;
     margin: auto;
   }
 }
 
 
 #company_philosophy {
   background: #000;
   color: #fff;
   position: relative;
   margin-bottom: 75px;
   z-index: 2;
 }
 
 #company_philosophy .two_in_one > div.left .text {
   font-weight: bold;
   font-size: 200%;
   margin-bottom: 30px;
 }
 #company_philosophy h2 {
     margin-bottom: 40px;
 }
 
 #company_philosophy:after {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-width: 0 100vw 75px 0;
     border-color: transparent #000 transparent transparent;
     bottom: -74px;
     left: 0;
     position: absolute;
     z-index: 1;
 }
 
 @media (min-width: 768px) {
 
   #company_philosophy .two_in_one > div.right {
     width: 65%;
   }
 
   #company_philosophy .two_in_one > div.left {
     width: 35%;
   }
 }
 @media (max-width: 767px) {
   #company_philosophy:after {
     bottom: -29px;
       border-width: 0 100vw 30px 0;
   }
 
   #company_philosophy h2 {
     text-align: center;
   }
   #company_philosophy h2 > span:first-child + span {
     display: block;
     margin: 0;
   }
   
   #company_philosophy .two_in_one > div.left .text {
       font-size: 30px;
       margin-bottom: 30px;
       text-align: center;
   }
 }
 
 #management_philosophy {
   background: #eee;
   position: relative;
   z-index: 3;
   padding-top: 100px;
   margin-top: -75px;
 }
 #management_philosophy:before {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-width: 0 0 75px 100vw;
     border-color: transparent transparent transparent #fff;
     top: 0px;
     left: 0;
     position: absolute;
     z-index: 1;
 }
 
 #management_philosophy:after {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-width: 0 100vw 75px 0;
     border-color: transparent #000 transparent transparent;
     top: 0px;
     left: 0;
     position: absolute;
     z-index: 1;
 }
 
 #management_philosophy h2 {
   text-align: center;
   margin-bottom: 50px;
 }
 #management_philosophy h2 > span {
   display: block;
     margin: 0;
 }
 
 .management_philosophy_list {
     list-style-type: none;
     font-size: 18px;
   background: #fff;
     padding: 20px 30px;
 }
 
 .management_philosophy_list > li {
   margin: 10px 0;
   padding: 10px 0;
 }
 
 @-webkit-keyframes passing-bar {
   0% {
     left: 0;
     right: auto;
     width: 0;
   }
   50% {
     left: 0;
     right: auto;
     width: 100%;
   }
   51% {
     left: auto;
     right: 0;
     width: 100%;
   }
   100% {
     left: auto;
     right: 0;
     width: 0;
   }
 }
 @keyframes passing-bar {
   0% {
     left: 0;
     width: 0;
   }
   50% {
     left: 0;
     width: 100%;
   }
   51% {
     left: 0;
     width: 100%;
   }
   100% {
     left: 100%;
     width: 0;
   }
 }
 @-webkit-keyframes passing-txt {
   0% { opacity: 0; }
   50% { opacity: 0; }
   100% { opacity: 1; }
 }
 @keyframes passing-txt {
   0% { opacity:0; }
   50% { opacity:0; }
   100% { opacity:1; }
 }
 
 /* css */
 .passing-bar {
   position: relative;
   -webkit-transform: translate3d(0, 0, 0);
   -ms-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
 }
 .management_philosophy_list > li > span:before {
   content: "1.";
   display: inline-block;
     margin-right: 0.5em;
 }
 
 .passing-bar:after {
   content: '';
   display: inline-block;
   width: 0;
   height: 100%;
   position: absolute;
   left: 0;
   top: 0;
   z-index: 1;
   /*  C ӂ̒l */
   background: #000;
 }
 .passing-bar > span {
   opacity: 0;
     display: flex;
   /*   قǉ   */
   -webkit-transform: translate3d(0, 0, 0);
   -ms-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
   /*  C ӂ̒l */
   line-height: 1.5;
 }
 .passing-bar.scrollin:after {
   -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
   animation: passing-bar 1s ease 0s 1 normal forwards;
 }
 .passing-bar.scrollin > span {
   -webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
   animation:passing-txt 0s ease .5s 1 normal forwards;
 }
 
 @media (max-width: 1029px) {
 
   .management_philosophy_list > li > span br {
     display: none;
   }
 
 }
 
 
 
 #company_history {
   position: relative;
 }
 #company_history .two_in_one {
   justify-content: flex-start;
 }
 
 #company_history .two_in_one > div.left {
     z-index: -1;
     min-width: 450px;
 }
 #company_history .two_in_one > div.right {
   background: #fff;
   padding: 20px;
   margin-top: 30px;
   width: 60%;
 }
 table.history_table {
   font-size: 15px;
   margin: auto;
 }
 table.history_table td {
   border-bottom: 1px solid #999;
   padding: 10px;
     letter-spacing: 1px;
 }
 table.history_table td:first-child {
   white-space: nowrap;
   vertical-align: top;
 }
 
 @media (min-width: 768px) {
   #company_history .two_in_one > div.left {
     position: absolute;
       right: 0;
       top: 50px;
   }
   table.history_table {
     display: block;
     padding-left: 2em;
   }
 }
 
 @media (max-width: 1029px) {
   #company_history .two_in_one > div.right {
     margin-top: 200px;
     width: 80%;
   }
 }
 @media (max-width: 767px) {
 
   #company_history .wrap {
     width: 100%;
     margin: 0;
     padding: 0;
   }
   #company_history .two_in_one > div.right {
     width: 95%;
     margin: -40px auto 0;
   }
   #company_history h2 {
     text-align: center;
   }
   #company_history h2 span {
     display: block;
       margin: 0;
   }
   
   table.history_table td:first-child {
     border-bottom: none;
       padding-bottom: 0;
   }
 
 }
 
 
 
 
 #company_profile {
   position: relative;
 }
 #company_profile .two_in_one {
   justify-content: flex-start;
 }
 
 #company_profile .two_in_one > div.left {
     z-index: 1;
     min-width: 450px;
 }
 #company_profile .two_in_one > div.right {
   background: #000;
   color: #fff;
   padding: 20px;
   padding-bottom: 50px;
 }
 
 #company_profile a {
   text-decoration: none;
   color: #fff;
 }
 
 table.profile_table {
   font-size: 14px;
   margin: auto;
 }
 
 table.profile_table > tbody > tr > th,
 table.profile_table > tbody > tr > td {
   border-bottom: 1px solid #fff;
   padding: 10px;
 }
 table.profile_table > tbody > tr > th {
   vertical-align: top;
   font-weight: normal;
     white-space: nowrap;
 }
 
 table.profile_table > tbody > tr > td span {
   white-space: nowrap;
 }
 
 
 @media (min-width: 768px) {
   #company_profile .two_in_one > div.left {
     position: absolute;
       width: 40%;
       right: 0;
     top: 50%;
       transform: translateY(-50%);
   }
   #company_profile .two_in_one > div.right {
     width: calc( 70% + ((100vw - 100%) / 2));
     margin-left: calc((100vw - 100%) / 2 * -1);
     padding-left: calc((100vw - 100%) / 2);
     padding-right: 13%;
     padding-top: 30px;
   }
   table.profile_table {
     display: block;
     padding-left: 2em;
   }
 }
 
 @media (min-width: 768px) and (max-width: 1029px)  {
   #company_profile .two_in_one > div.right {
     width: calc( 80% + ((100vw - 100%) / 2));
   }
 }
 
 @media (max-width: 1029px) {
   #company_profile .two_in_one > div.right {
     padding-left: 20px;
   }
   #company_profile .two_in_one > div.left {
     min-width: 0;
   }
 
 }
 @media (max-width: 767px) {
 
   #company_profile .wrap {
     width: 100%;
     margin: 0;
     padding: 0;
   }
   
   #company_profile .two_in_one > div.right {
     width: 100%;
     margin: 0 auto 0;
   }
   
   table.profile_table > tbody > tr > th,
   table.profile_table > tbody > tr > td {
     display: block;
     text-align: left;
     width: 100%;
   }
   table.profile_table > tbody > tr > th {
     border: none;
   }
   table.profile_table > tbody > tr > td {
     padding-left: 25px;
   }
 }
 
 
 
 /* 採用情報 */
 
 #recruit_child1 .two_in_one {
   align-items: center;
 }
 
 #recruit_child1 .text {
   padding-left: 20px;
   padding-right: 20px;
   line-height: 1.8em;
 }
 #recruit_child1 .text > .name {
   text-align: right;
   margin: 15px 0;
   font-size: 125%;
 }
 
 @media (min-width: 768px) {
 
   #recruit_child1 .two_in_one > div.left {
     width: 50%;
   }
   #recruit_child1 .two_in_one > div.right {
     width: 50%;
   }
   #recruit_child1 .two_in_one > div.right > img {
     width: 60%;
     display: block;
   }
   #recruit_child1 .two_in_one > div.right > img:first-child {
     margin-left: auto;
     margin-bottom: -40px;
   }
 }
 @media (max-width: 767px) {
   #recruit_child1 .two_in_one > div.right > img:first-child {
     margin-bottom: 15px;
   }
 }
 
 @media (max-width: 1029px) {
   #recruit_child1 br.pc {
     display: none;
   }
 
 }
 
 
 #recruit_child2 {
   padding-bottom: 0;
 }
 
 
 
 #recruit_child3 {
     background-color: #eee;
     background-image: radial-gradient(#fff 10%, rgba(255,255,255,0) 20%);
     background-size: 5px 5px;
     background-position: 0 0, 5px 5px;
 }
 #recruit_child3 h2 {
   margin-bottom: 30px;
 }
 
 #recruit_child3 .recruit_table {
   background: #fff;
 }
 
 #recruit_child3 .recruit_table table {
   width: 100%;
 }
 #recruit_child3 .recruit_table table th {
   border-bottom: 1px solid #ccc;
   padding: 15px 20px;
   text-align: left;
   
 }
 #recruit_child3 .recruit_table table td {
   border-bottom: 1px solid #ccc;
   padding: 15px 20px;
 }
 
 #recruit_child4 {
   background: #000;
   color: #fff;
 }
 #recruit_child4 h2 {
   text-align: left;
 }
 #recruit_child4 h2 > span:first-child + span {
     display: inline;
     margin-left: 1.5em;
 }
 
 #recruit_child4 .btn02 {
   border: 3px double;
 
 }
 
 #recruit_child5 .btn02 {
   border: 3px double;
     margin-bottom: 15px;
     padding: 0.5em 3em 0.5em 2em;
     font-size: 25px;
     font-weight: bold;
 }
 @media (min-width: 768px) {
   #recruit_child3 .recruit_table {
       padding: 30px 40px;
       width: 100%;
       margin: auto;
   }
   
   #recruit_child2 .four_in_one > div:nth-child(2).animated,
   #recruit_child2 .four_in_one > div:nth-child(6).animated {
     animation-delay: 0.2s;
   }
   #recruit_child2 .four_in_one > div:nth-child(3).animated,
   #recruit_child2 .four_in_one > div:nth-child(7).animated {
     animation-delay: 0.4s;
   }
   #recruit_child2 .four_in_one > div:nth-child(4).animated,
   #recruit_child2 .four_in_one > div:nth-child(8).animated {
     animation-delay: 0.6s;
   }
 }
 @media (max-width: 767px) {
   #recruit_child2 .four_in_one > div {
     width: 50%;
   }
   #recruit_child3 h2 > span:first-child {
     letter-spacing: normal;
   }
   #recruit_child3 .recruit_table {
     padding: 30px 15px;
   }
   #recruit_child3 .recruit_table table th {
     border-bottom: none;
     padding-bottom: 0;
   }
   #recruit_child3 .recruit_table table td {
     padding-top: 0;
   }
   
   #recruit_child4 h2 > span:first-child + span {
     display: block;
     margin: 0;
   }
 }
 
 /*テーブル*/
 @media (max-width: 767px) {
     table.two_column tbody th,
     table.two_column tbody td {
         display: block;
         width: auto;
     }
 }
 
 #recruit_child4 .three_in_one {
   margin-bottom: 30px;
 }
 
 #recruit_child4 .three_in_one > div {
   margin-top: 50px;
   margin-bottom: 20px;
 }
 #recruit_child4 .image_wrap {
   width: 80%;
   margin-left: 10%;
 }
 #recruit_child4 .image_wrap .image {
     width: 200px;
     padding-top: 200px;
     background-size: cover;
     background-position: center center;
     border-radius: 50%;
     margin: auto;
 }
 #recruit_child4 .btn02 {
   padding-top: 0.5em;
   padding-bottom: 0.5em;
   margin-top: -1.5em;
   position: relative;
 }
 #recruit_child4 .btn02:hover {
   color: #333;
     transform: translateY(-10px);
 }
 #recruit_child4 .btn02:hover:before {
   display: none;
 }
 
 
 #recruit_child4 .btn02 span {
   display: block;
   text-align: center;
 }
 
 #recruit_child4 .btn02 .en {
   font-size: 80%;
 }
 
 
 #recruit_child4 .btn_box {
   text-align: center;
   margin-top: 50px;
 }
 
 
 /*施工事例個別ページ*/
 
 #case1,
 #case2 {
   padding-top: 30px;
   padding-bottom: 20px;
 }	
 #case1 .two_in_one {
   margin-bottom: 40px;
 }
 
 #case1 .two_in_one > div.right {
     text-align: left;
 }
 
 .case_content_top {
 /*
   display: flex;
   flex-wrap: wrap;
 */
   display:block;
 }
 
 .case_content_top .date {
   margin-right: 1em;
 }
 
 .case_content_top .case_service {
   background: #000;
   color: #fff;
     padding: 2px 8px;
 }
 
 #case1  h2 {
   text-align: left;
   font-size: 25px;
   font-weight: bold;
   margin: 0 0 15px;
 }
 
 #case1 .image {
   margin-bottom: 20px;
 }
 
 #case1 .case_owner {
   display: inline-block;
   padding: 5px 10px;
   border: 1px solid #000;
 }
 
 #case1 .case_text {
   margin: 15px auto 30px;
   font-size: 15px;
   letter-spacing: 1px;
 }
 
 #case2 h3.border_bottom {
   letter-spacing: 0;
   font-size: 25px;
 }
 
 #case2 > .inner > div {
   margin-bottom: 30px;
 }
 
 #case2 .text {
   padding: 0 1em;
 }
 
 #case_service {
   background-color: #efefef;
 }
 #case_service h2 {
   margin-bottom: 30px;
 }
 #case_service h2 .en {
   font-weight: bold;
 }
 
 #case_service .btn_box.double_btn {
   justify-content: center;
   flex-wrap: wrap;
 }
 
 #case_service .btn_box.double_btn > a.btn01 {
   margin-left: 15px;
   margin-right: 15px;
 }
 
 #case_other {
   padding-top: 0;
 }
 
 
 @media (min-width: 768px) {
 
   #case1 .two_in_one {
     justify-content: space-between;
   }
   #case1 .two_in_one > div.left {
     width: calc(40% - 15px);
   }
   #case1 .two_in_one > div.right {
     width: calc(60% - 15px);
   }
   #case1 .three_in_one {
     justify-content: space-between;
   }
   #case1 .three_in_one > div {
     width: calc(33% - 10px);
   }
 
   #case1 .two_in_one > div.left.nextstyle {
     width: calc(55% - 15px);
   }
   #case1 .two_in_one > div.right.nextstyle {
     width: calc(45% - 15px);
   }
 }
 
 @media (max-width: 767px) {
 
   .single-case h1 {
     margin-bottom: 0;
   }
 
   #case1 {
     padding-top: 0;
   }
   #case1 .two_in_one > div.left {
     margin-left: calc((100vw - 100%) / 2 * -1);
     margin-right: calc((100vw - 100%) / 2 * -1);
     width: 100vw;
   }
 
   .case_content_top {
     display: block;
   }
   
   #case1 h2 {
     font-size: 20px;
   }
   #case2 h3.border_bottom {
     font-size: 20px;
   }
   
   #case_service .btn_box.double_btn > a.btn01 {
       width: 80%;
       margin: 0 auto 20px;
       text-align: center;
   }
   
   #case_other h2 {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     align-items: baseline;
     letter-spacing: 0;
   }
   #case_other h2 span.en {
       margin-right: 0.5em;
       margin-left: 0.5em;
     }
 
 }
 
 .wp-pagenavi {
   text-align: center;
 }
 
 .wp-pagenavi a,
 .wp-pagenavi a:visited {
   color: #000;
 }
 
 .wp-pagenavi a {
   padding: 3px 7px;
     margin: 4px;
 }
 .wp-pagenavi span.extend {
   border: none;
 }
 
 .wp-pagenavi .page {
   border-color: #000;
 }
 .wp-pagenavi .current {
   background: #efefef;
   border: none;
 }
 
 .wp-pagenavi .previouspostslink,
 .wp-pagenavi .nextpostslink {
 
 }
 
 
 /* TOPスライダー */
 
 
 
 #top_slider {
   padding-top: 0;
   padding-bottom: 0;
   margin-top: -100vh;
 }
 
 
 
 #top_slider .swiper-container {
   height: 100vh;
   padding: 0;
   margin: 0;
   background-color: #fff;
 }
 
 #top_slider .swiper-container .swiper-wrapper {
   background-color: #fff;
 }
 
 #top_slider .swiper-container .swiper-wrapper .swiper-slide {
   padding-top: 100vh;
   min-height: 60px;
   width: 100%;
     background-size: cover;
     background-position: center center;
   background-color: #fff;
   position: relative;
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide:before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 100%;
   height: 100%;
   background: #000;
   opacity: 0.4;
   z-index: 1;
 }
 
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider1 {
   background-image: url(../images/topslider/01.JPG);
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider2 {
   background-image: url(../images/topslider/02.JPG);
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider3 {
   background-image: url(../images/topslider/03.JPG);
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider4 {
   background-image: url(../images/topslider/04.JPG);
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider5 {
   background-image: url(../images/topslider/05.JPG);
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider6 {
   background-image: url(../images/topslider/06.JPG);
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider7 {
   background-image: url(../images/topslider/07.JPG);
 }
 #top_slider .swiper-container .swiper-wrapper .swiper-slide.slider8 {
   background-image: url(../images/topslider/08.JPG);
 }
 
 
 .home header {
   background: transparent;
 }
 
 /* ?謾y?̐? */
 
 
 #voice1 .two_in_one > div.right .text {
   font-weight: bold;
 }
 
 #voice1 .two_in_one > div.right .text p {
   font-size: 20px;
 }
 
 div.image.circle {
   border-radius: 50%;
   overflow: hidden;
 }
 
 #voice2 {
     background-color: #000;
     background-image: radial-gradient(#333 10%, rgba(255,255,255,0) 20%), radial-gradient(#333 10%, rgba(255,255,255,0) 20%);
     background-size: 5px 5px;
     background-position: 0 0, 5px 5px;
     color: #fff;
 }
 
 #voice2 .two_in_one {
   align-items: center;
   position: relative;
 }
 
 #voice2 .profile {
 
 }
 
 #voice2 .two_in_one div.image.circle {
     position: absolute;
     left: 0;
     top: 50%;
     transform: translateY(-50%);
 }
 
 #voice2 .profile .name .jp {
   font-weight: bold;
 }
 
 .interview_box .text {
   margin-bottom: 40px;
   line-height: 1.8em;
 }
 .interview_box h3.border_bottom {
     letter-spacing: 0;
     display: flex;
     justify-content: flex-start;
 }
 .interview_box h3.border_bottom > span {
     margin-right: 5px;
 }
 
 @media (min-width: 768px) {
 
   #voice1 .two_in_one > div.right .text p {
       color: #fff;
       background: #000;
       display: table;
       font-size: 30px;
       padding: 5px 10px;
       margin: 15px 0;
   }
   
   #voice1 .two_in_one {
     flex-direction: row-reverse;
       position: relative;
       justify-content: flex-start;
   }
   #voice1 .two_in_one > div.left {
     width: 70%;
   }
   #voice1 .two_in_one > div.right {
     position: absolute;
     left: 0;
     top: 50%;
     width: 100%;
   }
   
   #voice2 {
     padding: 10px 0;
       margin: 50px 0;
   }
   #voice2 .two_in_one {
     height: 130px;
     padding-left: 30px;
   }
   #voice2 .two_in_one div.image.circle {
       width: 240px;
   }
 
   #voice2 .two_in_one > div.left {
     width: 240px;
   }
   #voice2 .two_in_one > div.right {
     width: calc(100% - 240px);
   }
   #voice2 .profile .name {
     display: flex;
     align-items: center;
     justify-content: flex-start;
     flex-wrap: wrap;
   }
   #voice2 .profile .name .jp {
     font-size: 30px;
     margin-right: 0.5em;
   }
   #voice2 .profile .name .en {
     font-weight: bold;
       margin-right: 1em;
   }
 
   #voice2 .profile .name .year {
     position: relative;
       display: flex;
       align-items: center;
   }
 
   #voice2 .profile .name .year:before {
       content: "";
       display: flex;
       width: 5em;
       height: 1px;
       background: #fff;
       margin-right: 1em;
   }
   
   #voice3 > .inner > .two_in_one {
     margin-bottom: 30px;
   }
 
   #voice3 > .inner > .two_in_one:nth-child(odd) {
     flex-direction: row-reverse;
   }
   
   #voice3 .two_in_one > div.right {
     background: #fff;
     width: 62%;
     z-index: 2;
     padding: 20px 40px;
     margin-top: 45px;
   }
   #voice3 .two_in_one > div.left {
     width: 40%;
     margin-left: 0;
     margin-right: -2%;
     z-index: 1;
   }
   #voice3 .two_in_one:nth-child(odd) > div.left {
     margin-left: -3%;
     margin-right: 0;
   }
   #voice3 .two_in_one h3.border_bottom {
     padding-right: 0;
   }
   #voice3 .two_in_one:nth-child(even) h3.border_bottom {
     margin-right: calc((100vw - 100%) / 2 * -1);
       padding-right: calc((100vw - 100%) / 2);
     margin-left: 0;
       padding-left: 0;
   }
 
 }
 
 
 @media (max-width: 767px) {
 
   .single-voice h1 {
     margin-bottom: 0;
   }
 
   #voice1 {
     padding-top: 0;
   }
 
   #voice1 .two_in_one > div.left {
     margin-left: calc((100vw - 100%) / 2 * -1);
     margin-right: calc((100vw - 100%) / 2 * -1);
     width: 100vw;
   }
   
   #voice1 .two_in_one > div.right .text {
     text-align: center;
   }
   
   #voice2 {
       padding: 7px 0px;
       margin: 30px 0;
   }
   
   #voice2 .two_in_one div.left {
     width: 40%;
   }
   
   #voice2 .two_in_one div.right {
     width: 60%;
     padding-left: 3%;
   }
   
   #voice2 .two_in_one div.image.circle {
       width: 40%;
   }
   #voice2 .profile .name .jp {
     display: block;
     font-size: 6vw;
   }
   #voice2 .profile .name .en {
     display: block;
   }
 
   #voice2 .profile .name .year {
     display: block;
   }
   
   .interview_box h3.border_bottom {
     padding-right: 20px;
       letter-spacing: 0;
       font-size: 120%;
   }
   
 
 }
 
 #voice_other {
   padding-top: 0;
   background-color: #efefef;
 }
 
 #voice_other .three_in_one {
   margin-bottom: 30px;
 }
 
 #voice_other .three_in_one > div {
     margin-top: 0;
     margin-bottom: 30px;
 }
 
 #staffvoice1 .voice_item {
   margin-bottom: 30px;
 }
 
 #voice_other .voice_item .btn02:hover:before,
 #staffvoice1 .voice_item .btn02:hover:before {
   display: none;
 }
 
 .voice_item .image_wrap {
   width: 80%;
   margin-left: 10%;
 }
 .voice_item .image_wrap .image {
     width: 200px;
     padding-top: 200px;
     background-size: cover;
     background-position: center center;
     border-radius: 50%;
     margin: auto;
     background-color: #eee;
     box-shadow: 1px 1px 3px rgba(0,0,0,.5);
 }
 .voice_item .btn02 {
   padding-top: 0.5em;
   padding-bottom: 0.5em;
   margin-top: -1.5em;
   position: relative;
   border: 3px double;
   min-width: 230px;
     box-shadow: 1px 1px 3px rgba(0,0,0,.5);
     
   -webkit-transition: all .3s;
   transition: all .3s;
 }
 
 .voice_item .btn02:hover {
   opacity: 1;
   transform: translateY(-10px);
   color: #000;
 }
 
 .voice_item .btn02 span {
   display: block;
   text-align: center;
 }
 
 .voice_item .btn02 .en {
   font-size: 80%;
 }
 
 #voice_other .btn_box {
   text-align: center;
   margin-top: 50px;
 }
 
 @media (min-width: 768px) {
 
   .voice_item .btn02 span {
     font-size: 14px;
   }
 
 }
 @media (min-width: 1030px) {
   .voice_item .btn02 span {
     font-size: inherit;
   }
 }
 
 
 .voice_item .btn02 .profile .department {
   border-bottom: 1px solid #ccc;
   text-align: center;
   margin-bottom: 0.5em;
 }
 .voice_item .btn02 .profile .name .jp {
     font-size: 20px;
     font-weight: bold;
 }
 .voice_item .btn02 .profile .name .jp {
     font-size: 20px;
     font-weight: bold;
 }
 .voice_item .btn02 .year {
   text-align: right;
   font-size: 80%;
 }
 
 /* お知らせ */
 #single_news .date {
 
 }
 #single_news h2 {
   text-align: left;
   font-weight: bold;
 }
 
 @media (max-width: 767px) {
 
   #single_news h2 {
     font-size: 20px;
   }
 }
 
 @media (min-width: 768px) {
   .news .post_box {
     width: 80%;
     margin-left: auto;
     margin-right: auto;
   }
 }
 
 /* 調整 */
 a.btn01,
 a.btn02 {
   -webkit-transition: linear .3s;
   transition: linear .3s;
 }
 
 .case_item a {
   overflow: hidden;
 }
 .case_item a .case_item_img {
   -webkit-transition: ease-out .2s;
   transition: ease-out .2s;
 }
 
 .case_item a:hover .case_item_img {
   transform: scale(1.1);
 }
 
 
 /* h2アニメーション(フェードイン) */
 /* 画面外にいる状態 */
 h2.fadein span {
   opacity : 0;
   transform : translate(0, 20px);
   transition : 0.3s ease-in-out;
   display: inline-block;
 }
 
 /* 画面内に入った状態 */
 h2.fadein.scrollin span {
   opacity : 1;
   transform : translate(0, 0);
 }
 h2.fadein span:nth-child(2) {
   transition-delay: 0.2s;
 }
 
 
 .btn01 {
   display: inline-block;
     vertical-align: middle;
     -webkit-transform: perspective(1px) translateZ(0);
     transform: perspective(1px) translateZ(0);
     position: relative;
     -webkit-transition-property: color;
     transition-property: color;
     -webkit-transition-duration: 0.3s;
     transition-duration: 0.3s;
     border: none;
     z-index: 0;
 }
 
 @media (min-width: 768px) {
 
   .btn01:before {
       content: "";
       position: absolute;
       z-index: 1;
       width: auto!important;
       height: auto!important;
       top: 0!important;
       left: 0!important;
       right: 0!important;
       bottom: 0!important;
       background: #fff;
       -webkit-transform: scaleX(0);
       transform: scaleX(0);
       -webkit-transform-origin: 0 50%;
       transform-origin: 0 50%;
       -webkit-transition-property: transform;
       transition-property: transform;
       -webkit-transition-duration: 0.3s;
       transition-duration: 0.3s;
       -webkit-transition-timing-function: ease-out;
       transition-timing-function: ease-out;
       border: double 3px #333!important;
   }
 
   .btn01:after {
     potision: relative;
     z-index:1;
   }
 
   a.btn01:hover, .btn01:hover {
     color: #000;
     opacity: 1;
   }
   .btn01:hover:before {
       -webkit-transform: scaleX(1);
       transform: scaleX(1);
   }
   
   .btn01 span {
     position: relative;
     z-index: 2;
   }
 }
 
 .btn02 {
   display: inline-block;
     vertical-align: middle;
     -webkit-transform: perspective(1px) translateZ(0);
     transform: perspective(1px) translateZ(0);
     position: relative;
     -webkit-transition-property: color;
     transition-property: color;
     -webkit-transition-duration: 0.3s;
     transition-duration: 0.3s;
     
 }
 .btn02:before {
     content: "";
     position: absolute;
     z-index: -1;
     width: auto!important;
     height: auto!important;
     top: 0!important;
     left: 0!important;
     right: 0!important;
     bottom: 0!important;
     background: #000;
     -webkit-transform: scaleX(0);
     transform: scaleX(0);
     -webkit-transform-origin: 0 50%;
     transform-origin: 0 50%;
     -webkit-transition-property: transform;
     transition-property: transform;
     -webkit-transition-duration: 0.3s;
     transition-duration: 0.3s;
     -webkit-transition-timing-function: ease-out;
     transition-timing-function: ease-out;
     
   background-color: #000;
     background-image: radial-gradient(#333 10%, rgba(255,255,255,0) 20%), radial-gradient(#333 10%, rgba(255,255,255,0) 20%);
     background-size: 5px 5px;
     background-position: 0 0, 5px 5px;
 }
 
 @media (min-width: 768px) {
   .btn02:before {
       z-index: 1;
   }
   
   a.btn02:hover {
     color: #fff;
     opacity: 1;
   }
   
   a.btn02:after {
     potision: relative;
     z-index:1;
   }
 
   a.btn02:hover:before {
       -webkit-transform: scaleX(1);
       transform: scaleX(1);
   }
   
   a.btn02 span {
     position: relative;
     z-index: 2;
   }
 
 }
 
 #top_company .btn02:hover {
   border-color: #000;
 }
 
 @media (min-width: 768px) {
   .header .nav > li > a::after {
       content: "";
       position: absolute;
       right: 0;
       left: 0;
       bottom: 0;
       width: 80%;
       margin: auto;
       border-bottom: 2px solid #fff;
       -webkit-transition: -webkit-transform .3s, opacity .2s;
       -o-transition: -o-transform .3s, opacity .2s;
       transition: transform .3s, opacity .2s;
       -webkit-transform: translateY(3px);
       -ms-transform: translateY(3px);
       -o-transform: translateY(3px);
       transform: translateY(3px);
       opacity: 0;
   }
   .header .nav > li > a:hover::after {
       -webkit-transform: translateY(0);
       -ms-transform: translateY(0);
       -o-transform: translateY(0);
       transform: translateY(0);
       opacity: 1;
   }
 }
 
 
 /*サービス一覧アニメーション*/
 
 
 .viewport {
     overflow: hidden;
     width: 100%;
     margin: auto;
 }
 
 #service_anime {
     /* overflow-x: auto; */
     padding-bottom: 0;
     padding-top: 0;
 }
 
 #service_anime #animation_container {
   margin: auto;
   position: relative;
 }
 
 @media (max-width: 767px) {
   
 
   #service_anime #animation_container {
     height: 100%!important;
   }
   
   #service_anime #animation_container > canvas  {
     height: 100%!important;
     width: auto!important;
     cursor: move;
     position:static!important;
   }
   
   #service_anime #dom_overlay_container {
     height: 100%!important;
     width: 100%!important;
   }
 }
 
 #service_anime #animation_container > #dom_overlay_container {
   top: 0;
   left:0;
 }
 
 
 #service_anime .viewport a {
   position: absolute;
   z-index: 100;
 }
 
 
 #service_anime .viewport a.x-ray {
   top: 370px;
   left: 734px;
 }
 #service_anime .viewport a.rebarradar {
     top: 303px;
     left: 486px;
 }
 #service_anime .viewport a.groundradar {
   top: 438px;
     left: 459px;
 }
 #service_anime .viewport a.corebowling {
     top: 343px;
     left: 605px;
 }
 #service_anime .viewport a.wiresaw {
     top: 566px;
   left: 693px;
 }
 #service_anime .viewport a.wallsaw {
     top: 320px;
     left: 822px;
 }
 #service_anime .viewport a.burster {
     top: 567px;
     left: 345px;
 }
 #service_anime .viewport a.roadcutter {
     top: 482px;
     left: 325px;
 }
 #service_anime .viewport a.tensile {
     top: 241px;
     left: 1007px;
 }
 #service_anime .viewport a.sludge {
   top: 380px;
   left: 1100px;
 }
 #service_anime .viewport a.originalproduct {
   top: 391px;
     left: 261px;
   z-index: 101;
 }
 #service_anime .viewport a.company {
     top: 215px;
     left: 372px;
 }
 #service_anime .viewport a.message {
     top: 369px;
     left: 330px;
 }
 #service_anime .viewport a.anchor {
     top: 166px;
     left: 437px;
 }
 
 #service_anime .viewport a.waterjet {
     top: 165px;
     left: 180px;
 }
 
 @media (max-width: 767px) {
 
   #service_anime .viewport a.x-ray {
     top: 44%;
       left: 61%;
   }
   #service_anime .viewport a.rebarradar {
       top: 36%;
       left: 41%;
   }
   #service_anime .viewport a.groundradar {
     top: 54%;
       left: 39%;
   }
   #service_anime .viewport a.corebowling {
       top: 38%;
       left: 50%;
   }
   #service_anime .viewport a.wiresaw {
       top: 68%;
       left: 58%;
   }
   #service_anime .viewport a.wallsaw {
       top: 36%;
       left: 68%;
   }
   #service_anime .viewport a.burster {
     top: 68%;
       left: 27%;
   }
   #service_anime .viewport a.roadcutter {
     top: 59%;
       left: 23%;
   }
   #service_anime .viewport a.tensile {
     top: 30%;
       left: 83%;
   }
   #service_anime .viewport a.sludge {
     top: 46%;
       left: 91%;
   }
   #service_anime .viewport a.originalproduct {
     top: 49%;
       left: 21.5%;
   }
   #service_anime .viewport a.company {
       top: 26%;
       left: 30.5%;
   }
   #service_anime .viewport a.message {
       top: 46%;
       left: 27.5%;
   }
   #service_anime .viewport a.anchor {
     top: 18%;
       left: 37%;
   }
   
   #service_anime .viewport a.waterjet {
     top: 20%;
     left: 15%;
   }
 
 }
 
 #service_anime .viewport a img {
   width: 20px;
 }
 
 #service_anime .viewport a {
 
       animation: pin_anime 1s linear infinite alternate;
 }
 
 @keyframes pin_anime {
   0%   { transform: translateY(0px); }
   100% { transform: translateY(-5px); }
 }
 
 #service_anime .viewport a > div {
   position: relative;
 }
 
 .hover_text {
   background: #fff;
   color: #000;
   padding: 3px 15px;
   border-radius: 10px;
   position: absolute;
   top: -30px;
   left: 50%;
   display: block;
   white-space: nowrap;
   transform: translateX(-50%);
   font-size: 14px;
   z-index: 10;
   opacity: 0;
   pointer-events: none;
   
   transition: all .5s ease;
 }
 
 /*
 #service_anime #animation_container a:hover .hover_text {
   opacity: 1;
   top: -40px;
 }
 */
 
 .hover_text > .inner {
   positon: relative;
 }
 .hover_text > .inner:after {
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 10px 6.5px 0 6.5px;
   border-color: #fff transparent transparent transparent;
   content: "";
   display: block;
   position: absolute;
   bottom: -10px;
   left: 50%;
   transform: translateX(-50%);
 }
 
 .modal section {
   padding: 0;
 }
 
 .modal #service_top canvas {
     width: 100%!important;
     max-width: 300px!important;
     height: auto!important;
     margin: auto;
 }
 .modal #service_top #animation_container {
     width: 100%!important;
     height: auto!important;
 }
 
 .modal #service_top img {
   max-width: 300px;
     margin: auto;
     display: block;
 }
 
 .modal #service_top .two_in_one > div {
   width: 100%;
 }
 
 .modal #service_top h2 {
   text-align: center;
 }
 
 .modal #service_top .text {
   text-align: center;
 }
 
 @media (max-width: 767px) {
 
   .modal #service_top .text {
     text-align: left;
   }
 }
 
 ul.product_list {
   display: flex;
   flex-wrap: wrap;
 }
 
 ul.product_list > li.product_item {
   margin-bottom: 30px;
 }
 
 .product_item a {
   padding: 20px;
   border: 3px double #000;
   display: block;
   text-decoration: none;
   position: relative;
 }
 .product_item a:after {
   content: ">";
     position: absolute;
     bottom: 2px;
     right: 5px;
     color: #fff;
     font-size: 18px;
 }
 .product_item a:before {
   content: "";
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 0 50px 50px;
   border-color: transparent transparent #000 transparent;
   position: absolute;
   bottom: 0;
   right: 0;
 }
 
 .product_item .image {
   margin: auto;
   width: 80%;
 }
 
 .product_item .title {
   text-align: center;
   font-weight: bold;
   color: #000;
     font-size: 25px;
     margin: 20px 0 10px;
 }
 
 @media (min-width: 768px) {
   ul.product_list > li.product_item {
     width: calc(50% - 30px);
     margin: 0 15px 30px;
   }
 }
 
 
 #product_top h2 {
   font-weight: bold;
 }
 
 #product_top h2 .small {
   font-size: 50%;
   font-weight: normal;
 }
 
 #product_top .text {
   margin-bottom: 20px;
 }
 
 @media (min-width: 768px) {
 
   #product_top .two_in_one > div {
     padding: 15px;
   }
 
 }
 
 
 table.license_table th,
 table.license_table td {
   border-bottom: none;
   padding: 0 0 3px 0;
   text-align: left;
   white-space: nowrap;
   font-weight: normal;
 }
 table.license_table td {
   padding: 0 20px 3px;
 }
 
 @media (max-width: 767px) {
   table.license_table tr {
     display: flex;
     flex-wrap: wrap;
   }
   table.license_table td {
     
   }
 
 }
 
 /* 2022/11 diff start ------------------------------------------------------*/
 
 
 #company_machine {
     background-color: #eee;
     background-image: radial-gradient(#fff 10%, rgba(255,255,255,0) 20%);
     background-size: 5px 5px;
     background-position: 0 0, 5px 5px;
 }
 
 #company_machine h3 {
   text-align: center;
   font-weight: bold;
 }
 
 #company_machine .machine_group {
   justify-content: flex-start!important;
 }
 #company_machine .machine_group.normal {
   justify-content: center!important;
 }
 
 
 #company_machine .machine_group > div {
   padding: 10px;
 }
 
 #company_machine .normal > div {
   width: 50%;
 }
 
 
 #company_machine .machine_group .box {
     background: #fff;
     padding: 20px;
     height: 100%;
 }
 
 #company_machine h4 {
   border-bottom: 1px solid #000;
     display: table;
     padding-right: 1em;
     padding-left: 1em;
     margin: 10px auto 20px;
 }
 
 table.machine_table {
   margin: auto;
 }
 
 table.machine_table th {
   text-align: left;
   font-weight: normal;
 }
 
 table.machine_table td {
   padding-left: 20px;
   text-align: right;
     white-space: nowrap;
     vertical-align: top;
 }
 
 @media (min-width: 768px) and (max-width: 1029px) {
   #company_machine .three_in_one {
     justify-content: space-between;
   }
 
   #company_machine .three_in_one > div {
     width: 50%;
   }
 }
 
 @media (max-width: 767px) {
 
   #company_machine .machine_group > div {
     width: 100%!important;
   }
   
   #company_machine .machine_group .box {
       height: auto;
   }
 }
 /* 2022/11 diff end ------------------------------------------------------*/
 
 
 table.case_info
 {
   width: 100%;
 }
 table.case_info tr th,
 table.case_info tr td
 {
   padding:0.5em 1em;
   vertical-align: top;
 }
 
 table.case_info tr th
 {
   border-bottom:1px solid #999;
 min-width: 6em;
 }
 table.case_info tr td
 {
   border-bottom:1px solid #CCC;
 }
 
 .case_subimg
 {
   display:flex;
   flex-wrap: wrap;
 }
 
 .case_subimg .sub_item
 {
   margin:5px;
   width:calc(25% - 10px);
 }
 
 .case_subimg .sub_item .sub_img img,
 .case_subimg .sub_item .sub_img_text
 {
   width:100%;
   height:auto;
   font-size:14px;
 
 }
 
 
 @media (max-width: 767px) 
 {
 
   .case_subimg .sub_item
   {
     margin:5px;
     width:calc(100% - 10px);
   }
 
 }
 
 
 #service_sample {
     background-color: #eee;
     background-image: radial-gradient(#fff 10%, rgba(255,255,255,0) 20%);
     background-size: 5px 5px;
     background-position: 0 0, 5px 5px;
 }
 
 #service_sample .case_wrap ul {
     display: flex;
     flex-wrap: wrap;
     margin-bottom: 50px;
 }
 
 #service_sample .case_item a:before {
   display: none;
 }
 
 
 @media (min-width: 768px) {
 
   #service_sample .case_item {
     width: calc(25% - 20px);
     margin: 0 10px 20px;
   }
 }
 
 @media (max-width: 767px) {
 
   #service_sample .case_item {
     width: calc(50% - 20px);
     margin: 0 10px 20px;
   }
   #service_sample .case_item_img_wrap {
       width: 100%;
   }
 }
 
 #service_contact {
     background-color: #000;
 }
 
 #service_contact a.btn02 {
   border: 3px double;
   text-align: center;
     font-weight: bold;
 }
 
 @media (min-width: 768px) {
 
   #service_contact a.btn02 {
     width: 300px;
   }
 }
 
 @media all and (-ms-high-contrast: none){
     body.fixed {
         position: fixed;
         width: 100%;
         height: 100%;
     }
 }
 
 
 
 
 
 /** ウォータージェット ****************/
 
 .editer_wrap h4 {
   margin-bottom: 10px;
   border-left: 8px solid #333;
     padding: 0px 0 0px 10px;
 }
 
 .editer_wrap .service_flow h4 {
   margin-top:0;
 }
 
 @media (max-width: 767px) {
 
   #service_flow .editer_wrap .service_flow .two_in_one.outer {
     border: none;
   }
 
   #service_flow .editer_wrap ul.service_flow > li {
     margin-bottom: 0;
   }
   
 }
 
 
 .waterjet_photo > div {
   padding: 15px;
 }
 .waterjet_photo > div .image {
 }
 
 .waterjet_photo > div .image > img {
     width: 100%;
     height: auto;
 }
 
 
 /* 2022/11 start ------------------------------------------------------*/
 
 
 @media (max-width: 1029px) {
 
   #company_message .text p br {
     display:none;
   }
 
   #company_philosophy .text p br {
     display:none;
   }
   #company_philosophy .two_in_one > div.left,
   #company_philosophy .two_in_one > div.right {
     width: 100%;
   }
 }
 
 
 #company_profile {
   padding-top: 0;
   background: #000;
 }
 
 #company_profile h2 {
   text-align: center;
 }
 
 #company_profile .two_in_one > div.left {
   width: 100vw;
   margin-left: calc((100vw - 100%) / 2 * -1);
   margin-right: calc((100vw - 100%) / 2 * -1);
   position: relative;
   transform: none;
 }
 
 #company_profile .two_in_one > div.right {
   width: 100%;
   margin: 0;
   padding: 0;
 }
 #company_profile .images > .image {
     opacity: 0;
   animation-delay: 0;
   background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
 }
 #company_profile .images.animated > .image {
     opacity: 1;
     -webkit-animation-duration: 1s;
     animation-duration: 1s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
   -webkit-animation-name: fadeIn;
     animation-name: fadeIn;
 }
 
 #company_profile .images.animated > .image {
     opacity: 1;
     -webkit-animation-duration: 1s;
     animation-duration: 1s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
 }
 
 #company_profile .images > .image:nth-child(2) {
   animation-delay: 0.2s;
 }
 #company_profile .images > .image:nth-child(3) {
   animation-delay: 0.4s;
 }
 #company_profile .images > .image:nth-child(4) {
   animation-delay: 0.6s;
 }
 #company_profile .images > .image:nth-child(5) {
   animation-delay: 0.8s;
 }
 #company_profile .images > .image:nth-child(6) {
   animation-delay: 1.0s;
 }
 #company_profile .images > .image:nth-child(7) {
   animation-delay: 1.2s;
 }
 #company_profile .images > .image:nth-child(8) {
   animation-delay: 1.4s;
 }
 
 #company_profile .images > .image img {
     width: 100%;
     vertical-align: bottom;
 }
 
 
 #company_profile table.profile_table {
     margin: auto;
     padding: 0;
     width: auto;
     max-width: 100%;
     min-width: 0;
     display: table;
 }
 
 #company_profile table.profile_table p {
   margin: 0;
 }
 
 #company_profile table.profile_table table th {
     border-bottom: none;
     padding: 0 0 3px 0;
     text-align: left;
     white-space: nowrap;
     font-weight: normal;
 }
 #company_profile table.profile_table table td {
     border-bottom: none;
     text-align: left;
     white-space: nowrap;
     font-weight: normal;
     padding: 0 20px 3px;
 }
 
 @media (max-width: 767px) {
 
   #company_profile .wrap {
     padding: 0 15px;
   }
 
   #company_profile .images > .image {
     width: 50%;
   }
 
 
   #company_profile table.profile_table table tr {
       display: flex;
       flex-wrap: wrap;
   }
   #company_profile table.profile_table td[colspan="2"] {
       padding: 10px;
   }
 }
 
 
 
 #top_slider #main_visual .swiper-wrapper {
   height: 100%;
 }
 #top_slider #main_visual .swiper-slide {
   padding: 0;
 }
 
 #top_slider  #main_visual img {
   height: 100%;
   width: 100%;
   object-fit: cover;
 }
 
 #recruit_child2 .three_in_one > div a,
 #recruit_child2 .four_in_one > div a {
 
 }
 
 #recruit_child2 .three_in_one > div a img,
 #recruit_child2 .four_in_one > div a img {
     width: 100%;
   vertical-align: bottom;
 }
 
 
 @media (max-width: 767px) {
   #recruit_child2 .three_in_one > div {
     width: 50%;
   }
 }
 
 
 #recruit_child2 .images > .image {
     opacity: 0;
   animation-delay: 0;
   background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
 }
 #recruit_child2 .images.animated > .image {
     opacity: 1;
     -webkit-animation-duration: 1s;
     animation-duration: 1s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
   -webkit-animation-name: fadeIn;
     animation-name: fadeIn;
 }
 
 #recruit_child2 .images.animated > .image {
     opacity: 1;
     -webkit-animation-duration: 1s;
     animation-duration: 1s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
 }
 
 #recruit_child2 .images > .image:nth-child(2) {
   animation-delay: 0.2s;
 }
 #recruit_child2 .images > .image:nth-child(3) {
   animation-delay: 0.4s;
 }
 #recruit_child2 .images > .image:nth-child(4) {
   animation-delay: 0.6s;
 }
 #recruit_child2 .images > .image:nth-child(5) {
   animation-delay: 0.8s;
 }
 #recruit_child2 .images > .image:nth-child(6) {
   animation-delay: 1.0s;
 }
 #recruit_child2 .images > .image:nth-child(7) {
   animation-delay: 1.2s;
 }
 #recruit_child2 .images > .image:nth-child(8) {
   animation-delay: 1.4s;
 }
 
 #recruit_child2 .images > .image img {
     width: 100%;
     vertical-align: bottom;
     aspect-ratio: 3 / 2;
     object-fit: cover;
 }
 
 
 /* 2022/11 end --------------------------------------------------------*/
 
 /*Add 20231229 start*/
 
 .search_service ul li:last-child {display:none;}
 
 /*Add 20231229 end*/
 
 
 /*Add 20240701 start*/
 
 .movie > video {
   width: 100%;
 }
 
 #recruit_video {
   position: relative;
   z-index: 0;
 }
 
 #recruit_video:before {
   content: "";
   display: block;
   width: 100%;
   height: 100%;
   background: #efefef;
   bottom: 0;
   right: 0;
   position: absolute;
   z-index: -1;
   clip-path: polygon(0 75%, 100% 55%, 100% 100%, 0% 100%);
 }
 
 
 /* タブ切替 */
 .tabs {
   display: grid;
   /* grid-template-rows: auto auto; */
   /* grid-template-columns: 1fr 1fr; */
   grid-template-rows: auto;
 }
 .tabs:has(:nth-child(1 of .tab-titles)) {
   grid-template-columns: repeat(1, 1fr);
 }
 .tabs:has(:nth-child(2 of .tab-titles)) {
   grid-template-columns: repeat(2, 1fr);
 }
 .tabs:has(:nth-child(3 of .tab-titles)) {
   grid-template-columns: repeat(3, 1fr);
 }
 .tabs:has(:nth-child(4 of .tab-titles)) {
   grid-template-columns: repeat(4, 1fr);
 }
 /*タブのスタイル*/
 .tabs .tab_item {
   display: grid;
   width: 100%;
   height: 100%;
   cursor: pointer;
   padding: 15px;
   text-align: center;
   font-size: 22px;
   font-weight: bold;
   letter-spacing: 2px;
   place-content: center;
   background: #ccc;
   transition: all 0.3s;
   border-top: 7px solid #ccc;
 }
 
 /*ラジオボタンを全て消す*/
 .tabs input[name="tab_item"] {
   display: none;
 }
 
 /*タブ切り替えの中身のスタイル*/
 .tabs .tab_content {
   grid-row: 2 / 3;
   /*grid-column: 1 / 3;*/
 
   display: none;
   width: 100%;
   clear: both;
   overflow: hidden;
 }
 .tabs:has(:nth-child(1 of .tab-titles)) .tab_content {
   grid-column: span 1 / span 1;
 }
 .tabs:has(:nth-child(2 of .tab-titles)) .tab_content {
   grid-column: span 2 / span 2;
 }
 .tabs:has(:nth-child(3 of .tab-titles)) .tab_content {
   grid-column: span 3 / span 3;
 }
 .tabs:has(:nth-child(4 of .tab-titles)) .tab_content {
   grid-column: span 4 / span 4;
 }
 
 
 /*選択されているタブのスタイルを変える*/
 .tabs input:checked + .tab_item {
     background: #fff;
     color: #000;
     border-top-color: #333;
     
 }
 
 @media (max-width: 767px) {
 
   .tabs .tab_item {
     font-size: 16px;
     letter-spacing: 0;
     padding: 15px 5px;
   }
 
 }
 
 
 
 .link_contact {
   position: fixed;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   padding: 0;
   overflow: hidden;
   border-radius: 5px 5px 0 0;
   z-index: 9999;
     max-width: 100%;
     width: 1000px;
     background: #fff;
   box-shadow: 0px 0px 5px rgba(0,0,0,.3);
 }
 
 .link_contact p {
   margin: 0;
 }
 .link_contact > .two_in_one {
   flex-wrap: nowrap;
   display: flex;
   justify-content: center;
 }
 .link_contact > .two_in_one > div {
   padding: 15px;
   width: 33%;
 }
 
 .link_contact a {
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   width: 100%;
     height: 100%;
     white-space: nowrap;
   transition: 0.2s linear;
   
     padding: 5px 30px 5px 15px;
     font-size: 22px;
     font-weight: bold;
     position: relative;
     background-color: #000;
     background-image: radial-gradient(#333 10%, rgba(255, 255, 255, 0) 20%), radial-gradient(#333 10%, rgba(255, 255, 255, 0) 20%);
     background-size: 5px 5px;
     background-position: 0 0, 5px 5px;
   color: #fff;
 }
 .link_contact a:after {
   content: "";
   display:block;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 5px 0 5px 10px;
   border-color: transparent transparent transparent #fff;
   position: absolute;
   top: 50%;
   right: 15px;
   transform: translateY(-50%);
 }
 
 .link_contact a:hover {
   color: #fff;
   opacity: 0.8;
 }
 
 .link_contact img.icon {
   width: 40px;
   height: 40px;
   margin-right: 10px;
   margin-left: 0;
   filter: invert(100%) sepia(1%) saturate(0%) hue-rotate(195deg) brightness(104%) contrast(100%);
 }
 
 .link_contact a .text {
   
 }
 .link_contact a .text span {
   display: block;
 }
 .link_contact a .text span.tel {
   font-size: 22px;
   text-align: center;
 }
 .link_contact a .text span.time {
   font-size: 12px;
   font-weight: normal;
 }
 
 .link_contact a .text span.m_delete {
   display: inline;
 }
 
 .link_contact .m {
   display: none;
 }
 
 
 .link_contact a[href^="tel:"] {
   text-decoration: none;
   pointer-events: none;
 }
 
 
 @media (max-width: 1029px) {
 
   .link_contact .left a .text {
       font-size: 20px;
   }
 
   .link_contact a[href^="tel:"] {
       pointer-events: auto;
   }
 }
 
 
 
 @media (max-width: 767px) {
 
   .link_contact {
     width: 100%;
     border-radius: 0;
     padding: 0;
   }
   .link_contact > .two_in_one {
     gap: 1px;
     padding: 1px 0 0;
   }
   .link_contact > .two_in_one > div {
     width: 100%;
     padding: 0;
   }
   .link_contact > .two_in_one > div a {
       padding: 5px;
       font-size: 4vw;
       letter-spacing: 0;
   }
   .link_contact a:after {
       display:none;
   }
   .link_contact  img.icon {
       margin-right: 5px;
       margin-left: 0;
     max-width: 7vw;
       max-height: 7vw;
       width: auto;
       height: auto;
   }
   
   .link_contact .circle {
       left: 0;
       top: -65px;
       line-height: 1.2;
       width: 80px;
       height: 80px;
       padding-top: 5px;
       display: none;
   }
   
   .link_contact a .text span.tel {
     font-size: 5vw;
   }
   
   .link_contact a .text span.time {
       font-size: 10px;
       text-align: center;
   }
   
   .link_contact a .text span.m_delete {
     display: none;
   }
   .link_contact .m {
     display: block;
   }
   .link_contact .left a .text {
       font-size: 14px;
   }
 }
 
 
 
 .bnr {
   width: 100%;
   margin-top: 80px;
 }
 .bnr > a {
   position: relative;
 }
 .bnr > a > img {
   display: block;
   width: 100%;
   height: auto;
 }
 
 .bnr > a > span {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
 }
 
 /*Add 20240701 end*/

/* Add 20250307 start */

.link_contact a {font-size:15px;}

.link_contact .add_right_pc a , .link_contact .add_right_sp a {background-color:#fff;
background-image:none;
color:#000;
border:solid #000 3px;}

.link_contact .add_right_pc a:after , .link_contact .add_right_sp a:after {border-color: transparent transparent transparent #000;}

@media screen and (max-width:1029px) {
.link_contact a , .link_contact .left a .text {font-size:12px;}

 .link_contact > .two_in_one > div {
   padding: 10px;
 }

.link_contact a .text span.tel {
    font-size: 18px;
}
}

@media screen and (min-width:767px) {
.add_right_pc {display:block;}

.add_right_sp {display:none;}
}

@media screen and (max-width:767px) {
.add_right_pc {display:none;}

.add_right_sp {display:block;}

.add_right_sp a {padding:15px;
border:solid #000 1px!important;}

.link_contact a , .link_contact .left a .text {font-size:14px;}

    .link_contact > .two_in_one > div {
        padding: 0px;
    }

.link_contact .add_right_sp a {font-size:16px;}

.link_contact a .text span.tel {
    font-size: 5vw;
}


}

.link_contact .add_right_pc img.icon , .link_contact .add_right_sp img.icon {filter:none;}





/* Add 20250307 end */
