@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");
: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: "游ゴシック", 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: 20px; }

.header .left { float: left; }

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

.header .header-contact { float: right; list-style: none; }

.header .header-contact li { float: left; }

.header .header-contact li a { position: relative; display: inline-block; padding: 7px 30px 10px; color: #fff; background: linear-gradient(135deg, #003c7a 0%, #00798e 100%); overflow: hidden; }

.header .header-contact li a:hover { transform: scale(1.025, 1.025); }

.header .header-contact li a i { display: inline-block; font-size: 1.5rem; text-align: center; padding-right: 10px; }

.header .header-contact li a p { display: inline-block; font-size: 1.5rem; letter-spacing: .1rem; }

.header .header-contact li a span { display: block; text-align: right; }

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

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

.kv .slides .slide { width: 100%; height: 650px; 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: 45%; left: calc((100% - 1040px)/2); letter-spacing: .1rem; font-size: 3rem; font-weight: normal; }

.global-menu { padding: 20px 0; background: #003c7a; }

.global-menu ul { display: flex; flex-wrap: wrap; justify-content: space-between; }

.global-menu ul li { position: relative; width: calc(100%/7); border-left: 1px solid rgba(255, 255, 255, 0.2); }

.global-menu ul li:last-child { border-right: 1px solid rgba(255, 255, 255, 0.2); }

.global-menu ul li a { display: block; text-align: center; padding: 8px; color: #fff; }

.global-menu ul li a span { display: block; color: #a2bfde; }

.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 span { display: inline-block; font-size: 1rem; color: #003c7a; }

.page-content .home-title h3 span:before { content: "/"; display: inline-block; padding: 0 10px; }

.page-content .page-content-title { position: relative; font-size: 1.5rem; color: #003c7a; margin-bottom: 20px; padding: 4px 0 4px 10px; border-left: 3px solid #003c7a; }

.message-content .message-col { display: table; width: 100%; }

.message-content .message-col .thumb { display: table-cell; width: 35%; vertical-align: middle; }

.message-content .message-col .text { display: table-cell; width: 65%; padding-left: 30px; vertical-align: middle; }

.message-content .message-col .text p { font-size: 1.143rem; line-height: 1.7; }

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

.message-content .message-col .text p.align-right { text-align: right; margin-top: 30px; }

.reason-content { position: relative; background: url(../images/reason-bg.jpg) top center no-repeat; background-size: cover; z-index: 1; overflow: hidden; }

.reason-content:before { position: absolute; left: -3px; right: -3px; bottom: -3px; width: 100%; height: 100%; content: ""; background: inherit; filter: blur(3px); z-index: -1; }

.reason-content .reason-cols { margin-top: 40px; padding-left: 20px; padding-right: 20px; }

.reason-content .reason-cols .reason-col { display: block; text-align: center; position: relative; width: 24%; padding: 30px 10px; background: #fff; }

.reason-content .reason-cols .reason-col:before, .reason-content .reason-cols .reason-col:after { display: block; content: ""; width: 20px; height: 20px; position: absolute; }

.reason-content .reason-cols .reason-col:before { top: 10px; left: 10px; border-left: 1px solid #003c7a; border-top: 1px solid #003c7a; }

.reason-content .reason-cols .reason-col:after { bottom: 10px; right: 10px; border-right: 1px solid #003c7a; border-bottom: 1px solid #003c7a; }

.reason-content .reason-cols .reason-col span { top: 0; font-size: 1.5rem; text-align: center; color: #fff; width: 40px; height: 40px; line-height: 40px; border-radius: 50%; background: linear-gradient(135deg, #003c7a 0%, #00798e 100%); z-index: 999; }

.reason-content .reason-cols .reason-col h4 { font-size: 1.143em; color: #003c7a; margin-bottom: 5px; }

.reason-content .reason-cols .reason-col h4 i { color: #003c7a; padding-right: 5px; }

.reason-content .reason-cols .reason-col p { color: #333; line-height: 1.7; }

.merit-content { padding-bottom: 120px; }

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

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

.merit-content .merit-cols .merit-col .thumb { float: left; width: 40%; }

.merit-content .merit-cols .merit-col .text { width: 60%; position: absolute; bottom: -60px; right: 60px; padding: 30px 60px; background: #fff; }

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

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

.merit-content .merit-cols .merit-col:nth-child(odd) .thumb { float: right; }

.merit-content .merit-cols .merit-col:nth-child(odd) .text { left: 60px; }

.price-content .price-col .price-list dl { display: table; width: 100%; border: 1px solid #d5d5d5; border-top: none; }

.price-content .price-col .price-list dl.head { color: #fff; font-weight: bold; border-top: 1px solid #d5d5d5; background: #003c7a; }

.price-content .price-col .price-list dl.head dd { border-left: none; }

.price-content .price-col .price-list dl:nth-child(even) { background: #f5f5f5; }

.price-content .price-col .price-list dl dt { display: table-cell; width: 40%; padding: 20px; }

.price-content .price-col .price-list dl dd { display: table-cell; width: 30%; padding: 20px; border-left: 1px solid #d5d5d5; vertical-align: middle; }

.page-document-content .document-list { position: relative; }

.page-document-content .document-list .document-list-col { position: relative; display: block; font-size: 1.286em; color: #fff; padding: 20px 40px; text-align: center; display: flex; align-items: center; justify-content: center; width: 23%; background: #003c7a; }

.page-document-content .document-list .document-list-col:hover { opacity: .7; }

.page-document-content .document-list .document-list-col span { position: relative; font-size: 1rem; display: inline-block; letter-spacing: .1em; padding: 5px 30px; margin-top: 20px; border: 1px solid #fff; }

.page-document-content .page-document-col:not(:last-child) { margin-bottom: 40px; }

.page-document-content .page-document-col h5 { color: #003c7a; font-size: 1.167em; margin-bottom: 10px; margin-top: 30px; }

.page-document-content .page-document-col h5 strong { padding-right: 10px; }

.page-document-content .page-document-col ol { margin-bottom: 30px; }

.page-document-content .page-document-col ol li:not(:last-child) { margin-bottom: 20px; }

.page-document-content .page-document-col ol li h6 { font-size: 1.167em; margin-bottom: 7px; }

.page-document-content .page-document-col ol li strong { color: #003c7a; padding-right: 10px; }

.page-document-content .page-document-col p { list-style: 1.7; }

.page-document-content .page-document-col p:not(:last-child) { margin-bottom: 12px; }

.page-reason-content .page-reason-cols .page-reason-col { position: relative; width: 49%; text-align: center; }

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

.page-reason-content .page-reason-cols .page-reason-col .title { position: relative; width: 100%; padding: 20px; background: #003c7a; }

.page-reason-content .page-reason-cols .page-reason-col .title h3 { color: #fff; text-align: center; font-size: 1.25em; }

.page-reason-content .page-reason-cols .page-reason-col .title:before, .page-reason-content .page-reason-cols .page-reason-col .title:after { display: block; content: ""; width: 20px; height: 20px; position: absolute; }

.page-reason-content .page-reason-cols .page-reason-col .title:before { top: 10px; left: 10px; border-left: 1px solid #fff; border-top: 1px solid #fff; }

.page-reason-content .page-reason-cols .page-reason-col .title:after { bottom: 10px; right: 10px; border-right: 1px solid #fff; border-bottom: 1px solid #fff; }

.page-reason-content .page-reason-cols .page-reason-col .text { padding: 20px; background: #f5f5f5; }

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

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

.page-flow-content .page-flow-cols li { position: relative; display: table; width: 100%; }

.page-flow-content .page-flow-cols li:not(:last-child) { margin-bottom: 50px; }

.page-flow-content .page-flow-cols li:not(:last-child):after { position: absolute; left: 15%; bottom: -50px; display: block; content: ""; width: 5px; height: 50px; background: #003c7a; }

.page-flow-content .page-flow-cols li .title { color: #fff; text-align: center; display: table-cell; width: 30%; background: #003c7a; vertical-align: middle; }

.page-flow-content .page-flow-cols li .title span { display: inline-block; font-size: 1.5em; }

.page-flow-content .page-flow-cols li .title h4 { display: inline-block; font-size: 1.5em; }

.page-flow-content .page-flow-cols li .text { display: table-cell; width: 70%; padding: 40px; background: #f5f5f5; vertical-align: middle; }

.page-flow-content .page-flow-cols li .text p { line-height: 1.7; }

.page-flow-content .page-flow-cols li .text p:not(:last-child) { margin-bottom: 12px; }

.page-flow-content .page-flow-cols li .text p a { color: #003c7a; }

.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 { float: left; width: 50%; }

.footer .footer-content .footer-content-cols .footer-content-col .footer-menu li:not(:last-child) { margin-bottom: 20px; }

.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.documents { background-image: url(../images/page-title-document.jpg); }

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

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

.page-title.price { background-image: url(../images/page-title-price.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 { padding-left: 20px; padding-right: 20px; }
  .header .left { float: none; }
  .header .left h1 { text-align: center; margin-bottom: 20px; }
  .header .left .global-menu { text-align: center; margin-bottom: 30px; }
  .header .left .global-menu li { float: none; display: inline-block; }
  .header .header-contact { float: none; text-align: center; }
  .header .header-contact li { float: none; display: inline-block; }
  .kv .kv-text { font-size: 2rem; text-align: center; width: 100%; left: 50%; transform: translate(-50%, -45%); padding-left: 20px; padding-right: 20px; }
  .kv .kv-text br { display: none; }
  .global-menu { padding: 0; }
  .global-menu ul { border-top: 1px solid rgba(255, 255, 255, 0.2); }
  .global-menu ul li { float: left; width: 50%; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
  .global-menu ul li:last-child { width: 100%; }
  .global-menu ul li a { padding-top: 10px; }
  .global-menu ul li a span { display: none; }
  .page-content { padding-left: 20px; padding-right: 20px; }
  .message-content .message-col { display: block; }
  .message-content .message-col .thumb { display: block; width: 100%; margin-bottom: 30px; }
  .message-content .message-col .text { display: block; width: 100%; }
  .message-content .message-col .text .align-right { text-align: left !important; }
  .reason-content .reason-cols .reason-col { width: 100%; }
  .reason-content .reason-cols .reason-col:not(:last-child) { margin-bottom: 40px; }
  .merit-content .merit-cols .merit-col { width: 100%; }
  .merit-content .merit-cols .merit-col .thumb { float: none !important; width: 100%; }
  .merit-content .merit-cols .merit-col .text { width: 100%; position: inherit; top: inherit; bottom: inherit; left: inherit !important; right: inherit; padding: 20px; }
  .merit-content .merit-cols .merit-col:not(:last-child) { margin-bottom: 40px; }
  .page-document-content .document-list .document-list-col { width: 100%; }
  .page-document-content .document-list .document-list-col:not(:last-child) { margin-bottom: 20px; }
  .page-reason-content .page-reason-cols .page-reason-col { width: 100%; }
  .page-flow-content .page-flow-cols li { display: block; }
  .page-flow-content .page-flow-cols li:after { left: 50% !important; margin-left: -5px; }
  .page-flow-content .page-flow-cols li .title { display: block; width: 100%; padding: 10px; }
  .page-flow-content .page-flow-cols li .text { display: block; width: 100%; padding: 20px; }
  .flow-content .flow-cols .flow-col { width: 100%; }
  .flow-content .flow-cols .flow-col:not(:last-child) { margin-bottom: 40px; }
  .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;
}