@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* Normalization */
@import url("https://fonts.googleapis.com/css?family=Lato:400,700|Noto+Sans+JP:400,700");
:root { -ms-overflow-style: -ms-autohiding-scrollbar; overflow-y: scroll; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

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

details { display: block; }

input[type="number"] { width: auto; }

input[type="search"] { -webkit-appearance: textfield; }

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

main { display: block; }

summary { display: block; }

pre { overflow: auto; }

progress { display: inline-block; }

small { font-size: 75%; }

template { display: none; }

textarea { overflow: auto; }

[hidden] { display: none; }

[unselectable] { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

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

* { font-size: inherit; line-height: inherit; }

::before, ::after { text-decoration: inherit; vertical-align: inherit; }

/* Opinionated defaults */
*, ::before, ::after { border-style: solid; border-width: 0; }

* { margin: 0; padding: 0; }

:root { box-sizing: border-box; cursor: default; font: 16px / 1.5 sans-serif; text-rendering: optimizeLegibility; }

html { background-color: #FFFFFF; }

a { text-decoration: none; }

audio, canvas, iframe, img, svg, video { vertical-align: middle; }

button, input, select, textarea { background-color: transparent; }

button, input, select, textarea { color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; }

button, [type="button"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="month"], [type="number"], [type="password"], [type="reset"], [type="search"], [type="submit"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], select, textarea { min-height: 1.5em; }

code, kbd, pre, samp { font-family: monospace, monospace; }

nav ol, nav ul { list-style: none; }

select { -moz-appearance: none; -webkit-appearance: none; }

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

select::-ms-value { color: currentColor; }

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

textarea { resize: vertical; }

::-moz-selection { background-color: #B3D4FC; text-shadow: none; }

::selection { background-color: #B3D4FC; text-shadow: none; }

@media screen { [hidden~="screen"] { display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) { clip: rect(0 0 0 0) !important; position: absolute !important; } }

/*
#styleguide
基本スタイル

```
<p>特に何も指定しないときの状態</p>
```
*/
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; text-rendering: auto; font-size: 14px; font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; color: #333; background-color: #fff; }

.clr { zoom: 1; }

.clr:before, .clr:after { content: " "; display: table; }

.clr:after { clear: both; }

.icon { display: inline-block; background-repeat: no-repeat; }

.icon.icon-web-navigation-line-craft-1-109681 { background-image: url("../images/icon.png"); background-position: 0px 0px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-2-109682 { background-image: url("../images/icon.png"); background-position: -512px 0px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-3-109688 { background-image: url("../images/icon.png"); background-position: 0px -512px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-4-109689 { background-image: url("../images/icon.png"); background-position: -512px -512px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-5-109690 { background-image: url("../images/icon.png"); background-position: -1024px 0px; background-size: 1536px 1024px; width: 512px; height: 512px; }

a { transition: all ease .3s; }

.container { width: 1040px; margin-left: auto; margin-right: auto; }

.en { font-family: 'Lato', sans-serif; text-transform: uppercase; }

.light-bg { background: #f5f5f5; }

.flex-cols { display: flex; flex-wrap: wrap; justify-content: space-between; }

.center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.responsive-img { display: block; margin-left: auto; margin-right: auto; max-width: 100%; height: auto; }

.header { position: absolute; top: 0; left: 0; width: 100%; z-index: 9999; padding-top: 30px; }

.header .sitename { float: left; }

.header .sitename a { color: #333; font-size: 1.143rem; }

.header .global-menu { float: right; list-style: none; margin-top: 3px; }

.header .global-menu .menu { float: left; font-size: 1.167em; }

.header .global-menu .menu:not(:first-child) { position: relative; }

.header .global-menu .menu:not(:first-child):before { content: "/"; padding: 0 15px; }

.header .global-menu .menu a { color: #333; }

.header .global-menu .menu a i { color: #003c7a; margin-right: 8px; }

.header .global-menu .header-tel { padding-top: 2px; }

.header .global-menu .header-tel a p { display: inline-block; font-weight: bold; letter-spacing: .1rem; }

.header .global-menu .header-tel a span { display: block; font-size: .857rem; text-align: right; }

.kv { position: relative; top: 0; left: 0; width: 100%; height: 600px; }

.kv .slides { width: 100%; height: 600px; }

.kv .slides .slide { width: 100%; height: 600px; background-position: center center; background-repeat: no-repeat; background-size: cover; }

.kv .slides .slide.slide-1 { background-image: url(../images/slide-1.jpg); }

.kv .kv-text { position: absolute; top: 50%; left: calc((100% - 1040px)/2); letter-spacing: .1rem; font-size: 2rem; font-weight: normal; }

.kv .kv-text span { color: #003c7a; }

.page-content { padding: 40px 0; }

.page-content .home-title { text-align: center; margin-bottom: 20px; }

.page-content .home-title h3 { font-size: 1.5rem; }

.page-content .home-title h3:after { content: ""; display: block; width: 5%; height: 3px; margin: 8px auto 0; background: #003c7a; }

.trouble-content .trouble-col { position: relative; display: table; width: 100%; padding: 20px; margin-top: 40px; background: #fff; }

.trouble-content .trouble-col:before, .trouble-content .trouble-col:after { position: absolute; width: 80px; height: 80px; }

.trouble-content .trouble-col:before { top: -7px; left: -7px; border-top: 7px solid #0b318f; border-left: 7px solid #0b318f; }

.trouble-content .trouble-col:after { bottom: -7px; right: -7px; border-bottom: 7px solid #0b318f; border-right: 7px solid #0b318f; }

.trouble-content .trouble-col .thumb { display: table-cell; width: 30%; }

.trouble-content .trouble-col .check { display: table-cell; list-style: none; width: 70%; vertical-align: middle; padding-left: 40px; }

.trouble-content .trouble-col .check li { font-size: 1.5rem; margin: 20px 0; }

.trouble-content .trouble-col .check li i { color: #e91f1f; padding-right: 10px; }

.reason-content .reason-cols .reason-col { position: relative; width: 100%; }

.reason-content .reason-cols .reason-col:not(:last-child) { margin-bottom: 60px; }

.reason-content .reason-cols .reason-col .thumb { float: right; margin-top: 90px; }

.reason-content .reason-cols .reason-col .text { position: absolute; max-width: 500px; padding: 60px 60px 30px 60px; background: #fff; }

.reason-content .reason-cols .reason-col .text span { display: inline-block; color: #fff; letter-spacing: .1em; font-size: 1.167em; padding: 7px 20px; margin-bottom: 10px; background: #003c7a; }

.reason-content .reason-cols .reason-col .text h4 { font-size: 1.5em; margin-bottom: 10px; }

.reason-content .reason-cols .reason-col .text p { line-height: 1.7; }

.reason-content .reason-cols .reason-col .text p:not(:last-child) { margin-bottom: 10px; }

.reason-content .reason-cols .reason-col:nth-child(even) .thumb { float: left; }

.reason-content .reason-cols .reason-col:nth-child(even) .text { right: 0; }

.service-content .service-col { margin-top: 40px; }

.service-content .service-col .thumb { float: right; width: 48%; }

.service-content .service-col .text { float: left; width: 50%; padding-right: 2%; }

.service-content .service-col .text h4 { font-size: 1.5em; margin-bottom: 10px; }

.service-content .service-col .text p { line-height: 1.7; }

.service-content .service-col .text p:not(:last-child) { margin-bottom: 10px; }

.service-content .system-col { margin-top: 30px; }

.service-content .system-col h4 { text-align: center; display: block; color: #fff; font-size: 1.167em; padding: 10px 20px; background: #333; }

.service-content .system-col dl { display: table; width: 100%; border: 1px solid #c5c5c5; border-top: none; background: #fff; text-align: center; }

.service-content .system-col dl dt { display: table-cell; width: 50%; padding: 10px; vertical-align: middle; border-right: 1px solid #c5c5c5; }

.service-content .system-col dl dd { display: table-cell; width: 50%; padding: 10px; vertical-align: middle; }

.service-content .support-col { margin-top: 30px; }

.service-content .support-col h4 { color: #003c7a; font-size: 1.167em; padding: 3px 0 5px 8px; margin-bottom: 15px; border-left: 4px solid #003c7a; }

.service-content .support-col ul { list-style: none; }

.service-content .support-col ul li { padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #c5c5c5; }

.service-content .support-col ul li i { color: #003c7a; padding-right: 7px; }

.flow-content .flow-col p { text-align: center; }

.flow-content .flow-col .flow-chart { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px; }

.flow-content .flow-col .flow-chart li { position: relative; display: table-cell; color: #fff; font-size: 1.25em; width: 158px; margin-right: 30px; height: 100px; text-align: center; padding: 10px; vertical-align: middle; background: #003c7a; }

.flow-content .flow-col .flow-chart li:after { position: absolute; right: -25px; top: 0; display: block; content: ""; width: 0; height: 0; border-style: solid; border-width: 50px 0 50px 25px; border-color: transparent transparent transparent #003d7a; }

.flow-content .flow-col .flow-chart li span { width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding-left: 12.5px; }

.flow-content .flow-col .flow-chart li.start { background: #ca1717; }

.flow-content .flow-col .flow-chart li.start:after { content: none; }

.flow-content .flow-col .flow-chart li.start span { padding-left: 0; }

.contact-content dl { display: table; width: 70%; padding-bottom: 25px; margin-bottom: 25px; margin-left: auto; margin-right: auto; border-bottom: 1px solid #d5d5d5; }

.contact-content dl dt { display: table-cell; width: 20%; font-weight: bold; vertical-align: middle; }

.contact-content dl dt .require { display: block; color: red; }

.contact-content dl dd { display: table-cell; width: 80%; vertical-align: middle; }

.contact-content dl dd input[type="text"] { width: 100%; height: 35px; padding: 3px 8px; background: #eee; }

.contact-content dl dd textarea { width: 100%; height: 200px; padding: 3px 8px; background: #eee; }

.contact-content .submit { display: block; width: 300px; height: 50px; color: #fff; text-align: center; font-weight: bold; font-size: 1.25em; line-height: 50px; margin-left: auto; margin-right: auto; background: #003c7a; }

.office-content dl { display: table; width: 70%; padding-bottom: 25px; margin-bottom: 25px; margin-left: auto; margin-right: auto; border-bottom: 1px solid #d5d5d5; }

.office-content dl dt { display: table-cell; width: 20%; font-weight: bold; vertical-align: middle; }

.office-content dl dd { display: table-cell; width: 80%; vertical-align: middle; }

.office-content dl dd input[type="text"] { width: 100%; height: 35px; padding: 3px 8px; background: #eee; }

.office-content dl dd textarea { width: 100%; height: 200px; padding: 3px 8px; background: #eee; }

.footer .footer-contact-cols { padding: 30px 0; background: #f5f5f5; }

.footer .footer-contact-cols h4 { color: #003c7a; letter-spacing: .1em; font-size: 1.25em; text-align: center; }

.footer .footer-contact-cols .flex-cols { margin-top: 20px; }

.footer .footer-contact-cols .flex-cols .footer-contact-col { text-align: center; width: 45%; padding: 20px; background: linear-gradient(135deg, #003c7a 0%, #00798e 100%); }

.footer .footer-contact-cols .flex-cols .footer-contact-col:hover { transform: scale(1.025, 1.025); }

.footer .footer-contact-cols .flex-cols .footer-contact-col i { font-size: 2.5em; color: #fff; }

.footer .footer-contact-cols .flex-cols .footer-contact-col.tel p, .footer .footer-contact-cols .flex-cols .footer-contact-col.mail p { color: #fff; font-weight: bold; font-size: 2em; letter-spacing: .1em; }

.footer .footer-contact-cols .flex-cols .footer-contact-col.tel span, .footer .footer-contact-cols .flex-cols .footer-contact-col.mail span { color: #fff; }

.footer .footer-contact-cols .flex-cols .footer-contact-col.mail p { font-size: 1.5em; margin-top: 7px; margin-bottom: 4px; }

.footer .footer-content { padding: 30px 0; background: #333; }

.footer .footer-content .footer-content-cols .footer-content-col { width: 30%; }

.footer .footer-content .footer-content-cols .footer-content-col .footer-menu li:not(:last-child) { padding-bottom: 15px; margin-bottom: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.3); }

.footer .footer-content .footer-content-cols .footer-content-col .footer-menu li a { color: #fff; }

.footer .footer-content .footer-content-cols .footer-content-col .footer-infomation { color: #fff; text-align: center; }

.footer .footer-content .footer-content-cols .footer-content-col .footer-infomation h3 { font-size: 1.25em; margin-bottom: 10px; }

.footer .footer-content .footer-content-cols .footer-content-col .footer-infomation p { margin-bottom: 10px; }

.footer .copyright { text-align: center; color: #fff; padding: 10px 0; background: #000; }

.footer .copyright h2 { float: left; }

.footer .copyright p { text-align: right; }

.page-title { position: relative; width: 100%; height: 500px; background-position: center center; background-repeat: no-repeat; background-size: cover; }

.page-title.contact { background-image: url(../images/page-title-contact.jpg); }

.page-title.office { background-image: url(../images/page-title-office.jpg); }

.page-title h2 { position: relative; display: inline-block; color: #fff; font-size: 3rem; font-weight: normal; padding: 20px 80px; background: #003c7a; }

.page-title h2:before { content: ""; position: absolute; left: 15px; top: 15px; width: 50px; height: 50px; border-left: 1px solid #fff; border-top: 1px solid #fff; }

.page-title h2:after { content: ""; position: absolute; right: 15px; bottom: 15px; width: 50px; height: 50px; border-right: 1px solid #fff; border-bottom: 1px solid #fff; }

@media screen and (max-width: 1040px) { .container { width: 100%; }
  .header { position: inherit; background: #003c7a; padding-left: 20px; padding-right: 20px; }
  .header h1 { float: none !important; text-align: center; }
  .header h1 a { color: #fff !important; }
  .header .global-menu { float: none; text-align: center; margin-top: 10px; margin-bottom: 30px; }
  .header .global-menu .menu { float: none; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  .header .global-menu .menu:before { display: none; }
  .header .global-menu .menu i { display: none; }
  .header .global-menu .menu a { color: #fff; }
  .header .global-menu .menu span { text-align: center !important; }
  .kv .kv-text { font-size: 2rem; text-align: center; width: 100%; top: 20%; left: 50%; transform: translate(-50%, -45%); padding-left: 20px; padding-right: 20px; }
  .kv .kv-text br { display: none; }
  .kv .slides .slide { background-position: 67% 100%; }
  .page-content { padding-left: 20px; padding-right: 20px; }
  .trouble-content .trouble-col { display: block; width: 100%; }
  .trouble-content .trouble-col .thumb { display: block; width: 100%; margin-bottom: 20px; }
  .trouble-content .trouble-col .check { display: block; width: 100%; padding-left: 0; }
  .reason-content .reason-cols .reason-col:not(:last-child) { margin-bottom: 30px; }
  .reason-content .reason-cols .reason-col .thumb { display: none; }
  .reason-content .reason-cols .reason-col .text { padding: 0 20px; position: inherit; max-width: 100%; }
  .service-content .service-col .thumb { float: none; width: 100%; margin-bottom: 20px; }
  .service-content .service-col .text { float: none; width: 100%; }
  .flow-content .flow-col .flow-chart { display: block; width: 100%; }
  .flow-content .flow-col .flow-chart li { display: block; width: 100%; margin-right: 0; }
  .flow-content .flow-col .flow-chart li:not(:last-child) { margin-bottom: 20px; }
  .flow-content .flow-col .flow-chart li:after { content: none; }
  .flow-content .flow-col .flow-chart li span { padding-left: 0; }
  .contact-content .contact-form dl { display: block; width: 100%; }
  .contact-content .contact-form dl dt { display: block; width: 100%; }
  .contact-content .contact-form dl dd { display: block; width: 100%; }
  .office-content dl { display: block; width: 100%; }
  .office-content dl dt { display: block; width: 100%; }
  .office-content dl dd { display: block; width: 100%; }
  .footer .footer-contact-cols { padding-left: 20px; padding-right: 20px; }
  .footer .footer-contact-cols .flex-cols .footer-contact-col { display: block; width: 100%; }
  .footer .footer-contact-cols .flex-cols .footer-contact-col.tel { margin-bottom: 20px; }
  .footer .footer-content { padding-left: 20px; padding-right: 20px; }
  .footer .footer-content .footer-content-cols .footer-content-col { width: 100%; }
  .footer .footer-content .footer-content-cols .footer-content-col:not(:last-child) { margin-bottom: 20px; }
  .footer .copyright { padding-left: 20px; padding-right: 20px; }
  .footer .copyright h2 { float: none; }
  .footer .copyright p { text-align: center; }
  .page-title { padding-left: 20px; padding-right: 20px; }
  .page-title h2 { font-size: 1.75rem; text-align: center; width: 100%; left: 50%; transform: translate(-50%, -10%); } }
/*# sourceMappingURL=maps/style.css.map */

.online{
  position: fixed;
  right: 0;
  top: 50%;
  margin-top: -150px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 300px;
  background: linear-gradient(135deg, #003c7a 0%, #00798e 100%);
  z-index: 999;
}

.online:hover{
  opacity: .9;
}

.online span{
  color:  #fff;
  font-size: 18px;
  font-weight: bold;
  writing-mode: vertical-rl;
}