@charset "UTF-8";
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: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

strong {
  font-weight: bold;
}

ul.list {
  padding-left: 1.6em;
}
ul.list li {
  list-style-type: disc;
}

.flt_l {
  float: left;
}
@media screen and (max-width: 680px) {
  .flt_l {
    float: none;
  }
}
.flt_l.left65 {
  width: 65%;
}
@media screen and (max-width: 680px) {
  .flt_l.left65 {
    width: auto;
  }
}
.flt_l.left70 {
  width: 70%;
}
@media screen and (max-width: 680px) {
  .flt_l.left70 {
    width: auto;
  }
}
.flt_l.left75 {
  width: 75%;
}
@media screen and (max-width: 680px) {
  .flt_l.left75 {
    width: auto;
  }
}

.flt_r {
  float: right;
}
@media screen and (max-width: 680px) {
  .flt_r {
    float: none;
  }
}
.flt_r.right20 {
  width: 20%;
}
@media screen and (max-width: 680px) {
  .flt_r.right20 {
    width: auto;
  }
}
.flt_r.right25 {
  width: 25%;
}
@media screen and (max-width: 680px) {
  .flt_r.right25 {
    width: auto;
  }
}
.flt_r.right30 {
  width: 30%;
}
@media screen and (max-width: 680px) {
  .flt_r.right30 {
    width: auto;
  }
}

.icon {
  vertical-align: text-top;
  text-decoration: none;
}
.icon:hover {
  text-decoration: none;
}

.text_icon {
  vertical-align: middle;
}
.text_icon span {
  font-family: 游ゴシック体, YuGothic, "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", ヒラギノ角ゴシック, Roboto, -apple-system, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  vertical-align: middle;
}
.text_icon span:hover {
  text-decoration: underline;
}
.text_icon:hover {
  text-decoration: none !important;
}
.text_icon.arrow_l:before {
  content: "\e606";
  padding-right: 5px;
  vertical-align: middle;
}
.text_icon.arrow_r:after {
  content: "\e607";
  padding-left: 5px;
  vertical-align: middle;
}
.text_icon.delete:before {
  content: "\e611";
  padding-right: 5px;
  vertical-align: middle;
}
.text_icon.delete:before {
  content: "\e611";
  padding-right: 5px;
  vertical-align: middle;
}

html {
  height: 100%;
  overflow-y: scroll;
}

* {
  -webkit-tap-highlight-color: transparent;
}

body {
  position: relative;
  background: #efefef;
  height: 100%;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.01em;
  text-align: left;
  color: #000;
  width: auto !important;
  width: 100%;
  min-width: 768px;
  font-family: 游ゴシック体, YuGothic, "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", ヒラギノ角ゴシック, Roboto, -apple-system, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}
body.is-fixed {
  position: fixed;
  left: 0;
  width: 100% !important;
}
@media screen and (max-width: 680px) {
  body {
    line-height: 1.8;
    font-size: 13px;
    min-width: initial !important;
    width: auto !important;
  }
}

* html div#container {
  height: 100%;
}

#container {
  position: relative;
  max-width: 1480px;
  min-width: 1020px;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
  background: #fff;
  z-index: 0;
  box-shadow: rgba(50, 50, 50, 0.1) 0px 0px 15px 0px;
  -webkit-box-shadow: rgba(50, 50, 50, 0.1) 0px 0px 15px 0px;
  -moz-box-shadow: rgba(50, 50, 50, 0.1) 0px 0px 15px 0px;
}
@media screen and (max-width: 680px) {
  #container {
    min-width: 0px;
  }
}

body > #container {
  height: auto;
}

.contents {
  width: 100%;
  min-height: 400px;
  *zoom: 1;
}
.contents:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
@media screen and (max-width: 680px) {
  .contents {
    min-height: 300px;
  }
}

#main {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  position: relative;
  padding: 130px 0 355px 0;
}
@media screen and (max-width: 680px) {
  #main {
    padding: 75px 0 40px 0;
    width: auto;
  }
}

.hassubmenu #main {
  padding: 175px 0 355px 0;
}
@media screen and (max-width: 680px) {
  .hassubmenu #main {
    padding: 120px 0 60px 0;
  }
}

#cover {
  height: 600px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 680px) {
  #cover {
    height: 240px;
  }
}

.hascover #main .cover_center + .page_title {
  margin-top: -600px;
  height: 600px;
}
@media screen and (max-width: 680px) {
  .hascover #main .cover_center + .page_title {
    margin-top: -300px;
    height: 300px;
  }
}
.hascover #main .cover_center + .page_title .innr {
  height: 600px;
}
@media screen and (max-width: 680px) {
  .hascover #main .cover_center + .page_title .innr {
    height: 300px;
  }
}
.hascover #main .cover_center + .page_title .copy {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 680px) {
  .hascover #main .cover_center + .page_title .copy {
    bottom: 40px;
  }
}

.hascover #main {
  padding: 0 0 320px 0;
}
@media screen and (max-width: 680px) {
  .hascover #main {
    padding: 50px 0 60px 0;
  }
}
.hascover #main.page_no-breadcrumbs {
  padding-bottom: 236px;
}
@media screen and (max-width: 680px) {
  .hascover #main.page_no-breadcrumbs {
    padding: 50px 0 60px 0;
  }
}
.hascover #main .page_title {
  margin-top: -600px;
  height: 600px;
  color: #fff;
}
.hascover #main .page_title h2 {
  font-weight: bold;
  padding-top: 175px;
}
@media screen and (max-width: 680px) {
  .hascover #main .page_title {
    margin-top: -240px;
    height: auto;
    padding-bottom: 30px;
    border-bottom: 1px solid #efefef;
  }
  .hascover #main .page_title h2 {
    padding-top: 30px;
    display: block;
    height: 240px;
  }
}
@media screen and (max-width: 680px) {
  .hascover #main .page_title .read {
    color: #000;
  }
}

.page_title {
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 680px) {
  .page_title {
    margin-bottom: 30px;
  }
}
.page_title h2 {
  font-size: 28px;
  text-align: left;
  font-weight: normal;
  letter-spacing: 0.06em;
  line-height: 1;
}
@media screen and (max-width: 680px) {
  .page_title h2 {
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    letter-spacing: normal;
    line-height: 1.6;
  }
}
.page_title .read {
  font-size: 16px;
  font-weight: bold;
  padding-top: 60px;
}
@media screen and (max-width: 680px) {
  .page_title .read {
    padding-top: 30px;
    font-size: 13px;
    text-align: center;
  }
}

.section .innr {
  position: relative;
  max-width: 990px;
  width: 86%;
  min-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 680px) {
  .section .innr {
    max-width: initial;
    min-width: initial;
    width: auto !important;
    padding: 0 20px 0 20px;
  }
}

#banner {
  background-color: #f5f5f5;
}

.section--banner .innr {
  width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

br {
  letter-spacing: 0;
}
br.sp {
  display: none;
}
@media screen and (max-width: 680px) {
  br.sp {
    display: block;
  }
}
br.pc {
  display: block;
}
@media screen and (max-width: 680px) {
  br.pc {
    display: none;
  }
}

img {
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: text-top;
  margin: 0;
  padding: 0;
}

#map img {
  max-width: none;
}

.anystretch img {
  -ms-interpolation-mode: bicubic;
  max-width: initial;
  height: initial;
  line-height: 0;
  vertical-align: initial;
  margin: 0;
  padding: 0;
}

address {
  font-style: normal;
}

.list_disc {
  padding-left: 1.3em;
}
.list_disc li {
  list-style-type: disc;
}

.indention {
  text-indent: -1em;
  padding-left: 1em;
}

br {
  letter-spacing: 0;
}

.red {
  color: #f00;
}

#main a img {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}

#main a:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}

hr {
  border: none;
  height: 0px;
  border-top: 1px #e9e9e9 solid;
  margin: 0px;
  padding: 0px;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 680px) {
  hr {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

a {
  color: #333333;
  overflow: hidden;
  text-decoration: underline;
}
a:hover {
  color: #000;
  text-decoration: underline;
}

a .icon {
  color: #000;
}
a:hover .icon {
  color: #333333;
}

a.icon {
  color: #000;
}
a.icon:hover {
  color: #333333;
}

a:focus {
  outline: none;
}

table th {
  font-weight: bold;
  padding-right: 30px;
  min-width: 30px;
}

table th,
table td {
  vertical-align: top;
}

.nav_pager {
  overflow: hidden;
  *zoom: 1;
}
.nav_pager .prev {
  float: left;
}
.nav_pager .next {
  float: right;
}
.nav_pager .icon {
  font-size: 13px;
}
.nav_pager a {
  text-decoration: none;
}
.nav_pager a:hover {
  text-decoration: none;
}

.align_r {
  text-align: right;
}

.bg.gray {
  background: #f5f5f5;
}

.mt_10 {
  margin-top: 10p;
}

.mt_20 {
  margin-top: 20p;
}

.mt_50 {
  margin-top: 50p;
}

.mt_100 {
  margin-top: 100p;
}

.mb_20 {
  margin-bottom: 20px;
}

.mb_25 {
  margin-bottom: 25px;
}

.mb_40 {
  margin-bottom: 40px;
}

.mb_45 {
  margin-bottom: 45px;
}

.mb_50 {
  margin-bottom: 50px;
}

.mb_55 {
  margin-bottom: 55px;
}

.mb_90 {
  margin-bottom: 90px;
}
@media screen and (max-width: 680px) {
  .mb_90 {
    margin-bottom: 45px;
  }
}

.ml_10 {
  margin-left: 10px;
}

@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-container-3d {
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

:root {
  --swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-next.swiper-button-white,
.swiper-button-prev.swiper-button-white {
  --swiper-navigation-color: #fff;
}

.swiper-button-next.swiper-button-black,
.swiper-button-prev.swiper-button-black {
  --swiper-navigation-color: #000;
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical
> .swiper-pagination-bullets
.swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical
> .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical
> .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
.swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-container-horizontal
> .swiper-pagination-bullets
.swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal
> .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal
> .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
.swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-container-horizontal.swiper-container-rtl
> .swiper-pagination-bullets-dynamic
.swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-container-rtl
.swiper-pagination-progressbar
.swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical
> .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal
> .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color: #fff;
}

.swiper-pagination-black {
  --swiper-pagination-color: #000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg);
  }
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next + .swiper-slide,
.swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.mlti_col {
  *zoom: 1;
  display: table;
  width: 100%;
}
.mlti_col:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
@media screen and (max-width: 680px) {
  .mlti_col {
    display: block;
    width: auto;
  }
}

.mlti_col.col6 {
  width: 100%;
  float: none;
}
.mlti_col.col6 .col {
  display: table-cell;
  width: 13.3333333333%;
  float: left;
  text-align: center;
}
@media screen and (max-width: 680px) {
  .mlti_col.col6 .col {
    display: table;
    width: auto;
    text-align: left;
    float: none;
    margin-top: 10px;
  }
}
.mlti_col.col6 .gutter {
  width: 4%;
  padding-top: 20px;
  font-size: 18px;
}
@media screen and (max-width: 680px) {
  .mlti_col.col6 .gutter {
    display: none;
  }
}

.mlti_col.col4 {
  width: 100%;
  float: none;
}
.mlti_col.col4 .col {
  display: table-cell;
  width: 22%;
  float: left;
  text-align: center;
}
@media screen and (max-width: 680px) {
  .mlti_col.col4 .col {
    display: table;
    width: auto;
    text-align: left;
    float: none;
    margin-top: 10px;
  }
}
.mlti_col.col4 .gutter {
  width: 4%;
  padding-top: 20px;
  font-size: 18px;
}
@media screen and (max-width: 680px) {
  .mlti_col.col4 .gutter {
    display: none;
  }
}

.mlti_col.col2_65-30 .col1 {
  float: left;
  width: 65%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_65-30 .col1 {
    width: auto;
    float: none;
  }
}
.mlti_col.col2_65-30 .col2 {
  float: right;
  width: 30%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_65-30 .col2 {
    width: auto;
    float: none;
  }
}

.mlti_col.col2_70-20 .col1 {
  float: left;
  width: 70%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_70-20 .col1 {
    width: auto;
    float: none;
  }
}
.mlti_col.col2_70-20 .col2 {
  float: right;
  width: 20%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_70-20 .col2 {
    width: auto;
    float: none;
  }
}

.mlti_col.col2_20-80 .col1 {
  float: left;
  width: 20%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_20-80 .col1 {
    width: auto;
    float: none;
  }
}
.mlti_col.col2_20-80 .col2 {
  float: right;
  width: 80%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_20-80 .col2 {
    width: auto;
    float: none;
  }
}

.mlti_col.col2_30-70 .col1 {
  float: left;
  width: 30%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_30-70 .col1 {
    width: auto;
    float: none;
  }
}
.mlti_col.col2_30-70 .col2 {
  float: right;
  width: 70%;
  margin: 0;
}
@media screen and (max-width: 680px) {
  .mlti_col.col2_30-70 .col2 {
    width: auto;
    float: none;
  }
}

@media screen and (max-width: 680px) {
  .grid.col_mgn_sp30 .col {
    margin-top: 30px;
  }
  .grid.col_mgn_sp30 .col:first-child {
    margin-top: 0px;
  }
}
@media screen and (max-width: 680px) {
  .grid.col_mgn_sp20 .col {
    margin-top: 20px;
  }
  .grid.col_mgn_sp20 .col:first-child {
    margin-top: 0px;
  }
}
.grid.col_mgn_20 .col {
  margin-top: 20px;
}
@media screen and (max-width: 680px) {
  .grid.col_mgn_20 .col {
    margin-top: 10px;
  }
  .grid.col_mgn_20 .col:first-child {
    margin-top: 0px;
  }
}
.grid.col_mgn_30 .col {
  margin-top: 30px;
}
@media screen and (max-width: 680px) {
  .grid.col_mgn_30 .col {
    margin-top: 15px;
  }
}
.grid.col_mgn_40 .col {
  margin-top: 40px;
}
@media screen and (max-width: 680px) {
  .grid.col_mgn_40 .col {
    margin-top: 20px;
  }
}

.pdng_tb80 {
  padding: 80px 0 80px 0;
}
@media screen and (max-width: 680px) {
  .pdng_tb80 {
    padding: 60px 0 60px 0;
  }
}

.pdng_tb60 {
  padding: 60px 0 60px 0;
}
@media screen and (max-width: 680px) {
  .pdng_tb60 {
    padding: 30px 0 30px 0;
  }
}

.pdng_tb30 {
  padding: 30px 0 30px 0;
}
@media screen and (max-width: 680px) {
  .pdng_tb30 {
    padding: 20px 0 20px 0;
  }
}

.pdng60 {
  padding: 60px;
}
@media screen and (max-width: 680px) {
  .pdng60 {
    padding: 40px;
  }
}

.pdng30 {
  padding: 30px;
}
@media screen and (max-width: 680px) {
  .pdng30 {
    padding: 20px;
  }
}

.pdng20 {
  padding: 20px;
}
@media screen and (max-width: 680px) {
  .pdng20 {
    padding: 15px;
  }
}

.mgn_b80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 680px) {
  .mgn_b80 {
    margin-bottom: 40px !important;
  }
}

.mgn_b60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 680px) {
  .mgn_b60 {
    margin-bottom: 30px !important;
  }
}

.mgn_b55 {
  margin-bottom: 55px;
}
@media screen and (max-width: 680px) {
  .mgn_b55 {
    margin-bottom: 30px !important;
  }
}

.mgn_b40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 680px) {
  .mgn_b40 {
    margin-bottom: 20px !important;
  }
}

.mgn_b30 {
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  .mgn_b30 {
    margin-bottom: 20px;
  }
}

.mgn_b20 {
  margin-bottom: 20px;
}
@media screen and (max-width: 680px) {
  .mgn_b20 {
    margin-bottom: 10px !important;
  }
}

.mgn_b10 {
  margin-bottom: 10px;
}
@media screen and (max-width: 680px) {
  .mgn_b10 {
    margin-bottom: 5px !important;
  }
}

.caution {
  font-size: 12px;
}

input[type="text"], textarea {
  padding: 0px;
  border-width: 0px;
  outline: 0;
  width: 100%;
}

.cap {
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  color: #666666;
  line-height: 1;
}

.progressbar {
  width: 100%;
  text-align: center;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  .progressbar {
    display: none;
  }
}
.progressbar .step {
  height: 40px;
  width: 100%;
  line-height: 40px;
  text-align: center;
  background: #dbdbdb;
}
.progressbar .icon {
  display: block;
  font-size: 16px;
  line-height: 16px;
  padding: 10px 0;
  color: #dbdbdb;
}
.progressbar.input .step1 {
  background: #000;
}
.progressbar.confirm .step1 {
  background: #000;
}
.progressbar.confirm .step2 {
  background: #000;
}
.progressbar.confirm .icon1 {
  color: #000;
}
.progressbar.end .step1 {
  background: #000;
}
.progressbar.end .step2 {
  background: #000;
}
.progressbar.end .step3 {
  background: #000;
}
.progressbar.end .icon1 {
  color: #000;
}
.progressbar.end .icon2 {
  color: #000;
}

.form_container {
  font-family: 游ゴシック体, YuGothic, "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", ヒラギノ角ゴシック, Roboto, -apple-system, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}
.form_container .error,
.form_container .error input[type="text"],
.form_container .error textarea,
.form_container .error .file {
  background: #ffeeee !important;
  width: 100%;
  overflow: hidden;
  *zoom: 1;
}
.form_container input[type="text"]:hover,
.form_container textarea:hover {
  background: #f5f5f5;
}
.form_container label {
  display: block;
}
.form_container label.required:after {
  content: "＊";
  padding-left: 3px;
  vertical-align: baseline;
  color: #e61e1e;
}
.form_container #inquirydetails, .form_container #inquiry_type_area {
  overflow: hidden;
  *zoom: 1;
}
.form_container #inquirydetails .confirm, .form_container #inquiry_type_area .confirm {
  padding: 0;
  margin: 0;
  min-height: 0;
  clear: both;
}
.form_container #inquirydetails > label, .form_container #inquiry_type_area > label {
  display: block;
}
@media screen and (max-width: 680px) {
  .form_container #inquirydetails > label, .form_container #inquiry_type_area > label {
    float: none;
  }
}
.form_container #inquirydetails .radios, .form_container #inquiry_type_area .radios {
  padding: 20px;
  background: #f5f5f5;
}
@media screen and (max-width: 680px) {
  .form_container #inquirydetails .radios, .form_container #inquiry_type_area .radios {
    padding: 15px 10px 15px 10px;
  }
}
.form_container #inquirydetails .radios .radio, .form_container #inquiry_type_area .radios .radio {
  min-height: 40px;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  .form_container #inquirydetails .radios .radio, .form_container #inquiry_type_area .radios .radio {
    display: table;
    margin: 0;
  }
}
.form_container #inquirydetails .radios input[type="radio"], .form_container #inquiry_type_area .radios input[type="radio"] {
  display: inline-block;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  vertical-align: middle;
  text-align: left;
  outline: 1 !important;
}
@media screen and (max-width: 680px) {
  .form_container #inquirydetails .radios input[type="radio"], .form_container #inquiry_type_area .radios input[type="radio"] {
    display: table-cell;
  }
}
.form_container .check-privacy {
  width: 100%;
  padding: 20px;
  background-color: #f5f5f5;
}
.form_container .check-privacy .check-privacy__container {
  display: table;
}
.form_container .check-privacy .check-privacy__container .check-privacy__checkbox {
  display: table-cell;
}
.form_container .check-privacy .check-privacy__container .check-privacy__text {
  display: table-cell;
  padding-left: 15px;
}
.form_container .check-privacy .required:after {
  content: "＊";
  padding-left: 3px;
  vertical-align: baseline;
  color: #e61e1e;
  font-weight: bold;
  font-size: 12px;
}
.form_container .radios {
  background: #f5f5f5;
}
.form_container .radios .confirm {
  padding: 0;
  margin: 0;
  min-height: 0;
  clear: both;
}
.form_container .radios > .innr {
  padding: 0;
}
.form_container .radios fieldset {
  padding-top: 10px;
}
.form_container .radios fieldset:first-child {
  padding-top: 0;
}
.form_container .radios fieldset > label {
  display: block;
  margin: 0;
  padding: 0;
}
.form_container .radios .radio {
  min-height: 30px;
  text-align: left;
  vertical-align: middle;
}
.form_container .radios .radio input[type="radio"] {
  display: inline-block;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  vertical-align: middle;
  text-align: left;
  outline: 1 !important;
}
.form_container .radios .radio label {
  font-size: 12px;
  margin-left: 5px;
  height: 30px;
  margin-bottom: 0px;
  text-align: left;
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  vertical-align: middle;
  cursor: pointer;
  line-height: 30px;
}
@media screen and (max-width: 680px) {
  .form_container .radios .radio label {
    margin-left: 0px;
    font-weight: normal;
    font-size: 11px;
    letter-spacing: 0;
  }
}
.form_container .radios .radio .border {
  margin-left: 5px;
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  .form_container .radios .radio .border {
    width: 185px;
  }
}
.form_container .span_text .item {
  width: 400px;
}
.form_container .alert {
  background: #fcd8d8;
  padding: 20px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.form_container .confirm {
  font-size: 12px;
  line-height: 22px;
  min-height: 40px;
  padding: 10px;
}
.form_container .innr {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  max-width: initial;
  min-width: initial;
}
@media screen and (max-width: 680px) {
  .form_container .innr {
    padding: 0;
  }
}
.form_container .border {
  border: #dbdbdb 1px solid;
  overflow: hidden;
  background: #fff;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.form_container .border:hover {
  border: 1px solid #ccc;
}
.form_container .element label {
  font-weight: bold;
  font-size: 12px;
}
.form_container .element label.radio__label,
.form_container .element label.checkbox__label {
  margin-right: 50px;
  font-weight: normal;
}
@media screen and (max-width: 680px) {
  .form_container .element label.radio__label,
  .form_container .element label.checkbox__label {
    margin-right: 0;
    margin-bottom: 5px;
  }
  .form_container .element label.radio__label:last-child,
  .form_container .element label.checkbox__label:last-child {
    margin-bottom: 0;
  }
}
.form_container .element .set .innr {
  border-top: 1px solid #dbdbdb;
  background: none;
}
.form_container .element .set .item:first-child .innr {
  border-top: 0px !important;
}
.form_container .element .textinput input {
  padding: 0px 10px 0px 10px;
  height: 40px;
  width: 100%;
  font-size: 13px;
  vertical-align: middle;
  line-height: 20px;
  line-height: 40px\9;
}
@media screen and (max-width: 680px) {
  .form_container .element .textinput input {
    padding: 0px 10px 0px 10px;
  }
}
.form_container .element .select {
  overflow: hidden;
  width: 300px;
}
@media screen and (max-width: 680px) {
  .form_container .element .select {
    width: 100%;
  }
}
.form_container .element .select select {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.form_container .element .select select::-ms-expand {
  display: none;
}
.form_container .element .select select:hover {
  background-color: #f5f5f5;
}
.form_container .element .select select:focus {
  outline: none;
}
.form_container .element .select select .red {
  color: red;
}
.form_container .element .error select:hover {
  background-color: transparent;
}
.form_container .element .select01 {
  position: relative;
  border: 1px solid #dbdbdb;
  border-radius: 3px;
  background: #ffffff;
}
.form_container .element .select01::before {
  position: absolute;
  top: 11px;
  right: 15px;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-right: 5px solid transparent;
  border-bottom: 6px solid #000;
  border-left: 5px solid transparent;
  pointer-events: none;
}
.form_container .element .select01::after {
  position: absolute;
  bottom: 11px;
  right: 15px;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #000;
  pointer-events: none;
}
.form_container .element .select01 select {
  padding: 0 10px 0 10px;
  height: 40px;
  font-size: 13px;
  line-height: 38px;
}
.form_container .element .gray {
  display: flex;
  padding: 20px;
  background-color: #f5f5f5;
}
@media screen and (max-width: 680px) {
  .form_container .element .gray {
    display: block;
    padding: 15px 10px;
  }
}
.form_container .element .gray__input {
  margin-right: 10px;
}
.form_container .element .file {
  padding: 15px 10px;
  background: #f5f5f5;
  position: relative;
}
.form_container .element .file .confirm {
  padding: 0;
  margin: 0;
  min-height: 0;
  clear: both;
}
.form_container .element .file .reset {
  position: absolute;
  top: 50%;
  right: 10px;
  font-size: 12px;
  line-height: 12px;
  margin-top: -6px;
}
.form_container .element .file .attached {
  padding-top: 10px;
}
.form_container .element .file input {
  line-height: 1;
}
.form_container .element .textarea textarea {
  display: block;
  font-size: 13px;
  width: auto;
  width: 100%;
  height: 200px;
  padding: 8px;
}
.form_container input::-webkit-input-placeholder,
.form_container textarea::-webkit-input-placeholder {
  color: #ccc;
  font-size: 12px;
}
.form_container input:-moz-placeholder,
.form_container textarea:-moz-placeholder {
  color: #ccc;
  font-size: 12px;
}
.form_container input:-ms-placeholder,
.form_container textarea:-ms-placeholder {
  color: #ccc;
  font-size: 12px;
}
.form_container span.customSelect {
  font-size: 12px;
  font-weight: bold;
  padding: 0 10px 0 10px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}
@media screen and (max-width: 680px) {
  .form_container span.customSelect {
    font-size: 12px;
  }
}
.form_container span.customSelect.changed {
  background-color: #f0dea4 !important;
}
.form_container .customSelectInner {
  background: url(../img/inquiry/arrow.png) no-repeat right center;
  line-height: 50px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.salesforce_country {
  display: none;
}

.form_note {
  font-size: 12px;
}

/* 	SET ALL ELEMENTS TO BOX-SIZING : BORDER-BOX */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  /**behavior: url(/scripts/boxsizing.htc); */
  /*	If you need support for IE7 and lower make 
  	sure the boxsizing.htc file is linked properly.
  	More info here:  https://github.com/Schepp/box-sizing-polyfill */
}

/*	SELF CLEARING FLOATS - CLEARFIX METHOD */
.container:after,
.row:after,
.col:after,
.clr:after,
.group:after {
  content: "";
  display: table;
  clear: both;
}

.row {
  padding-bottom: 0em;
}

.col {
  display: block;
  float: left;
  width: 100%;
}

@media screen and (max-width: 680px) {
  .grid .col1, .grid .col2, .grid .col3, .grid .col4, .grid .col5, .grid .col6, .grid .col7, .grid .col8, .grid .col9, .grid .col10, .grid .col11, .grid .col12 {
    float: none !important;
    width: auto !important;
    margin-right: initial !important;
  }
  .grid .push1, .grid .push2, .grid .push3, .grid .push4, .grid .push5, .grid .push6, .grid .push7, .grid .push8, .grid .push9, .grid .push10, .grid .push11, .grid .push12 {
    margin-left: initial !important;
  }
}
.gutters .col {
  margin-left: 2%;
}

.gutters .col:first-child {
  margin-left: 0;
}

.span_1 {
  width: 8.33333333333%;
}

.span_2 {
  width: 16.6666666667%;
}

.span_3 {
  width: 25%;
}

.span_4 {
  width: 33.3333333333%;
}

.span_5 {
  width: 41.6666666667%;
}

.span_6 {
  width: 50%;
}

.span_7 {
  width: 58.3333333333%;
}

.span_8 {
  width: 66.6666666667%;
}

.span_9 {
  width: 75%;
}

.span_10 {
  width: 83.3333333333%;
}

.span_11 {
  width: 91.6666666667%;
}

.span_12 {
  width: 100%;
}

.gutters .span_1 {
  width: 6.5%;
}

.gutters .span_2 {
  width: 15.0%;
}

.gutters .span_3 {
  width: 23.5%;
}

.gutters .span_4 {
  width: 32.0%;
}

.gutters .span_5 {
  width: 40.5%;
}

.gutters .span_6 {
  width: 49.0%;
}

.gutters .span_7 {
  width: 57.5%;
}

.gutters .span_8 {
  width: 66.0%;
}

.gutters .span_9 {
  width: 74.5%;
}

.gutters .span_10 {
  width: 83.0%;
}

.gutters .span_11 {
  width: 91.5%;
}

.gutters .span_12 {
  width: 100%;
}

@media (max-width: 680px) {
  .span_1 {
    width: 100%;
  }

  .span_2 {
    width: 100%;
  }

  .span_3 {
    width: 100%;
  }

  .span_4 {
    width: 100%;
  }

  .span_5 {
    width: 100%;
  }

  .span_6 {
    width: 100%;
  }

  .span_7 {
    width: 100%;
  }

  .span_8 {
    width: 100%;
  }

  .span_9 {
    width: 100%;
  }

  .span_10 {
    width: 100%;
  }

  .span_11 {
    width: 100%;
  }

  .span_12 {
    width: 100%;
  }

  .gutters .span_1 {
    width: 100%;
  }

  .gutters .span_2 {
    width: 100%;
  }

  .gutters .span_3 {
    width: 100%;
  }

  .gutters .span_4 {
    width: 100%;
  }

  .gutters .span_5 {
    width: 100%;
  }

  .gutters .span_6 {
    width: 100%;
  }

  .gutters .span_7 {
    width: 100%;
  }

  .gutters .span_8 {
    width: 100%;
  }

  .gutters .span_9 {
    width: 100%;
  }

  .gutters .span_10 {
    width: 100%;
  }

  .gutters .span_11 {
    width: 100%;
  }

  .gutters .span_12 {
    width: 100%;
  }

  .gutters .col {
    margin-left: 0;
  }

  .gutters .col:first-child {
    margin-left: 0;
  }
}
.hassubmenu #loco_nav_btn_sp {
  display: none;
}
@media screen and (max-width: 680px) {
  .hassubmenu #loco_nav_btn_sp {
    display: block;
    color: #333;
    height: 45px;
    text-align: right;
    background-color: rgba(243, 243, 243, 0.9);
    /* FireFox, Webkit, Opera, IE9 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3')";
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3');
  }
  .hassubmenu #loco_nav_btn_sp .text {
    font-weight: normal;
    font-size: 10px;
    line-height: 45px;
  }
  .hassubmenu #loco_nav_btn_sp .active.icon-menu_thin:before {
    content: "\e600";
    margin-left: 10px;
    margin-right: 10px;
    cursor: pointer;
  }
  .hassubmenu #loco_nav_btn_sp .icon-menu_thin:before {
    content: "\e601";
    margin-left: 10px;
    margin-right: 10px;
    cursor: pointer;
  }
}

.hasflickmenu #loco_nav {
  padding-left: 10px;
  padding-right: 10px;
}
.hasflickmenu #loco_nav li a {
  display: block;
  text-align: center;
}
.hasflickmenu #loco_nav #rcrt_top {
  min-width: 28px;
}
.hasflickmenu #loco_nav #rcrt_msg {
  min-width: 60px;
}
.hasflickmenu #loco_nav #rcrt_environment {
  min-width: 48px;
}
.hasflickmenu #loco_nav #rcrt_people {
  min-width: 48px;
}
.hasflickmenu #loco_nav #rcrt_requirements {
  min-width: 48px;
}
.hasflickmenu #loco_nav #rcrt_entry {
  min-width: 60px;
}

.hasflickmenu2 #loco_nav li a {
  display: block;
}

header {
  position: fixed;
  top: 0px;
  max-width: 1480px;
  z-index: 9999;
  width: 100%;
}
@media screen and (max-width: 680px) {
  header {
    left: 0;
    transform: none;
  }
}
header #nav {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-user-select: -moz-none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  position: relative;
}
@media screen and (max-width: 680px) {
  header #nav {
    height: 45px;
    margin: 0px;
  }
}
header #nav .logo {
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -15px;
}
@media screen and (max-width: 680px) {
  header #nav .logo {
    position: relative;
    top: initial;
    left: initial;
    margin-top: initial;
    height: 45px;
    text-align: left;
    padding-left: 10px;
  }
}
header #nav .logo h1 {
  width: 99px;
}
@media screen and (max-width: 680px) {
  header #nav .logo h1 {
    width: auto;
    padding-top: 11px;
  }
}
header #nav .logo img {
  vertical-align: top;
}
@media screen and (max-width: 680px) {
  header #nav .logo img {
    height: 24px;
    vertical-align: top;
  }
}
header #nav #gl_nav a, header #nav #loco_nav a {
  display: block;
  text-decoration: none;
  height: 55px;
  line-height: 55px;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav a, header #nav #loco_nav a {
    height: 45px;
    line-height: 45px;
  }
}
header #nav #gl_nav {
  display: block;
  margin: 0 auto;
  text-align: center;
  height: 55px;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav {
    position: absolute;
    display: none;
    text-align: center;
    top: 45px;
    left: 0px;
    width: 100%;
    height: auto;
    background: #f5f5f5;
    border-bottom: 1px solid #dbdbdb;
    z-index: 9999;
  }
}
header #nav #gl_nav a {
  color: #000;
  text-decoration: none;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav a {
    color: #000;
  }
}
header #nav #gl_nav ul {
  letter-spacing: -.40em;
  height: 55px;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav ul {
    letter-spacing: initial;
    height: auto;
  }
}
header #nav #gl_nav li {
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  letter-spacing: normal;
  height: 55px;
  line-height: 55px;
  padding: 0 13px;
  font-size: 14px;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav li:hover {
    background: #efefef;
  }
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav li {
    height: 40px;
    line-height: 40px;
    margin: initial;
    display: block;
    border-bottom: 1px solid #dbdbdb;
    font-size: 14px;
  }
  header #nav #gl_nav li a {
    height: 40px;
    line-height: 40px;
  }
}
header #nav #gl_nav .alt {
  display: none;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav .alt {
    display: block;
    overflow: hidden;
    *zoom: 1;
  }
  header #nav #gl_nav .alt li:first-child a {
    border-right: 1px solid #dbdbdb;
  }
  header #nav #gl_nav .alt li {
    width: 50%;
    float: left;
    padding: 0;
    margin: 0;
  }
}
header #nav #gl_nav .social {
  display: none;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav .social {
    display: block;
  }
  header #nav #gl_nav .social li {
    display: inline;
    width: initial;
    height: initial;
    border-bottom: initial;
    font-size: 22px;
    margin: 0 10px;
  }
  header #nav #gl_nav .social li a {
    display: inline;
    line-height: 60px;
  }
  header #nav #gl_nav .social li:hover {
    background: none;
  }
}
header #nav #gl_nav .lang {
  position: absolute;
  top: 50%;
  right: 15px;
  height: auto;
  margin-top: -8px;
}
header #nav #gl_nav .lang li {
  height: auto;
  line-height: 1.0;
  padding: 0 2px 0 0;
}
header #nav #gl_nav .lang li:first-child {
  padding-right: 10px;
  border-right: 1px solid #000;
}
header #nav #gl_nav .lang li:last-child {
  padding-left: 10px;
}
header #nav #gl_nav .lang li:hover {
  background: none;
}
header #nav #gl_nav .lang li a {
  display: inline;
  text-decoration: none;
  line-height: 1.0;
}
header #nav #gl_nav .lang li .active-none {
  color: #B5B5B5;
}
header #nav #gl_nav .lang li .active-none:hover {
  color: #B5B5B5;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav .lang li .active-none:hover {
    color: #000;
  }
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav .lang {
    display: block;
    position: relative;
    right: auto;
    margin-top: 0;
    padding-top: 12px;
    padding-bottom: 5px;
  }
  header #nav #gl_nav .lang li {
    display: inline-block;
    width: 40px;
    height: initial;
    border-bottom: initial;
    font-size: 14px;
    margin: 0;
    padding: 2px 0 0;
    color: #efefef;
  }
  header #nav #gl_nav .lang li a {
    display: inline;
    color: #dbdbdb;
  }
  header #nav #gl_nav .lang li .active-none {
    color: #b7bdc0;
  }
  header #nav #gl_nav .lang li .active {
    color: #000;
  }
  header #nav #gl_nav .lang li:first-child {
    text-align: right;
    border-right: 1px solid #dbdbdb;
  }
  header #nav #gl_nav .lang li:last-child {
    text-align: left;
  }
}
header #nav #loco_nav {
  font-size: 12px;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 45px;
  text-align: center;
  z-index: 1000;
  overflow: hidden;
  background-color: rgba(243, 243, 243, 0.9);
  /* FireFox, Webkit, Opera, IE9 */
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3')";
  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3');
  /* IE5.5+ */
}
@media screen and (max-width: 680px) {
  header #nav #loco_nav {
    font-size: 11px;
  }
}
header #nav #loco_nav a {
  height: 45px;
  line-height: 45px;
  color: #000;
  transition: opacity 0.3s ease;
}
header #nav #loco_nav a:hover {
  color: #000;
  opacity: 0.7;
}
header #nav #loco_nav .active {
  font-weight: bold;
  border-bottom: 2px solid #000;
}
header #nav #loco_nav .active a:hover {
  color: #000;
}
header #nav #loco_nav ul {
  letter-spacing: -.40em;
  height: 45px;
}
header #nav #loco_nav li {
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  letter-spacing: normal;
  height: 45px;
  line-height: 45px;
  margin: 0 13px;
}
@media screen and (max-width: 680px) {
  header #nav #loco_nav li {
    margin: 0 10px;
  }
}
@media screen and (max-width: 680px) {
  header #nav #loco_nav .active {
    border-bottom: 1px solid #dbdbdb;
  }
}
header #nav #btn_sp {
  position: absolute;
  top: 0px;
  right: 0px;
  color: #000;
  padding: 0 10px;
  overflow: hidden;
  *zoom: 1;
}
@media screen and (min-width: 680px) {
  header #nav #btn_sp {
    display: none;
  }
}
header #nav #btn_sp .icon {
  float: left;
  display: block;
  height: 45px;
  font-size: 24px;
  line-height: 45px;
  text-align: center;
}
header #nav #btn_sp .text {
  float: left;
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: block;
  font-size: 11px;
  line-height: 45px;
  margin-right: 5px;
}
@media screen and (min-width: 680px) {
  header #nav #btn_sp {
    display: none;
  }
}

#loco_nav span.pc {
  display: block;
}
@media screen and (max-width: 680px) {
  #loco_nav span.pc {
    display: none;
  }
}
#loco_nav span.sp {
  display: none;
}
@media screen and (max-width: 680px) {
  #loco_nav span.sp {
    display: block;
  }
}

.hascover header #nav #loco_nav {
  background-color: rgba(239, 239, 239, 0.6);
}

#page_company #gl_company a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 680px) {
  #page_company #gl_company a {
    border-bottom: none;
  }
}

@media screen and (min-width: 481px) {
  #page_recruit #gl_recruit:hover {
    background: none !important;
  }
}
#page_recruit #gl_recruit a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 680px) {
  #page_recruit #gl_recruit a {
    border-bottom: none;
  }
}

@media screen and (min-width: 481px) {
  #page_ad #gl_ads:hover {
    background: none !important;
  }
}
#page_ad #gl_ads a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 680px) {
  #page_ad #gl_ads a {
    border-bottom: none;
  }
}

@media screen and (min-width: 481px) {
  #page_inquiry #gl_inquiry:hover {
    background: none !important;
  }
}
#page_inquiry #gl_inquiry a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 680px) {
  #page_inquiry #gl_inquiry a {
    border-bottom: none;
  }
}

#page_services #gl_services:hover {
  background: none !important;
}
#page_services #gl_services a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 680px) {
  #page_services #gl_services a {
    border-bottom: none;
  }
}

#page_ir #gl_ir:hover {
  background: none !important;
}
#page_ir #gl_ir a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 680px) {
  #page_ir #gl_ir a {
    border: none;
  }
}

#page_news #gl_news:hover {
  background: none !important;
}
#page_news #gl_news a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 481px) {
  #page_news #gl_news a {
    border-bottom: initial;
  }
}

#page_ad #gl_ad:hover {
  background: none !important;
}
#page_ad #gl_ad a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 481px) {
  #page_ad #gl_ad a {
    border-bottom: initial;
  }
}

footer {
  font-size: 12px;
  text-align: left;
  position: absolute;
  z-index: 1000;
  bottom: 0px;
  width: 100%;
}
@media screen and (max-width: 680px) {
  footer {
    padding-top: 0px;
    position: static;
  }
}
footer a {
  color: #000;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
footer a:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.7;
}
footer .innr {
  margin: 0px auto;
  position: relative;
}
footer .footer_menu {
  background: #000;
  padding: 20px 0;
  position: relative;
}
@media screen and (max-width: 680px) {
  footer .footer_menu {
    display: none;
  }
}
footer .footer_menu ul {
  display: inline-block;
  margin-right: 16px;
  vertical-align: top;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
}
@media screen and (max-width: 680px) {
  footer .footer_menu ul {
    margin-right: 0px;
    display: none;
  }
}
footer .footer_menu li {
  display: inline;
}
footer .footer_menu li:not(:last-child) {
  margin-right: 16px;
}
@media screen and (max-width: 680px) {
  footer .footer_menu li {
    display: block;
  }
}
footer .footer_menu a {
  color: #fff;
}
footer .footer_menu a:hover {
  color: #fff;
}
footer .footer_menu .icon {
  font-size: 20px;
  vertical-align: text-bottom;
  color: #fff;
}
@media screen and (max-width: 680px) {
  footer .footer_menu .social {
    display: block;
    text-align: center;
  }
  footer .footer_menu .social li {
    display: inline;
    margin: 0 15px;
  }
}
footer section {
  padding: 30px 0;
  position: relative;
}
@media screen and (max-width: 680px) {
  footer section {
    padding: 34px 0;
  }
}
footer section .innr {
  overflow: hidden;
}
footer section address {
  margin-top: 18px;
}
@media screen and (max-width: 680px) {
  footer section address {
    margin-top: 0;
  }
}
footer section address a {
  color: #333;
}
footer section address .icon {
  font-size: 16px;
}
@media screen and (max-width: 680px) {
  footer section .logo_wrap {
    margin-top: 20px;
    width: 100%;
  }
}
footer section .facebook {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0;
}
@media screen and (max-width: 680px) {
  footer section .facebook {
    position: static;
  }
}
footer section .footer_emphasis {
  font-size: 14px;
  font-weight: bold;
}
footer section .footer_text {
  font-size: 12px;
}
footer section .logo_link {
  display: inline-block;
  width: 24px;
  height: 24px;
  transition: opacity 0.3s ease;
}
footer section .logo_link:hover {
  opacity: 0.7;
  text-decoration: none;
}
footer section .logo {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -18px;
}
footer section .logo img {
  height: 36px;
}
@media screen and (max-width: 680px) {
  footer section .logo {
    position: static;
    margin-top: 34px;
  }
  footer section .logo img {
    height: 28px;
  }
}
footer section .copyright {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 12px;
  padding-top: 18px;
  color: #999;
}
@media screen and (max-width: 680px) {
  footer section .copyright {
    padding-top: 14px;
  }
}

#btn_top {
  position: absolute;
  z-index: 9999;
  right: 0px;
  line-height: 24px;
  height: 24px;
  top: 50%;
  margin-top: -14px;
}
@media screen and (max-width: 680px) {
  #btn_top {
    position: fixed;
    top: initial;
    right: 10px;
    bottom: 10px;
  }
}
#btn_top a {
  text-decoration: none;
}
#btn_top a:hover {
  text-decoration: none;
}
#btn_top .icon {
  font-size: 24px;
}

.btn_group {
  *zoom: 1;
}
.btn_group:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
.btn_group .btn {
  float: right;
  width: 49%;
}
@media screen and (max-width: 680px) {
  .btn_group .btn {
    width: 49% !important;
  }
}
.btn_group .btn:first-child {
  float: left;
}

.btn {
  display: block;
  position: relative;
  text-align: center;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  font-weight: bold;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.btn:hover {
  text-decoration: none;
}
.btn:active {
  -moz-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.5), 0px 1px 0px white;
  -webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.5), 0px 1px 0px white;
  box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.5), 0px 1px 0px white;
}

.btn,
.btn::before,
.btn:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn.size_m {
  height: 40px;
  line-height: 40px;
  line-height: 40px\9;
  font-size: 12px;
  vertical-align: middle;
}
.btn.size_m .icon {
  font-size: 11px;
  vertical-align: middle;
}

.btn.size_s {
  height: 35px;
  line-height: 35px;
  line-height: 35px\9;
  font-size: 12px;
}
.btn.size_s .icon {
  font-size: 10px;
  line-height: 35px;
}

.btn.color_default {
  background-color: #efefef;
  border: 1px solid #dbdbdb;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.btn.color_default:hover {
  background-color: #fff;
  border-color: #dbdbdb;
  color: #999;
}

.btn.color_blk {
  background-color: #efefef;
  color: #fff;
}
.btn.color_blk:hover {
  background-color: white;
}

.btn.color_red {
  background-color: #000;
  color: #fff;
}
.btn.color_red:hover {
  background-color: #1a1a1a;
}

.btn.color_wht {
  background-color: #fff;
  color: #000;
}
.btn.color_wht:hover {
  background-color: #e6e6e6;
}

.btn.w_auto {
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  padding-left: 40px;
  padding-right: 40px;
}

.social a,
.social a:hover,
.page_title a {
  text-decoration: none !important;
}
@media screen and (max-width: 481px) {
  .social a,
  .social a:hover,
  .page_title a {
    background-color: none;
  }
}

.btn_company {
  margin-bottom: 80px;
}
@media screen and (max-width: 680px) {
  .btn_company {
    margin-bottom: 45px;
  }
}

.head {
  font-weight: bold;
  line-height: 1.8;
}
.head.size_xl {
  font-size: 28px;
}
.head.size_l {
  font-size: 24px;
}
@media screen and (max-width: 680px) {
  .head.size_l {
    font-size: 18px;
  }
}
.head.size_m {
  font-size: 18px;
}
@media screen and (max-width: 680px) {
  .head.size_m {
    font-size: 16px;
  }
}
.head.size_s {
  font-size: 16px;
}
@media screen and (max-width: 680px) {
  .head.size_s {
    font-size: 14px;
  }
}
.head.size_xs {
  font-size: 14px;
}
.head.size_xxs {
  font-size: 12px;
}

dl.table {
  margin-bottom: -30px;
  overflow: hidden;
  *zoom: 1;
}
@media screen and (max-width: 680px) {
  dl.table {
    margin-bottom: -20px;
  }
}
dl.table dt {
  display: block;
  float: left;
  text-align: right;
  width: 120px;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  dl.table dt {
    font-size: 14px;
    float: none;
    text-align: left;
    width: auto;
  }
}
dl.table dd {
  margin-left: 110px;
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  dl.table dd {
    margin-left: 0;
    margin-bottom: 20px;
  }
}

dl.tabel--small {
  margin-bottom: -10px;
  font-size: 12px;
  overflow: hidden;
  *zoom: 1;
}
@media screen and (max-width: 680px) {
  dl.tabel--small {
    margin-bottom: -10px;
  }
}
dl.tabel--small dt {
  display: block;
  float: left;
  text-align: left;
  width: 100px;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  dl.tabel--small dt {
    font-size: 12px;
    float: none;
    text-align: left;
    width: auto;
  }
}
dl.tabel--small dd {
  margin-left: 130px;
  margin-bottom: 10px;
}
@media screen and (max-width: 680px) {
  dl.tabel--small dd {
    margin-left: 0;
    margin-bottom: 10px;
  }
}

.nav_topicpath {
  font-size: 12px;
  padding: 30px 0px;
}
@media screen and (max-width: 680px) {
  .nav_topicpath {
    display: none;
  }
}
.nav_topicpath ul {
  letter-spacing: -.40em;
}
.nav_topicpath li {
  vertical-align: middle !important;
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
}
.nav_topicpath li a {
  padding: 0px 0;
  font-family: 游ゴシック体, YuGothic, "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", ヒラギノ角ゴシック, Roboto, -apple-system, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}
.nav_topicpath .icon-home {
  font-size: 18px;
}

.nav_topicpath li + li:before {
  content: "\e607";
  margin: 0 10px;
  font-size: 10px;
}

.share {
  *zoom: 1;
}
.share:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
@media screen and (max-width: 680px) {
  .share {
    text-align: left;
    padding: 20px 0;
  }
}
.share .btn_share {
  text-align: left;
  height: 21px;
  float: left;
}
@media screen and (max-width: 680px) {
  .share .btn_share {
    text-align: left;
  }
}
.share .tw {
  width: 120px;
}
.share .fb {
  width: 110px;
}
.share .fb div span {
  vertical-align: top !important;
}
.share .fb iframe {
  max-width: none !important;
  max-height: none !important;
  z-index: 9999;
  overflow: visible;
}

.fb_iframe_widget {
  width: auto !important;
  display: inline-block !important;
}

.btns_dl {
  letter-spacing: -.40em;
  padding-top: 60px;
}
@media screen and (max-width: 680px) {
  .btns_dl {
    display: block !important;
    width: 100%;
    position: static;
    text-align: center;
    margin-top: -44px;
    margin-bottom: 20px;
    height: auto;
  }
}
.btns_dl img {
  height: 40px;
}
.btns_dl li {
  display: inline-block !important;
  letter-spacing: normal;
  vertical-align: top !important;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  margin-left: 20px;
}
@media screen and (max-width: 680px) {
  .btns_dl li {
    margin-left: 10px;
  }
}
.btns_dl li:first-child {
  margin-left: 0px;
}
@media screen and (max-width: 680px) {
  .btns_dl .login {
    display: none !important;
  }
}
@media screen and (max-width: 680px) {
  #page_services .btns_dl {
    display: block !important;
    width: 100%;
    position: static;
    text-align: center;
    margin-top: initial;
    height: auto;
    padding-top: 20px;
    margin-bottom: 0px;
    margin: 0px;
  }
}

.banner__list {
  font-size: 0;
  letter-spacing: 0;
  text-align: center;
}
.banner__list__item {
  display: inline-block;
  margin-right: 30px;
  max-width: 310px;
  width: 33.3%;
  vertical-align: top;
}
.banner__list__item:last-child {
  margin-right: 0;
}
@media screen and (max-width: 680px) {
  .banner__list__item {
    display: block;
    margin: 20px 0 0;
    max-width: 100%;
    width: 100%;
  }
}
.banner__list__item .bnner__link {
  display: block;
}
.banner__list__item .banner__wrap {
  position: relative;
  height: 100px;
  background-color: #fff;
}
.banner__list__item .banner__wrap .banner__img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.banner__list__item .banner__text {
  margin-top: 25px;
  font-size: 13px;
  line-height: 2;
}
@media screen and (max-width: 680px) {
  .banner__list__item .banner__text {
    margin-top: 15px;
    font-size: 12px;
  }
}

.c-button {
  display: block;
  width: 100%;
  position: relative;
  text-align: center;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  font-weight: bold;
  border-radius: 4px;
  transition: opacity 0.3s ease;
}
.c-button:hover {
  text-decoration: none;
  opacity: 0.7;
}
.c-button__icon {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  font-size: 30px;
}
@media screen and (max-width: 680px) {
  .c-button__icon {
    right: 10px;
    font-size: 24px;
  }
}
.c-button--larger {
  height: 100px;
  line-height: 100px;
  font-size: 22px;
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  .c-button--larger {
    height: 64px;
    line-height: 64px;
    font-size: 14px;
  }
}
.c-button--large {
  height: 70px;
  line-height: 70px;
  font-size: 14px;
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  .c-button--large {
    height: 40px;
    line-height: 40px;
    font-size: 12px;
  }
}
.c-button--medium {
  height: 48px;
  line-height: 48px;
  line-height: 48px\9;
  font-size: 16px;
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  .c-button--medium {
    height: 44px;
    line-height: 44px;
    line-height: 44px\9;
  }
}
.c-button--small {
  height: 40px;
  line-height: 40px;
  line-height: 40px\9;
  font-size: 12px;
  vertical-align: middle;
}
.c-button--black {
  background-color: #000;
  color: #fff;
}
.c-button--black .icon {
  color: #fff;
}
.c-button--black:hover {
  background-color: #000;
  color: #fff;
}
.c-button--black:hover .icon {
  color: #fff;
}
.c-button--white {
  background-color: #fff;
  color: #000;
  border: 2px solid #000;
}
@media screen and (max-width: 680px) {
  .c-button--white {
    border: 1px solid #000;
  }
}
.c-button--white:hover {
  color: #000;
  border-color: #000;
}
.c-button--triangle {
  color: #000;
  background-image: url(/img/icon_triangle_black.svg);
  background-size: 16px 17px;
  background-position: right bottom;
  background-color: #fff;
  background-repeat: no-repeat;
}
@media screen and (max-width: 680px) {
  .c-button--triangle {
    font-size: 14px;
    height: 40px;
    line-height: 40px;
    line-height: 40px\9;
  }
}

.c-button,
.c-button:before,
.c-button:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-section {
  text-align: center;
}
.c-section__heading {
  margin-bottom: 60px;
}
@media screen and (max-width: 680px) {
  .c-section__heading {
    margin-bottom: 32px;
  }
}
.c-section__title {
  height: 80px;
}
@media screen and (max-width: 680px) {
  .c-section__title {
    height: 58px;
  }
}
.c-section__title img {
  width: auto;
  height: 100%;
  vertical-align: bottom;
}
.c-section__heading--border {
  margin-bottom: 0;
}
.c-section__heading--border::after {
  content: "";
  display: block;
  width: 1px;
  height: 80px;
  margin: 32px auto 22px;
  background-color: #000;
}
@media screen and (max-width: 680px) {
  .c-section__heading--border::after {
    height: 48px;
    margin: 24px auto 18px;
  }
}

.c-news-detail {
  position: relative;
  display: inline-block;
  text-decoration: none;
  text-align: left;
  color: #000;
}
.c-news-detail img {
  opacity: 1 !important;
}
.c-news-detail:hover {
  text-decoration: none;
  opacity: 1;
}
.c-news-detail__cover {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.44);
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.c-news-detail:hover .c-news-detail__cover {
  opacity: 1;
}
.c-news-detail__more {
  width: 110px;
  height: auto;
}
.c-news-detail__more::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: 10px auto 0;
  background-color: #fff;
}
.c-news-detail__picture {
  position: relative;
  width: 100%;
  height: 150px;
  text-align: center;
}
.c-news-detail__picture img {
  width: auto;
  height: 100%;
  vertical-align: bottom;
}
.c-news-detail__label {
  position: absolute;
  top: 10px;
  left: 0;
  max-width: 158px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: bold;
  box-sizing: border-box;
  color: #fff;
  background-color: #000;
}
.c-news-detail__wrap {
  height: 120px;
  padding: 15px;
  box-sizing: border-box;
  background-color: #f0f3f5;
}
.c-news-detail__date {
  margin-bottom: 1em;
  font-size: 12px;
  line-height: 1;
}
.c-news-detail__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 14px;
  line-height: 1.7;
  font-weight: bold;
  overflow: hidden;
}

.c-recruit-detail {
  position: relative;
  display: inline-block;
  width: 100%;
  text-decoration: none;
  text-align: left;
  color: #000;
  overflow: hidden;
}
.c-recruit-detail img {
  opacity: 1 !important;
}
.c-recruit-detail:hover {
  text-decoration: none;
  opacity: 1;
}
.c-recruit-detail__cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.44);
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.c-recruit-detail:hover .c-recruit-detail__cover {
  opacity: 1;
}
@media screen and (max-width: 680px) {
  .c-recruit-detail__cover {
    display: none;
  }
}
.c-recruit-detail__more {
  width: 110px;
  height: auto;
}
.c-recruit-detail__more::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: 10px auto 0;
  background-color: #fff;
}
.c-recruit-detail__picture {
  position: relative;
  width: 100%;
  height: 187px;
  text-align: center;
}
@media screen and (max-width: 680px) {
  .c-recruit-detail__picture {
    height: 107px;
  }
}
@media screen and (max-width: 680px) {
  .c-recruit-detail--2-column .c-recruit-detail__picture {
    height: 83px;
  }
  .c-recruit-detail--2-column .c-recruit-detail__picture img {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: auto;
  }
}
.c-recruit-detail__picture img {
  width: auto;
  height: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 680px) {
  .c-recruit-detail__picture img {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: auto;
  }
}
.c-recruit-detail__img {
  display: inline-block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.c-recruit-detail__message {
  position: absolute;
  left: 10px;
  bottom: 10px;
  width: calc(100% - 20px);
  font-weight: bold;
}
.c-recruit-detail__label {
  font-size: 12px;
  line-height: 1;
  margin-bottom: 1em;
  color: #fff;
}
.c-recruit-detail__text {
  font-size: 14px;
  line-height: 1.42;
  color: #fff;
}

.c-catch {
  position: relative;
  margin: -150px 0 60px;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 680px) {
  .c-catch {
    margin: 0;
    padding-top: 26px;
    color: #000;
  }
}
.c-catch__title {
  font-size: 50px;
  line-height: 1;
}
@media screen and (max-width: 680px) {
  .c-catch__title {
    font-size: 20px;
    line-height: 1.6;
  }
}
.c-catch__note {
  display: block;
  margin-top: 1em;
  font-size: 20px;
  line-height: 1;
}
@media screen and (max-width: 680px) {
  .c-catch__note {
    font-size: 12px;
  }
}

.c-banner {
  text-decoration: none;
  text-align: left;
}
.c-banner__picture {
  width: 485px;
  height: 140px;
  overflow: hidden;
}
.c-banner__picture img {
  vertical-align: bottom;
}
@media screen and (max-width: 680px) {
  .c-banner__picture {
    width: 100%;
    height: 100px;
  }
}
.c-banner__text {
  margin-left: 20px;
  font-size: 16px;
  color: #666;
  text-decoration: none;
}
.c-banner:hover .c-banner__text {
  color: #000;
  text-decoration: underline;
}
@media screen and (max-width: 680px) {
  .c-banner__text {
    margin: 15px 0 0;
    font-size: 14px;
    line-height: 1;
  }
}

.c-company-profile__title {
  margin-top: 20px;
}
.c-company-profile__post {
  font-size: 12px;
  letter-spacing: 0.01em;
  line-height: 2;
}
@media screen and (max-width: 680px) {
  .c-company-profile__post {
    letter-spacing: -0.01em;
    line-height: 1.75;
  }
}
.c-company-profile__name {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 2;
}
@media screen and (max-width: 680px) {
  .c-company-profile__name {
    line-height: 1.75;
  }
}

/**
 * Profound Grid
 * 
 * Built in Sass (SCSS) this responsive/adaptive grid supports both fixed and fluid layouts, 
 * relative and fixed gutters, as well as your choice of semantic markup or generic '.grid-x' classes.
 * 
 * The biggest difference to other grid systems is the use of negative margins for column
 * placements, avoiding the subpixel rounding issues that usually break/uglify fluid layouts
 * in some browsers.
 * 
 * Nested columns are supported too, without having to reset the grid on each level. 
 *
 * Credits/Inspiration:
 * -------------------
 * Semantic Grid: http://www.semantic.gs
 * Susy: http://susy.oddbird.net
 * Negative Grid: http://chrisplaneta.com/freebies/negativegrid-fluid-css-grid-by-chris-planeta/
 *
 * @author Profound Creative Studio
 * @url http://www.profoundgrid.com
 * @url http://www.weareprofound.com 
 */
/**
 * Clearfix
 */
/**
 * Legacy Clearfix
 */
/**
 * Establish the grid-containing element.
 */
/**
 * Align an element to the grid.
 */
/**
 * Apply to any column to make it the last one of the current row.
 */
.grid {
  width: 100%;
  margin: 0 0%;
  overflow: hidden;
  *zoom: 1;
}

#row1 div, #row2 div, #row3 div, #row4 div, #row5 div, #row6 div {
  float: left;
  margin-right: -100%;
  width: 100%;
}

@media all and (min-width: 680px) {
  .grid {
    width: 100%;
    margin: 0 0%;
    overflow: hidden;
    *zoom: 1;
  }

  .row1 .col {
    float: left;
    margin-right: -100%;
    width: 6.5%;
  }
  .row1 .col:nth-child(12n+1) {
    margin-left: 0%;
    clear: both;
    overflow: hidden;
    *zoom: 1;
  }
  .row1 .col:nth-child(12n+2) {
    margin-left: 8.5%;
    clear: none;
  }
  .row1 .col:nth-child(12n+3) {
    margin-left: 17%;
    clear: none;
  }
  .row1 .col:nth-child(12n+4) {
    margin-left: 25.5%;
    clear: none;
  }
  .row1 .col:nth-child(12n+5) {
    margin-left: 34%;
    clear: none;
  }
  .row1 .col:nth-child(12n+6) {
    margin-left: 42.5%;
    clear: none;
  }
  .row1 .col:nth-child(12n+7) {
    margin-left: 51%;
    clear: none;
  }
  .row1 .col:nth-child(12n+8) {
    margin-left: 59.5%;
    clear: none;
  }
  .row1 .col:nth-child(12n+9) {
    margin-left: 68%;
    clear: none;
  }
  .row1 .col:nth-child(12n+10) {
    margin-left: 76.5%;
    clear: none;
  }
  .row1 .col:nth-child(12n+11) {
    margin-left: 85%;
    clear: none;
  }
  .row1 .col:nth-child(12n+12) {
    margin-left: 93.5%;
    clear: none;
  }

  .row2 .col {
    float: left;
    margin-right: -100%;
    width: 15%;
  }
  .row2 .col:nth-child(6n+1) {
    margin-left: 0%;
    clear: both;
    overflow: hidden;
    *zoom: 1;
  }
  .row2 .col:nth-child(6n+2) {
    margin-left: 17%;
    clear: none;
  }
  .row2 .col:nth-child(6n+3) {
    margin-left: 34%;
    clear: none;
  }
  .row2 .col:nth-child(6n+4) {
    margin-left: 51%;
    clear: none;
  }
  .row2 .col:nth-child(6n+5) {
    margin-left: 68%;
    clear: none;
  }
  .row2 .col:nth-child(6n+6) {
    margin-left: 85%;
    clear: none;
  }

  .row3 .col {
    float: left;
    margin-right: -100%;
    width: 23.5%;
  }
  .row3 .col.last {
    float: left;
    margin-right: -100%;
    width: 23.5%;
  }
  .row3 .col:nth-child(4n+1) {
    margin-left: 0%;
    clear: both;
    overflow: hidden;
    *zoom: 1;
  }
  .row3 .col:nth-child(4n+2) {
    margin-left: 25.5%;
    clear: none;
  }
  .row3 .col:nth-child(4n+3) {
    margin-left: 51%;
    clear: none;
  }
  .row3 .col:nth-child(4n+4) {
    margin-left: 76.5%;
    clear: none;
  }

  .row4 .col {
    float: left;
    margin-right: -100%;
    width: 32%;
  }
  .row4 .col:nth-child(3n+1) {
    margin-left: 0%;
    clear: both;
    overflow: hidden;
    *zoom: 1;
  }
  .row4 .col:nth-child(3n+2) {
    margin-left: 34%;
    clear: none;
  }
  .row4 .col:nth-child(3n+3) {
    margin-left: 68%;
    clear: none;
  }

  .row6 .col {
    float: left;
    margin-right: -100%;
    width: 49%;
  }
  .row6 .col:nth-child(2n+1) {
    margin-left: 0%;
    clear: both;
    overflow: hidden;
    *zoom: 1;
  }
  .row6 .col:nth-child(2n+2) {
    margin-left: 51%;
    clear: none;
  }

  .row12 .col {
    float: left;
    margin-right: -100%;
    width: 100%;
  }
}
/* Helper Class: Container */
.row {
  width: 100%;
  margin: 0 0%;
}

/* Helper Class: Columns */
.col1 {
  float: left;
  margin-right: -100%;
  width: 6.5%;
}

.col2 {
  float: left;
  margin-right: -100%;
  width: 15%;
}

.col3 {
  float: left;
  margin-right: -100%;
  width: 23.5%;
}

.col4 {
  float: left;
  margin-right: -100%;
  width: 32%;
}

.col5 {
  float: left;
  margin-right: -100%;
  width: 40.5%;
}

.col6 {
  float: left;
  margin-right: -100%;
  width: 49%;
}

.col7 {
  float: left;
  margin-right: -100%;
  width: 57.5%;
}

.col8 {
  float: left;
  margin-right: -100%;
  width: 66%;
}

.col9 {
  float: left;
  margin-right: -100%;
  width: 74.5%;
}

.col10 {
  float: left;
  margin-right: -100%;
  width: 83%;
}

.col11 {
  float: left;
  margin-right: -100%;
  width: 91.5%;
}

.col12 {
  float: left;
  margin-right: -100%;
  width: 100%;
}

/* Helper Class: Horizontal Position */
.push0 {
  margin-left: 0%;
}

.push1 {
  margin-left: 8.5%;
}

.push2 {
  margin-left: 17%;
}

.push3 {
  margin-left: 25.5%;
}

.push4 {
  margin-left: 34%;
}

.push5 {
  margin-left: 42.5%;
}

.push6 {
  margin-left: 51%;
}

.push7 {
  margin-left: 59.5%;
}

.push8 {
  margin-left: 68%;
}

.push9 {
  margin-left: 76.5%;
}

.push10 {
  margin-left: 85%;
}

.push11 {
  margin-left: 93.5%;
}

#page_company #company_profile dt {
  width: 80px;
}
#page_company #company_profile #map {
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 680px) {
  #page_company #company_profile #map {
    height: 250px;
  }
}
#page_company #company_profile .tabel--small dt {
  width: 130px;
}
#page_company #company_history dl dt {
  text-align: left;
}
#page_company #officer h3 {
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  #page_company #officer h3 {
    text-align: center;
  }
}
@media screen and (max-width: 680px) {
  #page_company #officer .photo {
    width: 180px;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}
#page_company #officer .photo img {
  vertical-align: top;
}
#page_company #officer .name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
#page_company #officer .group {
  border-bottom: 1px solid #efefef;
  padding-bottom: 30px;
  margin-bottom: 50px;
}
#page_company #officer .group:last-child {
  border: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 680px) {
  #page_company #officer .group {
    padding-bottom: 0px;
    border-bottom: 1px solid #efefef;
    margin-bottom: 50px;
  }
  #page_company #officer .group:last-child {
    border: 0px;
    padding-bottom: 0px;
    margin-bottom: 0px;
  }
}
#page_company #officer .group .img {
  width: 230px;
  margin-right: 30px;
}
@media screen and (max-width: 680px) {
  #page_company #officer .group .img {
    width: 100%;
    margin: 0;
  }
}
#page_company #officer .group .text {
  width: auto;
  float: none;
  overflow: hidden;
}
@media screen and (max-width: 680px) {
  #page_company #officer .group .text {
    float: left;
  }
}
#page_company #officer .group li {
  display: block;
  position: relative;
  overflow: hidden;
  *zoom: 1;
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  #page_company #officer .group li {
    margin-bottom: 60px;
  }
}
#page_company #officer .group li {
  display: block;
  position: relative;
  overflow: hidden;
  *zoom: 1;
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  #page_company #officer .group li {
    margin-bottom: 60px;
  }
}
#page_company #message .photo {
  width: 140px;
}
@media screen and (max-width: 680px) {
  #page_company #message .photo {
    width: auto;
    text-align: center;
    margin-bottom: 30px;
  }
  #page_company #message .photo img {
    width: 160px;
  }
}
#page_company #message .post {
  font-size: 12px;
}
#page_company #message .name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.subsidiary {
  margin-top: 10px;
  padding: 15px;
  background: #f5f5f5;
}

.subsidiary__name {
  margin-bottom: 20px;
}
@media screen and (max-width: 680px) {
  .subsidiary__name {
    margin-bottom: 10px;
  }
}

#page_inquiry #other .mail {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  text-decoration: none;
}
#page_inquiry #other .mail:hover {
  text-decoration: underline;
}
#page_inquiry #faq #accordions .innr {
  padding: 0px;
}
#page_inquiry #faq #accordions.active .accordion-toggle,
#page_inquiry #faq #accordions.active .accordion-inner {
  background: #fafafa;
  color: #4d4d4d;
}
#page_inquiry #faq .accordion a {
  text-decoration: none;
}
#page_inquiry #faq .accordion .accordion-group {
  margin-bottom: 10px;
}
@media screen and (max-width: 680px) {
  #page_inquiry #faq .accordion .accordion-group {
    margin-bottom: 2px;
  }
}
#page_inquiry #faq .accordion .accordion-group.expand .accordion-toggle,
#page_inquiry #faq .accordion .accordion-group.expand .accordion-inner {
  background: #f0f0f0 !important;
  color: #000 !important;
}
#page_inquiry #faq .accordion .accordion-group.expand .accordion-toggle:after {
  content: "\e605";
}
#page_inquiry #faq .accordion .accordion-heading .accordion-toggle {
  display: table;
  width: 100%;
  background: #f5f5f5;
  vertical-align: middle;
  padding: 10px;
  color: #000;
}
#page_inquiry #faq .accordion .accordion-heading .accordion-toggle:hover {
  text-decoration: none;
  background: #f0f0f0 !important;
  color: #000 !important;
}
#page_inquiry #faq .accordion .accordion-heading .accordion-toggle:before {
  content: "Q";
  display: table-cell;
  vertical-align: middle;
  width: 30px;
  padding-left: 10px;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 680px) {
  #page_inquiry #faq .accordion .accordion-heading .accordion-toggle:before {
    padding-left: 0px;
  }
}
#page_inquiry #faq .accordion .accordion-heading .accordion-toggle span {
  display: table-cell;
  vertical-align: middle;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  #page_inquiry #faq .accordion .accordion-heading .accordion-toggle span {
    padding-left: 0px;
    font-size: 14px;
    line-height: 1.6;
  }
}
#page_inquiry #faq .accordion .accordion-heading .accordion-toggle:after {
  content: "\e604";
  font-family: 'edi';
  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;
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  padding-right: 10px;
  padding-left: 8px;
  font-size: 14px;
}
@media screen and (max-width: 680px) {
  #page_inquiry #faq .accordion .accordion-heading .accordion-toggle:after {
    padding-right: 5px;
  }
}
#page_inquiry #faq .accordion .collapse .accordion-inner {
  display: none;
}
#page_inquiry #faq .accordion .accordion-inner {
  display: table;
  width: 100%;
  background: #f5f5f5;
  padding: 20px 20px 20px 20px;
  border-top: 1px solid #dedede;
}
@media screen and (max-width: 680px) {
  #page_inquiry #faq .accordion .accordion-inner {
    padding: 15px 10px 15px 10px;
  }
}
#page_inquiry #faq .accordion .accordion-inner:before {
  content: "A";
  display: table-cell;
  vertical-align: top;
  width: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
#page_inquiry #faq .accordion .accordion-inner span {
  display: table-cell;
  vertical-align: middle;
  font-size: 14px;
}
@media screen and (max-width: 680px) {
  #page_inquiry #faq .accordion .accordion-inner span {
    font-size: 13px;
    line-height: 1.6;
  }
}
#page_inquiry #faq .accordion .accordion-inner span a {
  text-decoration: underline;
}
#page_inquiry #faq .faq_group dt {
  display: table;
  width: 100%;
  background: #f5f5f5;
  padding: 10px;
  margin-bottom: 1px;
}
#page_inquiry #faq .faq_group dt:before {
  content: "Q";
  display: table-cell;
  vertical-align: middle;
  width: 30px;
  padding-left: 10px;
  font-weight: bold;
  font-size: 18px;
}
#page_inquiry #faq .faq_group dt .question {
  display: table-cell;
  vertical-align: middle;
}
#page_inquiry #faq .faq_group dt:after {
  content: "\e604";
  font-family: 'edi';
  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;
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  padding-right: 10px;
  font-size: 14px;
}
#page_inquiry #faq .faq_group dd {
  display: table;
  width: 100%;
  background: #f5f5f5;
  padding: 20px 20px 20px 20px;
  margin-bottom: 10px;
}
#page_inquiry #faq .faq_group dd:before {
  content: "A";
  display: table-cell;
  vertical-align: top;
  width: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
#page_inquiry #faq .faq_group dd .answer {
  display: table-cell;
  vertical-align: middle;
  font-size: 12px;
}

#page_recruit #banner {
  margin-top: 0;
  padding: 60px 0;
}
@media screen and (max-width: 680px) {
  #page_recruit #banner {
    padding: 30px 0;
  }
}
@media screen and (min-width: 680px) {
  #page_recruit #recruit_top #cover {
    height: 640px;
  }
  #page_recruit #recruit_top .page_title {
    margin-top: -640px;
    margin-bottom: 0;
    height: 640px;
  }
}
@media screen and (min-width: 680px) {
  #page_recruit #recruit_top .page_title .read {
    padding-top: 488px;
  }
}
#page_recruit #recruit_top .page_title h3 {
  text-align: center;
  font-weight: bold;
  line-height: 1;
  font-size: 50px;
}
@media screen and (max-width: 680px) {
  #page_recruit #recruit_top .page_title h3 {
    font-size: 22px;
  }
}
#page_recruit #recruit_top .page_title h3 span {
  font-size: 20px;
}
@media screen and (max-width: 680px) {
  #page_recruit #recruit_top .page_title h3 span {
    font-size: 14px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #recruit_top .page_title h3 {
    line-height: 1.4;
  }
  #page_recruit #recruit_top .page_title h3 span {
    font-weight: bold;
  }
}
#page_recruit #requirements .copy_center h3, #page_recruit #internship .copy_center h3 {
  text-align: left;
  font-weight: normal;
  line-height: 1.6;
  font-size: 26px;
}
@media screen and (max-width: 680px) {
  #page_recruit #requirements .copy_center h3, #page_recruit #internship .copy_center h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #requirements .copy_center h3, #page_recruit #internship .copy_center h3 {
    text-align: center;
  }
}
#page_recruit #internship .grid_bnrs {
  margin-bottom: 60px;
}
@media screen and (max-width: 680px) {
  #page_recruit #internship .grid_bnrs {
    margin-bottom: 36px;
  }
}
#page_recruit .job_index .group {
  position: relative;
}
#page_recruit .job_index .job {
  position: relative;
  display: block;
  font-size: 13px;
  line-height: 1.8;
  width: 100%;
  padding: 30px;
  background: #efefef;
  text-decoration: none;
  margin-bottom: 20px;
}
@media screen and (max-width: 680px) {
  #page_recruit .job_index .job {
    padding: 20px;
  }
}
#page_recruit .job_index .job:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
#page_recruit .job_index .job a {
  color: #000;
}
@media screen and (max-width: 680px) {
  #page_recruit .job_index .job {
    margin-bottom: 10px;
  }
}
#page_recruit .job_index .job:last-child {
  margin-bottom: 0px;
}
@media screen and (max-width: 680px) {
  #page_recruit .job_index .job:last-child {
    margin-bottom: 0px;
  }
}
@media screen and (min-width: 680px) {
  #page_recruit .job_index .job .btn {
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -17.5px;
  }
}
@media screen and (min-width: 680px) {
  #page_recruit .job_index .job .btn {
    padding-left: 30px;
    padding-right: 30px;
  }
}
#page_recruit .job_index .job .head {
  display: block;
  vertical-align: middle;
  color: #e61e1e;
  width: auto;
}
@media screen and (max-width: 680px) {
  #page_recruit .job_index .job .head {
    display: block;
  }
}
#page_recruit .job_index .job .head + div {
  margin-top: 10px;
  margin-right: 175px;
}
@media screen and (max-width: 680px) {
  #page_recruit .job_index .job .head + div {
    margin-top: 10px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit .job_index .job .head + div {
    margin-right: 0px;
    margin-bottom: 20px;
    display: block;
  }
}
#page_recruit .video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#page_recruit .video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
#page_recruit .grid_bnrs {
  margin-bottom: 0%;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs {
    margin-bottom: -3%;
  }
}
#page_recruit .grid_bnrs .col {
  margin-bottom: 0%;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .col {
    margin-bottom: 3%;
  }
}
#page_recruit .grid_bnrs a {
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs a {
    font-size: 14px;
  }
}
#page_recruit .grid_bnrs a:hover {
  text-decoration: underline;
}
#page_recruit .grid_bnrs a:hover .photo {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}
#page_recruit .grid_bnrs.size_s .bnr .photo {
  height: 140px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs.size_s .bnr .photo {
    height: 100px;
  }
}
#page_recruit .grid_bnrs.size_m .bnr .photo {
  height: 140px;
}
#page_recruit .grid_bnrs .entry-btn-wrap {
  display: flex;
  margin-bottom: 0;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .entry-btn-wrap {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .entry-btn-wrap {
    flex-direction: column;
  }
}
#page_recruit .grid_bnrs .entry-btn {
  display: inline-block;
  width: calc(50% - 10px);
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .entry-btn {
    width: 100%;
  }
}
#page_recruit .grid_bnrs .entry-btn:hover {
  text-decoration: none;
}
#page_recruit .grid_bnrs .entry-btn + .entry-btn {
  margin-left: 20px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .entry-btn + .entry-btn {
    margin-left: 0;
  }
}
#page_recruit .grid_bnrs .bnr {
  display: table;
  width: 100%;
  margin-bottom: 5px;
}
#page_recruit .grid_bnrs .bnr .photo {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: #fff;
}
#page_recruit .grid_bnrs .bnr + h4 {
  font-size: 16px;
  padding-top: 10px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .bnr + h4 {
    padding-top: 5px;
  }
}
#page_recruit .grid_bnrs .bnr + h4 + p {
  font-size: 12px;
}
#page_recruit .grid_bnrs .bnr#bnr_message .photo, #page_recruit .grid_bnrs .bnr#bnr_environment .photo, #page_recruit .grid_bnrs .bnr#bnr_people .photo, #page_recruit .grid_bnrs .bnr#bnr_job_engineer .photo, #page_recruit .grid_bnrs .bnr#bnr_job_business .photo, #page_recruit .grid_bnrs .bnr#bnr_job_internship .photo, #page_recruit .grid_bnrs #job_menu .bnr#bnr_job_engineer a, #page_recruit #job_menu .grid_bnrs .bnr#bnr_job_engineer a, #page_recruit .grid_bnrs #job_menu .bnr#bnr_job_business a, #page_recruit #job_menu .grid_bnrs .bnr#bnr_job_business a, #page_recruit .grid_bnrs .bnr #job_menu .bnr#bnr_job_internship, #page_recruit #job_menu .grid_bnrs .bnr .bnr#bnr_job_internship {
  background-position: center center;
  background-size: cover !important;
}
#page_recruit .grid_bnrs .bnr#bnr_message .photo {
  background: url(../img/recruit/bnr_msg.png);
}
#page_recruit .grid_bnrs .bnr#bnr_environment .photo {
  background: url(../img/recruit/bnr_environment.png);
}
#page_recruit .grid_bnrs .bnr#bnr_people .photo {
  background: url(../img/recruit/bnr_people.png);
  background-position: 25% 0;
}
#page_recruit .grid_bnrs .bnr#bnr_job_engineer .photo {
  background: url(../img/recruit/bnr_job_engineer.png);
  height: 180px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .bnr#bnr_job_engineer .photo {
    height: 140px;
  }
}
#page_recruit .grid_bnrs .bnr#bnr_job_business .photo {
  background: url(../img/recruit/bnr_job_business.png);
  height: 180px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .bnr#bnr_job_business .photo {
    height: 140px;
  }
}
#page_recruit .grid_bnrs .bnr#bnr_job_internship .photo {
  background: url(../img/recruit/bnr_job_internship.jpg);
}
#page_recruit .grid_bnrs .bnr#bnr_entry {
  margin-bottom: 80px;
  font-size: 22px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .bnr#bnr_entry {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .bnr#bnr_entry {
    font-size: 14px;
  }
}
#page_recruit .grid_bnrs .bnr#bnr_entry .photo {
  background-color: #000;
  position: relative;
  height: 100px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .bnr#bnr_entry .photo {
    height: 64px;
  }
}
#page_recruit .grid_bnrs .bnr#bnr_entry .photo p {
  font-weight: bold;
}
#page_recruit .grid_bnrs .bnr#bnr_entry .photo .icon {
  color: #fff;
  font-size: 30px;
  list-style: 30px;
  margin-top: -15px;
  position: absolute;
  top: 50%;
  right: 30px;
}
@media screen and (max-width: 680px) {
  #page_recruit .grid_bnrs .bnr#bnr_entry .photo .icon {
    right: 10px;
    font-size: 24px;
    list-style: 24px;
    margin-top: -12px;
  }
}
#page_recruit #job_menu .col {
  margin-bottom: 0;
}
#page_recruit #job_menu .bnr {
  display: table;
  width: 100%;
}
#page_recruit #job_menu .bnr a {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 140px;
  text-align: center;
  text-decoration: none;
  color: #fff;
}
#page_recruit #job_menu .grid_bnrs .bnr#bnr_message .photo, #page_recruit .grid_bnrs #job_menu .bnr#bnr_message .photo, #page_recruit #job_menu .grid_bnrs .bnr#bnr_environment .photo, #page_recruit .grid_bnrs #job_menu .bnr#bnr_environment .photo, #page_recruit #job_menu .grid_bnrs .bnr#bnr_people .photo, #page_recruit .grid_bnrs #job_menu .bnr#bnr_people .photo, #page_recruit #job_menu .grid_bnrs .bnr#bnr_job_engineer .photo, #page_recruit .grid_bnrs #job_menu .bnr#bnr_job_engineer .photo, #page_recruit #job_menu .grid_bnrs .bnr#bnr_job_business .photo, #page_recruit .grid_bnrs #job_menu .bnr#bnr_job_business .photo, #page_recruit #job_menu .grid_bnrs .bnr#bnr_job_internship .photo, #page_recruit .grid_bnrs #job_menu .bnr#bnr_job_internship .photo, #page_recruit #job_menu .bnr#bnr_job_engineer a, #page_recruit #job_menu .bnr#bnr_job_business a, #page_recruit #job_menu .bnr .bnr#bnr_job_internship {
  background-position: center center;
  background-size: cover !important;
}
#page_recruit #job_menu .bnr#bnr_job_engineer a {
  background: url(../img/recruit/bnr.png);
}
#page_recruit #job_menu .bnr#bnr_job_business a {
  background: url(../img/recruit/bnr.png);
}
#page_recruit #job_menu .bnr#bnr_job_internship {
  background: url(../img/recruit/bnr.png);
}
#page_recruit .read_large {
  text-align: center;
  font-size: 16px;
}
@media screen and (max-width: 680px) {
  #page_recruit .read_large {
    font-size: 14px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit .read_large {
    text-align: left;
  }
}
#page_recruit .internship {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #00a6e1;
  margin-bottom: 10px;
  line-height: 36px;
}
@media screen and (max-width: 680px) {
  #page_recruit .internship {
    font-size: 18px;
  }
}
#page_recruit .internship:hover {
  color: #00b9fb;
}
@media screen and (max-width: 680px) {
  #page_recruit .internship {
    text-align: left;
    line-height: 1.4em;
    margin-bottom: -6px;
  }
}
#page_recruit .internship_end {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #00a6e1;
}
@media screen and (max-width: 680px) {
  #page_recruit .internship_end {
    font-size: 14px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit .internship_end {
    text-align: left;
  }
}
#page_recruit .link_internship {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #00a6e1;
}
@media screen and (max-width: 680px) {
  #page_recruit .link_internship {
    font-size: 14px;
  }
}
#page_recruit .link_internship:hover {
  color: #00b9fb;
}
@media screen and (max-width: 680px) {
  #page_recruit .link_internship {
    text-align: left;
  }
}
#page_recruit .newgraduates {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #016cc7;
  margin: 30px 0 5px 10px;
}
@media screen and (max-width: 680px) {
  #page_recruit .newgraduates {
    font-size: 18px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit .newgraduates {
    text-align: center;
  }
}
#page_recruit .recruitlogo {
  margin-top: -2px;
  width: 86px;
  height: 25px;
}
@media screen and (max-width: 680px) {
  #page_recruit .recruitlogo {
    margin-top: -4px;
  }
}
#page_recruit .newgraduates_link {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
}
@media screen and (max-width: 680px) {
  #page_recruit .newgraduates_link {
    font-size: 18px;
  }
}
#page_recruit .newgraduates_link:hover {
  color: #32434f;
}
#page_recruit .newgraduates_link .newgraduates_link_de {
  text-decoration: none;
}
#page_recruit .newgraduates_link .icon {
  color: #e61e1e;
}
#page_recruit .bnr.recruit {
  background: #000;
  color: #fff;
  width: 100%;
  height: 100px;
  font-weight: bold;
  position: relative;
  display: table;
  vertical-align: middle;
  padding: 20px;
  text-decoration: none;
  overflow: hidden;
  *zoom: 1;
}
#page_recruit .bnr.recruit:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}
#page_recruit .bnr.recruit .icon {
  color: #fff;
}
@media screen and (max-width: 680px) {
  #page_recruit .bnr.recruit {
    height: auto;
    padding: 15px;
  }
}
#page_recruit .bnr.recruit .innr {
  display: table-cell;
  padding: 0;
}
#page_recruit .bnr.recruit .innr .title {
  text-align: left;
  font-size: 32px;
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}
@media screen and (max-width: 680px) {
  #page_recruit .bnr.recruit .innr .title {
    vertical-align: initial;
    font-size: 22px;
    line-height: 1;
  }
}
#page_recruit .bnr.recruit .innr .title + p {
  text-align: left;
  font-size: 12px;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  #page_recruit .bnr.recruit .innr .title + p {
    vertical-align: initial;
    font-size: 11px;
  }
}
#page_recruit .bnr.recruit .innr .icon {
  position: absolute;
  font-size: 30px;
  line-height: 30px;
  top: 50%;
  right: 0px;
  margin-top: -15px;
}
#page_recruit #index #btn_engineer {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
}
@media screen and (max-width: 680px) {
  #page_recruit #index #btn_engineer {
    position: relative;
    padding-top: 30px;
  }
}
#page_recruit #message h3 {
  font-size: 28px;
  margin-bottom: 40px;
}
@media screen and (max-width: 680px) {
  #page_recruit #message h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #message h3 {
    margin-bottom: 20px;
  }
}
#page_recruit #message h4 {
  font-size: 20px;
}
@media screen and (max-width: 680px) {
  #page_recruit #message h4 {
    font-size: 14px;
  }
}
#page_recruit #message .message_body {
  background: #f5f5f5;
  padding: 80px;
  font-size: 16px;
}
@media screen and (max-width: 680px) {
  #page_recruit #message .message_body {
    padding: 20px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #message .message_body {
    font-size: 14px;
  }
}
#page_recruit #message .align_r {
  font-size: 0.8em;
}
#page_recruit #environment h4 {
  font-size: 16px;
  color: #e61e1e;
}
@media screen and (max-width: 680px) {
  #page_recruit #environment h4 {
    font-size: 16px;
  }
}
#page_recruit #environment #office .photo {
  margin-bottom: 10px;
}
#page_recruit #environment #office h4 {
  font-size: 14px;
  color: black;
}
@media screen and (max-width: 680px) {
  #page_recruit #environment #office h4 {
    font-size: 14px;
  }
}
#page_recruit #environment #office p {
  font-size: 12px;
  color: #1a1a1a;
}
@media screen and (max-width: 680px) {
  #page_recruit #environment #office p {
    font-size: 12px;
  }
}
@media screen and (min-width: 680px) {
  #page_recruit #requirements #cover {
    height: 840px;
  }
}
@media screen and (min-width: 680px) {
  #page_recruit #requirements .page_title {
    height: 840px;
    margin-top: -840px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #requirements .page_title {
    margin-bottom: 0;
  }
}
#page_recruit #requirements #menu {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 40px 0;
}
@media screen and (min-width: 680px) {
  #page_recruit #requirements #menu {
    background-color: rgba(0, 0, 0, 0.3);
    /* FireFox, Webkit, Opera, IE9 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#4C000000',EndColorStr='#4C000000')";
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#4C000000',EndColorStr='#4C000000');
    /* IE5.5+ */
  }
  #page_recruit #requirements #menu a {
    color: #fff;
    line-height: 1.6;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #requirements #menu {
    position: static;
    margin-bottom: 40px;
    background: #f5f5f5;
  }
  #page_recruit #requirements #menu a {
    color: #333;
  }
  #page_recruit #requirements #menu .grid {
    margin-bottom: -5%;
  }
  #page_recruit #requirements #menu .grid .col {
    margin-bottom: 5%;
  }
}
#page_recruit #requirements #menu .innr {
  height: auto !important;
}
@media screen and (max-width: 680px) {
  #page_recruit #requirements #menu .innr {
    margin-top: 0;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #internship .page_title {
    margin-bottom: 0;
    border: 0;
  }
}
#page_recruit #internship #calender .innr {
  background: #efefef;
}
#page_recruit #internship #voice .title {
  color: #e61e1e;
  overflow: hidden;
  *zoom: 1;
}
#page_recruit #internship #voice .title .icon {
  font-size: 36px;
  float: left;
}
#page_recruit #internship #voice .title .profile {
  font-size: 12px;
  line-height: 1.6;
  margin-left: 45px;
  margin-bottom: 10px;
}
#page_recruit #people_index .photo {
  margin-bottom: 10px;
}
#page_recruit #people_index h3 {
  line-height: 1.8;
}
#page_recruit #people_index #people {
  margin-top: -30px;
}
@media screen and (max-width: 680px) {
  #page_recruit #people_index #people {
    margin-top: -20px;
  }
}
@media screen and (max-width: 680px) {
  #page_recruit #people_detail .page_title .read {
    text-align: left;
  }
}
#page_recruit #people_detail .page_title h3 {
  font-size: 36px;
  line-height: 1.5;
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  #page_recruit #people_detail .page_title h3 {
    font-size: 18px;
    margin-bottom: 15px;
  }
}
#page_recruit #people_detail .interview h4 {
  color: #e61e1e;
  font-size: 16px;
}
@media screen and (max-width: 680px) {
  #page_recruit #people_detail .interview h4 {
    font-size: 14px;
  }
}
#page_recruit #people_detail .profile {
  font-size: 12px;
}
@media screen and (max-width: 680px) {
  #page_recruit #people_detail .profile {
    padding-top: 30px;
    border-top: 1px solid #efefef;
  }
}
#page_recruit #job_detail .page_title {
  margin-bottom: 0px;
}
#page_recruit #job_detail .page_title + article {
  margin-top: 0px;
  border-top: 0px;
}
#page_recruit #job_detail article {
  padding-top: 60px;
  margin-top: 60px;
  border-top: 1px solid #efefef;
}
@media screen and (max-width: 680px) {
  #page_recruit #job_detail article {
    padding-top: 30px;
    padding-bottom: 40px;
    margin-top: 0px;
    border-top: 1px solid #efefef;
  }
  #page_recruit #job_detail article:last-child {
    padding-bottom: 0px;
  }
}
#page_recruit #job_detail article .head {
  color: #e61e1e;
}
#page_recruit #job_detail article .requirements {
  width: 65%;
}
@media screen and (max-width: 680px) {
  #page_recruit #job_detail article .requirements {
    width: 100%;
  }
}
#page_recruit #job_detail article .requirements .btn {
  width: 230px;
}
@media screen and (max-width: 680px) {
  #page_recruit #job_detail article .requirements .btn {
    width: auto;
  }
}
#page_recruit #job_detail article .interview {
  width: 240px;
  position: absolute;
  right: 0px;
  top: 0px;
}
#page_recruit #job_detail article .interview a {
  color: #000;
}
#page_recruit #job_detail article .interview a {
  text-decoration: none;
}
#page_recruit #job_detail article .interview a:hover {
  text-decoration: none;
}
#page_recruit #job_detail article .interview .title {
  padding: 10px;
  background: #f5f5f5;
  font-size: 11px;
  line-height: 1.5;
}
#page_recruit #job_detail article .interview .title .head {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #e61e1e;
}
@media screen and (max-width: 680px) {
  #page_recruit #job_detail article .interview {
    position: relative;
    padding-top: 40px;
    overflow: hidden;
    *zoom: 1;
    display: table;
    width: 100%;
  }
  #page_recruit #job_detail article .interview .photo {
    width: 35%;
    display: table-cell;
    vertical-align: middle;
  }
  #page_recruit #job_detail article .interview .photo img {
    vertical-align: top;
  }
  #page_recruit #job_detail article .interview .title {
    padding: 0 10px 0 10px;
    width: 65%;
    display: table-cell;
    vertical-align: middle;
    font-size: 10px;
  }
  #page_recruit #job_detail article .interview .title .head {
    font-size: 14px;
    position: absolute;
    top: 15px;
    left: 0px;
  }
}

#page_services .smp {
  position: absolute;
  top: 0px;
  right: 0px;
}
@media screen and (max-width: 680px) {
  #page_services .smp {
    width: auto;
    text-align: center;
    position: relative;
    top: 0px;
    bottom: initial;
    right: initial;
  }
}
#page_services .smp img {
  height: 380px;
}
@media screen and (max-width: 680px) {
  #page_services .smp img {
    height: 180px;
  }
}
#page_services dl.table {
  font-size: 12px;
  margin-bottom: -10px;
}
@media screen and (max-width: 680px) {
  #page_services dl.table {
    text-align: left;
  }
}
#page_services dl.table dt {
  width: 140px;
  text-align: left;
}
@media screen and (max-width: 680px) {
  #page_services dl.table dt {
    width: auto;
  }
}
#page_services dl.table dd {
  margin-bottom: 5px;
}
@media screen and (max-width: 680px) {
  #page_services dl.table dd {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 680px) {
  #page_services h3, #page_services h4 {
    font-size: 14px;
  }
}
@media screen and (max-width: 680px) {
  #page_services #ad {
    padding: 30px 0;
  }
}
#page_services #ad a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}
@media screen and (max-width: 680px) {
  #page_services #ad .col {
    margin-top: 20px;
  }
}
#page_services #ad .col:first-child {
  margin-top: 0px;
}
#page_services #ad .bnr {
  display: block;
  padding: 15px;
  background: #000;
  position: relative;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
}
#page_services #ad .bnr:hover {
  text-decoration: none;
}
#page_services #ad .bnr p {
  line-height: 40px;
  font-size: 14px;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  #page_services #ad .bnr p {
    font-size: 11px;
    line-height: 39px;
  }
}
#page_services #ad .bnr img {
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -20px;
  height: 40px;
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  #page_services #ad .bnr img {
    margin-top: -19.5px;
    height: 39px;
  }
}
#page_services #newspass {
  min-height: 520px;
}
@media screen and (max-width: 680px) {
  #page_services #newspass {
    height: auto;
  }
}

@media screen and (max-width: 680px) {
  .no_article {
    text-align: center;
  }
}

.news_headline {
  line-height: 1.8;
  margin-top: -20px;
}
@media screen and (max-width: 680px) {
  .news_headline {
    margin-top: 0px;
  }
}
.news_headline li {
  display: table;
  width: 100%;
  padding: 20px 0;
  border-bottom: 1px solid #efefef;
}
@media screen and (max-width: 680px) {
  .news_headline li:first-child {
    border-top: 1px solid #efefef;
  }
}
@media screen and (max-width: 680px) {
  .news_headline li {
    display: block;
  }
}
.news_headline li div {
  display: table-cell;
  width: 220px;
  overflow: hidden;
  *zoom: 1;
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width: 680px) {
  .news_headline li div {
    display: block;
    margin-bottom: 10px;
  }
}
.news_headline li div .date {
  display: block;
  float: left;
  font-weight: 500;
  margin-right: 10px;
}
.news_headline li div .category {
  display: block;
  width: 130px;
  float: left;
}
.news_headline li .title {
  display: table-cell;
  vertical-align: top;
}

@media screen and (max-width: 680px) {
  #page_news #index .innr {
    padding: 0;
  }
  #page_news #index .innr .news_headline li {
    padding: 20px;
  }
}
@media screen and (max-width: 680px) {
  #page_news #index .nav_pager {
    padding: 0 20px;
  }
}
@media screen and (max-width: 680px) {
  #page_news #detail .page_title {
    display: none;
  }
}
#page_news #detail .date {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 680px) {
  #page_news #detail .date {
    font-size: 12px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 680px) {
  #page_news #detail .news_body h2 {
    display: block;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #efefef;
  }
}
#page_news #detail .news_body ul {
  padding-left: 1.6em;
}
#page_news #detail .news_body ul li {
  list-style-type: disc;
}
#page_news #detail .news_body .large-font {
  font-size: 18px;
}
#page_news #detail .news_body .medium-font {
  font-size: 14px;
}
#page_news #detail .news_body .small-font {
  font-size: 11px;
}
#page_news #detail .news_body .editor-table td {
  padding-right: 20px;
}
@media screen and (max-width: 680px) {
  #page_news #detail .attached {
    padding-top: 10px;
  }
}
#page_news #detail .attached div {
  padding: 20px;
  background: #f5f5f5;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  margin-bottom: 10px;
}
#page_news #detail .attached div span {
  padding-right: 10px;
}
@media screen and (max-width: 680px) {
  #page_news #detail .social {
    padding-top: 10px;
  }
}
#page_news #detail .social div {
  padding: 20px;
  background: #f5f5f5;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  margin-bottom: 10px;
}
#page_news #detail .social div span {
  padding-right: 10px;
}

#page_ad .smp {
  position: absolute;
  right: -28px;
  top: -7px;
}
@media screen and (max-width: 680px) {
  #page_ad .smp {
    width: auto;
    text-align: center;
    position: static;
    padding-top: 20px;
  }
}
#page_ad .smp img {
  height: 385px;
}
@media screen and (max-width: 680px) {
  #page_ad .smp img {
    height: 180px;
  }
}
#page_ad .app_lists {
  display: flex;
  margin: 20px 0 30px;
}
@media screen and (max-width: 680px) {
  #page_ad .app_lists {
    margin: 20px 0;
  }
}
@media screen and (max-width: 680px) {
  #page_ad .app_lists--top {
    margin: 20px 0 30px;
    justify-content: center;
  }
}
#page_ad .app_list {
  width: 32px;
  line-height: 1;
}
#page_ad .app_list:not(:last-child) {
  margin-right: 15px;
}
#page_ad .app_list img {
  vertical-align: bottom;
}
#page_ad #flow_partner .col img {
  height: 65px;
}
@media screen and (max-width: 680px) {
  #page_ad #flow_partner .col img {
    height: 60px;
  }
}
#page_ad #flow_partner .col p {
  font-size: 11px;
  line-height: 1.8;
}
#page_ad #flow_partner .col small {
  font-size: 10px;
}
@media screen and (max-width: 680px) {
  #page_ad #flow_partner .col .no {
    width: 60px;
    display: table-cell;
    vertical-align: top;
  }
}
@media screen and (max-width: 680px) {
  #page_ad #flow_partner .col .text {
    display: table-cell;
    vertical-align: middle;
    padding-left: 15px;
  }
}
#page_ad #gunosy_ads #feature .text {
  position: absolute;
  top: 0px;
  left: 0px;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #feature .text {
    position: static;
    top: initial;
    left: initial;
  }
}
#page_ad #gunosy_ads #feature .img {
  text-align: right;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #feature .img {
    margin-top: 0px;
  }
}
#page_ad #gunosy_ads #feature .img img {
  height: 416px;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #feature .img img {
    height: auto;
  }
}
#page_ad #gunosy_ads #targets .col {
  overflow: hidden;
  *zoom: 1;
  display: table;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #targets strong {
    display: block;
    font-size: 12px;
    line-height: 20px !important;
  }
}
#page_ad #gunosy_ads #targets .photo {
  display: table-cell;
  width: 144px;
  padding-right: 30px;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #targets .photo {
    width: 74px;
    padding-right: 15px;
  }
}
#page_ad #gunosy_ads #targets .photo img {
  margin-top: -5px;
  width: 144px;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #targets .photo img {
    width: 74px;
  }
}
#page_ad #gunosy_ads #targets .text {
  display: table-cell;
}
#page_ad #gunosy_ads #targets h4 {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 18px;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #targets h4 {
    line-height: 1.4;
  }
}
#page_ad #gunosy_ads #targets h4 span {
  font-family: 游ゴシック体, YuGothic, "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", ヒラギノ角ゴシック, Roboto, -apple-system, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  display: block;
  font-size: 12px;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #targets h4 span {
    font-weight: normal;
    padding-top: 5px;
    font-size: 11px;
    line-height: 1.6;
  }
}
#page_ad #gunosy_ads #targets p {
  font-size: 14px;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #targets p {
    font-size: 13px;
  }
}
#page_ad #gunosy_ads #flow .img {
  text-align: center;
}
#page_ad #gunosy_ads #flow .img img.sp {
  display: none;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #flow .img img.sp {
    display: block;
  }
}
#page_ad #gunosy_ads #flow .img img.pc {
  display: block;
}
@media screen and (max-width: 680px) {
  #page_ad #gunosy_ads #flow .img img.pc {
    display: none;
  }
}
#page_ad #partner #description {
  min-height: 385px;
}
@media screen and (max-width: 680px) {
  #page_ad #partner #description {
    height: auto;
  }
}
#page_ad #partner #btn_partner_inq {
  margin-top: 40px;
}
@media screen and (max-width: 680px) {
  #page_ad #partner #btn_partner_inq {
    display: none;
  }
}
#page_ad #partner #btn_partner_inq_sp {
  display: none;
}
@media screen and (max-width: 680px) {
  #page_ad #partner #btn_partner_inq_sp {
    display: block;
    margin-top: 20px;
  }
  #page_ad #partner #btn_partner_inq_sp a {
    width: 100%;
  }
}

#page_sitemap .page_title + section {
  font-size: 14px;
  line-height: 2.2;
}
#page_sitemap .page_title + section ul {
  margin-bottom: 40px;
}
@media screen and (max-width: 680px) {
  #page_sitemap .page_title + section ul {
    margin-bottom: 20px;
  }
}
#page_sitemap .page_title + section ul li {
  font-weight: bold;
  margin-bottom: 20px;
}
#page_sitemap .page_title + section ul li ul li {
  font-weight: normal;
  font-size: 12px;
  margin-bottom: 0px;
}
@media screen and (max-width: 680px) {
  #page_sitemap .page_title + section ul li ul li {
    font-size: 14px;
  }
}

#page_privacy #privacypolicybody p {
  margin-bottom: 20px;
}
#page_privacy #privacypolicybody h3 {
  font-size: 16px;
  margin-bottom: 20px;
}
#page_privacy #privacypolicybody ul {
  padding-left: 1.6em;
}
#page_privacy #privacypolicybody ul li {
  list-style-type: disc;
}
#page_privacy #privacypolicybody ul ul li {
  list-style-type: circle;
}

ul.number {
  margin-bottom: 20px;
  padding-left: 1.6em;
}
ul.number li {
  list-style-type: decimal !important;
}
ul.number ul {
  padding-left: 1.6em;
  margin-bottom: 20px;
}
ul.number ul li {
  list-style-type: disc !important;
}

#page_mente #mente {
  padding-top: 60px;
  text-align: center;
}

html #page_ir #business .accordion .accordion-inner img {
  text-align: center;
  margin: 0 auto;
  display: block;
  padding-top: 20px;
}
html #page_ir #business .accordion .accordion-inner span {
  display: inline !important;
  width: auto !important;
}
html #page_ir .col .single a {
  text-decoration: none;
}
html #page_ir .col .single a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 680px) {
  html #page_ir #loco_nav_btn_sp {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #fff;
    height: 50px;
    text-align: right;
    background-color: #2e2e2e;
    /* FireFox, Webkit, Opera, IE9 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3')";
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3');
  }
  html #page_ir #loco_nav_btn_sp .text {
    font-weight: normal;
    font-size: 10px;
    line-height: 50px;
  }
  html #page_ir #loco_nav_btn_sp .active.icon-menu_thin:before {
    content: "\e600";
    margin-left: 10px;
    cursor: pointer;
  }
}
html #page_ir #loco_nav_btn_sp .icon-menu_thin {
  line-height: 1;
}
html #page_ir #xj-select-category ul li a:hover {
  text-decoration: none;
  color: #333333 !important;
}
html #page_ir #xj-select-year ul li a:hover {
  color: #333333 !important;
}

#page_privacy-index .privacy h2 {
  margin-top: 44px;
  font-size: 18px;
}
@media screen and (max-width: 680px) {
  #page_privacy-index .privacy h2 {
    margin-top: 52px;
    font-size: 16px;
  }
}
#page_privacy-index .privacy h3 {
  margin-top: 34px;
  font-size: 16px;
}
@media screen and (max-width: 680px) {
  #page_privacy-index .privacy h3 {
    font-size: 14px;
  }
}
#page_privacy-index .privacy h4 {
  margin-top: 14px;
  font-size: 14px;
}
@media screen and (max-width: 680px) {
  #page_privacy-index .privacy h4 {
    margin-top: 18px;
    font-size: 13px;
  }
}
#page_privacy-index .privacy ul {
  margin-top: 10px;
  margin-left: 22px;
}
@media screen and (max-width: 680px) {
  #page_privacy-index .privacy ul {
    margin-top: 14px;
    margin-left: 4px;
  }
}
#page_privacy-index .privacy p {
  margin-top: 16px;
}
@media screen and (max-width: 680px) {
  #page_privacy-index .privacy p {
    margin-top: 22px;
  }
}

#page_privacy dl dd {
  margin-bottom: 40px;
  margin-left: 1.3em;
}

#page_disclosure dl dt {
  float: left;
  width: auto;
}
#page_disclosure dl dd {
  width: auto;
  padding-left: 50px;
  margin-bottom: 40px;
}
#page_disclosure table.disclosure_detail {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
#page_disclosure table.disclosure_detail .indent {
  padding-left: 1em;
  text-indent: -1em;
}
#page_disclosure table.disclosure_detail th {
  width: 200px;
  padding: 15px;
  border: 1px solid #ccc;
  background-color: #f5f5f5;
  font-weight: normal;
}
@media screen and (max-width: 680px) {
  #page_disclosure table.disclosure_detail th {
    width: auto;
  }
}
#page_disclosure table.disclosure_detail td {
  width: auto;
  padding: 15px;
  vertical-align: top;
  border: 1px solid #ccc;
}

#page_app #hero {
  position: relative;
  width: 100%;
  height: 600px;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 680px) {
  #page_app #hero {
    height: 280px;
  }
}
#page_app #hero .innr {
  position: relative;
}
#page_app #hero .copy {
  position: absolute;
  top: 240px;
  z-index: 1000;
}
@media screen and (max-width: 680px) {
  #page_app #hero .copy {
    display: none;
  }
}
#page_app #hero .copy_sp {
  display: none;
}
@media screen and (max-width: 680px) {
  #page_app #hero .copy_sp {
    display: block;
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0px;
    top: 118px;
    z-index: 1000;
  }
  #page_app #hero .copy_sp img {
    height: 60px;
  }
}
#page_app #main {
  padding-top: 0px;
  padding-bottom: 130px;
}
@media screen and (max-width: 680px) {
  #page_app #main {
    padding-bottom: 0px;
  }
}
#page_app .contents {
  overflow: visible;
}
#page_app .contents section .innr {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 680px) {
  #page_app .contents section .innr {
    padding: 30px 0 30px 0;
  }
}
#page_app #service {
  border-bottom: 1px solid #efefef;
}
@media screen and (max-width: 680px) {
  #page_app #service {
    text-align: center;
    padding-bottom: 20px;
  }
}
#page_app #service .copy_sp {
  display: none;
}
@media screen and (max-width: 680px) {
  #page_app #service .copy_sp {
    display: block;
    text-align: center;
    margin-bottom: 20px;
  }
  #page_app #service .copy_sp img {
    height: 50px;
  }
}
#page_app #service .smp {
  position: absolute;
  bottom: -30px;
  right: -30px;
}
@media screen and (max-width: 680px) {
  #page_app #service .smp {
    width: auto;
    text-align: center;
    position: relative;
    bottom: initial;
    right: initial;
    padding-bottom: 30px;
  }
}
#page_app #service .smp img {
  height: 450px;
}
@media screen and (max-width: 680px) {
  #page_app #service .smp img {
    height: 220px;
  }
}
#page_app #service h3, #page_app #service #copy_services {
  font-size: 16px;
  font-weight: normal;
}
@media screen and (max-width: 680px) {
  #page_app #service h3, #page_app #service #copy_services {
    font-size: 13px;
    text-align: center;
    margin-bottom: 20px;
  }
}
#page_app #service .btn {
  text-align: center;
  margin: 0 auto;
}
@media screen and (max-width: 680px) {
  #page_app footer section .logo {
    padding-top: 0;
    float: right;
  }
}
@media screen and (max-width: 680px) {
  #page_app footer section .copyright {
    float: left;
    margin-top: -10px;
  }
}

.p-button-container {
  width: 350px;
  margin: 60px auto 0;
}
@media screen and (max-width: 680px) {
  .p-button-container {
    width: 100%;
    margin-top: 32px;
  }
}
.p-button-container--row {
  display: flex;
  width: 840px;
}
@media screen and (max-width: 680px) {
  .p-button-container--row {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
}
@media screen and (max-width: 680px) {
  .p-button-container--row .c-button {
    flex-basis: calc(50% - 8px);
  }
}
.p-button-container--row .c-button:not(:last-child) {
  margin-right: 40px;
}
@media screen and (max-width: 680px) {
  .p-button-container--row .c-button:not(:last-child) {
    margin-right: 0;
  }
}
@media screen and (max-width: 680px) {
  .p-button-container--row .c-button:not(:nth-child(-n + 2)) {
    margin-top: 16px;
  }
}

.p-common-header {
  position: relative;
  z-index: 100;
}
.p-common-header:hover {
  text-decoration: none;
}
.p-common-header img {
  vertical-align: bottom;
}
.p-common-header__container {
  background-color: #fff;
}
.p-common-header__wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 1020px;
  margin: 0 auto;
  padding: 0 60px;
  background-color: #fff;
}
@media screen and (max-width: 680px) {
  .p-common-header__wrap {
    width: 100%;
    min-width: 0;
    padding: 0;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    background-color: none;
  }
}
.p-common-header__nav, .p-common-header__sub-nav {
  display: none;
  -webkit-tap-highlight-color: transparent;
}
.p-common-header__menu-button {
  display: none;
}
@media screen and (max-width: 680px) {
  .p-common-header__menu-button {
    cursor: pointer;
    display: block;
    padding: 17px;
  }
}
@media screen and (max-width: 680px) {
  .p-common-header__nav:checked ~ .p-common-header__menu-button > * {
    background-image: url(/img/icon_menu-open.svg);
  }
}
@media screen and (max-width: 680px) {
  .p-common-header__menu-icon {
    display: block;
    width: 16px;
    height: 16px;
    background: url(/img/icon_menu.svg) no-repeat;
    background-size: contain;
  }
}
.p-common-header__logo {
  flex-shrink: 0;
  width: 115px;
  padding: 26px 0 20px;
  transition: width 0.2s ease, padding 0.2s ease;
}
.p-common-header.is-active .p-common-header__logo {
  width: 80px;
  padding: 12px 0 10px;
}
@media screen and (max-width: 680px) {
  .p-common-header.is-active .p-common-header__logo {
    width: 65px;
    padding: 14px 20px 13px;
  }
}
@media screen and (max-width: 680px) {
  .p-common-header__logo {
    width: 65px;
    padding: 14px 20px 13px;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 680px) {
  .p-common-header__menu-wrap {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    background-color: #fff;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    z-index: -1;
  }
  .p-common-header__nav:checked ~ .p-common-header__menu-wrap {
    transform: translateY(0);
  }
}
.p-common-header__menu {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  transition: padding 0.2s ease;
}
@media screen and (max-width: 680px) {
  .p-common-header__menu {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    width: calc(100% + 17px);
    padding: 36px 57px 36px 40px;
    align-items: center;
    flex-direction: column;
    overflow-y: scroll;
  }
}
.p-common-header__lists {
  display: flex;
}
@media screen and (max-width: 680px) {
  .p-common-header__lists {
    flex-direction: column;
    width: 100%;
    text-align: left;
  }
  .p-common-header__lists::after {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    padding-bottom: 100px;
  }
}
.p-common-header__list > label {
  pointer-events: none;
}
@media screen and (max-width: 680px) {
  .p-common-header__list > label {
    pointer-events: auto;
  }
}
.p-common-header__list:not(:last-child) {
  margin-right: 30px;
}
@media screen and (max-width: 680px) {
  .p-common-header__list:not(:last-child) {
    margin: 0 0 32px;
    pointer-events: auto;
  }
}
.p-common-header__list--sp {
  display: none;
}
@media screen and (max-width: 680px) {
  .p-common-header__list--sp {
    display: block;
  }
}
.p-common-header__sub-lists {
  display: none;
}
@media screen and (max-width: 680px) {
  .p-common-header__sub-lists {
    display: block;
  }
  .p-common-header__sub-nav:checked ~ .p-common-header__sub-lists .p-common-header__sub-list {
    margin-top: 32px;
    line-height: inherit;
    opacity: 1;
  }
}
.p-common-header__sub-list {
  display: block;
  margin-top: 0;
  padding-left: 24px;
  font-size: 14px;
  line-height: 0;
  color: #000;
  text-decoration: none;
  opacity: 0;
  transition: margin-top 0.2s ease, line-height 0.2s ease, opacity 0.2s ease;
}
@media screen and (max-width: 680px) {
  .p-common-header__sub-list:hover {
    text-decoration: none;
  }
}
.p-common-header__text {
  padding: 32px 0;
  font-size: 14px;
  text-decoration: none;
  pointer-events: auto;
  border: none !important;
  color: #000;
  transition: font-size 0.3s ease, opacity 0.3s ease;
}
.p-common-header.is-active .p-common-header__text {
  padding: 11px 0;
}
.p-common-header__text:hover {
  opacity: 0.5;
  text-decoration: none;
}
@media screen and (max-width: 680px) {
  .p-common-header__text {
    display: block;
    font-size: 16px;
    padding: 0;
  }
}
.p-common-header.is-active .p-common-header__text {
  font-size: 13px;
}
@media screen and (max-width: 680px) {
  .p-common-header.is-active .p-common-header__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 680px) {
  .p-common-header__text--sub {
    position: relative;
    pointer-events: none;
  }
}
.p-common-header__sub-nav:checked ~ .p-common-header__text--sub > * {
  transform: translateY(-50%) rotate(90deg);
}
.p-common-header__arrow {
  display: none;
}
@media screen and (max-width: 680px) {
  .p-common-header__arrow {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 8px;
    height: 8px;
    font-size: 0;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }
}
.p-common-header__langs {
  margin-left: 30px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 680px) {
  .p-common-header__langs {
    margin: 0 auto 42px;
  }
}
.p-common-header__lang {
  padding: 0 0.4em;
  font-size: 14px;
  line-height: 1;
  color: #000;
  text-decoration: none;
}
@media screen and (max-width: 680px) {
  .p-common-header__lang {
    padding: 0 2.4em;
  }
}
.p-common-header__lang.active-none {
  color: #b5b5b5;
}
.p-common-header__lang:hover {
  color: #000;
  text-decoration: none;
}
.p-common-header__lang:not(:first-child) {
  border-left: 1px solid #b5b5b5;
}

.p-kv {
  position: relative;
  margin-top: 80px;
}
@media screen and (max-width: 680px) {
  .p-kv {
    margin-top: 0;
  }
}
.p-kv img {
  width: 100%;
  vertical-align: bottom;
}
.p-kv--top .p-kv__picture {
  height: 600px;
}
@media screen and (max-width: 680px) {
  .p-kv--top .p-kv__picture {
    height: 275px;
  }
}
.p-kv__picture {
  width: 100%;
  height: 640px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 680px) {
  .p-kv__picture {
    position: relative;
    height: 167px;
    height: 52.1875vw;
    overflow: hidden;
  }
}
@media screen and (max-width: 680px) {
  .p-kv__picture--pc {
    display: none;
  }
}
.p-kv__picture--sp {
  display: none;
}
@media screen and (max-width: 680px) {
  .p-kv__picture--sp {
    display: block;
  }
}
.p-kv__wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.p-kv--top-jp .p-kv__wrap {
  top: 202px;
  transform: translateX(-50%);
}
@media screen and (max-width: 680px) {
  .p-kv--top-jp .p-kv__wrap {
    top: 110px;
  }
}
@media screen and (max-width: 680px) {
  .p-kv__wrap {
    top: 110px;
    transform: translateX(-50%);
  }
}
.p-kv__text {
  font-size: 48px;
  line-height: 1.33;
  font-weight: bold;
  color: #000;
}
@media screen and (max-width: 680px) {
  .p-kv__text {
    font-size: 22px;
    line-height: 1.31;
  }
}
@media screen and (max-width: 680px) {
  .p-kv--top-en .p-kv__text {
    font-size: 20px;
    line-height: 1.3;
  }
}
.p-kv__lead {
  margin-top: 26px;
  font-size: 22px;
  line-height: 2;
  font-weight: bold;
  color: #000;
}
@media screen and (max-width: 680px) {
  .p-kv__lead {
    margin-top: 14px;
    font-size: 12px;
    line-height: 1.33;
  }
}

.p-ad__wrap {
  max-width: 990px;
  margin: 0 auto;
}
@media screen and (max-width: 680px) {
  .p-ad__wrap {
    max-width: 100%;
    padding: 0 20px;
  }
}
.p-ad__button-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: -35px;
}
@media screen and (max-width: 680px) {
  .p-ad__button-wrap {
    flex-direction: column;
    margin-bottom: 0;
  }
}
.p-ad__button-wrap .c-button {
  flex-shrink: 0;
  width: 31%;
  margin-bottom: 35px;
}
@media screen and (max-width: 680px) {
  .p-ad__button-wrap .c-button {
    width: 100%;
    margin-bottom: 0;
  }
  .p-ad__button-wrap .c-button:not(:last-child) {
    margin-bottom: 10px;
  }
}
.p-ad__button-wrap .c-button:last-child {
  width: 100%;
}
.p-ad__button-wrap--small {
  max-width: 550px;
  margin-bottom: -20px;
}
@media screen and (max-width: 680px) {
  .p-ad__button-wrap--small {
    max-width: 100%;
    margin-bottom: 0;
  }
}
.p-ad__button-wrap--small .c-button {
  margin-bottom: 20px;
}

.p-top-mission {
  margin: 100px 0;
}
@media screen and (max-width: 680px) {
  .p-top-mission {
    margin: 64px 0;
  }
}
.p-top-mission__text {
  font-size: 24px;
  line-height: 1.75;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  .p-top-mission__text {
    font-size: 16px;
    line-height: 1.6;
  }
}
.p-top-mission__lead {
  display: block;
  margin-top: 1em;
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  .p-top-mission__lead {
    margin-top: 16px;
    font-size: 12px;
    line-height: 1.6;
  }
}

.p-top-news {
  margin-bottom: 100px;
}
@media screen and (max-width: 680px) {
  .p-top-news {
    margin-bottom: 64px;
  }
}
.p-top-news__group {
  display: flex;
  flex-wrap: wrap;
  width: 990px;
  margin: 0 auto;
}
@media screen and (max-width: 680px) {
  .p-top-news__group {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 680px) {
  .p-top-news__group:not(:nth-of-type(3n)) {
    width: auto;
    padding-left: 16px;
  }
}
.p-top-news__item {
  width: 316px;
}
.p-top-news__item:not(:nth-of-type(3n)) {
  margin-right: 21px;
}
@media screen and (max-width: 680px) {
  .p-top-news__item:not(:nth-of-type(3n)) {
    margin: 0;
  }
}
.p-top-news__item:nth-of-type(n + 4) {
  margin-top: 20px;
}
@media screen and (max-width: 680px) {
  .p-top-news__item:nth-of-type(n + 4) {
    margin: 0;
  }
}
@media screen and (max-width: 680px) {
  .p-top-news__item:not(:last-child) {
    margin-right: 20px;
  }
}
.p-top-news__button {
  width: 350px;
  margin: 60px auto 0;
}
@media screen and (max-width: 680px) {
  .p-top-news__button {
    width: 100%;
    margin-top: 16px;
    padding: 0 16px;
  }
}

.p-top-company {
  padding: 60px 0 80px;
  background: url(/img/top/company_bg.jpg) no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 680px) {
  .p-top-company {
    padding: 40px 0 50px;
    background-image: url(/img/top/company_bg_sp.jpg);
  }
}
.p-top-company__group {
  display: flex;
  justify-content: space-between;
  width: 776px;
  margin: 62px auto 0;
}
@media screen and (max-width: 680px) {
  .p-top-company__group {
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 0 16px;
  }
}
@media screen and (max-width: 680px) {
  .p-top-company__group > * {
    width: calc(50% - 8px);
  }
}
.p-top-company__group > *:not(:last-child) {
  margin-right: 40px;
}
@media screen and (max-width: 680px) {
  .p-top-company__group > *:nth-child(odd) {
    margin-right: 16px;
  }
}
@media screen and (max-width: 680px) {
  .p-top-company__group > *:nth-child(even) {
    margin-right: 0;
  }
}
@media screen and (max-width: 680px) {
  .p-top-company__group > *:nth-child(n + 3) {
    margin-top: 16px;
  }
}
.p-top-company__wrap {
  width: 440px;
  margin: 60px auto 0;
}
@media screen and (max-width: 680px) {
  .p-top-company__wrap {
    width: 100%;
    margin-top: 20px;
    padding: 0 16px;
  }
}

.p-top-service {
  margin: 100px 0;
}
@media screen and (max-width: 680px) {
  .p-top-service {
    margin: 64px 0;
    padding: 0 16px;
  }
}
@media screen and (max-width: 680px) {
  .p-top-service--en {
    margin-bottom: 0;
  }
}
.p-top-service--en .c-section__heading {
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  .p-top-service--en .c-section__heading {
    margin-bottom: 32px;
  }
}
.p-top-service__sub-title {
  margin-bottom: 40px;
  font-size: 28px;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  .p-top-service__sub-title {
    margin-bottom: 32px;
    font-size: 20px;
    line-height: 1;
  }
}
.p-top-service--en .p-top-service__sub-title {
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  .p-top-service--en .p-top-service__sub-title {
    margin-bottom: 32px;
    font-size: 20px;
    line-height: 1.6;
  }
}
.p-top-service__text {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  .p-top-service__text {
    font-size: 14px;
  }
}
.p-top-service__lists {
  display: flex;
  justify-content: space-between;
  width: 600px;
  margin: 40px auto 0;
}
@media screen and (max-width: 680px) {
  .p-top-service__lists {
    justify-content: center;
    width: 288px;
    margin: 24px auto 0;
  }
}
.p-top-service__list {
  width: 80px;
}
@media screen and (max-width: 680px) {
  .p-top-service__list {
    width: 50px;
  }
}
@media screen and (max-width: 680px) {
  .p-top-service__list:not(:first-child) {
    margin-left: 8px;
  }
}
.p-top-service__list img {
  vertical-align: bottom;
}
.p-top-service__wrap {
  display: flex;
  width: 840px;
  margin: 60px auto 0;
}
@media screen and (max-width: 680px) {
  .p-top-service__wrap {
    flex-direction: column;
    width: 100%;
    margin-top: 32px;
  }
}
.p-top-service__wrap > *:not(:first-child) {
  margin-left: 40px;
}
@media screen and (max-width: 680px) {
  .p-top-service__wrap > *:not(:first-child) {
    margin-top: 14px;
    margin-left: 0;
  }
}

.p-top-recruit img {
  opacity: 1 !important;
}
.p-top-recruit__wrapper {
  padding: 60px 0 104px;
  background-image: url(/img/top/recruit_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__wrapper {
    padding: 38px 0 40px;
    background-image: url(/img/top/recruit_bg_sp.jpg);
  }
}
.p-top-recruit__container {
  position: relative;
  display: flex;
  width: 990px;
  margin: -20px auto 0;
  text-align: left;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__container {
    width: 100%;
  }
}
.p-top-recruit__group {
  position: absolute;
  top: 0;
  left: 0;
  width: 315px;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__group {
    position: static;
    display: flex;
    width: 100%;
    margin-top: 32px;
    padding: 0 16px;
  }
}
.p-top-recruit__group > *:nth-child(2n) {
  margin-left: 65px;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__group > *:nth-child(2n) {
    margin-left: 8px;
  }
}
.p-top-recruit__group > *:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__group > *:not(:first-child) {
    margin-top: 0;
  }
}
.p-top-recruit__detail {
  position: relative;
  display: inline-block;
  width: 250px;
  height: 180px;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__detail {
    width: calc(50% - 4px);
    height: 104px;
  }
}
.p-top-recruit__detail:hover {
  opacity: 0.7;
  text-decoration: none;
}
.p-top-recruit__detail img {
  vertical-align: bottom;
}
.p-top-recruit__label {
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 170px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: bold;
  box-sizing: border-box;
  color: #fff;
  background-color: #000;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__label {
    bottom: 0;
    width: 100%;
    font-size: 14px;
  }
}
.p-top-recruit__desc {
  flex-shrink: 0;
  width: 620px;
  margin-top: 14px;
  margin-left: auto;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__desc {
    width: 100%;
  }
}
.p-top-recruit__sub-title {
  margin-bottom: 18px;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 28px;
  line-height: 1.5;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__sub-title {
    padding: 0 8px;
    text-indent: 0;
    font-size: 18px;
    white-space: nowrap;
    text-align: center;
  }
}
.p-top-recruit__text {
  margin-left: 28px;
  font-size: 16px;
  line-height: 2;
  white-space: nowrap;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__text {
    margin-left: 0;
    padding: 0 16px;
    font-size: 14px;
    line-height: 1.71;
    white-space: initial;
  }
}
.p-top-recruit__banner {
  display: inline-block;
  width: 100%;
  background-image: url(/img/top/recruit_banner_office.jpg);
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.p-top-recruit__wrap {
  display: flex;
  margin-top: 54px;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__wrap {
    flex-wrap: wrap;
    margin-top: 24px;
    padding: 0 16px;
  }
}
.p-top-recruit__wrap > *:not(:first-child) {
  margin-left: 40px;
}
@media screen and (max-width: 680px) {
  .p-top-recruit__wrap > *:not(:first-child) {
    width: 100%;
    margin: 16px 0 0;
  }
}

.p-recruit {
  background: url(/img/recruit/bg.png) no-repeat;
  background-size: 2870px 2026px;
  background-position: center 150px;
}
@media screen and (max-width: 680px) {
  .p-recruit {
    background: url(/img/recruit/bg_sp.png) no-repeat;
    background-size: 1450px 1633px;
    background-position: top center;
  }
}
.p-recruit__section {
  padding-top: 100px;
}
@media screen and (max-width: 680px) {
  .p-recruit__section {
    padding: 64px 16px 0;
  }
}
@media screen and (max-width: 680px) {
  .p-recruit__section--outline {
    padding-right: 0;
    padding-left: 0;
  }
}
.p-recruit__requirements {
  padding-bottom: 100px;
}
@media screen and (max-width: 680px) {
  .p-recruit__requirements {
    padding-bottom: 64px;
  }
}
.p-recruit__text {
  font-size: 16px;
  line-height: 2.25;
}
@media screen and (max-width: 680px) {
  .p-recruit__text {
    font-size: 13px;
    line-height: 1.86;
  }
}
.p-recruit__button {
  width: 350px;
  margin: 60px auto 0;
}
@media screen and (max-width: 680px) {
  .p-recruit__button {
    width: 288px;
    margin-top: 30px;
  }
}
.p-recruit__button--2-column {
  width: 740px;
  display: flex;
}
@media screen and (max-width: 680px) {
  .p-recruit__button--2-column {
    width: 100%;
    flex-direction: column;
  }
}
.p-recruit__button--2-column > *:not(:first-child) {
  margin-left: 40px;
}
@media screen and (max-width: 680px) {
  .p-recruit__button--2-column > *:not(:first-child) {
    margin: 16px 0 0;
  }
}
.p-recruit__member {
  display: flex;
  width: 990px;
  margin: 0 auto;
}
@media screen and (max-width: 680px) {
  .p-recruit__member {
    width: 100%;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 680px) {
  .p-recruit__member > * {
    width: calc(50% - 4px);
  }
}
.p-recruit__member > *:nth-of-type(n + 4) {
  display: none;
}
@media screen and (max-width: 680px) {
  .p-recruit__member > *:nth-of-type(n + 4) {
    display: inline-block;
  }
}
.p-recruit__member > *:not(:nth-of-type(n + 3)) {
  margin-right: 21px;
}
@media screen and (max-width: 680px) {
  .p-recruit__member > *:not(:nth-of-type(n + 3)) {
    margin-right: 0;
  }
}
@media screen and (max-width: 680px) {
  .p-recruit__member > *:nth-child(odd) {
    margin-right: 8px;
  }
}
@media screen and (max-width: 680px) {
  .p-recruit__member > *:nth-of-type(n + 3) {
    margin-top: 8px;
  }
}
.p-recruit__environment {
  display: flex;
  width: 990px;
  margin: 0 auto;
}
@media screen and (max-width: 680px) {
  .p-recruit__environment {
    width: 100%;
    height: 107px;
    background: url(/img/recruit/top_office_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
  }
}
.p-recruit__environment > *:not(:nth-of-type(n + 3)) {
  margin-right: 21px;
}
@media screen and (max-width: 680px) {
  .p-recruit__environment > *:not(:nth-of-type(n + 3)) {
    margin-right: 0;
  }
}
.p-recruit__environment > *:nth-of-type(n + 4) {
  display: none;
}
@media screen and (max-width: 680px) {
  .p-recruit__environment > *:nth-of-type(n + 4) {
    display: inline-block;
  }
}
@media screen and (max-width: 680px) {
  .p-recruit__environment > * {
    display: none;
  }
}

.p-recruit-message__button {
  display: flex;
  width: 990px;
  margin: 0 auto;
}
@media screen and (max-width: 680px) {
  .p-recruit-message__button {
    flex-direction: column;
    width: 100%;
    padding: 0 16px;
  }
}
.p-recruit-message__button > *:not(:last-child) {
  margin-right: 20px;
}
@media screen and (max-width: 680px) {
  .p-recruit-message__button > *:not(:last-child) {
    margin: 0 0 20px;
  }
}
.p-recruit-message__banner {
  display: flex;
  width: 990px;
  margin: 80px auto 0;
}
@media screen and (max-width: 680px) {
  .p-recruit-message__banner {
    flex-direction: column;
    width: 100%;
    margin: 40px auto 0;
    padding: 0 16px;
  }
}
@media screen and (max-width: 680px) {
  .p-recruit-message__banner {
    width: 100%;
    padding: 0 16px;
  }
}
.p-recruit-message__banner > *:not(:last-child) {
  margin-right: 20px;
}
@media screen and (max-width: 680px) {
  .p-recruit-message__banner > *:not(:last-child) {
    margin: 0 0 20px;
  }
}
.p-recruit-message__profile {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 680px) {
  .p-recruit-message__profile {
    margin-top: 42px;
  }
}
.p-recruit-message__icon {
  display: flex;
  width: 80px;
  border-radius: 50%;
  overflow: hidden;
}
.p-recruit-message__icon:not(:last-child) {
  margin-right: 20px;
}
@media screen and (max-width: 680px) {
  .p-recruit-message__icon {
    width: 60px;
    height: 60px;
  }
}
.p-recruit-message__info {
  margin-top: 20px;
  font-size: 12px;
  line-height: 2;
  text-align: right;
}
.p-recruit-message__info span {
  margin-left: 0.5em;
}
@media screen and (max-width: 680px) {
  .p-recruit-message__info {
    margin: 16px 0 0;
    line-height: 1.75;
  }
  .p-recruit-message__info span {
    display: block;
    margin-left: 0;
  }
  .p-recruit-message__info br {
    display: none;
  }
}

@media screen and (max-width: 680px) {
  .p-company-message__profile {
    display: flex;
    margin-bottom: 40px;
  }
}
.p-company-message .c-company-profile {
  width: 140px;
}
.p-company-message .c-company-profile:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 680px) {
  .p-company-message .c-company-profile {
    width: 100%;
  }
  .p-company-message .c-company-profile:not(:first-child) {
    margin-left: 20px;
    margin-top: 0;
  }
}

.p-guide {
  font-size: 14px;
  line-height: 2;
  color: #000;
}
@media screen and (max-width: 680px) {
  .p-guide {
    font-size: 13px;
    line-height: 1.8;
  }
}
.p-guide__wrap:not(:last-child) {
  margin-bottom: 40px;
}
.p-guide h3 {
  font-size: 24px;
  margin-bottom: 20px;
  font-weight: bold;
}
@media screen and (max-width: 680px) {
  .p-guide h3 {
    font-size: 20px;
  }
}
.p-guide ul {
  padding: 30px;
  border: 1px solid #000;
}
.p-guide li:not(:last-child) {
  margin-bottom: 20px;
}
.p-guide li span {
  font-weight: bold;
}

@media screen and (max-width: 680px) {
  header #nav {
    height: 50px;
    margin: 0px;
  }
}
header #nav #gl_nav {
  display: block;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav {
    position: absolute;
    display: none;
    text-align: center;
    top: 50px;
    left: 0px;
    width: 100%;
    height: auto;
    background: #f5f5f5;
    border-bottom: 1px solid #dbdbdb;
    z-index: 9999;
  }
}
@media screen and (max-width: 680px) {
  header #nav #gl_nav li:hover {
    background: #efefef;
  }
}
header #nav #loco_nav {
  min-width: 1020px;
}
@media screen and (max-width: 680px) {
  header #nav #loco_nav {
    min-width: 0;
  }
}
header #nav #loco_nav .active_en {
  font-weight: bold;
  font-size: 11px;
  border-bottom: 2px solid #000;
}
@media screen and (max-width: 680px) {
  header #nav #loco_nav .active_en {
    border-bottom: 1px solid #efefef;
  }
}
header #nav #loco_nav .active_en a:hover {
  color: #000;
}

dl.table_en dt {
  width: 200px;
}
dl.table_en .tabel--small dt {
  width: 145px;
}

.txta_c {
  text-align: center;
}

.line {
  color: #dbdbdb;
}

.gl_Active li {
  margin: 0;
}
.gl_Active a {
  font-weight: bold;
  border-bottom: 3px solid #fff;
}
@media screen and (max-width: 680px) {
  .gl_Active a {
    border: none;
  }
}
@media screen and (max-width: 481px) {
  .gl_Active a {
    border: none;
  }
}

.ir_nav {
  list-style: none;
}
.ir_nav li {
  margin-right: 20px;
  display: inline-block;
}

.li_Active {
  font-weight: bold;
  color: #000;
}

.mb_120 {
  margin-bottom: 120px;
}

.btns_dl_en {
  letter-spacing: -.40em;
  padding-top: 0px;
}
@media screen and (max-width: 680px) {
  .btns_dl_en {
    display: block !important;
    width: 100%;
    position: static;
    text-align: center;
    margin-top: -44px;
    margin-bottom: 20px;
    height: auto;
    padding-top: 60px;
  }
}
.btns_dl_en img {
  height: 40px;
}
.btns_dl_en li {
  display: inline-block !important;
  letter-spacing: normal;
  vertical-align: top !important;
  zoom: 1;
  /* Fix for IE7 */
  *display: inline;
  /* Fix for IE7 */
  margin-left: 20px;
}
@media screen and (max-width: 680px) {
  .btns_dl_en li {
    margin-left: 10px;
  }
}
.btns_dl_en li:first-child {
  margin-left: 0px;
}
@media screen and (max-width: 680px) {
  .btns_dl_en .login {
    display: none !important;
  }
}
@media screen and (max-width: 680px) {
  #page_services .btns_dl_en {
    display: block !important;
    width: 100%;
    position: static;
    text-align: center;
    margin-top: initial;
    height: auto;
    padding-top: 20px;
    margin-bottom: 0px;
    margin: 0px;
  }
}

.border {
  border: 1px solid #efefef;
}

#page_company #company_profile dl.table_en dt {
  width: 150px;
  line-height: 1.5;
}
@media screen and (max-width: 680px) {
  #page_company #company_profile dl.table_en dt {
    width: auto;
  }
}
#page_company #company_profile dl.table_en dd {
  margin-left: 180px;
}
@media screen and (max-width: 680px) {
  #page_company #company_profile dl.table_en dd {
    margin-left: 0;
  }
}
#page_company #company_profile dl.table_en .subsidiary dt {
  width: 130px;
}
#page_company #company_profile dl.table_en .subsidiary dd {
  margin-left: 140px;
}
@media screen and (max-width: 680px) {
  #page_company #company_profile dl.table_en .subsidiary dd {
    margin-left: 0;
  }
}
#page_company #company_profile dl.table_en .subsidiary_en {
  padding: 15px;
}
#page_company #company_profile dl.table_en .subsidiary__name {
  font-size: 15px;
}

html #page_company #loco_nav_btn_sp {
  display: none;
}
html #page_company .accordion .accordion-inner img {
  text-align: center;
  margin: 0 auto;
  display: block;
  padding-top: 20px;
}
html #page_company .accordion .accordion-inner span {
  display: inline !important;
  width: auto !important;
}
html #page_company .col .single a {
  text-decoration: none;
}
html #page_company .col .single a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 680px) {
  html #page_company #loco_nav_btn_sp {
    display: block;
    color: #333;
    height: 45px;
    text-align: right;
    background-color: rgba(243, 243, 243, 0.9);
    /* FireFox, Webkit, Opera, IE9 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3')";
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#E5F3F3F3',EndColorStr='#E5F3F3F3');
  }
  html #page_company #loco_nav_btn_sp .text {
    font-weight: normal;
    font-size: 10px;
    line-height: 45px;
  }
  html #page_company #loco_nav_btn_sp .active.icon-menu_thin:before {
    content: "\e600";
    margin-left: 10px;
    margin-right: 10px;
    cursor: pointer;
  }
  html #page_company #loco_nav_btn_sp .icon-menu_thin:before {
    content: "\e601";
    margin-left: 10px;
    margin-right: 10px;
    cursor: pointer;
  }
}
html #page_company #loco_nav_btn_sp .icon-menu_thin {
  line-height: 1;
}
html #page_company #xj-select-category ul li a:hover {
  text-decoration: none;
  color: #333333 !important;
}
html #page_company #xj-select-year ul li a:hover {
  color: #333333 !important;
}

.section_en-company {
  border-top: 1px solid #efefef;
}
.section_en-company p:first-child {
  padding-top: 20px;
}

.mb-30 {
  margin-bottom: 30px;
}

.hero--recruit {
  display: block;
  position: relative;
  width: 100%;
  height: 600px;
  background-color: #ccc;
  background-image: url(../img/top/recruit/bg.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 680px) {
  .hero--recruit {
    height: 420px;
  }
}
.hero--recruit .innr {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
}
.hero--recruit .hero--recruit__text {
  display: table-cell;
  height: 100%;
  width: 100%;
  z-index: 1000;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 680px) {
  .hero--recruit .hero--recruit__text .pc {
    display: none;
  }
}
.hero--recruit .hero--recruit__text .sp {
  padding-top: 20px;
  width: 300px;
  display: none;
}
@media screen and (max-width: 680px) {
  .hero--recruit .hero--recruit__text .sp {
    display: block;
  }
}
@media screen and (max-width: 680px) {
  .hero--recruit .hero--recruit__bnr--pc {
    display: none;
  }
}
.hero--recruit .hero--recruit__bnr--sp {
  padding-top: 20px;
  width: 300px;
  display: none;
}
@media screen and (max-width: 680px) {
  .hero--recruit .hero--recruit__bnr--sp {
    display: block;
  }
}
.hero--recruit .hero--recruit__bnr--sp .hero--recruit__btn {
  display: block;
  width: 50%;
  height: auto;
}
.hero--recruit .hero--recruit__btn {
  display: block;
  padding-top: 10px;
  margin: 0 auto;
}
.hero--recruit .hero--recruit__btn:hover {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}
@media screen and (max-width: 680px) {
  .hero--recruit .hero--recruit__btn {
    display: block;
    width: 50%;
    height: auto;
  }
}
.hero--recruit .copy_sp {
  display: none;
}
@media screen and (max-width: 680px) {
  .hero--recruit .copy_sp {
    display: block;
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0px;
    top: 118px;
    z-index: 1000;
  }
  .hero--recruit .copy_sp img {
    height: 60px;
  }
}

@media screen and (max-width: 680px) {
  #page_home {
    padding-top: 50px;
  }
}
#page_home .nav_topicpath {
  display: none;
}
#page_home #hero {
  position: relative;
  width: 100%;
  height: 600px;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 680px) {
  #page_home #hero {
    height: 280px;
  }
}
#page_home #hero .innr {
  position: relative;
}
#page_home #hero .copy {
  position: absolute;
  top: 318px;
  z-index: 1000;
}
@media screen and (max-width: 680px) {
  #page_home #hero .copy {
    display: none;
  }
}
#page_home #hero .copy_sp {
  display: none;
}
@media screen and (max-width: 680px) {
  #page_home #hero .copy_sp {
    display: block;
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0px;
    top: 118px;
    z-index: 1000;
  }
  #page_home #hero .copy_sp img {
    height: 60px;
  }
}
#page_home #main {
  padding-top: 0px;
  padding-bottom: 236px;
}
@media screen and (max-width: 680px) {
  #page_home #main {
    padding-bottom: 0px;
  }
}
#page_home .contents {
  overflow: visible;
}
#page_home .contents section .innr {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 680px) {
  #page_home .contents section .innr {
    padding: 30px 0 30px 0;
  }
}
#page_home .contents section .innr_service {
  padding-bottom: 0px;
}
@media screen and (max-width: 680px) {
  #page_home .contents section .innr--banner {
    padding: 30px 20px;
  }
}
@media screen and (max-width: 680px) {
  #page_home #service {
    text-align: center;
    padding-bottom: 20px;
  }
}
#page_home #service .copy_sp {
  display: none;
}
@media screen and (max-width: 680px) {
  #page_home #service .copy_sp {
    display: block;
    text-align: center;
    margin-bottom: 20px;
  }
  #page_home #service .copy_sp img {
    height: 50px;
  }
}
#page_home #service .smp {
  position: absolute;
  bottom: -30px;
  right: -30px;
}
@media screen and (max-width: 680px) {
  #page_home #service .smp {
    width: auto;
    text-align: center;
    position: relative;
    bottom: initial;
    right: initial;
  }
}
#page_home #service .smp img {
  height: 450px;
}
@media screen and (max-width: 680px) {
  #page_home #service .smp img {
    height: 220px;
  }
}
#page_home #service .smp_en {
  position: absolute;
  bottom: -30px;
  right: -30px;
}
@media screen and (max-width: 680px) {
  #page_home #service .smp_en {
    width: auto;
    text-align: center;
    position: relative;
    bottom: initial;
    right: initial;
  }
}
#page_home #service .smp_en img {
  height: 450px;
}
@media screen and (max-width: 680px) {
  #page_home #service .smp_en img {
    height: 220px;
  }
}
#page_home #service #copy_services {
  font-size: 16px;
  font-weight: normal;
}
@media screen and (max-width: 680px) {
  #page_home #service #copy_services {
    font-size: 13px;
    text-align: center;
    margin: 0 20px 20px;
  }
}
#page_home #service .btn {
  text-align: center;
  margin: 0 auto;
}
#page_home #news:not(.p-top-news) {
  font-size: 12px;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
@media screen and (max-width: 680px) {
  #page_home #news:not(.p-top-news) .innr {
    padding: 0;
  }
}
@media screen and (max-width: 680px) {
  #page_home #news:not(.p-top-news) {
    background: none;
    border: 0px;
  }
}
@media screen and (max-width: 680px) {
  #page_home #news .col {
    padding: 15px;
    margin-bottom: 1px;
    border-bottom: 1px solid #efefef;
  }
  #page_home #news .col:first-child {
    border-top: 1px solid #efefef;
  }
}
#page_home #news h4 {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 680px) {
  #page_home #news h4 {
    text-align: center;
  }
}
#page_home #news .date {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}
#page_home #news .category {
  font-weight: bold;
}
#page_home #news .icon {
  position: absolute;
  top: 60px;
  right: 0px;
}
@media screen and (max-width: 680px) {
  #page_home #news .icon {
    top: 0px;
    right: 10px;
  }
}
#page_home #company {
  text-align: center;
}
#page_home #company p {
  font-size: 16px;
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  #page_home #company p {
    font-size: 13px;
    margin: 0 20px 20px;
  }
}
#page_home #recruit {
  text-align: center;
  color: #fff;
}
#page_home #recruit h4 {
  font-family: 'Roboto', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 60px;
  line-height: 1;
  margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
  #page_home #recruit h4 {
    font-size: 30px;
    margin-bottom: 10px;
  }
}
#page_home #recruit p {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 680px) {
  #page_home #recruit p {
    font-size: 13px;
    margin-bottom: 20px;
  }
}

/*---------------------------------------------------------------

　　共通

----------------------------------------------------------------*/
#page_ir #loco_nav_btn_sp {
  display: none;
}

#page_ir figure {
  text-align: center;
}

#page_ir figure img {
  width: 100%;
}

/*---------------------------------------------------------------

　　ドロップダウンナビ

----------------------------------------------------------------*/
header #nav #loco_nav {
  overflow: visible;
}

header #nav #loco_nav ul li.haschild {
  position: relative;
  height: auto;
  height: 45px;
}

header #nav #loco_nav ul li.haschild .down_nav {
  display: none;
  position: absolute;
  left: 0;
  top: 45px;
  z-index: 100;
  padding-left: 0;
  height: auto;
}

header #nav #loco_nav ul li.haschild .down_nav li {
  display: block;
  height: 40px;
  background-color: rgba(243, 243, 243, 0.9);
  margin: 0 0 2px 0;
  width: 15em;
  text-align: left;
  padding-left: 10px;
}

header #nav #loco_nav ul li.haschild .down_nav li a {
  display: block;
  width: 100%;
}

header #nav #loco_nav ul .haschild:hover .down_nav {
  display: inline-block;
}

header #nav #loco_nav ul li.haschild * {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

header #nav #loco_nav ul li.haschild.active .down_nav li a {
  font-weight: normal;
}

header #nav #loco_nav ul li.haschild.active .down_nav li a:hover {
  color: #000;
}

@media screen and (max-width: 680px) {
  #page_ir #loco_nav_btn_sp {
    display: block;
    background: #CCCCCC;
    color: #FFFFFF;
    padding: 0 10px;
    text-align: right;
  }

  #page_ir #loco_nav_btn_sp .text {
    line-height: 3;
  }

  #page_ir #loco_nav_btn_sp .active.icon-menu_thin:before {
    content: "\e600";
    margin-left: 10px;
    cursor: pointer;
  }

  #page_ir #loco_nav_btn_sp .icon-menu_thin:before {
    content: "\e601";
    margin-left: 10px;
    cursor: pointer;
  }

  /*XXX:Sassがだめだったらここにlocationナビ直書き*/
  #page_ir #loco_nav_btn_sp .icon-menu_thin {
    line-height: 1.5;
  }

  header #nav #loco_nav {
    display: none;
  }

  header #nav #loco_nav ul li, header #nav #loco_nav ul li.haschild {
    width: 100%;
    display: block;
    position: static;
    border-bottom: 1px #CCC solid;
    margin: 0;
    height: auto;
  }

  header #nav #loco_nav ul li.haschild .down_nav {
    width: 100%;
    display: block;
    z-index: 1;
    position: static;
  }

  header #nav #loco_nav ul li.haschild .down_nav a {
    height: 40px;
    line-height: 40px;
  }

  header #nav #loco_nav ul li.haschild .down_nav li {
    width: 100%;
    height: 40px;
    margin: 0;
    padding-left: 0;
    display: block;
    border-bottom: 1px dotted #CCC;
    text-align: center;
  }

  header #nav #loco_nav ul li.haschild .down_nav li:first-child {
    border-top: 1px dotted #CCC;
  }

  header #nav #loco_nav ul li.haschild .down_nav li:last-child {
    border-bottom: none;
  }

  header #nav #loco_nav ul .haschild:hover .down_nav {
    display: block;
  }

  header #nav #loco_nav, header #nav #loco_nav ul {
    height: auto;
  }
}
@media screen and (max-width: 680px) and (max-width: 680px) {
  header #nav #loco_nav {
    position: fixed;
    top: 100px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    overflow: scroll;
    z-index: -1;
  }
}

@media screen and (max-width: 680px) {
  header #nav #loco_nav a.parent {
    font-size: 11px;
    font-weight: bold;
    color: #000;
    background-color: #ccc;
  }

  header #nav #loco_nav ul li {
    width: 100%;
    height: 40px;
    background-color: rgba(243, 243, 243, 0.9);
    border-bottom: 1px dotted #CCC;
  }

  header #nav #loco_nav ul li a {
    height: 40px;
    line-height: 40px;
  }

  header #nav #loco_nav ul li.haschild {
    border-bottom: 1px dotted #CCC;
  }
}
/*---------------------------------------------------------------

　　GET ACROBAT READER

----------------------------------------------------------------*/
.pdf-box {
  clear: both;
  margin: 20px auto 0;
  width: 100%;
  border: 1px #CCC solid;
  overflow: hidden;
}

.pdf-box img {
  float: left;
  margin: 10px;
}

.pdf-box p {
  font-size: 90%;
  /* padding-top:30px;*/
  line-height: 1.4;
  margin: 10px;
}

/*---------------------------------------------------------------

　　IRトップページPAGEINDEX

----------------------------------------------------------------*/
.col .tit {
  background: #000;
  padding: 15px;
}

.col .tit.single {
  background: #666;
  padding: 10px 15px;
}

.col .tit h3, .col .tit h3 a {
  color: #FFF;
  text-align: center;
}

.col .tit.single h3 a:before {
  content: "\e603";
  font-family: 'edi';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  vertical-align: middle;
  text-align: right;
  padding-right: 10px;
  padding-left: 0;
  font-size: 14px;
}

.col .index ol {
  padding: 10px;
}

.col .index ol li a {
  color: #333;
}

.col .index ol li a:hover {
  color: #e61e1e;
}

/*---------------------------------------------------------------

　　ニュース関連

----------------------------------------------------------------*/
#page_ir #news .icon {
  position: absolute;
  top: 20px;
  right: 0px;
}

.pdf {
  display: inline-block;
  background: url(../../img/ir/pdfIcon.gif) 10px 0px no-repeat;
  padding-left: 30px;
}

.news_headline li div .category {
  text-align: center;
}

.news_headline li div .category.info {
  background-color: #CCC;
}

.news_headline li div .category.irlib {
  background-color: #C0E2CC;
}

.news_headline li div .category.disclosure {
  background-color: #CFDBE9;
}

.news_headline li div .category.results {
  background-color: #FC9;
}

.news_headline li div .category.secrity {
  background-color: #FCC;
}

#xj-select-category {
  margin-bottom: 30px;
}

#xj-select-category ul li {
  display: inline-block;
  margin-right: 2px;
}

#xj-select-category ul li a {
  display: block;
  width: 100%;
  padding: 10px 15px;
  background-color: rgba(243, 243, 243, 0.9);
  color: #333;
}

#xj-select-category ul li a:hover {
  text-decoration: none;
  color: #a51212;
}

#xj-select-category ul li.active a {
  background-color: #666;
  color: #FFF;
}

#xj-select-year {
  margin-bottom: 15px;
}

#xj-select-year ul li {
  display: inline-block;
  padding: 0 15px 15px 0;
}

#xj-select-year ul li a {
  color: #333333;
}

#xj-select-year ul li.active a {
  font-weight: bold;
}

#xj-select-year ul li a:hover {
  color: #e61e1e;
}

#xj-select-year ul li:before {
  content: "\e607";
  font-family: 'edi';
  margin: 0 10px;
}

/*---------------------------------------------------------------

　　トップメッセージ

----------------------------------------------------------------*/
#page_ir #message .post {
  font-size: 11px;
}

/*---------------------------------------------------------------

　　会社概要

----------------------------------------------------------------*/
#page_ir #outline dt {
  width: 160px;
}

/*XXX:Direct write(~17.03)*/
#page_ir dl.table dd {
  margin-left: 190px;
}

/*XXX:Direct write(17.05~)*/
#page_ir dl.table_en dd {
  margin-left: 230px;
}

#page_ir dl.ml_10 dd {
  margin-left: 10px;
}

@media screen and (max-width: 680px) {
  #page_ir dl.table dd {
    margin-left: 0;
    margin-bottom: 20px;
  }
}
/*---------------------------------------------------------------

　　役員プロフィール

----------------------------------------------------------------*/
#page_ir #directors table {
  border-collapse: separate;
  border-spacing: 4px;
}

#page_ir #directors table th, #page_ir #directors table td {
  padding: 15px;
}

#page_ir #directors table th {
  text-align: left;
  background-color: #f5f5f5;
}

#page_ir #directors table td {
  text-align: left;
}

#page_ir #directors .post {
  width: 15%;
}

#page_ir #directors .job {
  width: 25%;
}

#page_ir #directors .name {
  width: 15%;
}

#page_ir #directors td dl {
  font-size: 12px;
}

#page_ir #directors td dt {
  float: left;
  width: 25%;
}

#page_ir #directors td dd {
  margin-left: 25%;
}

/*---------------------------------------------------------------

　　業績・財務情報

----------------------------------------------------------------*/
#highlight .col .tit {
  background: #666;
  padding: 15px;
}

.XJSImage_Main {
  text-align: center;
}

.xj_chart_table_caption_title {
  display: none;
}

.xj_chart_table {
  width: 100%;
}

.xj_chart_table td {
  font-size: 11px;
  border: 1px solid #CCC;
  padding: 5px 2px;
  text-align: right;
}

.xj_chart_table .xj_chart_header_first, .xj_chart_table .xj_chart_header, .xj_chart_table .xj_chart_q, .xj_chart_table .xj_chart_q_last {
  background-color: #F5F5F5;
  text-align: center;
}

.XJSImage_UnitL, .xj_chart_table_caption_unit {
  font-size: 11px;
}

/*---------------------------------------------------------------

　　IRライブラリ

----------------------------------------------------------------*/
#page_ir #library article .btn {
  width: 230px;
  float: right;
}

#page_ir #library .news_headline li div {
  width: 140px;
}

#page_ir #library .analyst-table {
  width: 80%;
}

#page_ir #library .right {
  width: 80%;
  text-align: right;
}

#page_ir #library .analyst-table th {
  width: 60%;
  padding: 14px 20px;
  border: 1px solid #c3c3c3;
  word-break: break-all;
  vertical-align: middle;
  background: #f5f5f5;
  text-align: left;
}

#page_ir #library .analyst-table td {
  width: 40%;
  padding: 14px 20px;
  border: 1px solid #c3c3c3;
  background: #FFF;
}

@media screen and (max-width: 680px) {
  #page_ir #library .analyst-table {
    width: 100%;
    word-break: break-all;
  }

  #page_ir #library .right {
    width: 100%;
    text-align: right;
    word-break: break-all;
  }
}
/*---------------------------------------------------------------

　　IRカレンダー

----------------------------------------------------------------*/
#page_ir #calendar .table dt {
  text-align: left;
}

/*---------------------------------------------------------------

　　FAQ

----------------------------------------------------------------*/
#page_ir #faq .accordion .accordion-group {
  margin-bottom: 10px;
}

#page_ir #faq .accordion .accordion-heading .accordion-toggle {
  display: table;
  width: 100%;
  background: #f5f5f5;
  vertical-align: middle;
  padding: 10px;
  color: #333;
}

#page_ir #faq .accordion .accordion-heading a.accordion-toggle {
  text-decoration: none;
}

#page_ir #faq .accordion .accordion-heading a:hover {
  text-decoration: none;
}

#page_ir #faq .accordion .accordion-heading .accordion-toggle:before {
  content: "Q";
  display: table-cell;
  vertical-align: middle;
  width: 30px;
  padding-left: 10px;
  font-weight: bold;
  font-size: 18px;
  color: #e61e1e;
}

#page_ir #faq .accordion .accordion-group.expand .accordion-toggle:before, #page_ir #faq .accordion .accordion-group.expand .accordion-inner:before {
  color: #e61e1e;
}

#page_ir #faq .accordion .accordion-heading .accordion-toggle span {
  display: table-cell;
  vertical-align: middle;
  font-size: 16px;
  font-weight: bold;
}

#page_ir #faq .accordion .accordion-heading .accordion-toggle:after {
  content: "\e604";
  font-family: 'edi';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  padding-right: 10px;
  padding-left: 8px;
  font-size: 14px;
}

#page_ir #faq .accordion .accordion-group.expand .accordion-toggle:after {
  content: "\e605";
  font-family: 'edi';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#page_ir #faq .accordion .accordion-group.expand .accordion-toggle, #page_ir #faq .accordion .accordion-group.expand .accordion-inner {
  background: #f0f0f0 !important;
  color: #333 !important;
}

#page_ir #faq .accordion .collapse .accordion-inner {
  display: none;
}

#page_ir #faq .accordion .accordion-inner {
  display: table;
  width: 100%;
  background: #f5f5f5;
  padding: 20px 20px 20px 20px;
  border-top: 1px solid #dedede;
}

#page_ir #faq .accordion .accordion-inner:before {
  content: "A";
  display: table-cell;
  vertical-align: top;
  width: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}

#page_ir #faq .accordion .accordion-inner span {
  display: table-cell;
  vertical-align: middle;
  font-size: 14px;
}

/*---------------------------------------------------------------

　　ディスクロージャーポリシー

----------------------------------------------------------------*/
#page_ir #policy h3 {
  font-size: 16px;
  margin-bottom: 20px;
}

/*---------------------------------------------------------------

　　事業内容

----------------------------------------------------------------*/
#page_ir #business .accordion .accordion-group {
  margin-bottom: 40px;
}

#page_ir #business .accordion .accordion-heading .accordion-toggle {
  display: table;
  width: 100%;
  background: #f5f5f5;
  vertical-align: middle;
  padding: 10px;
  color: #333;
}

#page_ir #business .accordion .accordion-heading a.accordion-toggle {
  text-decoration: none;
}

#page_ir #business .accordion .accordion-heading a:hover {
  text-decoration: none;
}

#page_ir #business .accordion .accordion-group:first-child .accordion-heading .accordion-toggle:before {
  content: "1.";
  display: table-cell;
  vertical-align: middle;
  width: 30px;
  padding-left: 10px;
  font-weight: bold;
  font-size: 18px;
  color: #e61e1e;
}

#page_ir #business .accordion .accordion-group:nth-child(2) .accordion-heading .accordion-toggle:before {
  content: "2.";
  display: table-cell;
  vertical-align: middle;
  width: 30px;
  padding-left: 10px;
  font-weight: bold;
  font-size: 18px;
  color: #e61e1e;
}

#page_ir #business .accordion .accordion-group.expand .accordion-toggle:before, #page_ir #business .accordion .accordion-group.expand .accordion-inner:before {
  color: #e61e1e;
}

#page_ir #business .accordion .accordion-heading .accordion-toggle span {
  display: table-cell;
  vertical-align: middle;
  font-size: 16px;
  font-weight: bold;
}

#page_ir #business .accordion .accordion-heading .accordion-toggle:after {
  content: "\e604";
  font-family: 'edi';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  padding-right: 10px;
  padding-left: 8px;
  font-size: 14px;
}

#page_ir #business .accordion .accordion-group .accordion-toggle.expand:after {
  content: "\e605";
  font-family: 'edi';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#page_ir #business .accordion .accordion-group .accordion-toggle, #page_ir #business .accordion .accordion-group.expand .accordion-inner {
  background: #f0f0f0 !important;
  color: #333 !important;
}

#page_ir #business .accordion .accordion-group.model .accordion-toggle {
  background: #FFF !important;
  color: #333 !important;
  border: 1px #EEE solid;
}

#page_ir #business .accordion .accordion-group.model .accordion-heading .accordion-toggle span {
  padding-left: 1em;
}

#page_ir #business .accordion .collapse .accordion-inner {
  display: none;
}

#page_ir #business .accordion .accordion-inner {
  display: table;
  width: 100%;
  background: #f5f5f5;
  padding: 20px 20px 20px 20px;
  border-top: 1px solid #dedede;
}

#page_ir #business .accordion .accordion-group.model .accordion-inner {
  border-top: none;
}

#page_ir #business .accordion .accordion-group.model .accordion-body .accordion-inner ol li {
  font-weight: bold;
  margin-bottom: 10px;
}

#page_ir #business .accordion .accordion-group.model .accordion-body .accordion-inner ol li span {
  display: inline;
  font-weight: normal;
}

/*#page_ir #business .accordion .accordion-inner:before {
  content: "";
  display: table-cell;
  vertical-align: top;
  width: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}*/
#page_ir #business .accordion .accordion-inner span {
  display: table-cell;
  vertical-align: middle;
  font-size: 14px;
}

#page_ir #business .accordion .accordion-inner span.img {
  text-align: center;
  width: 100%;
  display: block !important;
}

#page_ir #business .accordion .accordion-inner span.img img {
  padding-top: 20px;
}

#page_ir #business .accordion .accordion-group.expand .accordion-body .accordion-inner {
  background: #FFF !important;
  color: #333 !important;
}

#page_ir #business .accordion .accordion-group:nth-child(2), #page_ir #business .accordion .accordion-group.model {
  margin-bottom: 20px;
}
