@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
========================================================================== */
@import url("https://fonts.googleapis.com/css?family=Roboto:400,700");
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900");
html {
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

/* Sections
========================================================================== */
body {
  margin: 0; }

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

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
========================================================================== */
figcaption, figure {
  display: block; }

figure {
  margin: 1em 40px; }

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

main {
  display: block; }

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

/* Links
========================================================================== */
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }

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

/* Text-level semantics
========================================================================== */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

b, strong {
  font-weight: inherit; }

b, strong {
  font-weight: bolder; }

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

dfn {
  font-style: italic; }

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

small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
========================================================================== */
audio, video {
  display: inline-block; }

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

img {
  border-style: none; }

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

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

button {
  overflow: visible; }

button, select {
  text-transform: none; }

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

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

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

input {
  overflow: visible; }

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

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

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

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

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

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

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

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

textarea {
  overflow: auto; }

/* Interactive
========================================================================== */
details {
  display: block; }

summary {
  display: list-item; }

menu {
  display: block; }

/* Scripting
========================================================================== */
canvas {
  display: inline-block; }

template {
  display: none; }

/* Hidden
========================================================================== */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img, .map_canvas embed, .map_canvas object, .mqa-display img, .mqa-display embed, .mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }

[data-whatinput='mouse'] button {
  outline: 0; }

pre {
  overflow: auto; }

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

.fr {
  float: right; }

.imgR {
  float: right;
  margin-left: 20px; }

.fl {
  float: left; }

.imgL {
  float: left;
  margin-right: 20px; }

.imgC, .tC {
  text-align: center; }

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

.tR {
  text-align: right; }

.mt0 {
  margin-top: 0px !important; }

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

.pt0 {
  padding-top: 0px !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mr0 {
  margin-right: 0 !important; }

.pr0 {
  padding-right: 0 !important; }

/* clearfix */
.clear-fix {
  zoom: 1; }
  .clear-fix:before, .clear-fix:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  .clear-fix:after {
    clear: both; }

.clear {
  clear: both; }

/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, th, td, address, li, dt, dd {
  font-weight: 400;
  font-feature-settings: "palt"; }

.contents h1, .contents h2, .contents h3, .contents h4, .contents h5, .contents h6, .contents input, .contents button, .contents textarea, .contents select, .contents p, .contents th, .contents td, .contents address, .contents li, .contents dt, .contents dd {
  line-height: 1.6; }
  @media screen and (min-width: 960px) {
    .contents h1, .contents h2, .contents h3, .contents h4, .contents h5, .contents h6, .contents input, .contents button, .contents textarea, .contents select, .contents p, .contents th, .contents td, .contents address, .contents li, .contents dt, .contents dd {
      font-size: 16px; } }
  @media screen and (max-width: 959px) {
    .contents h1, .contents h2, .contents h3, .contents h4, .contents h5, .contents h6, .contents input, .contents button, .contents textarea, .contents select, .contents p, .contents th, .contents td, .contents address, .contents li, .contents dt, .contents dd {
      font-size: 14px; } }

/* =========================================================
	element style
========================================================= */
html, body {
  height: 100%; }

body {
  color: #000;
  font-family: "Roboto", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }

input, textarea, button {
  font-family: "Roboto", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  -webkit-appearance: none; }

a {
  color: #000; }

@media screen and (min-width: 1024px) {
  a:hover {
    text-decoration: none; }
  a.hov {
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s; }
    a.hov:hover {
      opacity: 0.6; } }
img {
  max-width: 100%;
  height: auto; }

/* =========================================================
 icon
========================================================= */
@font-face {
  font-family: 'fonts';
  src: url("/common/fonts/fonts.ttf?ielakg") format("truetype"), url("/common/fonts/fonts.woff?ielakg") format("woff"), url("/common/fonts/fonts.svg?ielakg#fonts") format("svg");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'def';
  src: url("/common/fonts/def.ttf?b8fhm8") format("truetype"), url("/common/fonts/def.woff?b8fhm8") format("woff"), url("/common/fonts/def.svg?b8fhm8#def") format("svg");
  font-weight: normal;
  font-style: normal; }
[class^="icon-"], [class*=" icon-"], [class^="ico-"], [class*=" ico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

[class^="icon-"], [class*=" icon-"] {
  font-family: 'fonts' !important; }

[class^="ico-"], [class*=" ico-"] {
  font-family: 'def' !important; }

@font-face {
  font-family: 'icomoon';
  src: url("/common/fonts/icomoon.eot?vsiurs");
  src: url("/common/fonts/icomoon.eot?vsiurs#iefix") format("embedded-opentype"), url("/common/fonts/icomoon.ttf?vsiurs") format("truetype"), url("/common/fonts/icomoon.woff?vsiurs") format("woff"), url("/common/fonts/icomoon.svg?vsiurs#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-arrow {
  padding-left: 5px; }

.icon-arrow:before {
  content: "\e900";
  vertical-align: 0px;
  font-size: 86%; }

/* original
--------------------------------------------------------- */
.icon-fb:before {
  content: "\e901"; }

.icon-mail:before {
  content: "\e902"; }

.icon-phone:before {
  content: "\e903"; }

/* defalt
--------------------------------------------------------- */
.ico-down:before {
  content: "\e802"; }

.ico-prv:before {
  content: "\e803"; }

.ico-up:before {
  content: "\e805"; }

.ico-comment:before {
  content: "\e806"; }

.ico-download:before {
  content: "\e807"; }

.ico-external:before {
  content: "\e808"; }

.ico-map:before {
  content: "\e80a"; }

.ico-close:before {
  content: "\e80b"; }

.ico-open:before {
  content: "\e80d"; }

.ico-search:before {
  content: "\e80e"; }

.ico-zoom-in:before {
  content: "\e80f"; }

.ico-zoom-out:before {
  content: "\e810"; }

/* =========================================================
	下層ページのみスタイル
========================================================= */
body:not(#home-page) article:not(.cnt-contact) p {
  font-size: 16px;
  line-height: 30px;
  margin-bottom: 20px; }
  body:not(#home-page) article:not(.cnt-contact) p.attention {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 24px; }
  @media screen and (max-width: 959px) {
    body:not(#home-page) article:not(.cnt-contact) p {
      font-size: 14px;
      line-height: 24px; }
      body:not(#home-page) article:not(.cnt-contact) p.attention {
        font-size: 12px;
        line-height: 20px; } }
  body:not(#home-page) article:not(.cnt-contact) p a {
    position: relative;
    text-decoration: none;
    color: #005bac; }
    body:not(#home-page) article:not(.cnt-contact) p a:after {
      position: absolute;
      display: block;
      content: "";
      width: 0%;
      height: 1px;
      background: #005bac;
      bottom: -1px;
      left: 0;
      transition: all .2s; }
    body:not(#home-page) article:not(.cnt-contact) p a:hover:after {
      width: 100%; }
body:not(#home-page) article:not(.cnt-contact) table {
  border: 1px solid #dedede;
  margin-bottom: 30px; }
  body:not(#home-page) article:not(.cnt-contact) table th, body:not(#home-page) article:not(.cnt-contact) table td {
    border: 1px solid #dedede; }
@media screen and (max-width: 959px) {
  body:not(#home-page) article:not(.cnt-contact) .price-table {
    margin-bottom: 30px; }
    body:not(#home-page) article:not(.cnt-contact) .price-table table {
      margin-bottom: 0; } }
body:not(#home-page) .cnt-flow {
  padding-bottom: 100px; }
  @media screen and (max-width: 959px) {
    body:not(#home-page) .cnt-flow {
      padding-bottom: 50px; } }
  body:not(#home-page) .cnt-flow h2 {
    color: #005bac; }
    body:not(#home-page) .cnt-flow h2:before {
      background: #005bac; }
  body:not(#home-page) .cnt-flow .list-flow li span.customer {
    background: #005bac;
    color: white; }
  body:not(#home-page) .cnt-flow .list-flow li span:nth-child(2) {
    color: #005bac; }
    body:not(#home-page) .cnt-flow .list-flow li span:nth-child(2):before {
      background: #005bac; }
    body:not(#home-page) .cnt-flow .list-flow li span:nth-child(2):after {
      border-bottom: 6px solid #005bac; }
  body:not(#home-page) .cnt-flow .list-flow li .icon {
    background: #005bac; }
    body:not(#home-page) .cnt-flow .list-flow li .icon svg {
      fill: white; }
  body:not(#home-page) .cnt-flow .list-flow li h3 {
    color: #005bac;
    font-weight: 700; }
  @media screen and (max-width: 959px) {
    body:not(#home-page) .cnt-flow .list-flow li:before {
      border-top: 10px solid #005bac; }
    body:not(#home-page) .cnt-flow .list-flow li:after {
      border-top: 10px solid white; }
    body:not(#home-page) .cnt-flow .list-flow li:nth-child(3) {
      height: 80px; } }
  body:not(#home-page) .cnt-flow .list-flow {
    margin-bottom: 50px; }
  body:not(#home-page) .cnt-flow .btn a {
    margin-top: 50px;
    color: #005bac;
    border: 3px solid #005bac; }
    @media screen and (max-width: 959px) {
      body:not(#home-page) .cnt-flow .btn a {
        margin-top: 0;
        padding: 15px 70px;
        min-width: auto; } }
    body:not(#home-page) .cnt-flow .btn a:after {
      background: #005bac; }
    body:not(#home-page) .cnt-flow .btn a:hover {
      color: white;
      background: #005bac; }
body:not(#home-page) .cnt-service {
  padding-bottom: 100px; }
  body:not(#home-page) .cnt-service .more p {
    margin-bottom: 0; }
  @media screen and (max-width: 959px) {
    body:not(#home-page) .cnt-service {
      padding-bottom: 50px; } }

/* =========================================================
	general
========================================================= */
@media screen and (min-width: 960px) {
  .cnt-pc {
    display: block; } }
@media screen and (max-width: 959px) {
  .cnt-pc {
    display: none; } }

@media screen and (min-width: 960px) {
  .cnt-sp {
    display: none; } }
@media screen and (max-width: 959px) {
  .cnt-sp {
    display: block; } }

@media screen and (min-width: 960px) {
  .table-pc {
    display: table; } }
@media screen and (max-width: 959px) {
  .table-pc {
    display: none; } }

@media screen and (min-width: 960px) {
  .table-sp {
    display: none; } }
@media screen and (max-width: 959px) {
  .table-sp {
    display: table; } }

@media screen and (min-width: 960px) {
  .inline-pc {
    display: inline; } }
@media screen and (max-width: 959px) {
  .inline-pc {
    display: none; } }

@media screen and (min-width: 960px) {
  .inline-sp {
    display: none; } }
@media screen and (max-width: 959px) {
  .inline-sp {
    display: inline; } }

article:not(.mv) {
  padding-top: 100px; }
  @media screen and (min-width: 960px) {
    article:not(.mv) {
      min-width: 1030px;
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 959px) {
    article:not(.mv) {
      width: 100%;
      padding-top: 50px;
      padding-left: 15px;
      padding-right: 15px; } }
  article:not(.mv) h2 {
    position: relative;
    font-size: 28px;
    letter-spacing: .1em;
    font-weight: 900;
    line-height: 40px;
    padding-bottom: 15px;
    margin-bottom: 50px;
    text-align: center;
    color: #005bac; }
    article:not(.mv) h2:before {
      display: block;
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: 0 auto;
      width: 50px;
      height: 2px;
      background-color: #005bac; }
    @media screen and (max-width: 959px) {
      article:not(.mv) h2 {
        font-size: 20px;
        line-height: 30px;
        margin-bottom: 30px; } }
  article:not(.mv) h3 {
    font-size: 20px;
    font-weight: bold;
    color: #005bac;
    letter-spacing: .1em; }
  article:not(.mv) h3.title-icon {
    border: 3px solid;
    border-radius: 11px; }
    article:not(.mv) h3.title-icon span {
      display: inline-block;
      width: 70px;
      height: 70px;
      margin-right: 30px;
      border-radius: 7px 0 0 7px;
      text-align: center;
      line-height: 70px;
      background: #005bac;
      color: white;
      font-size: 24px;
      font-family: "Roboto", sans-serif; }
      article:not(.mv) h3.title-icon span svg {
        width: 40px;
        height: 40px;
        margin-top: 14px;
        vertical-align: -10px;
        fill: white; }
  article:not(.mv) h3.title-lline {
    font-size: 20px;
    font-weight: bold;
    color: #005bac;
    padding-left: 20px;
    letter-spacing: .1em;
    position: relative; }
    article:not(.mv) h3.title-lline:before {
      content: "";
      height: 110%;
      width: 3px;
      background: #005bac;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 0;
      top: 48%; }
    @media screen and (max-width: 959px) {
      article:not(.mv) h3.title-lline {
        line-height: 30px; } }

.inner-1000 {
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 959px) {
    .inner-1000 {
      width: 100%; } }

.inner-800 {
  width: 800px;
  margin: 0 auto; }
  @media screen and (max-width: 959px) {
    .inner-800 {
      width: 100%; } }

.col2 {
  display: flex;
  justify-content: space-between; }
  .col2 .item {
    max-width: 475px;
    width: 100%;
    margin-top: 30px;
    margin-bottom: 30px; }
    .col2 .item h3 {
      margin-bottom: 20px; }
  @media screen and (max-width: 959px) {
    .col2 {
      display: block; }
      .col2 .item {
        margin: 10px 0; }
        .col2 .item:last-of-type {
          margin-top: 20px; }
        .col2 .item h3 {
          font-size: 16px; } }

table {
  width: 100%;
  border-collapse: collapse;
  border: 1px dotted #dedede;
  border-top: none;
  border-left: none; }
  table th, table td {
    padding: 20px;
    border: none;
    border: 1px dotted #dedede;
    border-right: none;
    border-bottom: none;
    vertical-align: top;
    font-weight: 400; }
  table th {
    background: #f8f8f8; }
  table td ul:last-child, table td dl:last-child {
    margin-bottom: 0; }

.bold {
  font-weight: 700; }

.emphasis {
  color: #fbce04;
  font-weight: 700; }

p.attention {
  margin-left: 1em;
  text-indent: -1em;
  font-size: 13px; }

ul.attention {
  margin-top: 10px; }
  ul.attention li {
    margin-left: 1em;
    text-indent: -1em;
    font-size: 13px; }

ul.list-app {
  display: flex;
  margin-top: 20px;
  margin-bottom: 30px;
  justify-content: center; }
  @media screen and (max-width: 959px) {
    ul.list-app {
      flex-wrap: wrap; } }
  ul.list-app li {
    width: 20%; }

ul.list-facility {
  margin-top: 50px; }
  ul.list-facility > li {
    border-radius: 10px;
    margin-bottom: 50px; }
    ul.list-facility > li:last-child {
      margin-bottom: 0; }
  ul.list-facility li > .head-flex {
    display: flex;
    background: #005bac;
    border-radius: 10px;
    overflow: hidden; }
    @media screen and (max-width: 959px) {
      ul.list-facility li > .head-flex {
        flex-flow: column; } }
    ul.list-facility li > .head-flex .img, ul.list-facility li > .head-flex .txt {
      width: 50%; }
      @media screen and (max-width: 959px) {
        ul.list-facility li > .head-flex .img, ul.list-facility li > .head-flex .txt {
          width: 100%; } }
    ul.list-facility li > .head-flex .img {
      position: relative;
      overflow: hidden;
      border: 3px solid #005bac;
      border-radius: 10px 0 0 10px;
      background: white; }
      ul.list-facility li > .head-flex .img img {
        position: absolute;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
      @media screen and (max-width: 959px) {
        ul.list-facility li > .head-flex .img {
          height: 200px;
          border-radius: 10px 10px 0 0; } }
    ul.list-facility li > .head-flex .txt {
      height: 280px;
      position: relative; }
      @media screen and (max-width: 959px) {
        ul.list-facility li > .head-flex .txt {
          padding: 15px;
          height: 240px; } }
      ul.list-facility li > .head-flex .txt .inner {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        color: white;
        left: 30px; }
        ul.list-facility li > .head-flex .txt .inner .category ul {
          display: flex;
          margin-bottom: 20px; }
          ul.list-facility li > .head-flex .txt .inner .category ul li {
            margin-right: 20px;
            background: white;
            padding: 10px 20px;
            border-radius: 10px;
            color: #005bac;
            font-size: 14px;
            font-weight: bold; }
        ul.list-facility li > .head-flex .txt .inner .info {
          margin-top: 20px;
          font-size: 20px; }
          ul.list-facility li > .head-flex .txt .inner .info p {
            font-weight: bold;
            font-family: "Roboto", sans-serif;
            margin-bottom: 10px !important; }
            @media screen and (min-width: 959px) {
              ul.list-facility li > .head-flex .txt .inner .info p {
                font-size: 30px !important; } }
            @media screen and (max-width: 959px) {
              ul.list-facility li > .head-flex .txt .inner .info p {
                font-size: 24px !important; } }
            ul.list-facility li > .head-flex .txt .inner .info p span {
              font-size: 16px;
              margin-right: 10px;
              font-weight: normal;
              font-family: "Roboto", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }
      ul.list-facility li > .head-flex .txt .title-lline {
        font-size: 25px;
        color: white; }
        ul.list-facility li > .head-flex .txt .title-lline:before {
          background: white; }
        @media screen and (max-width: 959px) {
          ul.list-facility li > .head-flex .txt .title-lline {
            font-size: 20px; } }
  ul.list-facility li > ul {
    margin-top: 20px; }
  @media screen and (max-width: 959px) {
    ul.list-facility {
      margin-top: 30px; }
      ul.list-facility > li {
        margin-bottom: 30px; }
        ul.list-facility > li:last-child {
          margin-bottom: 0; }
      ul.list-facility li > .head-flex .img {
        height: 160px; }
      ul.list-facility li > .head-flex .txt {
        height: 160px; }
        ul.list-facility li > .head-flex .txt .inner {
          left: 20px; }
          ul.list-facility li > .head-flex .txt .inner .category > ul {
            margin-bottom: 15px; }
            ul.list-facility li > .head-flex .txt .inner .category > ul > li {
              font-size: 10px;
              padding: 8px 12px;
              margin-right: 10px;
              border-radius: 5px; }
          ul.list-facility li > .head-flex .txt .inner .title-lline {
            line-height: 20px;
            font-size: 20px; }
          ul.list-facility li > .head-flex .txt .inner .info {
            margin-top: 10px; }
            ul.list-facility li > .head-flex .txt .inner .info > div > p {
              font-size: 14px !important;
              margin-bottom: 0 !important; }
              ul.list-facility li > .head-flex .txt .inner .info > div > p span {
                font-size: 14px; } }

ul.list-factory > li {
  display: flex;
  background: #005bac;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 50px; }
  ul.list-factory > li:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 959px) {
    ul.list-factory > li {
      flex-flow: column; } }
  ul.list-factory > li .img, ul.list-factory > li .txt {
    width: 50%; }
    @media screen and (max-width: 959px) {
      ul.list-factory > li .img, ul.list-factory > li .txt {
        width: 100%; } }
  ul.list-factory > li .img {
    position: relative;
    overflow: hidden; }
    ul.list-factory > li .img img {
      position: absolute;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    @media screen and (max-width: 959px) {
      ul.list-factory > li .img {
        height: 200px; } }
  ul.list-factory > li .txt {
    padding: 50px 30px; }
    @media screen and (max-width: 959px) {
      ul.list-factory > li .txt {
        padding: 15px; } }
    ul.list-factory > li .txt .title-lline {
      color: white;
      font-size: 25px;
      margin-bottom: 20px; }
      ul.list-factory > li .txt .title-lline:before {
        background: white; }
      ul.list-factory > li .txt .title-lline span {
        display: block;
        font-size: 14px;
        margin-top: 10px;
        vertical-align: -1px; }
      @media screen and (max-width: 959px) {
        ul.list-factory > li .txt .title-lline {
          font-size: 20px; }
          ul.list-factory > li .txt .title-lline span {
            display: block;
            margin-left: 0; } }
    ul.list-factory > li .txt p {
      color: white; }
    ul.list-factory > li .txt .list li {
      color: white; }
      ul.list-factory > li .txt .list li:before {
        top: 12px;
        background: white; }
      @media screen and (max-width: 959px) {
        ul.list-factory > li .txt .list li:before {
          top: 9px; } }

ul.list-news {
  margin-top: 50px; }
  ul.list-news li:first-child a {
    border-radius: 10px 10px 0 0; }
  ul.list-news li:last-child a {
    border-radius: 0 0 10px 10px; }
  ul.list-news li {
    border-bottom: 3px solid white;
    overflow: hidden;
    white-space: nowrap; }
    ul.list-news li a {
      width: 100%;
      padding: 20px 30px;
      display: inline-block;
      position: relative;
      text-decoration: none;
      line-height: 24px;
      font-size: 14px;
      font-weight: normal;
      background: #f8f8f8;
      transition: all .2s; }
      ul.list-news li a:hover {
        background: #dedede; }
      ul.list-news li a span:nth-child(2) {
        display: inline-block;
        width: 100px;
        height: 24px;
        margin: 0 20px;
        border-radius: 3px;
        color: white;
        text-align: center;
        font-weight: bolder;
        font-size: 14px; }
      ul.list-news li a span.info {
        background-color: #005bac; }
      ul.list-news li a span.blog {
        background-color: #979797; }
      ul.list-news li a span.date {
        font-weight: bold; }
      ul.list-news li a p {
        display: inline;
        font-size: inherit;
        margin-bottom: 0; }
    @media screen and (max-width: 959px) {
      ul.list-news li a {
        font-size: 10px; }
        ul.list-news li a span.data {
          font-size: 12px; }
        ul.list-news li a span:nth-child(2) {
          height: 20px;
          width: 50px;
          margin: 0 10px;
          line-height: 21px;
          font-size: 10px; }
        ul.list-news li a p {
          display: block;
          margin-top: 10px;
          white-space: normal;
          font-size: inherit;
          margin-bottom: 0 !important; } }

ul.list-draft {
  zoom: 1; }
  ul.list-draft:before, ul.list-draft:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  ul.list-draft:after {
    clear: both; }
  ul.list-draft > li {
    float: left;
    margin-right: 30px; }
    @media screen and (max-width: 959px) {
      ul.list-draft > li {
        margin-right: 10px; } }
    ul.list-draft > li img {
      height: 100px;
      border: 1px solid #dedede; }
      @media screen and (max-width: 959px) {
        ul.list-draft > li img {
          height: 70px; } }

ul.list-detail > li {
  margin-bottom: 50px; }
  ul.list-detail > li:last-child {
    margin-bottom: 0; }
ul.list-detail .title h3 {
  border: 3px solid;
  border-radius: 11px 11px 0 0; }
  ul.list-detail .title h3 span {
    display: inline-block;
    width: 70px;
    height: 70px;
    margin-right: 30px;
    border-radius: 7px 0 0 0;
    text-align: center;
    line-height: 70px;
    background: #005bac;
    color: white;
    font-size: 24px;
    font-family: "Roboto", sans-serif; }
    ul.list-detail .title h3 span svg {
      width: 40px;
      height: 40px;
      margin-top: 14px;
      vertical-align: -10px;
      fill: white; }
  @media screen and (max-width: 959px) {
    ul.list-detail .title h3 {
      font-size: 16px;
      position: relative;
      padding: 10px;
      padding-left: 50px;
      line-height: 22px; }
      ul.list-detail .title h3 span {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 40px;
        line-height: 40px;
        vertical-align: -6px;
        margin-right: 10px; }
        ul.list-detail .title h3 span svg {
          width: 20px;
          height: 100%;
          margin-top: 0;
          vertical-align: 2px; } }
ul.list-detail .txt {
  padding: 30px;
  background: #f8f8f8;
  border-radius: 0 0 10px 10px;
  border-top: none; }
  ul.list-detail .txt p:last-of-type {
    margin-bottom: 0 !important; }
  @media screen and (max-width: 959px) {
    ul.list-detail .txt {
      padding: 15px; } }

ul.list-faq {
  margin-top: 50px; }
  ul.list-faq li {
    position: relative;
    background: white;
    transition: all .2s;
    padding: 20px auto;
    margin: 50px auto; }
    @media screen and (max-width: 959px) {
      ul.list-faq li {
        margin: 30px auto; } }
    ul.list-faq li:last-child {
      margin-bottom: 0; }
    ul.list-faq li .answer,
    ul.list-faq li .question {
      padding: 30px;
      position: relative; }
      ul.list-faq li .answer svg,
      ul.list-faq li .question svg {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        display: inline-block;
        width: 40px;
        height: 40px;
        fill: white; }
      ul.list-faq li .answer p,
      ul.list-faq li .question p {
        display: inline-block;
        margin-bottom: 0 !important;
        padding-left: 70px; }
      @media screen and (max-width: 959px) {
        ul.list-faq li .answer,
        ul.list-faq li .question {
          padding: 15px; }
          ul.list-faq li .answer svg,
          ul.list-faq li .question svg {
            width: 30px;
            height: 30px; }
          ul.list-faq li .answer p,
          ul.list-faq li .question p {
            padding-left: 47px;
            padding-right: 20px; } }
    ul.list-faq li .question {
      position: relative;
      transition: all .2s;
      cursor: pointer;
      background: #005bac;
      color: white;
      border-radius: 10px;
      z-index: 2; }
      ul.list-faq li .question:after {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        content: "+";
        color: white;
        font-size: 22px;
        right: 30px;
        font-weight: bold; }
      ul.list-faq li .question.on {
        border-radius: 10px 10px 0 0; }
        ul.list-faq li .question.on:after {
          content: "-"; }
      @media screen and (min-width: 960px) {
        ul.list-faq li .question p {
          font-size: 20px !important;
          font-weight: bold; } }
      @media screen and (max-width: 959px) {
        ul.list-faq li .question:after {
          right: 15px; }
        ul.list-faq li .question p {
          font-size: 16px;
          font-weight: bold; } }
    ul.list-faq li .answer {
      display: none;
      background: #f5f5f5;
      min-height: 0px;
      border-radius: 0 0 10px 10px; }
      ul.list-faq li .answer svg {
        fill: #fbce04; }

ul.list-serv {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 959px) {
    ul.list-serv {
      display: block; } }
  ul.list-serv li {
    position: relative;
    margin-top: 41px;
    width: 30%;
    border-radius: 10px;
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.05);
    background: white;
    transition: all .3s; }
    @media screen and (max-width: 959px) {
      ul.list-serv li {
        width: 100%;
        margin-top: 60px; } }
    ul.list-serv li:hover {
      box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.2); }
    ul.list-serv li a {
      text-decoration: none; }
    ul.list-serv li .icon {
      display: flex;
      justify-content: center;
      position: absolute;
      top: -41px;
      left: 0;
      right: 0;
      margin: 0 auto;
      width: 82px;
      height: 82px;
      border-radius: 50%;
      background: #005bac; }
      ul.list-serv li .icon img,
      ul.list-serv li .icon svg {
        fill: white;
        width: 38px; }
    ul.list-serv li .img {
      border-radius: 10px 10px 0 0;
      overflow: hidden; }
    ul.list-serv li h3 {
      text-align: center;
      color: #005bac;
      font-size: 18px;
      font-weight: 900;
      margin-top: 30px;
      margin-bottom: 20px; }
    ul.list-serv li .txt {
      margin: 0 20px;
      padding-bottom: 30px;
      border-bottom: 1px solid #f0f0f0;
      color: #212121;
      text-align: center;
      line-height: 20px;
      font-size: 14px;
      letter-spacing: .1em; }
      @media screen and (max-width: 959px) {
        ul.list-serv li .txt p {
          margin-bottom: 0 !important; } }
    ul.list-serv li .more {
      text-align: center;
      padding: 15px 0 20px; }
      ul.list-serv li .more p {
        position: relative;
        text-align: center;
        font-size: 14px;
        font-weight: bold;
        text-decoration: none;
        color: #005bac; }
        ul.list-serv li .more p .icon-arrow {
          padding-left: 0;
          padding-right: 5px; }
  ul.list-serv li.on .more {
    background: #005bac;
    border-radius: 0 0 10px 10px; }
    ul.list-serv li.on .more p {
      color: white; }
    ul.list-serv li.on .more i {
      transform: rotate(-90deg);
      display: inline-block;
      vertical-align: -1px;
      padding: 10px; }

ul.list-flow {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 959px) {
    ul.list-flow {
      display: block; } }
  ul.list-flow li {
    width: 100px;
    position: relative; }
    @media screen and (max-width: 959px) {
      ul.list-flow li {
        width: 100%;
        height: 80px;
        margin-bottom: 40px; }
        ul.list-flow li:last-child {
          margin-bottom: 0; }
        ul.list-flow li:after {
          position: absolute;
          content: "";
          border-top: 10px solid #005bac;
          border-right: 65px solid transparent;
          border-left: 65px solid transparent;
          bottom: -16px;
          left: 0;
          right: 0;
          margin: 0 auto;
          width: 90px; }
        ul.list-flow li:before {
          position: absolute;
          content: "";
          border-top: 10px solid white;
          border-right: 45px solid transparent;
          border-left: 45px solid transparent;
          bottom: -18px;
          left: 0;
          right: 0;
          margin: 0 auto;
          width: 90px; } }
    ul.list-flow li span:first-child {
      display: block;
      width: 100px;
      height: 25px;
      border-radius: 5px;
      padding-top: 8px;
      background: #357dbd;
      text-align: center;
      font-weight: bold;
      font-size: 14px;
      color: white; }
      ul.list-flow li span:first-child.customer {
        background: white;
        color: #005bac; }
      @media screen and (max-width: 959px) {
        ul.list-flow li span:first-child {
          position: absolute;
          left: 81px; } }
    ul.list-flow li span:nth-child(2) {
      position: relative;
      display: block;
      width: 100%;
      padding: 20px 0;
      font-family: "Roboto", sans-serif;
      font-size: 30px;
      font-weight: bolder;
      text-align: center;
      color: white; }
      ul.list-flow li span:nth-child(2):before {
        display: block;
        content: "";
        position: absolute;
        right: -35%;
        top: 50%;
        width: 32%;
        height: 2px;
        background: white;
        transform: translateY(-50%); }
      ul.list-flow li span:nth-child(2):after {
        display: block;
        content: "";
        position: absolute;
        top: calc(50% - 2px);
        right: -40%;
        border-bottom: 6px solid white;
        border-right: 6px solid transparent;
        transform: translateY(-50%); }
      @media screen and (max-width: 959px) {
        ul.list-flow li span:nth-child(2) {
          position: absolute;
          right: 0px;
          padding-top: 20px;
          width: 32px; }
          ul.list-flow li span:nth-child(2):after {
            content: none; }
          ul.list-flow li span:nth-child(2):before {
            top: 49%;
            right: -15px; } }
    ul.list-flow li div.icon {
      width: 100px;
      height: 100px;
      border-radius: 10px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: white; }
      ul.list-flow li div.icon svg {
        width: 50px;
        height: 50px;
        fill: #005bac; }
      @media screen and (max-width: 959px) {
        ul.list-flow li div.icon {
          float: left;
          width: 70px;
          height: 70px; }
          ul.list-flow li div.icon svg {
            width: 35px; } }
    ul.list-flow li h3 {
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      font-size: 18px;
      line-height: 24px;
      color: white;
      margin-top: 20px;
      height: 160px;
      margin-left: 35px; }
      @media screen and (max-width: 959px) {
        ul.list-flow li h3 {
          writing-mode: unset;
          float: left;
          padding-top: 35px;
          height: auto;
          font-size: 14px;
          margin: 12px; } }
  @media screen and (max-width: 959px) {
    ul.list-flow li:last-child:before, ul.list-flow li:last-child:after {
      content: none; } }
  @media screen and (min-width: 960px) {
    ul.list-flow li:last-child span:nth-child(2):before, ul.list-flow li:last-child span:nth-child(2):after {
      content: none; } }
  ul.list-flow li:nth-child(3) {
    height: 144px; }
    ul.list-flow li:nth-child(3) .btn-ballon {
      margin-top: 0 !important;
      position: absolute;
      left: 0;
      right: 0;
      top: 80px;
      margin: 0 auto;
      width: 300px; }

@media screen and (min-width: 960px) {
  ul.list-flow:not(.design-flow) li:first-child h3 {
    margin-left: 25px; } }
@media screen and (min-width: 960px) {
  ul.design-flow li:nth-child(6) h3 {
    height: 160px; } }
ul.list-board {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 100px;
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 959px) {
    ul.list-board {
      flex-wrap: wrap;
      padding-bottom: 50px; } }
  ul.list-board li {
    width: 30%;
    position: relative;
    padding: 30px;
    border: 3px solid #005bac;
    border-radius: 10px;
    transition: all .2s; }
    ul.list-board li:hover {
      box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.4); }
    @media screen and (max-width: 959px) {
      ul.list-board li {
        width: 100%;
        margin-bottom: 45px; }
        ul.list-board li:last-child {
          margin-bottom: 0; } }
    ul.list-board li a {
      text-decoration: none; }
    ul.list-board li .icon {
      position: absolute;
      top: -20px;
      left: 0;
      right: 0;
      background: #005bac;
      width: 150px;
      height: 80px;
      border-radius: 10px;
      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
      text-align: center;
      margin: 0 auto; }
      ul.list-board li .icon svg {
        width: 50px;
        height: 80px; }
    ul.list-board li h3 {
      position: relative;
      padding: 80px 0 30px;
      margin-bottom: 20px;
      font-weight: 900;
      color: #005bac;
      font-size: 18px;
      text-align: center; }
      @media screen and (max-width: 959px) {
        ul.list-board li h3 {
          padding-top: 60px; } }
      ul.list-board li h3:before {
        content: "";
        display: block;
        width: 100px;
        height: 3px;
        background: #005bac;
        margin: 0 auto;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0; }
    ul.list-board li p {
      font-size: 14px;
      color: #005bac;
      letter-spacing: .1em;
      line-height: 20px; }

ul.list-num {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  margin-top: 85px;
  margin-bottom: -85px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 959px) {
    ul.list-num {
      margin-top: 30px;
      margin-bottom: -30px;
      flex-flow: column; } }
  ul.list-num li {
    width: 30%;
    position: relative;
    margin-bottom: 70px; }
    @media screen and (max-width: 959px) {
      ul.list-num li {
        width: 100%; }
        ul.list-num li:last-child {
          margin-bottom: 0; } }
    ul.list-num li a {
      display: block;
      border-radius: 10px;
      padding: 20px;
      box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.05);
      text-decoration: none;
      background: white;
      transition: all .3s; }
      ul.list-num li a span {
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        top: -35px;
        border: 10px solid white;
        box-sizing: content-box;
        display: flex;
        width: 40px;
        height: 40px;
        background: #005bac;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        font-weight: bold;
        color: white;
        border-radius: 50%; }
      ul.list-num li a .title {
        margin-top: 25px;
        margin-bottom: 20px;
        border-bottom: 3px dotted #005bac;
        display: flex;
        justify-content: center;
        align-items: center; }
        ul.list-num li a .title h3 {
          padding-bottom: 15px;
          text-align: center;
          font-size: 18px;
          font-weight: 900;
          letter-spacing: .1em;
          color: #005bac;
          line-height: 30px; }
      ul.list-num li a .txt {
        margin-bottom: 20px; }
        ul.list-num li a .txt p {
          line-height: 20px;
          font-size: 14px; }
      ul.list-num li a:hover {
        box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.4); }

ul.list-num-col2 {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  margin-top: 85px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  ul.list-num-col2 li {
    max-width: 475px;
    width: 100%;
    position: relative;
    display: block;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    background: white;
    transition: all .3s; }
    @media screen and (max-width: 959px) {
      ul.list-num-col2 li {
        margin-bottom: 50px; } }
    ul.list-num-col2 li:last-child {
      margin-bottom: 0; }
    ul.list-num-col2 li span {
      position: absolute;
      left: 0;
      right: 0;
      margin: 0 auto;
      top: -35px;
      border: 10px solid white;
      box-sizing: content-box;
      display: flex;
      width: 40px;
      height: 40px;
      background: #005bac;
      justify-content: center;
      align-items: center;
      font-size: 14px;
      font-weight: bold;
      color: white;
      border-radius: 50%; }
    ul.list-num-col2 li .title {
      margin-top: 25px;
      margin-bottom: 20px;
      border-bottom: 3px dotted #005bac;
      display: flex;
      justify-content: center;
      align-items: center; }
      ul.list-num-col2 li .title h3 {
        padding-bottom: 15px;
        text-align: center;
        font-size: 18px;
        font-weight: 900;
        letter-spacing: .1em;
        color: #005bac;
        line-height: 30px; }
    ul.list-num-col2 li .txt {
      margin-bottom: 20px; }
      ul.list-num-col2 li .txt p {
        line-height: 20px;
        font-size: 14px; }

ul.list-post {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  ul.list-post li {
    width: 30%;
    margin-right: 50px; }
    ul.list-post li:nth-child(3n) {
      margin-right: 0; }
    @media screen and (max-width: 959px) {
      ul.list-post li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px; }
        ul.list-post li:last-child {
          margin-bottom: 0 !important; } }
    ul.list-post li a {
      text-decoration: none; }
      @media screen and (min-width: 960px) {
        ul.list-post li a:hover .img img {
          transform: scale(1.05); } }
    ul.list-post li .img {
      border-radius: 10px;
      overflow: hidden;
      height: 200px;
      background: #DEDEDE; }
      ul.list-post li .img img {
        transition: all .3s; }
      @media screen and (max-width: 959px) {
        ul.list-post li .img {
          position: relative;
          background: white;
          height: 200px;
          width: 100%; }
          ul.list-post li .img img {
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); } }
    ul.list-post li h3 {
      position: relative;
      display: block;
      height: 45px;
      width: 100%;
      border-radius: 10px;
      margin-top: 20px;
      background: white;
      text-align: center;
      color: #005bac;
      font-weight: bold;
      font-size: 14px;
      padding-top: 16px;
      transition: all .2s; }
      ul.list-post li h3:before, ul.list-post li h3:after {
        display: block;
        content: "";
        width: 3px;
        height: 14px;
        background: white;
        position: absolute;
        top: -18px; }
      ul.list-post li h3:before {
        left: 20px; }
      ul.list-post li h3:after {
        right: 20px; }

ul.list li {
  position: relative;
  padding-left: 1em;
  line-height: 30px; }
  ul.list li:last-child {
    margin-bottom: 0; }
  ul.list li:before {
    position: absolute;
    display: block;
    content: '';
    top: 14px;
    left: 0;
    width: 6px;
    height: 6px;
    background: #005bac;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%; }
  @media screen and (max-width: 959px) {
    ul.list li {
      font-size: 14px;
      line-height: 24px; }
      ul.list li:before {
        top: 9px; } }

ol.num {
  list-style-position: outside; }
  ol.num li {
    padding: 0 35px 0 35px;
    margin-bottom: 10px;
    position: relative;
    line-height: 30px; }
    @media screen and (max-width: 959px) {
      ol.num li {
        padding-right: 0; } }
    ol.num li span {
      position: absolute;
      left: 0;
      width: 25px;
      height: 25px;
      color: white;
      font-weight: bold;
      font-size: 12px;
      text-align: center;
      z-index: 99; }
      ol.num li span:before {
        content: "";
        display: block;
        position: absolute;
        width: 25px;
        height: 25px;
        background: #005bac;
        border-radius: 2px;
        z-index: -1;
        top: 2px; }
    ol.num li:last-child {
      margin-bottom: 0; }

.data-list dl {
  line-height: 30px;
  margin-bottom: 10px; }
  .data-list dl dt, .data-list dl dd {
    padding: 0 25px 0 20px; }
    @media screen and (max-width: 959px) {
      .data-list dl dt, .data-list dl dd {
        padding-right: 0; } }
  .data-list dl dt {
    position: relative;
    font-weight: bold;
    z-index: 99; }
    .data-list dl dt:before {
      content: "";
      display: block;
      position: absolute;
      width: 10px;
      height: 10px;
      background: #005bac;
      border-radius: 2px;
      left: 0;
      z-index: -1;
      top: 9px; }

.btn {
  text-align: center; }
  .btn a {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    height: 60px;
    min-width: 290px;
    box-sizing: border-box;
    padding: 20px 20px 0;
    border: 3px solid white;
    border-radius: 30px;
    color: white;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    transition: all .2s;
    text-transform: uppercase;
    overflow: hidden;
    z-index: 99; }
    .btn a:after {
      position: absolute;
      transition: .3s;
      content: '';
      width: 0;
      left: 50%;
      bottom: 0;
      height: 3px;
      background: white;
      height: 120%;
      left: -10%;
      transform: skewX(15deg);
      z-index: -1; }
    @media screen and (min-width: 960px) {
      .btn a:hover {
        color: #005bac;
        background: white; }
        .btn a:hover:after {
          left: -10%;
          width: 120%; } }
  @media screen and (max-width: 959px) {
    .btn {
      margin-top: 30px; }
      .btn a {
        font-size: 14px;
        height: 50px;
        padding: 15px; } }

.btn.blue {
  margin-top: 50px; }
  .btn.blue a {
    border: 3px solid #005bac;
    color: #005bac; }
    .btn.blue a:after {
      background: #005bac; }
    .btn.blue a:hover {
      color: white;
      background: #005bac; }

.btn-ballon a {
  position: relative;
  display: inline-block;
  min-width: 400px;
  height: 50px;
  padding-top: 16px;
  margin-top: 12px;
  border-radius: 10px;
  box-shadow: 0px 3px 0px 0px #ab8c02;
  background: #fbce04;
  color: #005bac;
  font-weight: 900;
  font-size: 18px;
  text-decoration: none;
  text-align: center;
  letter-spacing: .1em; }
  .btn-ballon a i {
    margin-left: 10px; }
  .btn-ballon a:after {
    content: "";
    display: block;
    position: absolute;
    width: 28px;
    top: -12px;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-bottom: 12px solid #fbce04;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent; }
  .btn-ballon a:hover {
    background: #E0B904;
    box-shadow: 0px 2px 0px 0px #ab8c02;
    margin-top: 13px;
    margin-bottom: -1px; }
    .btn-ballon a:hover:after {
      border-bottom: 12px solid #E0B904; }
  @media screen and (max-width: 959px) {
    .btn-ballon a {
      min-width: 290px;
      font-size: 14px;
      height: 40px;
      padding-top: 12px; } }

.btn-link {
  text-align: center; }
  @media screen and (min-width: 960px) {
    .btn-link {
      padding: 50px 0 0; } }
  @media screen and (max-width: 959px) {
    .btn-link {
      padding: 30px 0 0; } }
  .btn-link a {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 0;
    border: 1px solid #005bac;
    background: #005bac;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px; }
    @media screen and (min-width: 960px) {
      .btn-link a {
        min-width: 300px;
        line-height: 60px;
        transition: all 0.3s;
        -moz-transition: all 0.3s;
        -webkit-transition: all 0.3s; }
        .btn-link a:hover {
          background: rgba(0, 91, 172, 0.1);
          color: #005bac !important; } }
    @media screen and (max-width: 959px) {
      .btn-link a {
        width: 90%;
        margin: auto; } }
  @media screen and (min-width: 960px) {
    .btn-link li {
      display: inline-block;
      margin: 0 15px; } }
  @media screen and (max-width: 959px) {
    .btn-link li {
      margin-bottom: 15px; }
      .btn-link li:last-child {
        margin-bottom: 0; } }
  .btn-link i {
    right: 15px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }

.wp-pagenavi {
  padding-top: 50px;
  line-height: 1;
  text-align: center;
  font-size: 14px; }
  .wp-pagenavi span, .wp-pagenavi a {
    display: inline-block;
    width: 35px;
    margin: 0 1px 0 2px;
    *display: inline;
    *zoom: 1;
    line-height: 35px; }
  .wp-pagenavi .current {
    border: solid 1px #005bac;
    background: #005bac;
    color: #fff; }
  .wp-pagenavi .extend {
    padding: 0; }
  .wp-pagenavi .first, .wp-pagenavi .last {
    width: auto;
    padding: 0 10px; }
  .wp-pagenavi .pages {
    width: auto;
    margin-right: 5px; }
  .wp-pagenavi a {
    border: solid 1px #ddd;
    background: #fff;
    color: #aaa;
    text-decoration: none; }
  .wp-pagenavi a:hover {
    border: solid 1px #005bac;
    background: #fff;
    color: #000; }

.img-btm, .img-top {
  text-align: center; }

@media screen and (min-width: 960px) {
  .img-top {
    padding-bottom: 30px; } }
@media screen and (max-width: 959px) {
  .img-top {
    padding-bottom: 20px; } }
@media screen and (max-width: 767px) {
  .img-top {
    padding-bottom: 15px; } }

@media screen and (min-width: 960px) {
  .img-btm {
    padding-top: 30px; } }
@media screen and (max-width: 959px) {
  .img-btm {
    padding-top: 20px; } }
@media screen and (max-width: 767px) {
  .img-btm {
    padding-top: 15px; } }

@media screen and (max-width: 959px) {
  .map {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden; }
    .map iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }
.clm5, .clm4, .clm3, .clm2 {
  position: relative;
  zoom: 1; }
  .clm5:before, .clm5:after, .clm4:before, .clm4:after, .clm3:before, .clm3:after, .clm2:before, .clm2:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  .clm5:after, .clm4:after, .clm3:after, .clm2:after {
    clear: both; }
  .clm5 .item, .clm5 li, .clm4 .item, .clm4 li, .clm3 .item, .clm3 li, .clm2 .item, .clm2 li {
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

.clm5 {
  margin: 0 -5px; }
  .clm5 .item, .clm5 li {
    width: 20%;
    padding: 0 5px; }

.clm4 {
  margin: 0 -10px; }
  .clm4 .item, .clm4 li {
    width: 25%;
    padding: 0 10px; }

.clm3 {
  margin: 0 -15px; }
  .clm3 .item, .clm3 li {
    width: 33.33333%;
    padding: 0 15px; }

.clm2 {
  margin: 0 -20px; }
  .clm2 .item, .clm2 li {
    width: 50%;
    padding: 0 20px; }

/* =========================================================
	fade
========================================================= */
#js_fade {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 999999; }
  #js_fade .sk-fading-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px; }
    #js_fade .sk-fading-circle .sk-circle {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
    #js_fade .sk-fading-circle .sk-circle:before {
      content: '';
      display: block;
      margin: 0 auto;
      width: 15%;
      height: 15%;
      background-color: #005bac;
      border-radius: 100%;
      -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
      animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; }
    #js_fade .sk-fading-circle .sk-circle2 {
      transform: rotate(30deg);
      -moz-transform: rotate(30deg);
      -webkit-transform: rotate(30deg); }
    #js_fade .sk-fading-circle .sk-circle3 {
      transform: rotate(60deg);
      -moz-transform: rotate(60deg);
      -webkit-transform: rotate(60deg); }
    #js_fade .sk-fading-circle .sk-circle4 {
      transform: rotate(90deg);
      -moz-transform: rotate(90deg);
      -webkit-transform: rotate(90deg); }
    #js_fade .sk-fading-circle .sk-circle5 {
      transform: rotate(120deg);
      -moz-transform: rotate(120deg);
      -webkit-transform: rotate(120deg); }
    #js_fade .sk-fading-circle .sk-circle6 {
      transform: rotate(150deg);
      -moz-transform: rotate(150deg);
      -webkit-transform: rotate(150deg); }
    #js_fade .sk-fading-circle .sk-circle7 {
      transform: rotate(180deg);
      -moz-transform: rotate(180deg);
      -webkit-transform: rotate(180deg); }
    #js_fade .sk-fading-circle .sk-circle8 {
      transform: rotate(210deg);
      -moz-transform: rotate(210deg);
      -webkit-transform: rotate(210deg); }
    #js_fade .sk-fading-circle .sk-circle9 {
      transform: rotate(240deg);
      -moz-transform: rotate(240deg);
      -webkit-transform: rotate(240deg); }
    #js_fade .sk-fading-circle .sk-circle10 {
      transform: rotate(270deg);
      -moz-transform: rotate(270deg);
      -webkit-transform: rotate(270deg); }
    #js_fade .sk-fading-circle .sk-circle11 {
      transform: rotate(300deg);
      -moz-transform: rotate(300deg);
      -webkit-transform: rotate(300deg); }
    #js_fade .sk-fading-circle .sk-circle12 {
      transform: rotate(330deg);
      -moz-transform: rotate(330deg);
      -webkit-transform: rotate(330deg); }
    #js_fade .sk-fading-circle .sk-circle2:before {
      animation-delay: -1.1s;
      -moz-animation-delay: -1.1s;
      -webkit-animation-delay: -1.1s; }
    #js_fade .sk-fading-circle .sk-circle3:before {
      animation-delay: -1s;
      -moz-animation-delay: -1s;
      -webkit-animation-delay: -1s; }
    #js_fade .sk-fading-circle .sk-circle4:before {
      animation-delay: -0.9s;
      -moz-animation-delay: -0.9s;
      -webkit-animation-delay: -0.9s; }
    #js_fade .sk-fading-circle .sk-circle5:before {
      animation-delay: -0.8s;
      -moz-animation-delay: -0.8s;
      -webkit-animation-delay: -0.8s; }
    #js_fade .sk-fading-circle .sk-circle6:before {
      animation-delay: -0.7s;
      -moz-animation-delay: -0.7s;
      -webkit-animation-delay: -0.7s; }
    #js_fade .sk-fading-circle .sk-circle7:before {
      animation-delay: -0.6s;
      -moz-animation-delay: -0.6s;
      -webkit-animation-delay: -0.6s; }
    #js_fade .sk-fading-circle .sk-circle8:before {
      animation-delay: -0.5s;
      -moz-animation-delay: -0.5s;
      -webkit-animation-delay: -0.5s; }
    #js_fade .sk-fading-circle .sk-circle9:before {
      animation-delay: -0.4s;
      -moz-animation-delay: -0.4s;
      -webkit-animation-delay: -0.4s; }
    #js_fade .sk-fading-circle .sk-circle10:before {
      animation-delay: -0.3s;
      -moz-animation-delay: -0.3s;
      -webkit-animation-delay: -0.3s; }
    #js_fade .sk-fading-circle .sk-circle11:before {
      animation-delay: -0.2s;
      -moz-animation-delay: -0.2s;
      -webkit-animation-delay: -0.2s; }
    #js_fade .sk-fading-circle .sk-circle12:before {
      animation-delay: -0.1s;
      -moz-animation-delay: -0.1s;
      -webkit-animation-delay: -0.1s; }

@-webkit-keyframes sk-circleFadeDelay {
  0%, 39%, 100% {
    opacity: 0; }
  40% {
    opacity: 1; } }
@keyframes sk-circleFadeDelay {
  0%, 39%, 100% {
    opacity: 0; }
  40% {
    opacity: 1; } }
/* =========================================================
	#wrapper
========================================================= */
#wrapper {
  width: 100%;
  height: 100%;
  margin: 0 auto; }

@media screen and (max-width: 959px) {
  #wrapper {
    padding-top: 60px; } }
/* =========================================================
	.contents
========================================================= */
.contents {
  zoom: 1; }
  .contents:before, .contents:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  .contents:after {
    clear: both; }

/* =========================================================
	.pagetitle
========================================================= */
.pagetitle {
  position: relative;
  width: 100%;
  height: 300px;
  margin-top: 0 !important;
  padding: 0 !important;
  text-align: center;
  background-color: #005bac; }
  @media screen and (min-width: 960px) {
    .pagetitle {
      min-width: 1030px; } }
  .pagetitle:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    width: 92px;
    height: 46px;
    background-image: url(/common/images/bus-pagetitle.png);
    background-size: contain;
    z-index: 99; }
  .pagetitle:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 116px;
    background-image: url(/common/images/bk-pagetitle.png?2); }
  @media screen and (max-width: 959px) {
    .pagetitle {
      height: 150px;
      z-index: 1; }
      .pagetitle:before {
        width: 43px;
        height: 22px;
        z-index: 1; }
      .pagetitle:after {
        height: 56px;
        background-size: cover;
        z-index: -1; } }
  .pagetitle h1 {
    padding-top: 90px;
    color: white;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: .1em; }
    .pagetitle h1 span {
      display: block;
      font-size: 20px;
      font-family: "Roboto", sans-serif;
      font-weight: 900;
      margin-bottom: 20px;
      height: 18px;
      margin-top: 29px;
      letter-spacing: .1em; }
    @media screen and (max-width: 959px) {
      .pagetitle h1 {
        line-height: 30px;
        width: 100%;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        padding-top: 0;
        font-size: 22px;
        z-index: 1; }
        .pagetitle h1 span {
          margin-top: 0px;
          font-size: 14px; } }

/* =========================================================
	header
========================================================= */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 200px;
  height: 100%;
  box-sizing: border-box;
  border-bottom: 5px solid #005bac;
  background: white;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
  z-index: 999; }
  @media screen and (max-width: 959px) {
    header {
      width: 100%;
      height: 60px;
      border-bottom: none; } }
  header .list-header {
    position: absolute;
    bottom: 18px;
    right: 60px;
    display: flex; }
    header .list-header li {
      margin-left: 8px;
      padding: 3px 10px 5px;
      position: relative;
      background: #005bac;
      border-radius: 4px; }
      header .list-header li a {
        text-decoration: none;
        font-size: 11px;
        color: white;
        font-weight: bold; }
  header.on {
    position: absolute; }
  @media screen and (max-width: 959px) {
    header .head-inner {
      position: relative;
      width: 100%;
      height: 100%; } }
  header .head-logo {
    width: 100%;
    padding: 10px 0;
    text-align: center;
    border-bottom: 1px solid #dedede; }
    header .head-logo svg {
      width: 80px;
      fill: #005bac; }
    @media screen and (max-width: 959px) {
      header .head-logo {
        width: auto;
        padding: 10px 20px !important;
        position: absolute;
        border: none; }
        header .head-logo svg {
          height: 40px !important;
          width: 48px !important; } }
  header .gnav {
    margin-top: 30px; }
    header .gnav li {
      position: relative;
      padding: 18px 0;
      text-align: center;
      background: white; }
      header .gnav li a {
        display: block;
        position: relative;
        width: 100%;
        font-size: 14px;
        line-height: 20px;
        text-decoration: none;
        text-align: center;
        font-weight: bold; }
        header .gnav li a:before {
          display: block;
          content: "";
          width: 5px;
          height: 120%;
          background-color: #005bac;
          position: absolute;
          right: 0;
          top: -15%;
          opacity: 0;
          transition: all .3s; }
        @media screen and (min-width: 960px) {
          header .gnav li a:hover:before {
            opacity: 1; } }
      header .gnav li:before {
        display: block;
        content: "";
        width: 20px;
        height: 1px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0px;
        margin: 0 auto;
        background-color: #dedede; }
      header .gnav li:last-child:before {
        content: none; }
      header .gnav li:first-child a {
        font-family: "Roboto", sans-serif; }
      header .gnav li.on a:before {
        opacity: 1; }
      @media screen and (min-width: 960px) {
        header .gnav li.drop1:hover ul, header .gnav li.drop2:hover ul {
          transform: translateX(100%);
          opacity: 1; }
          header .gnav li.drop1:hover ul li:nth-child(4), header .gnav li.drop1:hover ul li:nth-child(5), header .gnav li.drop1:hover ul li:nth-child(6), header .gnav li.drop2:hover ul li:nth-child(4), header .gnav li.drop2:hover ul li:nth-child(5), header .gnav li.drop2:hover ul li:nth-child(6) {
            display: block; } }
      header .gnav li.drop1 ul, header .gnav li.drop2 ul {
        position: absolute;
        width: 100%;
        top: 0;
        background: white;
        box-shadow: 8px 0 10px -8px rgba(0, 0, 0, 0.4) inset;
        border: 3px solid #dedede;
        border-left: none;
        border-radius: 0 10px 10px 0;
        opacity: 0;
        z-index: -1;
        transition: all .2s; }
        header .gnav li.drop1 ul li, header .gnav li.drop2 ul li {
          background: transparent; }
    @media screen and (min-width: 960px) {
      header .gnav > li:last-child {
        padding-bottom: 200px; } }
  @media screen and (max-width: 959px) {
    header .menu .gnav {
      display: none;
      position: absolute;
      top: 60px;
      left: 0;
      right: 0;
      background: #005bac;
      margin-top: 0; }
      header .menu .gnav > li {
        background: #005bac;
        color: white; }
        header .menu .gnav > li.drop1, header .menu .gnav > li.drop2 {
          padding: 18px 15px 0; }
          header .menu .gnav > li.drop1:before, header .menu .gnav > li.drop2:before {
            content: none; }
      header .menu .gnav li a {
        color: white; }
      header .menu .gnav li ul {
        display: block;
        zoom: 1;
        position: static;
        width: auto;
        opacity: 1;
        background: rgba(255, 255, 255, 0.1);
        border: none;
        margin-top: 17px;
        box-shadow: none;
        border-radius: 10px; }
        header .menu .gnav li ul:before, header .menu .gnav li ul:after {
          content: "";
          display: table;
          height: 0;
          visibility: hidden; }
        header .menu .gnav li ul:after {
          clear: both; }
        header .menu .gnav li ul li {
          float: left;
          width: 50%;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          padding: 0; }
          header .menu .gnav li ul li a {
            padding: 15px 10px;
            font-size: 12px; }
            header .menu .gnav li ul li a i {
              margin-right: 3px;
              font-size: 11px; }
      header .menu .gnav .drop1 ul li:nth-last-child(-n + 2):before {
        content: none; } }
  header .contact {
    position: absolute;
    width: 100%;
    bottom: 50px;
    text-align: center;
    transition: all .2s; }
    @media screen and (min-width: 960px) {
      header .contact:hover {
        opacity: .6; } }
    @media screen and (max-width: 959px) {
      header .contact {
        display: none; } }
  @media screen and (max-width: 959px) {
    header .sp-nav {
      display: block;
      position: absolute;
      top: 5px;
      right: 10px;
      width: 50px;
      height: 50px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      z-index: 9999;
      line-height: 1;
      cursor: pointer; }
      header .sp-nav figure {
        position: absolute;
        left: 50%;
        top: 50%;
        display: block;
        width: 26px;
        height: 2px;
        margin: -1px 0 0 -13px;
        border-radius: 2px;
        background: #005bac;
        transition: all 0.3s;
        transform: rotate(0deg); }
        header .sp-nav figure:first-child {
          transform: translateY(-7px); }
        header .sp-nav figure:last-child {
          transform: translateY(7px); }
      header .sp-nav.on figure:first-child {
        transform: rotate(-45deg) translateY(0px); }
      header .sp-nav.on figure:nth-child(2) {
        -webkit-transform: scaleX(0);
        -moz-transform: scaleX(0);
        -ms-transform: scaleX(0);
        -o-transform: scaleX(0);
        transform: scaleX(0); }
      header .sp-nav.on figure:last-child {
        transform: rotate(45deg) translateY(0px); } }
  @media screen and (max-height: 768px) and (min-width: 960px) {
    header .head-inner .head-logo {
      padding: 5vh -0px; }
      header .head-inner .head-logo svg {
        width: 12vh;
        height: 12vh; }
    header .gnav {
      margin-top: 3vh; }
      header .gnav li {
        padding: 2vh 0; }
        header .gnav li a {
          font-size: 2.1vh; }
    header .contact {
      bottom: 3vh; }
      header .contact a {
        display: block;
        height: 25vh; }
        header .contact a img {
          max-height: 80%; } }

/* =========================================================
	main
========================================================= */
main {
  margin-left: 200px; }
  @media screen and (max-width: 959px) {
    main {
      margin-left: 0; } }

/* =========================================================
	フッター
========================================================= */
article.cnt-contact {
  background: #005bac;
  zoom: 1;
  padding-bottom: 100px; }
  article.cnt-contact:before, article.cnt-contact:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  article.cnt-contact:after {
    clear: both; }
  @media screen and (max-width: 959px) {
    article.cnt-contact {
      padding-bottom: 50px; } }
  article.cnt-contact h2 {
    color: white !important; }
    article.cnt-contact h2:before {
      background: white !important; }
    @media screen and (max-width: 959px) {
      article.cnt-contact h2 {
        margin-bottom: 30px; } }
  article.cnt-contact .balloon {
    position: relative;
    border: 3px solid white;
    border-radius: 10px;
    padding: 15px; }
    @media screen and (max-width: 959px) {
      article.cnt-contact .balloon {
        display: none; } }
    article.cnt-contact .balloon:before {
      content: "";
      display: block;
      width: 18px;
      position: absolute;
      bottom: -18px;
      left: 0;
      right: 0;
      margin: 0 auto;
      border-top: 18px solid white;
      border-right: 9px solid transparent;
      border-left: 9px solid transparent; }
    article.cnt-contact .balloon:after {
      content: "";
      display: block;
      width: 18px;
      position: absolute;
      bottom: -12px;
      left: 0;
      right: 0;
      margin: 0 auto;
      border-top: 18px solid #005bac;
      border-right: 9px solid transparent;
      border-left: 9px solid transparent;
      z-index: 2; }
    article.cnt-contact .balloon p {
      text-align: center;
      font-size: 14px;
      font-weight: bold;
      color: white;
      line-height: 20px; }
      @media screen and (max-width: 959px) {
        article.cnt-contact .balloon p {
          font-size: 12px; } }
  article.cnt-contact section:first-of-type {
    float: left;
    width: 40%;
    margin-right: 50px; }
    article.cnt-contact section:first-of-type .balloon {
      width: 80%;
      margin: 0 auto; }
      @media screen and (max-width: 959px) {
        article.cnt-contact section:first-of-type .balloon {
          width: 100%; } }
    article.cnt-contact section:first-of-type .btn-att a {
      display: block;
      width: 100%;
      height: 90px;
      border-radius: 10px;
      background: #fbce04;
      text-align: center;
      color: #005bac;
      font-size: 18px;
      font-weight: bold;
      padding-top: 30px;
      margin-top: 20px;
      box-shadow: 0px 3px 0px 0px #ab8c02;
      text-decoration: none; }
      article.cnt-contact section:first-of-type .btn-att a svg {
        fill: #005bac;
        width: 38px;
        height: 38px;
        vertical-align: -16px;
        margin-right: 10px; }
      article.cnt-contact section:first-of-type .btn-att a:hover {
        margin-top: 21px;
        background: #E0B904;
        box-shadow: 0px 2px 0px 0px #ab8c02; }
      @media screen and (max-width: 959px) {
        article.cnt-contact section:first-of-type .btn-att a {
          font-size: 14px;
          height: 60px;
          padding-top: 16px; }
          article.cnt-contact section:first-of-type .btn-att a svg {
            width: 30px;
            height: 30px;
            vertical-align: -10px; } }
    @media screen and (max-width: 959px) {
      article.cnt-contact section:first-of-type {
        float: none;
        width: 100%; } }
  article.cnt-contact section:nth-of-type(2) {
    float: left;
    padding: 40px 25px 30px 40px;
    margin-top: 42px;
    background: white;
    border-radius: 10px;
    width: calc( 60% - 50px );
    position: relative;
    zoom: 1; }
    article.cnt-contact section:nth-of-type(2):before, article.cnt-contact section:nth-of-type(2):after {
      content: "";
      display: table;
      height: 0;
      visibility: hidden; }
    article.cnt-contact section:nth-of-type(2):after {
      clear: both; }
    article.cnt-contact section:nth-of-type(2) .balloon {
      position: absolute;
      top: -42px;
      left: 10px;
      width: 45%;
      background: #005bac; }
    article.cnt-contact section:nth-of-type(2) .btn-att a {
      display: block;
      float: left;
      width: 186px;
      height: 76px;
      margin-right: 30px;
      background: #fbce04;
      border-radius: 10px;
      box-shadow: 0px 3px 0px 0px #ab8c02;
      text-align: center;
      text-decoration: none; }
      article.cnt-contact section:nth-of-type(2) .btn-att a p {
        color: #005bac;
        font-size: 12px;
        font-weight: bold; }
      article.cnt-contact section:nth-of-type(2) .btn-att a svg {
        width: 40px;
        height: 30px;
        fill: #005bac;
        margin: 15px auto 7px; }
      article.cnt-contact section:nth-of-type(2) .btn-att a:hover {
        margin-top: 1px;
        margin-bottom: -1px;
        box-shadow: 0px 2px 0px 0px #ab8c02;
        background: #E0B904; }
    article.cnt-contact section:nth-of-type(2) .tel p {
      font-size: 14px;
      color: #212121; }
      @media screen and (max-width: 959px) {
        article.cnt-contact section:nth-of-type(2) .tel p {
          font-size: 12px; } }
      article.cnt-contact section:nth-of-type(2) .tel p.tel {
        color: #005bac;
        font-size: 27px;
        font-family: 'Roboto Condensed', sans-serif;
        font-weight: bold;
        letter-spacing: .05em;
        padding: 10px 0; }
        @media screen and (max-width: 959px) {
          article.cnt-contact section:nth-of-type(2) .tel p.tel {
            margin: 0; } }
        article.cnt-contact section:nth-of-type(2) .tel p.tel svg {
          fill: #005bac;
          width: 24px;
          height: 24px;
          margin-right: 10px;
          vertical-align: -2px; }
    @media screen and (max-width: 959px) {
      article.cnt-contact section:nth-of-type(2) {
        float: none;
        width: 100%;
        margin-top: 20px;
        padding: 15px; }
        article.cnt-contact section:nth-of-type(2) .sub-contact {
          height: 54px; }
          article.cnt-contact section:nth-of-type(2) .sub-contact .balloon {
            width: 90%;
            left: 0;
            right: 0;
            margin: 0 auto; }
          article.cnt-contact section:nth-of-type(2) .sub-contact .btn-att {
            width: 100%; }
            article.cnt-contact section:nth-of-type(2) .sub-contact .btn-att a {
              width: 100%;
              margin-right: 0;
              height: 56px; }
              article.cnt-contact section:nth-of-type(2) .sub-contact .btn-att a svg {
                display: inline;
                vertical-align: -17px;
                margin-right: 10px; }
              article.cnt-contact section:nth-of-type(2) .sub-contact .btn-att a p {
                display: inline;
                font-size: 14px; }
        article.cnt-contact section:nth-of-type(2) .tel {
          margin-top: 20px; } }

footer {
  padding: 35px 0; }
  @media screen and (max-width: 959px) {
    footer {
      padding: 35px 15px; } }
  footer .logo {
    display: inline-block; }
    @media screen and (max-width: 959px) {
      footer .logo {
        text-align: center; } }
    footer .logo svg {
      display: inline-block;
      fill: #005bac;
      height: 30px;
      width: 200px; }
    footer .logo p {
      display: inline-block;
      font-size: 10px; }
    footer .logo a:hover {
      opacity: .8; }
  footer ul {
    float: right;
    display: flex;
    margin-top: 10px; }
    @media screen and (max-width: 959px) {
      footer ul {
        display: block;
        float: none;
        text-align: center;
        margin-top: 30px; } }
    footer ul li {
      margin-left: 40px; }
      @media screen and (max-width: 959px) {
        footer ul li {
          margin: 0;
          margin-bottom: 10px; } }
      footer ul li a {
        text-decoration: none;
        font-size: 14px;
        position: relative; }
        footer ul li a:before {
          content: "";
          display: block;
          position: absolute;
          bottom: -2px;
          left: 0;
          height: 1px;
          width: 0%;
          background: #212121;
          transition: all .2s; }
        footer ul li a:hover:before {
          width: 100%; }

.footer .copyright {
  padding: 10px 0;
  background: #005bac;
  color: #fff;
  text-align: center;
  line-height: 1; }
@media screen and (min-width: 960px) {
  .footer {
    padding: 40px 0; }
    .footer .copyright {
      font-size: 11px;
      letter-spacing: 1px; } }
@media screen and (max-width: 959px) {
  .footer .copyright {
    font-size: 10px; } }

/* =========================================================
	pagetop
========================================================= */
.pagetop {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px; }
  .pagetop a {
    display: table-cell;
    width: 40px;
    height: 40px;
    background: #005bac;
    color: #fff;
    text-decoration: none;
    text-align: center;
    vertical-align: middle; }

@media screen and (max-width: 959px) {
  .pagetop {
    display: none !important; } }
/* index page
========================================================= */
#home-page .mv {
  height: 620px; }
  @media screen and (min-width: 960px) {
    #home-page .mv {
      min-width: 1030px; } }
  @media screen and (max-width: 959px) {
    #home-page .mv {
      height: auto;
      position: relative; } }
  #home-page .mv .main {
    float: left;
    position: relative;
    width: 500px;
    height: 620px;
    background: url("/common/images/bk-l.png") center;
    background-size: 100%; }
    @media screen and (max-width: 959px) {
      #home-page .mv .main {
        float: none;
        width: 100%;
        height: auto; } }
    #home-page .mv .main p {
      text-align: center;
      color: white;
      padding-top: 70px;
      margin-bottom: 20px;
      font-size: 16px;
      font-weight: bold;
      line-height: 1;
      letter-spacing: .15em; }
      @media screen and (max-width: 959px) {
        #home-page .mv .main p {
          font-size: 14px;
          padding-top: 50px; } }
    #home-page .mv .main h2 {
      text-align: center;
      color: white;
      font-weight: bold;
      font-size: 36px;
      line-height: 50px;
      text-shadow: 0px 3px 0px rgba(4, 25, 42, 0.4);
      letter-spacing: .14em; }
      #home-page .mv .main h2 span {
        color: #fbce04; }
      @media screen and (max-width: 959px) {
        #home-page .mv .main h2 {
          font-size: 25px;
          line-height: 35px; } }
    #home-page .mv .main .bus {
      text-align: center;
      position: absolute;
      top: calc(50% - -77px);
      width: 100%;
      animation: bus 8s linear infinite;
      z-index: 99; }
      @media screen and (max-width: 959px) {
        #home-page .mv .main .bus {
          top: calc(50% - -12px);
          animation: none; }
          #home-page .mv .main .bus img {
            width: 60px; } }
@keyframes bus {
  0% {
    top: calc(50% - -77px); }
  50% {
    top: calc(50% - -77px); }
  51% {
    top: calc(50% - -71px); }
  52% {
    top: calc(50% - -77px); }
  82% {
    top: calc(50% - -77px); }
  83% {
    top: calc(50% - -75px); }
  84% {
    top: calc(50% - -77px); }
  100% {
    top: calc(50% - -77px); } }
    #home-page .mv .main .loop {
      width: 100%;
      height: 161px;
      position: absolute;
      top: calc(50% - -72px);
      transform: translateY(-50%);
      background: url("/common/images/loop.png") repeat;
      background-size: auto 100%;
      animation: bg-slider 60s linear infinite; }
      @media screen and (max-width: 959px) {
        #home-page .mv .main .loop {
          animation: none;
          background-size: cover;
          height: 64px;
          top: calc(50% - -12px); } }
@keyframes bg-slider {
  from {
    background-position: 0 0; }
  to {
    background-position: -2100px 0; }
  /* 1518pxとは使用した背景画像の長さ */ }
    #home-page .mv .main .baloon {
      position: absolute;
      width: 282px;
      left: 0;
      right: 0;
      top: calc(50% + 12px);
      transform: translateY(-50%);
      margin: auto; }
      @media screen and (max-width: 959px) {
        #home-page .mv .main .baloon {
          top: calc(50% + -26px);
          width: 162px; } }
    #home-page .mv .main ul {
      display: flex;
      justify-content: space-between;
      width: 370px;
      margin: 0 auto;
      margin-top: 240px; }
      @media screen and (max-width: 959px) {
        #home-page .mv .main ul {
          padding-bottom: 140px;
          margin-top: 130px;
          width: 300px; } }
      #home-page .mv .main ul svg {
        fill: white; }
      #home-page .mv .main ul li a {
        position: relative;
        display: block;
        width: 180px;
        height: 50px;
        background-color: white;
        border-radius: 10px;
        border: 3px solid white;
        box-shadow: 0px 3px 0px 0px rgba(4, 25, 42, 0.4);
        text-align: center;
        text-decoration: none;
        color: #005bac;
        font-weight: bold;
        padding-top: 6px;
        opacity: 1;
        transition: all .3s;
        box-sizing: border-box;
        text-transform: uppercase;
        overflow: hidden;
        z-index: 99; }
        #home-page .mv .main ul li a:after {
          position: absolute;
          transition: .3s;
          content: '';
          width: 0;
          left: 50%;
          bottom: 0;
          height: 3px;
          background: #005bac;
          height: 120%;
          left: -10%;
          transform: skewX(15deg);
          z-index: -1; }
        #home-page .mv .main ul li a svg {
          width: 20px;
          height: 30px;
          fill: #005bac;
          margin-right: 5px;
          vertical-align: -7px;
          transition: all .3s; }
        #home-page .mv .main ul li a:hover {
          background: #005bac;
          color: white;
          border: 3px solid white; }
          #home-page .mv .main ul li a:hover svg {
            fill: white; }
          #home-page .mv .main ul li a:hover:after {
            left: -10%;
            width: 120%; }
        @media screen and (max-width: 959px) {
          #home-page .mv .main ul li a {
            font-size: 14px;
            height: 45px;
            width: 140px;
            padding-top: 5px; }
            #home-page .mv .main ul li a svg {
              vertical-align: -9px; } }
  @media screen and (max-width: 959px) {
    #home-page .mv .main .catchphrase {
      padding-top: 30px;
      padding-bottom: 180px; }
      #home-page .mv .main .catchphrase p {
        padding: 0;
        font-size: 12px;
        margin-bottom: 10px; }
      #home-page .mv .main .catchphrase h2 {
        line-height: 32px; }
    #home-page .mv .main .bus {
      top: calc(50% - -39px); }
    #home-page .mv .main .baloon {
      top: calc(50% + 16px);
      z-index: 1; }
    #home-page .mv .main .loop {
      top: calc(50% - -24px);
      height: 100px; }
    #home-page .mv .main > ul {
      display: none; } }
  #home-page .mv .other {
    float: right;
    position: relative;
    width: calc(100% - 500px);
    height: 620px; }
    @media screen and (max-width: 959px) {
      #home-page .mv .other {
        float: none;
        width: 100%;
        height: 160px;
        position: static; } }
    #home-page .mv .other #slider {
      width: 100%;
      height: 620px; }
      @media screen and (max-width: 959px) {
        #home-page .mv .other #slider {
          height: 160px; } }
      #home-page .mv .other #slider li div {
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center; }
        #home-page .mv .other #slider li div.slide01 {
          background-image: url("/common/images/slide/slide01.jpg"); }
        #home-page .mv .other #slider li div.slide02 {
          background-image: url("/common/images/slide/slide02.jpg"); }
        #home-page .mv .other #slider li div.slide03 {
          background-image: url("/common/images/slide/slide03.jpg"); }
        #home-page .mv .other #slider li div.slide04 {
          background-image: url("/common/images/slide/slide04.jpg"); }
    #home-page .mv .other #news {
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 90px;
      background-color: rgba(255, 255, 255, 0.6);
      padding: 18px 22px 6px; }
      @media screen and (max-width: 959px) {
        #home-page .mv .other #news {
          z-index: 9; } }
      #home-page .mv .other #news li {
        padding-bottom: 10px;
        overflow: hidden;
        width: calc(100% - 120px);
        white-space: nowrap; }
        #home-page .mv .other #news li a {
          width: 100%;
          display: inline-block;
          position: relative;
          text-decoration: none;
          line-height: 24px;
          font-size: 14px;
          font-weight: bolder; }
          #home-page .mv .other #news li a:after {
            content: "";
            position: absolute;
            bottom: 0px;
            left: 212px;
            width: 0%;
            height: 1px;
            background: #212121;
            transition: all .2s; }
          #home-page .mv .other #news li a:hover:after {
            width: calc(100% - 212px); }
          #home-page .mv .other #news li a span:nth-child(2) {
            display: inline-block;
            width: 100px;
            height: 24px;
            margin: 0 20px;
            border-radius: 3px;
            color: white;
            text-align: center;
            font-weight: bolder;
            font-size: 14px; }
          #home-page .mv .other #news li a span.info {
            background-color: #005bac; }
          #home-page .mv .other #news li a span.blog {
            background-color: #979797; }
          #home-page .mv .other #news li a span.date {
            font-weight: bold; }
        @media screen and (max-width: 959px) {
          #home-page .mv .other #news li {
            width: calc(100% - 60px); }
            #home-page .mv .other #news li a {
              font-size: 10px; }
              #home-page .mv .other #news li a span.data {
                font-size: 12px; }
              #home-page .mv .other #news li a span:nth-child(2) {
                height: 20px;
                width: 50px;
                margin: 0 10px;
                line-height: 21px;
                font-size: 10px; } }
    @media screen and (max-width: 959px) {
      #home-page .mv .other #news {
        background: white;
        padding: 10px 15px;
        border-bottom: 2px solid #ddd; }
        #home-page .mv .other #news li {
          width: 100%;
          white-space: inherit; }
          #home-page .mv .other #news li li:nth-child(2) {
            display: none; }
        #home-page .mv .other #news a span.info,
        #home-page .mv .other #news a span.blog {
          margin: 0 5px; }
        #home-page .mv .other #news a span:last-of-type {
          display: block;
          line-height: 14px;
          margin-top: 5px; } }
    #home-page .mv .other .more {
      position: absolute;
      bottom: 20px;
      right: 20px;
      color: #005bac;
      font-weight: bold;
      font-size: 12px;
      text-decoration: none;
      letter-spacing: .1em; }
      #home-page .mv .other .more:before {
        content: "";
        width: 100%;
        height: 1px;
        background: #005bac;
        position: absolute;
        bottom: -2px; }
      #home-page .mv .other .more:hover {
        opacity: .7; }
      @media screen and (max-width: 959px) {
        #home-page .mv .other .more {
          z-index: 9;
          font-size: 10px;
          right: 10px;
          bottom: 62px; } }
    #home-page .mv .other .calc {
      position: absolute;
      top: 50px;
      right: 50px; }
      @media screen and (max-width: 959px) {
        #home-page .mv .other .calc {
          top: 20px;
          right: 20px; } }
      #home-page .mv .other .calc a {
        position: relative;
        display: block;
        width: 180px;
        height: 180px;
        box-sizing: border-box;
        text-decoration: none;
        border-radius: 90px;
        border: 5px solid white;
        background: linear-gradient(to bottom right, #b42d26, #bd4640 40%, #b52f27 60%, #AF1F18);
        text-align: center;
        box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.2);
        transition: all .2s; }
        @media screen and (max-width: 959px) {
          #home-page .mv .other .calc a {
            width: 100px;
            height: 100px; } }
        #home-page .mv .other .calc a svg {
          display: block;
          width: 70px;
          height: auto;
          overflow: visible;
          position: absolute;
          top: -50px;
          left: 60px; }
          @media screen and (max-width: 959px) {
            #home-page .mv .other .calc a svg {
              left: 35px;
              top: -68px; } }
          #home-page .mv .other .calc a svg text {
            font-size: 50px;
            font-family: "Roboto", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }
            @media screen and (max-width: 959px) {
              #home-page .mv .other .calc a svg text {
                font-size: 20px; } }
        #home-page .mv .other .calc a:hover {
          margin-top: 2px; }
        #home-page .mv .other .calc a .foreground {
          fill: #fff; }
        #home-page .mv .other .calc a .background {
          stroke: #bd4640;
          stroke-width: 8;
          stroke-linejoin: round; }
        #home-page .mv .other .calc a p.intro {
          margin-top: 40px;
          color: white;
          font-size: 14px;
          font-weight: bold;
          text-align: center;
          z-index: 99; }
          @media screen and (max-width: 959px) {
            #home-page .mv .other .calc a p.intro {
              margin-top: 10px;
              line-height: 12px;
              font-size: 10px;
              transform: scale(0.8);
              border-bottom: 1px solid white;
              padding-bottom: 3px; } }
        #home-page .mv .other .calc a p:not(.intro) {
          margin-top: 5px;
          text-align: center;
          line-height: 30px;
          font-size: 18px;
          letter-spacing: 0;
          font-weight: 900;
          color: #fbce04;
          z-index: 99; }
          @media screen and (max-width: 959px) {
            #home-page .mv .other .calc a p:not(.intro) {
              font-size: 10px;
              line-height: 15px;
              margin-top: 0; } }
#home-page .cnt-srvice {
  background: #fafafa;
  padding-bottom: 116px; }
  @media screen and (max-width: 959px) {
    #home-page .cnt-srvice {
      padding-bottom: 80px; }
      #home-page .cnt-srvice h2 {
        margin-bottom: 50px; } }
#home-page .cnt-result {
  background: #005bac;
  padding-bottom: 100px; }
  #home-page .cnt-result h2 {
    color: white; }
    #home-page .cnt-result h2:before {
      background-color: white; }
  #home-page .cnt-result p {
    color: white;
    text-align: center;
    letter-spacing: .1em; }
  #home-page .cnt-result .btn {
    margin-top: 50px; }
  @media screen and (max-width: 959px) {
    #home-page .cnt-result {
      padding-bottom: 50px; }
      #home-page .cnt-result h2 {
        margin-bottom: 30px; }
      #home-page .cnt-result p {
        line-height: 1.6;
        font-size: 14px; }
      #home-page .cnt-result ul.list-post {
        margin-top: 30px; }
        #home-page .cnt-result ul.list-post > p {
          padding: 10px 30px;
          color: #005bac;
          font-weight: bold;
          background: white; } }
#home-page .cnt-about h2 {
  margin-bottom: 70px; }
@media screen and (max-width: 959px) {
  #home-page .cnt-about h2 {
    margin-bottom: 50px; } }
#home-page .cnt-flow {
  background: #005bac;
  padding-bottom: 100px; }
  @media screen and (max-width: 959px) {
    #home-page .cnt-flow {
      padding-bottom: 50px; } }
  #home-page .cnt-flow h2 {
    color: white; }
    #home-page .cnt-flow h2:before {
      background: white; }
    @media screen and (max-width: 959px) {
      #home-page .cnt-flow h2 {
        margin-bottom: 30px; } }
  #home-page .cnt-flow .btn-ballon {
    margin-top: 20px; }
    #home-page .cnt-flow .btn-ballon.cnt-pc {
      margin-left: 150px; }
  #home-page .cnt-flow .btn {
    margin-top: 50px; }
    @media screen and (max-width: 959px) {
      #home-page .cnt-flow .btn {
        margin-top: 30px; } }
#home-page .cnt-service {
  padding-bottom: 100px;
  background: #fafafa; }
  @media screen and (max-width: 959px) {
    #home-page .cnt-service {
      padding-bottom: 50px; } }

/* hoge pagech
========================================================= */
/* info page
========================================================= */
#calculation-page #calculation {
  background: #f5f5f5;
  padding: 100px 0 100px;
  text-align: center;
  margin-top: 0; }
  @media screen and (max-width: 959px) {
    #calculation-page #calculation {
      padding: 50px 0 50px; } }
  #calculation-page #calculation > p {
    margin-bottom: 50px;
    font-size: 16px;
    letter-spacing: .1em; }
    @media screen and (max-width: 959px) {
      #calculation-page #calculation > p {
        font-size: 14px;
        padding: 0 15px;
        margin-bottom: 30px; } }
  #calculation-page #calculation section {
    position: relative;
    width: 1000px;
    margin: auto;
    padding: 50px;
    padding-bottom: 120px;
    border-radius: 10px;
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.05);
    background: white;
    text-align: left;
    overflow: hidden; }
    @media screen and (max-width: 959px) {
      #calculation-page #calculation section {
        padding: 30px 15px 220px;
        width: 100%; } }
    #calculation-page #calculation section div.cal {
      border-left: 3px solid #005bac;
      border-right: 3px solid #005bac;
      box-sizing: border-box;
      background: #005bac;
      z-index: 99; }
      #calculation-page #calculation section div.cal p {
        margin-bottom: 0; }
      #calculation-page #calculation section div.cal table {
        border: none;
        margin-bottom: 0; }
      #calculation-page #calculation section div.cal h3 {
        color: white;
        background: #005bac;
        padding-top: 20px;
        padding-left: 30px;
        height: 60px;
        width: 100%;
        font-weight: 900;
        font-size: 20px;
        letter-spacing: .1em; }
        @media screen and (max-width: 959px) {
          #calculation-page #calculation section div.cal h3 {
            font-size: 16px;
            height: 50px;
            padding-left: 10px;
            padding-top: 18px; } }
      #calculation-page #calculation section div.cal tr {
        background: white;
        border-bottom: 1px solid #dedede; }
        #calculation-page #calculation section div.cal tr:last-child {
          border-bottom: none;
          background: #f5f5f5; }
          #calculation-page #calculation section div.cal tr:last-child th, #calculation-page #calculation section div.cal tr:last-child td {
            color: #005bac;
            font-weight: bold; }
          #calculation-page #calculation section div.cal tr:last-child td {
            font-size: 25px; }
            #calculation-page #calculation section div.cal tr:last-child td .result {
              font-size: 35px;
              margin-right: 10px;
              letter-spacing: .1em; }
            #calculation-page #calculation section div.cal tr:last-child td span:not(.result) {
              font-size: 16px; }
      #calculation-page #calculation section div.cal td {
        border: none !important;
        padding: 20px 30px;
        letter-spacing: .1em; }
        @media screen and (max-width: 959px) {
          #calculation-page #calculation section div.cal td {
            display: inline-block;
            padding: 20px 10px;
            font-size: 14px;
            width: 100%; } }
      #calculation-page #calculation section div.cal th {
        vertical-align: middle;
        border: none;
        width: 25%;
        border-right: 1px solid #dedede;
        background: transparent;
        letter-spacing: .1em; }
        @media screen and (max-width: 959px) {
          #calculation-page #calculation section div.cal th {
            display: inline-block;
            width: 100%;
            padding: 20px 10px;
            background: #f8f8f8;
            font-size: 14px; } }
      #calculation-page #calculation section div.cal:first-of-type h3 {
        border-radius: 10px 10px 0 0; }
      @media screen and (max-width: 959px) {
        #calculation-page #calculation section div.cal tbody tr:last-child th {
          width: 19%;
          border: none;
          display: inline-block;
          text-align: left; }
        #calculation-page #calculation section div.cal tbody tr:last-child td {
          width: 80%;
          display: inline-block;
          height: 54px;
          font-size: 14px;
          text-align: right;
          padding: 18px 5px; }
          #calculation-page #calculation section div.cal tbody tr:last-child td .result {
            font-size: 18px;
            margin-right: 5px; }
          #calculation-page #calculation section div.cal tbody tr:last-child td span:not(.result) {
            font-size: 10px; } }
    #calculation-page #calculation section #board {
      border-radius: 10px 10px 0 0; }
    #calculation-page #calculation section #sticker {
      border-bottom: 3px solid #005bac;
      border-radius: 0 0 10px 10px; }
      #calculation-page #calculation section #sticker .ckeckbox input {
        display: none; }
      #calculation-page #calculation section #sticker .ckeckbox label {
        position: relative;
        padding-left: 66px;
        padding-right: 20px;
        font-size: 12px;
        line-height: 44px;
        color: #ad1911;
        cursor: pointer; }
        #calculation-page #calculation section #sticker .ckeckbox label:before {
          content: "";
          display: block;
          height: 46px;
          width: 46px;
          border-radius: 10px;
          border: 2px solid #dedede;
          position: absolute;
          left: 0;
          top: -17px;
          background: #f5f5f5;
          cursor: pointer; }
        #calculation-page #calculation section #sticker .ckeckbox label:after {
          content: "";
          -webkit-transition: opacity 0.1s linear;
          transition: opacity 0.1s linear;
          position: absolute;
          top: 30%;
          left: 16px;
          display: block;
          margin-top: -12px;
          width: 15px;
          height: 19px;
          border-right: 3px solid #005bac;
          border-bottom: 3px solid #005bac;
          content: '';
          opacity: 0;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          cursor: pointer; }
      #calculation-page #calculation section #sticker .ckeckbox td {
        position: relative; }
        #calculation-page #calculation section #sticker .ckeckbox td p {
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 90px;
          color: #ad1911; }
          @media screen and (max-width: 959px) {
            #calculation-page #calculation section #sticker .ckeckbox td p {
              left: 70px; } }
      #calculation-page #calculation section #sticker .ckeckbox #istrasp:checked + label:after {
        opacity: 1; }
      #calculation-page #calculation section #sticker table tr:last-child th {
        border-radius: 0 0 0 8px; }
      #calculation-page #calculation section #sticker table tr:last-child td {
        border-radius: 0 0 8px 0; }
    #calculation-page #calculation section select {
      margin-top: 20px;
      width: 600px;
      height: 46px;
      border-radius: 10px;
      padding: 0 20px;
      border: 2px solid #dedede;
      box-sizing: border-box;
      background: #f5f5f5;
      color: #979797;
      font-weight: bold;
      font-size: 16px;
      transition: all .2s; }
      #calculation-page #calculation section select.on, #calculation-page #calculation section select:hover {
        color: #212121;
        background: #fafafa; }
      @media screen and (max-width: 959px) {
        #calculation-page #calculation section select {
          width: 100%;
          margin-top: 0;
          font-size: 16px; } }
    #calculation-page #calculation section input[type="tel"] {
      height: 46px;
      width: 120px;
      border: none;
      background: #f5f5f5;
      border-radius: 10px;
      border: 2px solid #dedede;
      box-sizing: border-box;
      padding: 0 20px;
      transition: all .2s; }
      #calculation-page #calculation section input[type="tel"].on, #calculation-page #calculation section input[type="tel"]:hover {
        background: #fafafa; }
    #calculation-page #calculation section .sheets {
      padding-left: 20px; }
      #calculation-page #calculation section .sheets span {
        font-size: 14px;
        color: #212121;
        font-weight: bold; }
      @media screen and (max-width: 959px) {
        #calculation-page #calculation section .sheets input {
          font-size: 16px; } }
    #calculation-page #calculation section #total {
      background: #005bac;
      width: 1000px;
      height: 120px;
      position: absolute;
      bottom: 0;
      left: 0;
      padding: 30px; }
      #calculation-page #calculation section #total .result {
        width: 50%;
        font-weight: bold;
        color: white;
        text-align: right;
        letter-spacing: .1em;
        float: left; }
        #calculation-page #calculation section #total .result span {
          font-size: 24px; }
        #calculation-page #calculation section #total .result span:first-child {
          float: left;
          padding-top: 18px; }
        #calculation-page #calculation section #total .result .total {
          font-size: 40px;
          margin-right: 10px; }
        #calculation-page #calculation section #total .result p {
          margin-top: 10px;
          font-size: 14px; }
      #calculation-page #calculation section #total .btn {
        float: left;
        padding-left: 30px; }
        #calculation-page #calculation section #total .btn a {
          display: block;
          width: 100%;
          height: 62px;
          min-width: 0;
          font-size: 14px;
          padding-top: 14px;
          background: #fccf05;
          box-shadow: 0px 3px 0px 0px #ab8c02;
          border: none;
          border-radius: 10px;
          color: #005bac;
          font-weight: bold;
          text-align: center;
          transition: all .1s;
          letter-spacing: -1px; }
          #calculation-page #calculation section #total .btn a svg {
            width: 30px;
            height: 34px;
            fill: #005bac;
            vertical-align: -10px;
            margin-right: 10px; }
          #calculation-page #calculation section #total .btn a:after {
            content: none; }
          #calculation-page #calculation section #total .btn a:hover {
            background: #E0B904;
            box-shadow: none;
            margin-top: 1px;
            box-shadow: 0px 2px 0px 0px #ab8c02;
            text-decoration: none; }
      #calculation-page #calculation section #total .btn:not(.reset) {
        width: 35%; }
      #calculation-page #calculation section #total .btn.reset {
        width: 15%; }
      #calculation-page #calculation section #total .btn.reset a {
        font-size: 14px;
        padding-top: 26px;
        background: #dedede;
        color: #818181;
        box-shadow: 0px 2px 0px 0px #606060;
        cursor: pointer; }
      @media screen and (max-width: 959px) {
        #calculation-page #calculation section #total {
          width: 100% !important;
          height: 220px;
          padding: 30px 14px; }
          #calculation-page #calculation section #total .result {
            float: none;
            width: 100% !important; }
            #calculation-page #calculation section #total .result > span:first-of-type {
              font-size: 20px;
              padding-top: 5px; }
            #calculation-page #calculation section #total .result .total {
              font-size: 25px; }
            #calculation-page #calculation section #total .result > span:last-of-type {
              font-size: 20px; }
            #calculation-page #calculation section #total .result p {
              font-size: 12px; }
          #calculation-page #calculation section #total .btn {
            float: none;
            width: 100% !important;
            padding: 0;
            margin-top: 10px; }
            #calculation-page #calculation section #total .btn a {
              height: 40px;
              font-size: 14px;
              padding-top: 3px; }
              #calculation-page #calculation section #total .btn a svg {
                vertical-align: -12px; }
          #calculation-page #calculation section #total .reset a {
            font-size: 12px !important;
            height: 40px;
            padding-top: 14px !important; } }
    #calculation-page #calculation section .other {
      margin: 50px auto; }
      @media screen and (max-width: 959px) {
        #calculation-page #calculation section .other {
          margin: 30px auto; }
          #calculation-page #calculation section .other p {
            font-size: 14px; } }
#calculation-page #popuptotal {
  position: fixed;
  bottom: 0;
  padding: 0;
  padding: 30px 0;
  width: calc(100% - 200px);
  height: 120px;
  background: #005bac;
  z-index: 999;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4); }
  @media screen and (max-width: 959px) {
    #calculation-page #popuptotal {
      display: block;
      width: 100%;
      padding: 10px;
      height: 110px; } }
  #calculation-page #popuptotal .result {
    float: left; }
    @media screen and (max-width: 959px) {
      #calculation-page #popuptotal .result {
        float: none; } }
    #calculation-page #popuptotal .result span:not(.total) {
      display: inline-block;
      width: 200px;
      height: 60px;
      background: #fbce04;
      padding: 16px 24px 0;
      border-radius: 10px 0 0 10px;
      font-size: 18px;
      font-weight: bold;
      color: #005bac; }
      #calculation-page #popuptotal .result span:not(.total) svg {
        width: 30px;
        height: 30px;
        vertical-align: -10px;
        margin-right: 12px;
        fill: #005bac; }
      @media screen and (max-width: 959px) {
        #calculation-page #popuptotal .result span:not(.total) {
          font-size: 14px;
          padding: 10px 0 0 10px;
          width: 130px;
          height: 43px;
          float: left; }
          #calculation-page #popuptotal .result span:not(.total) svg {
            width: 20px;
            height: 20px;
            vertical-align: -5px;
            margin-right: 3px; } }
    #calculation-page #popuptotal .result p {
      display: inline-block;
      width: 360px;
      border-bottom: 3px solid #fbce04;
      font-size: 20px;
      text-align: right;
      line-height: 45px;
      color: #fbce04;
      vertical-align: -5px;
      font-weight: bold;
      margin-left: -3px; }
      #calculation-page #popuptotal .result p .total {
        font-size: 40px;
        letter-spacing: .1em;
        font-family: "Roboto", sans-serif; }
      @media screen and (max-width: 959px) {
        #calculation-page #popuptotal .result p {
          width: calc( 100% - 130px );
          line-height: 37.5px;
          font-size: 12px;
          margin-bottom: 10px; }
          #calculation-page #popuptotal .result p .total {
            font-size: 20px; } }
  #calculation-page #popuptotal .btn-att {
    float: left;
    padding-left: 30px; }
    @media screen and (max-width: 959px) {
      #calculation-page #popuptotal .btn-att {
        padding: 0;
        width: 70% !important; } }
    #calculation-page #popuptotal .btn-att a {
      display: block;
      width: 100%;
      height: 60px;
      background: #fbce04;
      padding: 12px;
      border-radius: 10px;
      color: #005bac;
      text-decoration: none;
      font-size: 12px;
      font-weight: bold;
      text-align: center;
      letter-spacing: -1px;
      box-shadow: 0px 3px 0px 0px #ab8c02; }
      #calculation-page #popuptotal .btn-att a:hover {
        margin-top: 1px;
        background: #E0B904;
        box-shadow: 0px 2px 0px 0px #ab8c02; }
    #calculation-page #popuptotal .btn-att svg {
      width: 30px;
      height: 34px;
      fill: #005bac;
      vertical-align: -10px;
      margin-right: 10px; }
    @media screen and (max-width: 959px) {
      #calculation-page #popuptotal .btn-att a {
        height: 30px;
        padding: 0;
        font-size: 12px;
        padding-top: 9px; }
      #calculation-page #popuptotal .btn-att svg {
        display: none; } }
    #calculation-page #popuptotal .btn-att:not(.reset) {
      width: 31%; }
    #calculation-page #popuptotal .btn-att.reset {
      width: 12.9%; }
      #calculation-page #popuptotal .btn-att.reset a {
        font-size: 14px;
        padding-top: 24px;
        background: #dedede;
        color: #818181;
        box-shadow: 0px 2px 0px 0px #606060;
        cursor: pointer; }
      @media screen and (max-width: 959px) {
        #calculation-page #popuptotal .btn-att.reset {
          padding: 0;
          margin-left: 10px;
          width: calc( 100% - 70% - 10px) !important; }
          #calculation-page #popuptotal .btn-att.reset a {
            height: 31px;
            padding-top: 9px;
            font-size: 12px; } }

#info-page .list-post li,
#works-page .list-post li {
  margin-bottom: 50px; }
  @media screen and (max-width: 959px) {
    #info-page .list-post li .img,
    #works-page .list-post li .img {
      background: #005bac; } }
#info-page .list-post h3,
#works-page .list-post h3 {
  background: #005bac;
  color: white; }
  #info-page .list-post h3:before, #info-page .list-post h3:after,
  #works-page .list-post h3:before,
  #works-page .list-post h3:after {
    background: #005bac; }
#info-page .wp-pagenavi,
#works-page .wp-pagenavi {
  margin-bottom: 50px; }
#info-page .cnt-contact,
#works-page .cnt-contact {
  margin-top: 50px; }
#info-page .title-post,
#works-page .title-post {
  font-size: 30px;
  margin-bottom: 0;
  font-weight: bold; }
  #info-page .title-post:before,
  #works-page .title-post:before {
    content: none; }
  @media screen and (max-width: 959px) {
    #info-page .title-post,
    #works-page .title-post {
      font-size: 20px; } }
#info-page .update,
#works-page .update {
  margin-bottom: 50px;
  padding: 15px;
  background: #f8f8f8;
  text-align: right;
  line-height: 1;
  border-radius: 10px;
  position: relative; }
  #info-page .update span.category,
  #works-page .update span.category {
    position: absolute;
    display: block;
    width: 100px;
    height: 30px;
    border-radius: 5px;
    left: 30px;
    top: 9px;
    color: white;
    padding-top: 9px;
    text-align: center;
    font-weight: bold;
    font-size: 14px; }
    #info-page .update span.category.blog,
    #works-page .update span.category.blog {
      background: #979797; }
    #info-page .update span.category.info,
    #works-page .update span.category.info {
      background: #005bac; }
  #info-page .update dt, #info-page .update dd,
  #works-page .update dt,
  #works-page .update dd {
    display: inline-block; }
  #info-page .update dt,
  #works-page .update dt {
    margin-right: 15px; }
  @media screen and (max-width: 959px) {
    #info-page .update span.category,
    #works-page .update span.category {
      width: 50px;
      left: 10px;
      font-size: 12px; }
    #info-page .update dd, #info-page .update dt,
    #works-page .update dd,
    #works-page .update dt {
      font-size: 14px; } }
#info-page #slide,
#works-page #slide {
  text-align: center;
  margin-bottom: 100px; }
  #info-page #slide p,
  #works-page #slide p {
    text-align: center;
    font-size: 16px;
    margin-top: 10px; }
  #info-page #slide li > .img,
  #works-page #slide li > .img {
    position: relative;
    height: 540px;
    background-color: white;
    overflow: hidden;
    border-radius: 10px; }
    @media screen and (max-width: 959px) {
      #info-page #slide li > .img,
      #works-page #slide li > .img {
        height: 280px; } }
    #info-page #slide li > .img img,
    #works-page #slide li > .img img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      border-radius: 10px; }
#info-page .slick-dots,
#works-page .slick-dots {
  display: inline-block; }
  #info-page .slick-dots li,
  #works-page .slick-dots li {
    display: inline-block;
    font-size: 0;
    background: #dedede;
    width: 10px;
    height: 10px;
    margin: 0 10px;
    border-radius: 5px;
    cursor: pointer; }
    #info-page .slick-dots li.slick-active,
    #works-page .slick-dots li.slick-active {
      background: #005bac; }
#info-page .btn a,
#works-page .btn a {
  border: 3px solid #005bac;
  color: #005bac;
  background: white;
  margin-bottom: 50px; }
  #info-page .btn a:after,
  #works-page .btn a:after {
    background: #005bac; }
  #info-page .btn a:hover,
  #works-page .btn a:hover {
    background: #005bac;
    color: white; }
#info-page main article:not(.cnt-contact):not(#cnt-post):not(.list-result),
#works-page main article:not(.cnt-contact):not(#cnt-post):not(.list-result) {
  padding: 0;
  padding-top: 30px; }
  #info-page main article:not(.cnt-contact):not(#cnt-post):not(.list-result) .btn,
  #works-page main article:not(.cnt-contact):not(#cnt-post):not(.list-result) .btn {
    margin-top: 0; }

@media screen and (max-width: 959px) {
  #works-page .update {
    margin-bottom: 0; }
  #works-page #slide {
    margin-bottom: 50px; }
    #works-page #slide p {
      margin-top: 0; }
  #works-page .btn a {
    margin-bottom: 0; } }
#info-page .cnt-contact {
  margin-top: 100px; }
  @media screen and (max-width: 959px) {
    #info-page .cnt-contact {
      margin-top: 0; } }
#info-page .list-news {
  margin-bottom: 50px; }
#info-page .btn {
  padding-right: 0; }

/* question page
========================================================= */
#question-page .cnt-contact {
  margin-top: 100px; }
  @media screen and (max-width: 959px) {
    #question-page .cnt-contact {
      margin-top: 50; } }

/* method page
========================================================= */
#method-page .cnt-howto .inner-1000 > p {
  margin-bottom: 0; }
#method-page .cnt-howto .list-detail {
  margin-top: 50px; }
#method-page .cnt-howto .box {
  background: white;
  border-radius: 10px;
  padding: 30px;
  margin-top: 20px; }
  #method-page .cnt-howto .box p {
    margin-bottom: 0; }
#method-page .cnt-point .list-detail {
  margin-top: 50px; }
#method-page .cnt-contact {
  margin-top: 100px; }

/* agency,buscompany page
========================================================= */
#buscompany-page article ul.list-detail,
#agency-page article ul.list-detail {
  margin: 50px auto; }

/* flow page
========================================================= */
#flow-page .list-flow {
  margin: 100px 0 0 !important; }
  @media screen and (max-width: 959px) {
    #flow-page .list-flow {
      margin: 50px 0 !important; }
      #flow-page .list-flow li:nth-child(3) {
        height: 130px !important; } }
#flow-page .btn-ballon {
  margin-bottom: 100px;
  margin-top: 20px; }
  #flow-page .btn-ballon.cnt-pc {
    margin-left: 150px !important; }

/* lineup page
========================================================= */
#lineup-page {
  /*
  .price-board,
  #price-poster,
  .price-sticker {
  	th {
  		@media screen and (max-width: 959px) { // Tablet 959px以下
  			display: table-cell;
  			width: 50%;
  			vertical-align: middle;
  		} // end max-width: 959px
  	}
  	td {
  		@media screen and (max-width: 959px) { // Tablet 959px以下
  			display: table-cell;
  			width: 50%;
  			vertical-align: middle;
  			.attention {
  				margin: 0;
  				text-indent: 0;
  			}
  		} // end max-width: 959px
  	}
  }
  */ }
  #lineup-page #slide {
    position: relative;
    width: 100%;
    margin: 0 auto;
    text-align: center; }
    #lineup-page #slide h3 {
      display: inline-block;
      margin: 0 auto;
      text-align: center;
      background: white;
      color: #005bac;
      padding: 20px;
      height: 60px;
      font-weight: 900;
      font-size: 20px;
      letter-spacing: .1em;
      border-radius: 10px 10px 0 0; }
      @media screen and (max-width: 959px) {
        #lineup-page #slide h3 {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          margin: 0 auto;
          width: 100%;
          height: auto;
          font-size: 16px;
          display: flex;
          align-items: center;
          height: 32px;
          justify-content: center; } }
    #lineup-page #slide .img {
      width: 100%;
      height: 300px;
      position: relative;
      overflow: hidden;
      border-radius: 10px; }
      #lineup-page #slide .img img {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); }
      @media screen and (max-width: 959px) {
        #lineup-page #slide .img {
          height: 53vw;
          max-height: 300px;
          margin-top: 40px; } }
    #lineup-page #slide .img img {
      border-radius: 10px; }
    @media screen and (max-width: 959px) {
      #lineup-page #slide .slick-slide {
        position: relative; } }
    #lineup-page #slide .txt {
      padding: 30px;
      text-align: left; }
      #lineup-page #slide .txt p:last-of-type {
        margin-bottom: 0; }
      #lineup-page #slide .txt a {
        border-bottom: 1px solid white; }
        #lineup-page #slide .txt a:before {
          content: none; }
        #lineup-page #slide .txt a:hover {
          border-bottom: 1px solid #005bac; }
      @media screen and (max-width: 959px) {
        #lineup-page #slide .txt {
          padding: 10px; } }
    #lineup-page #slide .slick-dots li {
      display: inline-block;
      font-size: 0;
      background: #dedede;
      width: 10px;
      height: 10px;
      margin: 0 10px;
      border-radius: 5px;
      cursor: pointer; }
      #lineup-page #slide .slick-dots li.slick-active {
        background: #005bac; }
  #lineup-page .cnt-price table th {
    width: 30%;
    vertical-align: middle; }
  #lineup-page .cnt-price table td {
    font-size: 20px;
    font-weight: bold; }
  #lineup-page .price-board thead th:nth-child(1) {
    width: 12%; }
  #lineup-page .price-board thead th:nth-child(2) {
    width: 22%; }
  #lineup-page .price-board thead th:nth-child(3) {
    width: 19%; }
  #lineup-page .price-board thead th:nth-child(4) {
    width: auto; }
  #lineup-page .price-board tbody td {
    vertical-align: middle;
    line-height: 30px; }
  #lineup-page #price-poster {
   /*
  @media screen and (max-width: 959px) { // Tablet 959px以下
  	thead th:nth-child(1) { width: 10%; }
  	thead th:nth-child(2) { width: 50%; }
  	thead th:nth-child(3) { 
  		width: 40%;
  		min-width: 90px;
  	}
  } // end max-width: 959px*/ }
    #lineup-page #price-poster thead th:nth-child(1) {
      width: 20%; }
    #lineup-page #price-poster thead th:nth-child(2) {
      width: 40%; }
    #lineup-page #price-poster thead th:nth-child(3) {
      width: auto; }
  @media screen and (max-width: 959px) {
    #lineup-page .price-table {
      overflow-x: scroll;
      position: relative;
      box-shadow: -10px 0px 10px 0px rgba(0, 0, 0, 0.05) inset; }
      #lineup-page .price-table table {
        width: 1000px; }
        #lineup-page .price-table table td, #lineup-page .price-table table th {
          padding: 5px;
          font-size: 14px;
          line-height: 1; }
        #lineup-page .price-table table#price-poster {
          width: 370px; }
          #lineup-page .price-table table#price-poster th:nth-child(1) {
            width: 13%; }
          #lineup-page .price-table table#price-poster th:nth-child(2) {
            width: 30%; }
          #lineup-page .price-table table#price-poster th:nth-child(3) {
            width: 13%; }
        #lineup-page .price-table table.price-sticker {
          width: 710px; }
          #lineup-page .price-table table.price-sticker tr td:last-child {
            text-align: left; }
          #lineup-page .price-table table.price-sticker tbody tr:nth-child(2) td:last-child {
            text-align: center; }
        #lineup-page .price-table table.price-board {
          width: 720px; } }
  #lineup-page .price-sticker td {
    vertical-align: middle;
    text-align: center; }
  #lineup-page .list-factory li {
    border: 3px solid #005bac;
    box-sizing: border-box; }
  #lineup-page .list-factory .img {
    width: 35%;
    background-image: url(/common/images/staff-02.jpg);
    background-size: cover;
    background-position: right; }
    @media screen and (max-width: 959px) {
      #lineup-page .list-factory .img {
        width: 100%;
        background-position: center; } }
  #lineup-page .list-factory .txt {
    width: 65%; }
    @media screen and (max-width: 959px) {
      #lineup-page .list-factory .txt {
        width: 100%;
        padding: 30px 15px; } }
    #lineup-page .list-factory .txt p {
      font-size: 14px;
      margin-bottom: 15px;
      line-height: 20px; }
  #lineup-page .btn {
    padding-right: 0; }

.cnt-point .cnt-contact {
  margin-top: 100px; }

@media screen and (max-width: 959px) {
  .cnt-design th, .cnt-design td {
    display: block;
    font-size: 14px;
    width: 100% !important; } }

/* price page
========================================================= */
#price-page {
  /*
  .price-board,
  #price-poster,
  .price-sticker {
  	th {
  		@media screen and (max-width: 959px) { // Tablet 959px以下
  			display: table-cell;
  			width: 50%;
  			vertical-align: middle;
  		} // end max-width: 959px
  	}
  	td {
  		@media screen and (max-width: 959px) { // Tablet 959px以下
  			display: table-cell;
  			width: 50%;
  			vertical-align: middle;
  			.attention {
  				margin: 0;
  				text-indent: 0;
  			}
  		} // end max-width: 959px
  	}
  }
  */ }
  #price-page .ancher {
    display: flex;
    justify-content: space-between; }
    #price-page .ancher .btn {
      margin-top: 30px; }
    #price-page .ancher .btn a {
      border-radius: 10px; }
    @media screen and (max-width: 959px) {
      #price-page .ancher {
        display: block; }
        #price-page .ancher .btn {
          margin-top: 10px; }
        #price-page .ancher .btn:first-of-type {
          margin-top: 30px; } }
  #price-page .price-board thead th:nth-child(1) {
    width: 12%; }
  #price-page .price-board thead th:nth-child(2) {
    width: 22%; }
  #price-page .price-board thead th:nth-child(3) {
    width: 19%; }
  #price-page .price-board thead th:nth-child(4) {
    width: auto; }
  #price-page .price-board tbody td {
    vertical-align: middle;
    line-height: 30px; }
  #price-page #price-poster thead th:nth-child(1) {
    width: 20%; }
  #price-page #price-poster thead th:nth-child(2) {
    width: 40%; }
  #price-page #price-poster thead th:nth-child(3) {
    width: auto; }
  @media screen and (max-width: 959px) {
    #price-page #price-poster thead th:nth-child(1) {
      width: 10%; }
    #price-page #price-poster thead th:nth-child(2) {
      width: 50%; }
    #price-page #price-poster thead th:nth-child(3) {
      width: 40%;
      min-width: 90px; } }
  #price-page .price-sticker td {
    vertical-align: middle;
    text-align: center; }
  @media screen and (max-width: 959px) {
    #price-page .price-table {
      overflow-x: scroll;
      position: relative;
      box-shadow: -10px 0px 10px 0px rgba(0, 0, 0, 0.05) inset; }
      #price-page .price-table table {
        width: 1000px; }
        #price-page .price-table table td, #price-page .price-table table th {
          padding: 5px;
          font-size: 14px;
          line-height: 1; }
        #price-page .price-table table#price-poster {
          width: 370px; }
          #price-page .price-table table#price-poster th:nth-child(1) {
            width: 13%; }
          #price-page .price-table table#price-poster th:nth-child(2) {
            width: 30%; }
          #price-page .price-table table#price-poster th:nth-child(3) {
            width: 13%; }
        #price-page .price-table table.price-sticker {
          width: 710px; }
          #price-page .price-table table.price-sticker tr td:last-child {
            text-align: left; }
          #price-page .price-table table.price-sticker tbody tr:nth-child(2) td:last-child {
            text-align: center; }
        #price-page .price-table table.price-board {
          width: 720px; } }
  #price-page .cnt-contact {
    margin-top: 100px; }
    @media screen and (max-width: 959px) {
      #price-page .cnt-contact {
        margin-top: 50px; } }

/* company page
========================================================= */
#company-page .cnt-map {
  margin-bottom: 100px; }
  @media screen and (max-width: 959px) {
    #company-page .cnt-map {
      margin-bottom: 50px; } }
  #company-page .cnt-map .map-cover {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 500px; }
    #company-page .cnt-map .map-cover iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    @media screen and (max-width: 959px) {
      #company-page .cnt-map .map-cover {
        padding-bottom: 300px; } }
#company-page table {
  margin-bottom: 50px;
  border: none;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd; }
  @media screen and (max-width: 959px) {
    #company-page table {
      margin-bottom: 0; } }
  @media screen and (min-width: 960px) {
    #company-page table ul.list:not(.url) li {
      width: 47%; } }
  @media screen and (max-width: 959px) {
    #company-page table ul.list:not(.url) li {
      width: 100%; } }
  @media screen and (min-width: 960px) {
    #company-page table ul.line2 li {
      width: 47%;
      float: left; } }
  @media screen and (max-width: 959px) {
    #company-page table ul.line2 li {
      width: 100%;
      float: none; } }
  #company-page table ul, #company-page table li {
    margin: 0;
    padding: 0;
    list-style: none; }
  #company-page table ul.list li {
    position: relative;
    padding-left: 1em; }
  #company-page table ul.list li:last-child {
    margin-bottom: 0; }
  #company-page table ul.list li:before {
    position: absolute;
    display: block;
    content: '';
    top: 9px;
    left: 0;
    width: 6px;
    height: 6px;
    background: #035dad;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%; }
  #company-page table li a {
    color: #005bac;
    text-decoration: none; }
  #company-page table th, #company-page table td {
    width: 25%;
    padding: 20px;
    border: none;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    font-weight: normal;
    vertical-align: middle;
    font-size: 16px;
    line-height: 24px; }
    @media screen and (max-width: 959px) {
      #company-page table th, #company-page table td {
        width: 100%;
        font-size: 14px;
        display: block;
        padding: 5px; } }
  #company-page table th {
    background: #f4f4f4; }
  #company-page table thead th {
    text-align: center; }
  #company-page table span {
    display: block;
    font-size: 12px; }
#company-page .outline th, #company-page .outline td {
  text-align: left !important; }
#company-page .outline th {
  width: 20% !important; }
  @media screen and (max-width: 959px) {
    #company-page .outline th {
      width: 100% !important; } }
#company-page .outline td {
  width: auto !important; }
@media screen and (max-width: 959px) {
  #company-page td, #company-page th {
    width: 100% !important; }
  #company-page ul.list2 li {
    float: none !important;
    width: 100% !important; } }

/* info page
========================================================= */
#info-page .blue a {
  margin-bottom: 0 !important; }
  @media screen and (max-width: 959px) {
    #info-page .blue a {
      margin-bottom: 50px !important; } }
#info-page .detail h2 {
  margin-bottom: 20px;
  text-align: left; }
  @media screen and (min-width: 960px) {
    #info-page .detail h2 {
      font-size: 28px; } }
  @media screen and (max-width: 959px) {
    #info-page .detail h2 {
      font-size: 20px; } }
#info-page .detail h3 {
  font-size: 20px;
  margin-bottom: 20px;
  padding-left: 20px;
  border-left: 3px solid #005bac;
  color: #005bac;
  font-weight: bold; }
  @media screen and (min-width: 960px) {
    #info-page .detail h3 {
      margin-top: 50px; } }
  @media screen and (max-width: 959px) {
    #info-page .detail h3 {
      margin-top: 30px; } }
#info-page .detail h4 {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #dedede;
  font-weight: 700; }
  @media screen and (min-width: 960px) {
    #info-page .detail h4 {
      margin-top: 30px;
      font-size: 20px; } }
  @media screen and (max-width: 959px) {
    #info-page .detail h4 {
      margin-top: 20px;
      font-size: 18px; } }
#info-page .detail h5 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 700; }
  @media screen and (max-width: 959px) {
    #info-page .detail h5 {
      margin-top: 15px; } }
#info-page .detail .update + h3, #info-page .detail .update + h4, #info-page .detail .update + h5 {
  margin-top: 0; }
#info-page .contents .info-list dl {
  border-bottom: 1px dotted #dedede; }
  @media screen and (min-width: 768px) {
    #info-page .contents .info-list dl dt, #info-page .contents .info-list dl dd {
      display: table-cell; } }
  @media screen and (min-width: 768px) {
    #info-page .contents .info-list dl dt {
      width: 7em; } }
  #info-page .contents .info-list dl a {
    padding: 15px 0;
    text-decoration: none;
    color: #000; }
    @media screen and (min-width: 960px) {
      #info-page .contents .info-list dl a:hover {
        color: #005bac; } }
    @media screen and (min-width: 768px) {
      #info-page .contents .info-list dl a {
        display: table; } }
#info-page .contents .update {
  margin-bottom: 20px;
  padding: 15px;
  background: #f8f8f8;
  text-align: right;
  line-height: 1; }
  #info-page .contents .update dt, #info-page .contents .update dd {
    display: inline-block; }
  #info-page .contents .update dt {
    margin-right: 15px; }

/* policy page
========================================================= */
#policy-page article:not(.cnt-contact) section {
  margin-top: 50px; }
#policy-page h3 {
  margin-bottom: 20px; }
#policy-page .cnt-contact {
  margin-top: 100px; }

/* factory page
========================================================= */
.cnt-factory .list-factory {
  margin-top: 50px;
  /*
  li:nth-child(1) .img { background-image: url(/common/images/factory/factory-img01.png); }
  li:nth-child(2) .img { background-image: url(/common/images/factory/factory-img02.png); }
  li:nth-child(3) .img { background-image: url(/common/images/factory/factory-img03.png); }
  li:nth-child(4) .img { background-image: url(/common/images/factory/factory-img04.png); }
  li:nth-child(5) .img { background-image: url(/common/images/factory/factory-img05.png); }
  li:nth-child(6) .img { background-image: url(/common/images/factory/factory-img06.png); }
  li:nth-child(7) .img { background-image: url(/common/images/factory/factory-img07.png); }
  li:nth-child(8) .img { background-image: url(/common/images/factory/factory-img08.png); }
  li:nth-child(9) .img { background-image: url(/common/images/factory/dammy-factory.png); }
  li:nth-child(10) .img { background-image: url(/common/images/factory/dammy-factory.png); }
  li:nth-child(11) .img { background-image: url(/common/images/factory/factory-img11.png); }
  li:nth-child(12) .img { background-image: url(/common/images/factory/dammy-factory.png); }
  li:nth-child(13) .img { background-image: url(/common/images/factory/dammy-factory.png); }*/ }
  .cnt-factory .list-factory li .img {
    background-color: #dedede; }
  .cnt-factory .list-factory li .img {
    background-size: cover;
    background-position: center; }

/*  contact page
========================================================= */
#contact-page .btn {
  margin: 50px 0; }
  @media screen and (max-width: 959px) {
    #contact-page .btn {
      margin: 30px 0; } }
#contact-page article .tel {
  display: block;
  margin: 0 auto;
  text-decoration: none;
  font-size: 50px !important;
  letter-spacing: 1px;
  line-height: 1.6 !important; }
  #contact-page article .tel span {
    font-size: 30px; }
  @media screen and (max-width: 959px) {
    #contact-page article .tel {
      font-size: 30px !important;
      margin: 0 !important; } }
@media screen and (max-width: 959px) {
  #contact-page article h2 {
    margin-bottom: 30px; }
  #contact-page article:nth-of-type(2) p {
    margin-bottom: 0 !important; } }
#contact-page form {
  width: 100%; }
#contact-page #mfp_confirm_table {
  width: 100%;
  margin-top: 20px; }
#contact-page dl {
  display: table;
  width: inherit;
  margin: 0;
  padding: 20px 15px; }
  @media screen and (max-width: 767px) {
    #contact-page dl {
      display: block;
      padding: 0 0 20px; }
      #contact-page dl:first-of-type {
        padding: 0 0 20px; } }
#contact-page dt, #contact-page dd {
  display: table-cell;
  padding: 0;
  border: none !important;
  font-size: 100%;
  text-align: left;
  vertical-align: middle; }
  @media screen and (max-width: 959px) {
    #contact-page dt, #contact-page dd {
      display: block;
      font-size: 16px !important; } }
@media screen and (min-width: 960px) {
  #contact-page dt {
    width: 300px; } }
@media screen and (max-width: 959px) {
  #contact-page dt {
    width: auto;
    padding-bottom: 20px; } }
#contact-page dt span {
  display: block;
  float: right;
  width: 35px;
  height: 18px;
  margin-top: 3px;
  padding-top: 1px;
  background: #fbce04;
  color: #fff;
  font-size: 9px;
  text-align: center;
  line-height: 18px;
  text-indent: 0;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px; }
  @media screen and (max-width: 959px) {
    #contact-page dt span {
      margin-top: -4px; } }
#contact-page #submit {
  margin-top: 30px;
  text-align: center; }
#contact-page #add {
  width: 100%;
  background: #FAFAF9;
  padding: 30px;
  border-radius: 10px;
  border: 3px solid #dedede;
  margin-bottom: 50px; }
  @media screen and (max-width: 959px) {
    #contact-page #add {
      display: block;
      padding: 15px;
      margin-bottom: 20px; } }
#contact-page h3 {
  margin-bottom: 15px; }
  @media screen and (max-width: 959px) {
    #contact-page h3 {
      font-size: 15px;
      padding-left: 10px;
      line-height: 20px; } }
#contact-page dd {
  padding-left: 20px; }
  @media screen and (max-width: 959px) {
    #contact-page dd {
      padding-left: 0;
      padding: 0 !important; } }
  #contact-page dd dl {
    width: 100%;
    padding: 5px 0;
    border: none !important; }
    #contact-page dd dl:first-of-type {
      border-top: none; }
    #contact-page dd dl dt {
      width: 100px;
      padding-top: 10px; }
    @media screen and (max-width: 959px) {
      #contact-page dd dl {
        padding-left: 1em; }
        #contact-page dd dl dt, #contact-page dd dl dd {
          width: auto; } }
  #contact-page dd .mfp_err {
    clear: both;
    display: none;
    text-align: left;
    margin: 5px 0px 0px 0px;
    padding: 3px 0px 5px 17px;
    color: #fbce04;
    font-size: 12px;
    line-height: normal;
    background-repeat: no-repeat;
    background-position: 0px center; }
  #contact-page dd input[type="text"], #contact-page dd input[type="tel"], #contact-page dd input[type="email"], #contact-page dd textarea {
    -webkit-appearance: none;
    width: 100% !important;
    padding: 10px;
    border: solid 1px #dedede;
    background: #f0f0f0;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 100% !important; }
  #contact-page dd #zip-code {
    width: 250px !important;
    margin-right: 10px; }
  #contact-page dd .custom {
    overflow: hidden;
    position: relative;
    width: 250px;
    border: 1px solid #dedede;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    background: #f8f8f8;
    z-index: 10; }
    #contact-page dd .custom i {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      right: 10px; }
  #contact-page dd select {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 44px;
    padding: 11px 15px 10px 15px;
    font-weight: 400;
    cursor: pointer;
    background: #f0f0f0;
    z-index: 15;
    vertical-align: middle;
    line-height: 24px;
    border: 1px solid #dedede;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button; }
  #contact-page dd input[type=radio], #contact-page dd input[type=checkbox] {
    display: none; }
  #contact-page dd .radio, #contact-page dd .checkbox {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: block;
    padding: 15px 15px 15px 45px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #dedede;
    background-color: #f0f0f0;
    vertical-align: middle;
    cursor: pointer; }
    #contact-page dd .radio:hover:after, #contact-page dd .checkbox:hover:after {
      border-color: #005bac; }
    #contact-page dd .radio:before, #contact-page dd .radio:after, #contact-page dd .checkbox:before, #contact-page dd .checkbox:after {
      display: block;
      position: absolute;
      top: 50%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      content: ''; }
    #contact-page dd .radio:before, #contact-page dd .checkbox:before {
      opacity: 0; }
    #contact-page dd .radio:after, #contact-page dd .checkbox:after {
      -webkit-transition: border-color 0.2s linear;
      transition: border-color 0.2s linear;
      left: 15px;
      margin-top: -10px;
      width: 20px;
      height: 20px;
      border: 2px solid #bbb;
      -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
      border-radius: 6px; }
    #contact-page dd .radio.mfp_checked:after, #contact-page dd .checkbox.mfp_checked:after {
      border-color: #005bac; }
    #contact-page dd .radio.mfp_checked:before, #contact-page dd .checkbox.mfp_checked:before {
      opacity: 1; }
  #contact-page dd .radio:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    left: 21px;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    background-color: #005bac; }
  #contact-page dd .radio:after {
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%; }
  #contact-page dd .checkbox:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 21px;
    display: block;
    margin-top: -7px;
    width: 7px;
    height: 11px;
    border-right: 3px solid #005bac;
    border-bottom: 3px solid #005bac;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  #contact-page dd ol {
    zoom: 1; }
    #contact-page dd ol:before, #contact-page dd ol:after {
      content: "";
      display: table;
      height: 0;
      visibility: hidden; }
    #contact-page dd ol:after {
      clear: both; }
  #contact-page dd li {
    float: left;
    width: 50%;
    padding: 5px 10px 5px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    @media screen and (max-width: 959px) {
      #contact-page dd li {
        float: none;
        width: auto;
        padding: 0 0 10px 0; }
        #contact-page dd li:last-child {
          padding-bottom: 0; } }
    #contact-page dd li input {
      margin-right: 5px;
      padding: 0;
      border: none;
      background: none; }
#contact-page #button, #contact-page .mfp_buttons {
  text-align: center; }
  @media screen and (min-width: 960px) {
    #contact-page #button, #contact-page .mfp_buttons {
      margin: 50px 0 0; } }
  @media screen and (max-width: 959px) {
    #contact-page #button, #contact-page .mfp_buttons {
      margin: 50px 0; } }
  @media screen and (max-width: 767px) {
    #contact-page #button, #contact-page .mfp_buttons {
      margin: 0; } }
  #contact-page #button li, #contact-page .mfp_buttons li {
    width: 45%; }
    @media screen and (max-width: 767px) {
      #contact-page #button li, #contact-page .mfp_buttons li {
        float: none;
        width: 100%;
        margin-top: 30px; } }
  #contact-page #button button, #contact-page .mfp_buttons button {
    display: block;
    width: 100%;
    height: 60px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: #005bac;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    color: #fff;
    font-size: 16px;
    text-align: center;
    transition: all .2s; }
    #contact-page #button button:hover, #contact-page .mfp_buttons button:hover {
      opacity: 0.8; }
#contact-page .mfp_buttons {
  padding: 0;
  zoom: 1; }
  #contact-page .mfp_buttons:before, #contact-page .mfp_buttons:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  #contact-page .mfp_buttons:after {
    clear: both; }
  @media screen and (min-width: 960px) {
    #contact-page .mfp_buttons {
      margin: 50px 0 -50px; } }
  #contact-page .mfp_buttons button {
    width: 45%; }
    @media screen and (max-width: 767px) {
      #contact-page .mfp_buttons button {
        width: 100%;
        margin-top: 30px; } }
  #contact-page .mfp_buttons #mfp_button_send {
    float: right; }
  #contact-page .mfp_buttons #mfp_button_cancel {
    float: left; }
#contact-page #mfp_confirm_table dt {
  padding-top: 0; }
#contact-page .thanks {
  text-align: center; }
  #contact-page .thanks h2, #contact-page .thanks div {
    animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    -webkit-animation-delay: 0.5s; }
  #contact-page .thanks h2 {
    margin-bottom: 50px;
    padding: 0;
    border: none;
    font-size: 30px;
    font-weight: 700; }
    #contact-page .thanks h2:before, #contact-page .thanks h2:after {
      display: none; }
    @media screen and (max-width: 767px) {
      #contact-page .thanks h2 {
        margin-bottom: 30px;
        font-size: 22px; } }
  #contact-page .thanks p {
    margin-bottom: 1em;
    text-align: center;
    line-height: 2; }
  #contact-page .thanks .btn-link {
    padding-top: 80px; }
    @media screen and (max-width: 767px) {
      #contact-page .thanks .btn-link {
        padding-top: 40px; } }
#contact-page .btn a {
  border: 3px solid #005bac;
  color: #005bac;
  background: white; }
  #contact-page .btn a:after {
    background: #005bac; }
  #contact-page .btn a:hover {
    background: #005bac;
    color: white; }
#contact-page #mfp_phase_confirm h4 {
  font-size: 25px;
  text-align: center;
  margin-bottom: 30px; }
  @media screen and (max-width: 767px) {
    #contact-page #mfp_phase_confirm h4 {
      font-size: 18px; } }
#contact-page #mfp_phase_confirm .mfp_colored {
  background: #f8f8f8; }
#contact-page #mfp_phase_confirm dt {
  font-weight: bold;
  color: #005bac; }

.mfp_buttons {
  margin: 50px 0 0; }

@media screen and (max-width: 767px) {
  #contact-page .mfp_buttons #mfp_button_cancel {
    margin-top: 10px; } }
.cnt-thanks article:last-of-type {
  padding-top: 50px;
  padding-bottom: 100px; }

/*  error page
========================================================= */
#error-page .pagetitle h1 {
  padding: 0;
  border: none; }
#error-page .contents {
  text-align: center; }
  #error-page .contents h2 span {
    display: block;
    font-size: 11px; }

@media screen and (max-width: 959px) {
  #error-page #pagetitle h1 {
    padding: 0;
    border: none; } }
/*!
*  - v1.3
* Homepage: http://bqworks.com/slider-pro/
* Author: bqworks
* Author URL: http://bqworks.com/
*/
/* Core
--------------------------------------------------*/
.slider-pro {
  position: relative;
  margin: 0 auto;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.sp-slides-container {
  position: relative; }

.sp-mask {
  position: relative;
  overflow: hidden; }

.sp-slides {
  position: relative;
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000; }

.sp-slide {
  position: absolute; }

.sp-image-container {
  overflow: hidden; }

.sp-image {
  position: relative;
  display: block;
  border: none; }

.sp-no-js {
  overflow: hidden;
  max-width: 100%; }

/* Thumbnails
--------------------------------------------------*/
.sp-thumbnails-container {
  position: relative;
  overflow: hidden;
  direction: ltr; }

.sp-top-thumbnails,
.sp-bottom-thumbnails {
  left: 0;
  margin: 0 auto; }

.sp-top-thumbnails {
  position: absolute;
  top: 0;
  margin-bottom: 4px; }

.sp-bottom-thumbnails {
  margin-top: 4px; }

.sp-left-thumbnails,
.sp-right-thumbnails {
  position: absolute;
  top: 0; }

.sp-right-thumbnails {
  right: 0;
  margin-left: 4px; }

.sp-left-thumbnails {
  left: 0;
  margin-right: 4px; }

.sp-thumbnails {
  position: relative; }

.sp-thumbnail {
  border: none; }

.sp-thumbnail-container {
  position: relative;
  display: block;
  overflow: hidden;
  float: left;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.sp-rtl .sp-thumbnail-container {
  float: right; }

/* Horizontal thumbnails
------------------------*/
.sp-top-thumbnails .sp-thumbnail-container,
.sp-bottom-thumbnails .sp-thumbnail-container {
  margin-left: 2px;
  margin-right: 2px; }

.sp-top-thumbnails .sp-thumbnail-container:first-child,
.sp-bottom-thumbnails .sp-thumbnail-container:first-child {
  margin-left: 0; }

.sp-top-thumbnails .sp-thumbnail-container:last-child,
.sp-bottom-thumbnails .sp-thumbnail-container:last-child {
  margin-right: 0; }

/* Vertical thumbnails 
----------------------*/
.sp-left-thumbnails .sp-thumbnail-container,
.sp-right-thumbnails .sp-thumbnail-container {
  margin-top: 2px;
  margin-bottom: 2px; }

.sp-left-thumbnails .sp-thumbnail-container:first-child,
.sp-right-thumbnails .sp-thumbnail-container:first-child {
  margin-top: 0; }

.sp-left-thumbnails .sp-thumbnail-container:last-child,
.sp-right-thumbnails .sp-thumbnail-container:last-child {
  margin-bottom: 0; }

/* Right thumbnails with pointer
--------------------------------*/
.sp-right-thumbnails.sp-has-pointer {
  margin-left: -13px; }

.sp-right-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  left: 18px;
  margin-left: 0 !important; }

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: '';
  position: absolute;
  height: 100%;
  border-left: 5px solid #F00;
  left: 0;
  top: 0;
  margin-left: 13px; }

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: 0;
  top: 50%;
  margin-top: -8px;
  border-right: 13px solid #F00;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent; }

/* Left thumbnails with pointer
-------------------------------*/
.sp-left-thumbnails.sp-has-pointer {
  margin-right: -13px; }

.sp-left-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  right: 18px; }

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: '';
  position: absolute;
  height: 100%;
  border-left: 5px solid #F00;
  right: 0;
  top: 0;
  margin-right: 13px; }

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  right: 0;
  top: 50%;
  margin-top: -8px;
  border-left: 13px solid #F00;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent; }

/* Bottom thumbnails with pointer
---------------------------------*/
.sp-bottom-thumbnails.sp-has-pointer {
  margin-top: -13px; }

.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  top: 18px;
  margin-top: 0 !important; }

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: '';
  position: absolute;
  width: 100%;
  border-bottom: 5px solid #F00;
  top: 0;
  margin-top: 13px; }

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: 50%;
  top: 0;
  margin-left: -8px;
  border-bottom: 13px solid #F00;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent; }

/* Top thumbnails with pointer
------------------------------*/
.sp-top-thumbnails.sp-has-pointer {
  margin-bottom: -13px; }

.sp-top-thumbnails.sp-has-pointer .sp-thumbnail {
  position: absolute;
  bottom: 18px; }

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  content: '';
  position: absolute;
  width: 100%;
  border-bottom: 5px solid #F00;
  bottom: 0;
  margin-bottom: 13px; }

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: 50%;
  bottom: 0;
  margin-left: -8px;
  border-top: 13px solid #F00;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent; }

/* Layers
--------------------------------------------------*/
.sp-layer {
  position: absolute;
  margin: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-backface-visibility: hidden; }

.sp-black {
  color: #FFF;
  background: black;
  background: rgba(0, 0, 0, 0.7); }

.sp-white {
  color: #000;
  background: white;
  background: rgba(255, 255, 255, 0.7); }

.sp-rounded {
  border-radius: 10px; }

.sp-padding {
  padding: 10px; }

/* Touch Swipe
--------------------------------------------------*/
/*
.sp-grab {
	cursor: url(images/openhand.cur), move;
}

.sp-grabbing {
	cursor: url(images/closedhand.cur), move;
}

.sp-selectable {
	cursor: default;
}
*/
/* Caption
--------------------------------------------------*/
.sp-caption-container {
  text-align: center;
  margin-top: 10px; }

/* Full Screen
--------------------------------------------------*/
.sp-full-screen {
  margin: 0 !important;
  background-color: #000; }

.sp-full-screen-button {
  position: absolute;
  top: 5px;
  right: 10px;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.sp-full-screen-button:before {
  content: '\2195'; }

.sp-fade-full-screen {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s; }

.slider-pro:hover .sp-fade-full-screen {
  opacity: 1; }

/* Buttons
--------------------------------------------------*/
.sp-buttons {
  position: relative;
  width: 100%;
  text-align: center;
  padding-top: 10px; }

.sp-rtl .sp-buttons {
  direction: rtl; }

.sp-full-screen .sp-buttons {
  display: none; }

.sp-button {
  width: 10px;
  height: 10px;
  border: 2px solid #000;
  border-radius: 50%;
  margin: 4px;
  display: inline-block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer; }

.sp-selected-button {
  background-color: #000; }

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .sp-button {
    width: 14px;
    height: 14px; } }
@media only screen and (min-width: 568px) and (max-width: 768px) {
  .sp-button {
    width: 16px;
    height: 16px; } }
@media only screen and (min-width: 320px) and (max-width: 568px) {
  .sp-button {
    width: 18px;
    height: 18px; } }
/* Arrows
--------------------------------------------------*/
.sp-fade-arrows {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s; }

.sp-slides-container:hover .sp-fade-arrows {
  opacity: 1; }

.sp-arrow {
  display: block;
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  cursor: pointer;
  background: #fff;
  z-index: 50; }
  @media screen and (min-width: 960px) {
    .sp-arrow:hover {
      opacity: 0.7; } }

.sp-arrow:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #005bac;
  border-right: 2px solid #005bac;
  margin-top: -5px;
  margin-left: -5px; }

.sp-next-arrow {
  right: 0; }
  .sp-next-arrow:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }

.sp-previous-arrow {
  left: 0; }
  .sp-previous-arrow:before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg); }

/* Thumbnail Arrows
--------------------------------------------------*/
.sp-thumbnail-arrows {
  position: absolute; }

.sp-fade-thumbnail-arrows {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s; }

.sp-thumbnails-container:hover .sp-fade-thumbnail-arrows {
  opacity: 1; }

.sp-top-thumbnails .sp-thumbnail-arrows,
.sp-bottom-thumbnails .sp-thumbnail-arrows {
  width: 100%;
  top: 50%;
  left: 0;
  margin-top: -12px; }

.sp-left-thumbnails .sp-thumbnail-arrows,
.sp-right-thumbnails .sp-thumbnail-arrows {
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -7px; }

.sp-thumbnail-arrow {
  position: absolute;
  display: block;
  width: 15px;
  height: 25px;
  cursor: pointer; }

.sp-left-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow,
.sp-right-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.sp-top-thumbnails .sp-previous-thumbnail-arrow,
.sp-bottom-thumbnails .sp-previous-thumbnail-arrow {
  left: 0px; }

.sp-top-thumbnails .sp-next-thumbnail-arrow,
.sp-bottom-thumbnails .sp-next-thumbnail-arrow {
  right: 0px; }

.sp-left-thumbnails .sp-previous-thumbnail-arrow,
.sp-right-thumbnails .sp-previous-thumbnail-arrow {
  top: 0px; }

.sp-left-thumbnails .sp-next-thumbnail-arrow,
.sp-right-thumbnails .sp-next-thumbnail-arrow {
  bottom: 0px; }

.sp-previous-thumbnail-arrow:before,
.sp-previous-thumbnail-arrow:after,
.sp-next-thumbnail-arrow:before,
.sp-next-thumbnail-arrow:after {
  content: '';
  position: absolute;
  width: 50%;
  height: 50%;
  background-color: #FFF; }

.sp-previous-thumbnail-arrow:before {
  left: 30%;
  top: 0;
  -webkit-transform: skew(145deg, 0deg);
  -ms-transform: skew(145deg, 0deg);
  transform: skew(145deg, 0deg); }

.sp-previous-thumbnail-arrow:after {
  left: 30%;
  top: 50%;
  -webkit-transform: skew(-145deg, 0deg);
  -ms-transform: skew(-145deg, 0deg);
  transform: skew(-145deg, 0deg); }

.sp-next-thumbnail-arrow:before {
  right: 30%;
  top: 0;
  -webkit-transform: skew(35deg, 0deg);
  -ms-transform: skew(35deg, 0deg);
  transform: skew(35deg, 0deg); }

.sp-next-thumbnail-arrow:after {
  right: 30%;
  top: 50%;
  -webkit-transform: skew(-35deg, 0deg);
  -ms-transform: skew(-35deg, 0deg);
  transform: skew(-35deg, 0deg); }

.ie8 .sp-thumbnail-arrow,
.ie7 .sp-thumbnail-arrow {
  width: 0;
  height: 0; }

.ie8 .sp-thumbnail-arrow:before,
.ie8 .sp-thumbnail-arrow:after,
.ie7 .sp-thumbnail-arrow:before,
.ie7 .sp-thumbnail-arrow:after {
  content: none; }

.ie8 .sp-top-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-top-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow {
  border-right: 12px solid #FFF;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent; }

.ie8 .sp-top-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-bottom-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-top-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-bottom-thumbnails .sp-next-thumbnail-arrow {
  border-left: 12px solid #FFF;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent; }

.ie8 .sp-left-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-right-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-left-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-right-thumbnails .sp-previous-thumbnail-arrow {
  border-bottom: 12px solid #FFF;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent; }

.ie8 .sp-left-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-right-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-left-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-right-thumbnails .sp-next-thumbnail-arrow {
  border-top: 12px solid #FFF;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent; }

/* Video
--------------------------------------------------*/
a.sp-video {
  text-decoration: none; }

a.sp-video img {
  -webkit-backface-visibility: hidden;
  border: none; }

a.sp-video:after {
  content: '\25B6';
  position: absolute;
  width: 45px;
  padding-left: 5px;
  height: 50px;
  border: 2px solid #FFF;
  text-align: center;
  font-size: 30px;
  border-radius: 30px;
  top: 0;
  color: #FFF;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.2);
  margin: auto;
  line-height: 52px; }

/* CSS for preventing styling issues in WordPress
--------------------------------------------------*/
.slider-pro img.sp-image,
.slider-pro img.sp-thumbnail {
  max-width: none;
  max-height: none;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  -webkit-box-shadow: none !important;
  -mox-box-shadow: none !important;
  box-shadow: none !important;
  transition: none;
  -moz-transition: none;
  -webkit-transition: none;
  -o-transition: none; }

.slider-pro a {
  position: static;
  transition: none !important;
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -o-transition: none !important; }

.slider-pro iframe,
.slider-pro object,
.slider-pro video,
.slider-pro embed,
.slider-pro canvas {
  max-width: none;
  max-height: none; }

.slider-pro p.sp-layer {
  font-size: 14px;
  line-height: 1.4;
  margin: 0; }

.slider-pro h1.sp-layer {
  font-size: 32px;
  line-height: 1.4;
  margin: 0; }

.slider-pro h2.sp-layer {
  font-size: 24px;
  line-height: 1.4;
  margin: 0; }

.slider-pro h3.sp-layer {
  font-size: 19px;
  line-height: 1.4;
  margin: 0; }

.slider-pro h4.sp-layer {
  font-size: 16px;
  line-height: 1.4;
  margin: 0; }

.slider-pro h5.sp-layer {
  font-size: 13px;
  line-height: 1.4;
  margin: 0; }

.slider-pro h6.sp-layer {
  font-size: 11px;
  line-height: 1.4;
  margin: 0; }

.slider-pro img.sp-layer {
  border: none; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

@media print {
  * html body {
    zoom: .7; } }

/*# sourceMappingURL=style.css.map */
