@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* Normalization */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
: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: #232323; 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; }

* { box-sizing: border-box; }

* ul { list-style: none; padding: 0; }

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

.header { padding: 15px 0; }

.header .sitename { float: left; width: 50%; }

.header .sitename img { float: left; }

.header .sitename a { display: block; color: #232323; letter-spacing: .1em; margin-left: -.1em; transition: all ease .25s; }

.header .sitename a h1 { float: left; font-size: 2em; color: #232323; padding: 10px 0 0 20px; }

.header .sitename a span { display: block; font-size: 1rem; font-weight: 400; }

.header .sitename a:hover { color: #999; }

.header .contact { float: right; margin: 17px 0 0 0; }

.header .contact h2 { color: #024ea2; font-size: 2em; }

.header .contact h2 span { color: #232323; font-size: 1.286rem; padding-right: 5px; }

.header .translate { float: right; padding-left: 20px; margin-top: 26px; }

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

.kv .slider { width: 100%; height: 100%; position: relative; overflow: hidden; }

.global-menu { border-top: 1px solid #e5e5e5; }

.global-menu ul li { float: left; width: 20%; border-left: 1px solid #e5e5e5; }

.global-menu ul li:last-child { border-right: 1px solid #e5e5e5; }

.global-menu ul li a { text-align: center; color: #232323; font-size: 1.143em; font-weight: bold; display: block; padding: 10px 20px; letter-spacing: .15em; margin-left: -.15em; transition: all ease .3s; }

.global-menu ul li a:hover { opacity: .4; }

.global-menu ul li a span { display: block; color: #024ea2; font-size: 0.786em; font-weight: normal; text-transform: uppercase; }

.home-menu { background: #1976D2; }

.home-menu ul { display: table; table-layout: fixed; width: 100%; }

.home-menu ul li { float: left; width: 25%; position: relative; padding: 10px 10px; background: #024ea2; }

.home-menu ul li a { color: #fff; display: table-cell; text-align: center; width: 25%; height: 240px; vertical-align: middle; z-index: 999; border: 1px solid white; transition: all ease .3s; }

.home-menu ul li a:hover { background: #1976D2; border: 1px solid rgba(255, 255, 255, 0); }

.home-menu ul li a .text i { font-size: 2.5em; margin-bottom: 10px; }

.home-menu ul li a .text h2 { font-size: 1.286em; letter-spacing: .1em; margin-bottom: 15px; }

.home-menu ul li a .text h2.single { margin-top: 13px; margin-bottom: 28px; }

.home-menu ul li a .text h2 span { display: block; }

.home-menu ul li a .text .more { display: inline-block; text-transform: uppercase; padding: 3px 15px; border: 1px solid white; }

.section-title { position: relative; color: #024ea2; font-size: 1.571em; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 20px; }

.section-title span { position: absolute; top: 4px; color: #232323; font-size: 1rem; padding-left: 10px; }

.home-meta { padding: 60px 0; }

.home-meta .infomation { float: left; width: 60%; padding-right: 5%; }

.home-meta .infomation dl { display: table; table-layout: fixed; width: 100%; padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #e5e5e5; }

.home-meta .infomation dl dt { display: table-cell; color: #fff; width: 20%; padding: 3px 0; text-align: center; background: #dfa75e; }

.home-meta .infomation dl dd { display: table-cell; width: 80%; padding-left: 20px; }

.home-meta .banner { float: left; width: 35%; }

.home-meta .banner li .full { width: 100%; }

.home-meta .banner li:not(:last-child) { margin-bottom: 15px; }

.home-meta .banner li img { display: block; max-width: 100%; height: auto; }

.footer { padding: 30px 0; background: #232323; }

.footer .footer-menu { margin-bottom: 30px; }

.footer .footer-menu ul { text-align: center; }

.footer .footer-menu ul li { display: inline-block; }

.footer .footer-menu ul li:not(:last-child) { padding-right: 40px; margin-right: 40px; border-right: 1px solid rgba(255, 255, 255, 0.3); }

.footer .footer-menu ul li a { color: #fff; }

.footer .footer-meta { text-align: center; padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid rgba(255, 255, 255, 0.3); }

.footer .footer-meta h3 { color: #fff; font-size: 1.714em; font-weight: normal; padding-bottom: 10px; }

.footer .footer-meta address { color: #fff; font-style: normal; }

.footer .footer-meta p { color: #fff; }

.footer .copyright { color: #fff; text-align: center; }

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

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

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

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

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

.page-title.business-4 { background-position: 0 85%; background-image: url(../images/page-title-business-4.jpg); }

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

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

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

.page-title:before { content: ""; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); }

.page-title h2 { position: absolute; top: 50%; right: -10%; transform: translate(-50%, -50%); color: #fff; font-size: 3.5em; font-weight: normal; line-height: 1; letter-spacing: .1em; padding: 10px 20px; margin-left: -.1em; }

.page-title h2 span { position: relative; font-size: 1.5rem; text-transform: uppercase; }

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

.page-title.business-title h2 { width: 100%; left: 50%; right: 0; }

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

.business-page .business-list li { float: left; width: 560px; height: 245px; overflow: hidden; margin: 0 20px 20px 0; }

.business-page .business-list li:nth-child(even) { margin-right: 0; }

.business-page .business-list li a { display: table; table-layout: fixed; width: 100%; }

.business-page .business-list li a .left { position: relative; display: table-cell; width: 200px; height: 245px; text-align: center; background: #024ea2; vertical-align: middle; overflow: hidden; }

.business-page .business-list li a .left h4 { color: #fff; font-size: 1.286em; }

.business-page .business-list li a .left h4 span { display: block; }

.business-page .business-list li a .right { position: relative; display: table-cell; width: 365px; height: 245px; overflow: hidden; }

.business-page .business-list li a .right img { display: block; max-width: 100%; height: auto; min-height: 100%; }

.business-page .business-list li a .right:before { position: absolute; top: 50%; left: 0; content: ""; width: 0; height: 0; border-style: solid; border-width: 12.5px 0 12.5px 10px; border-color: transparent transparent transparent #024ea2; margin-top: -15px; z-index: 999; }

.business-page .business-list li a .right:after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; content: ""; background: rgba(0, 0, 0, 0.7); z-index: 1; }

.contact-btm { padding: 20px; background: #f5f5f5; border: 1px solid #d5d5d5; margin-bottom: 60px; }

.contact-btm h4 { color: #024ea2; text-align: center; font-size: 1.167em; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #d5d5d5; }

.contact-btm ul { display: table; table-layout: fixed; width: 80%; margin-left: auto; margin-right: auto; }

.contact-btm ul li { display: table-cell; width: 50%; text-align: left; }

.contact-btm ul li:first-child { text-align: right; padding-right: 20px; }

.contact-btm ul li:last-child { padding-left: 20px; }

.contact-btm ul li i { font-size: 1.5em; padding-right: 10px; color: #024ea2; }

.contact-btm ul li span { color: #024ea2; font-size: 1.167em; font-weight: bold; }

.contact-btm ul li strong { font-size: 2em; padding-left: 10px; }

.contact-btm ul li small { display: block; text-align: right; }

.contact-btm a { position: relative; display: block; color: #fff; width: 50%; text-align: center; margin-top: 30px; background: #024ea2; font-size: 1.250em; padding: 20px; margin-left: auto; margin-right: auto; transition: all ease .3s; }

.contact-btm a i { padding-right: 10px; }

.contact-btm a:hover { background: #1976D2; }

.business-single { display: table; table-layout: fixed; width: 100%; font-size: 1.143em; }

.business-single:not(:last-child) { margin-bottom: 40px; }

.business-single dt { display: table-cell; padding-right: 20px; width: 50%; vertical-align: top; }

.business-single dd { display: table-cell; width: 50%; vertical-align: top; }

.business-single img { display: block; max-width: 100%; height: auto; }

.business-single h4 { font-size: 1.143em; padding-left: 10px; border-left: 3px solid #024ea2; margin-top: 20px; margin-bottom: 12px; }

.business-single p:not(:last-child) { margin-bottom: 12px; }

.business-single a { display: block; }

.aboutus-page-col { font-size: 1.143em; }

.aboutus-page-col .aboutus-page-col-half { float: left; width: 48%; margin-right: 2%; }

.aboutus-page-col .aboutus-page-col-half:nth-child(last) { margin-right: 0; }

.aboutus-page-col .thumb img { display: block; max-width: 100%; height: auto; }

.aboutus-page-col .greeting { margin-top: 40px; }

.aboutus-page-col .greeting h4 { font-size: 1.143em; padding-left: 10px; border-left: 3px solid #024ea2; margin-bottom: 15px; }

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

.aboutus-page-col .greeting .signature { font-family: serif; text-align: right; }

.aboutus-page-col:not(:last-child) { margin-bottom: 60px; }

.aboutus-page-col h4 { font-size: 1.143em; padding-left: 10px; border-left: 3px solid #024ea2; margin-bottom: 20px; }

.aboutus-page-col dl { display: table; table-layout: fixed; width: 100%; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #e5e5e5; }

.aboutus-page-col dl:last-child { margin-bottom: 0; }

.aboutus-page-col dl dt { display: table-cell; width: 15%; font-weight: bold; }

.aboutus-page-col dl dd { display: table-cell; width: 85%; }

.aboutus-page-col .map { width: 100%; height: 400px; }

.aboutus-page-col .map iframe { display: block; max-width: 100%; }

.contact-page-col dl { display: table; table-layout: fixed; width: 100%; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #e5e5e5; }

.contact-page-col dl dt { display: table-cell; width: 15%; font-weight: bold; }

.contact-page-col dl dt span { color: red; padding-left: 5px; }

.contact-page-col dl dd { display: table-cell; width: 85%; vertical-align: middle; }

.contact-page-col dl dd input[type="text"], .contact-page-col dl dd textarea { padding: 2px 4px; background: #f5f5f5; width: 30%; border: 1px solid #e5e5e5; }

.contact-page-col dl dd textarea { width: 50%; }

.contact-page-col dl dd input[type="checkbox"] { background: #f5f5f5; border: 1px solid #e5e5e5; margin-right: 8px; }

.contact-page-col input[type="submit"] { display: block; color: #fff; width: 20%; text-align: center; margin-top: 30px; background: #024ea2; font-size: 1.250em; padding: 10px 20px; margin-left: auto; margin-right: auto; transition: all ease .3s; }

.sp { display: none; }

@media (max-width: 1140px) { .container { width: 100%; }
  .header { padding-left: 10px; padding-right: 10px; }
  .header .sitename { float: none; width: 100%; }
  .header .sitename a img { display: block; max-width: 80%; height: auto; }
  .header .sitename a h1 { font-size: 1.5em; margin-top: 7px; }
  .header .sitename a h1 span { font-size: 60%; }
  .header .translate { clear: both; float: left; padding: 20px 0 0 10px; margin: 0; }
  .header .contact { float: right; padding-top: 15px; margin: 0; }
  .header .contact h2 { font-size: 1.5em; }
  .kv { height: auto; }
  .kv .sp { width: 100%; display: block; }
  .kv .sp img { display: block; max-width: 100%; height: auto; }
  .kv .slider { display: none; }
  .global-menu ul li { width: 50%; border-bottom: 1px solid #e5e5e5; }
  .global-menu ul li:last-child { width: 100%; border-bottom: none; }
  .home-menu ul li { width: 50%; }
  .home-meta { padding: 40px 20px; }
  .home-meta .infomation { float: none; width: 100%; }
  .home-meta .banner { float: none; width: 100%; }
  .home-meta .banner img { display: block; max-width: 100%; height: auto; }
  .footer .footer-menu { display: none; }
  .page-title { height: 200px; }
  .page-title h2 { position: absolute; width: 100%; top: 50%; left: 50%; right: auto; transform: translate(-50%, -50%); font-size: 2em; line-height: 1.5; }
  .page-content { padding-left: 20px; padding-right: 20px; }
  .page-content .business-page .business-list li { float: none; width: 100%; height: 150px; }
  .page-content .business-page .business-list li a { width: auto; }
  .page-content .business-page .business-list li a .left { width: 100%; height: 150px; }
  .page-content .business-page .business-list li a .right { height: 150px; }
  .contact-btm ul li { display: block; width: 100%; text-align: center !important; padding: 0 !important; }
  .contact-btm ul li:first-child { margin-bottom: 10px; }
  .contact-btm ul li:last-child strong { padding-top: 5px; }
  .contact-btm a { width: 100%; }
  .business-single { display: flex; flex-wrap: wrap; }
  .business-single dt, .business-single dd { display: block; padding: 0; width: 100%; margin-bottom: 20px; }
  .business-single:not(:last-child) { margin-bottom: 20px; }
  .business-single:nth-child(odd) dt { order: 1; }
  .aboutus-page-col .aboutus-page-col-half { width: 100%; }
  .aboutus-page-col dl { display: block; }
  .aboutus-page-col dl dt, .aboutus-page-col dl dd { display: block; width: 100%; }
  .contact-page-col dl { display: block; }
  .contact-page-col dl dt, .contact-page-col dl dd { display: block; width: 100%; }
  .contact-page-col dl dd { padding-top: 10px; }
  .contact-page-col dl dd input[type="text"], .contact-page-col dl dd textarea { width: 100%; }
  .contact-page-col input[type="submit"] { width: 100%; } }
/*# sourceMappingURL=maps/style.css.map */